Transfered from README
parent
91878f7a71
commit
b2f3275bb8
|
@ -1,3 +1,5 @@
|
||||||
|
# API Docs
|
||||||
|
|
||||||
These pages document the backend API and useage.
|
These pages document the backend API and useage.
|
||||||
|
|
||||||
The API functions work via `GET` and `POST` requests, which both return json info about what happened.
|
The API functions work via `GET` and `POST` requests, which both return json info about what happened.
|
||||||
|
@ -8,4 +10,77 @@ The API will return json with the following values:
|
||||||
|
|
||||||
`status`: which indicates if the action succeeded or not, and is either `ok` or `fail`.
|
`status`: which indicates if the action succeeded or not, and is either `ok` or `fail`.
|
||||||
|
|
||||||
`reason`: which provides more info about why an action succeeded or failed, which is mostly useful for debugging.
|
`reason`: which provides more info about why an action succeeded or failed, which is mostly useful for debugging.
|
||||||
|
|
||||||
|
## Auth API Documentation
|
||||||
|
### Register & Login:
|
||||||
|
|
||||||
|
`POST /api/register` with JSON body values of: `name`, `pin`, `pronouns`.
|
||||||
|
|
||||||
|
Will return JSON with `status` and `reason`.
|
||||||
|
|
||||||
|
`POST /api/login` with JSON body values of: `name`, `pin`.
|
||||||
|
|
||||||
|
Will return JSON with `status` and `reason`.
|
||||||
|
|
||||||
|
Will set a private cookie named `token` which is used for authentication.
|
||||||
|
|
||||||
|
### Change User Information
|
||||||
|
|
||||||
|
User information such as name, pin, and pronouns, can be changed currently one at a time.
|
||||||
|
|
||||||
|
`POST /api/change` with JSON body values of: `name`, `changed_event`, `new_event`.
|
||||||
|
|
||||||
|
`name` the user's current username. used for authentication.
|
||||||
|
|
||||||
|
`changed_event` which event to change. value can be one of: `Name`, `Pin`, `Pronouns`.
|
||||||
|
|
||||||
|
`new_event` the new value for the changed event.
|
||||||
|
|
||||||
|
User is authenticated via token.
|
||||||
|
|
||||||
|
### Check if User is Still Logged in
|
||||||
|
|
||||||
|
Instead of having to save the pin and re-login every time to check wether they're logged in, you can just check via the token.
|
||||||
|
|
||||||
|
`GET /api/token/<name>` where `<name>` is the current username.
|
||||||
|
|
||||||
|
Will return JSON with `status` and `reason`.
|
||||||
|
|
||||||
|
### Logout
|
||||||
|
|
||||||
|
This API will remove the cookie from the client, as well as invalidating the token serverside.
|
||||||
|
|
||||||
|
`POST /api/logout` with JSON body values of: `name`.
|
||||||
|
|
||||||
|
Will use the current token as authentication.
|
||||||
|
|
||||||
|
Will return JSON with `status` and `reason`.
|
||||||
|
|
||||||
|
### Get Info About A User
|
||||||
|
|
||||||
|
This API will return info about a user on success.
|
||||||
|
|
||||||
|
`GET /api/users/<name>`
|
||||||
|
|
||||||
|
On success returns JSON in format:
|
||||||
|
```
|
||||||
|
status: ok
|
||||||
|
user:
|
||||||
|
name: user's name
|
||||||
|
pronouns: user's pronouns
|
||||||
|
role: the users role, one of either 'Normal', 'Moderator', or 'Admin'
|
||||||
|
```
|
||||||
|
|
||||||
|
eg:
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
status: "ok",
|
||||||
|
user: {
|
||||||
|
name: "example",
|
||||||
|
pronouns: "they/them",
|
||||||
|
role: "Normal",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
```
|
Loading…
Reference in New Issue