|
|
- # User management
-
- User information:
-
- Name Unique, no space, at least one letter
- Avatar Stored in a server folder. Size limit?
- Password Hashed, of course
- Email Mail address, used to send newsletters
-
- Points Participation measure (mainly number of posts)
- Innovation points A different kind of participation measure
-
- Biography Description of the user
- Signature Short signature added at the end of every post
- Birthday Birthday date
-
- Newsletter Subscription to newsletter
- Settings...
-
- Relations:
-
- Notifications 1 to many
- Groups 1 to many
- Sent PMs 1 to many
- Received PMs 1 to many
- Trophies/Titles 1 to many
-
- All posts many to many (tutorials can have several authors)
- Privileges many to many
-
- Rest API for users:
- Requests where "Search" is set to "Yes" accept search patterns. The syntax
- needs to be chosen, it could be something like "/users[name~=/*storm*/i]".
-
- Method URL Search Description
- -----------------------------------------------------------------------------
- GET /users Yes Query users
- -----------------------------------------------------------------------------
- GET /users/<id> - Get user information/settings
- PATCH /users/<id> - Update user information/settings
- -----------------------------------------------------------------------------
- GET /users/<id>/trophies - Get unlocked trophies
- -----------------------------------------------------------------------------
- GET /users/<id>/messages Yes Query private messages
- POST /users/<id>/messages - Send PM (<id> is sender)
- DELETE /users/<id>/messages Required Delete PMs matching pattern
- -----------------------------------------------------------------------------
- GET /users/<id>/groups - Get user groups
- -----------------------------------------------------------------------------
- GET /users/<id>/privs - Get user privileges
- -----------------------------------------------------------------------------
-
- Updating the participation scores is not a request, it's tied to posting
- contents, so it has nothing to do in the API.
-
- (*) Not sure if this is relevant, since these are administrator duties.
-
- Rest API for groups:
-
- Method URL Search Description
- -----------------------------------------------------------------------------
- GET /groups - Get list of groups
- GET /groups/<id> - Get list of users in groups
- -----------------------------------------------------------------------------
-
- There are no methods to change the privileges associated to each groups
- because this task is clearly for administrators, not API users.
|