Beep backend handling user permissions. Currently, permissions are defined as user-scope (i.e. userid in conversationid). If no such pairing exists, permission is denied. Might consider moving to searchms style user-scope-action system later.
Relations are cached in redis to avoid excessive querying time. A listener updates the cache on database changes.
This service is meant to be used internally. Otherwise, people can systematically query it finding out which conversation a said user is in.
Supply environment variables by either exporting them or editing .env
.
ENV | Description | Default |
---|---|---|
LISTEN | Host and port for service to listen on | :80 |
POSTGRES | URL of postgres | postgresql://root@pg:5432/core?sslmode=disable |
REDIS | URL of redis | redis:6379 |
Contents |
---|
Get Permission |
GET /user/:userid/conversation/:conversationid
Query to see if userid-conversationid is permissable.
Name | Type | Description |
---|---|---|
userid | String | User's ID |
conversationid | Conversation ID |
Empty body.
It is recommended to intrepet both as a rejection regardless of error type.
Code | Description |
---|---|
401 | Matching userid-conversationid pair not found |
500 | Error accessing cache |