Copied over SWAssistant and CDR backend
Started converting them to new backend
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# swassistant-backend
|
||||
|
||||
Custom backend for [SWAssistant](https://github.com/CalebQ42/SWAssistant). Extension of [darkstorm-backend](https://github.com/CalebQ42/darkstorm-server/tree/main/internal/backend)
|
||||
|
||||
## APIs
|
||||
|
||||
For `POST` requests, the `X-API-Key` http header must be set.
|
||||
|
||||
### Profiles
|
||||
|
||||
#### Upload profile to share
|
||||
|
||||
Character, vehicles, and minion profiles.
|
||||
|
||||
> POST: /profile?type={character|vehicle|minion}
|
||||
|
||||
Upload a profile. `type` query is required.
|
||||
|
||||
Request Body:
|
||||
|
||||
```json
|
||||
{
|
||||
// profile data
|
||||
}
|
||||
```
|
||||
|
||||
Note: Only allows up to 5MB of data. If over 5MB returns 413. Further limits might be imposed in the future.
|
||||
|
||||
Response:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "profile ID",
|
||||
"expiration": 0 // Unix time (Seconds) of expiration
|
||||
}
|
||||
```
|
||||
|
||||
#### Get a shared profile
|
||||
|
||||
> GET: /profile/{profileID}
|
||||
|
||||
Get an uploaded profile.
|
||||
|
||||
Response:
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "character|vehicle|minion",
|
||||
// profile data minus uid
|
||||
}
|
||||
```
|
||||
|
||||
### Rooms
|
||||
|
||||
All room requests must include both `X-API-Key` and `Authorization` headers.
|
||||
|
||||
#### Room list
|
||||
|
||||
> GET: /rooms
|
||||
|
||||
Get a list of rooms your currently a part of.
|
||||
|
||||
Response:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"id": "room ID",
|
||||
"name": "room name",
|
||||
"owner": "username"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
#### Create new room
|
||||
|
||||
> POST: /rooms/new?name={roomName}
|
||||
|
||||
Create a new room. `name` query is required.
|
||||
|
||||
Response:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "room ID",
|
||||
"name": "room name"
|
||||
}
|
||||
```
|
||||
|
||||
#### Get room info
|
||||
|
||||
> GET: /rooms/{roomID}
|
||||
|
||||
Get info about a room.
|
||||
|
||||
```json
|
||||
{
|
||||
"id": "room ID",
|
||||
"name": "room name",
|
||||
"owner": "username",
|
||||
"users": [
|
||||
"username"
|
||||
],
|
||||
"profiles": [
|
||||
"profile uuids"
|
||||
]
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user