66 lines
1.9 KiB
Markdown
66 lines
1.9 KiB
Markdown
# Artemio (server)
|
|
|
|
# Deployment (from source)
|
|
|
|
- ``git clone https://github.com/grimhilt/artemio-server.git``
|
|
-
|
|
python3 -m venv .venv
|
|
source .venv/bin/activate
|
|
python -m pip install -r requirements.txt
|
|
|
|
sudo apt install libjpeg-dev zlib1g-dev
|
|
pip install Pillow
|
|
|
|
sudo apt install libmpv-dev
|
|
|
|
gunicorn -w 1 -b 0.0.0.0:5500 index:api --access-logfile access.log --error-logfile error.log
|
|
# Documentation
|
|
## API
|
|
|
|
### Permissions
|
|
|
|
| Name | Child Of | Description
|
|
| --- | --- | ---
|
|
CREATE_USER |
|
|
CREATE_ROLE |
|
|
CREATE_PLAYLIST |
|
|
VIEW_PLAYLIST | EDIT_PLAYLIST
|
|
OWN_PLAYLIST |
|
|
EDIT_PLAYLIST | OWN_PLAYLIST
|
|
ACTIVATE_PLAYLIST |
|
|
|
|
|
|
### Playlists (*/api/playlists*)
|
|
|
|
*The user need to be logged in for every routes.*
|
|
|
|
| Method | Endpoint | Permission | Description
|
|
| --- | --- | --- | --- |
|
|
| POST | ``/api/playlists`` | CREATE_PLAYLIST |
|
|
| GET | ``/api/playlists`` | |
|
|
| GET | ``/api/playlists/:id`` | VIEW_PLAYLIST |
|
|
| POST | ``/api/playlists/:id`` | EDIT_PLAYLIST | Add file to playlist
|
|
| POST | ``/api/playlists/:id/order`` | EDIT_PLAYLIST | Change file order
|
|
| POST | ``/api/playlists/:id/seconds`` | EDIT_PLAYLIST | Change display time of a file
|
|
| POST | ``/api/playlists/:id/remove_file`` | EDIT_PLAYLIST | Remove file from the playlist
|
|
| PUT | ``/api/playlists/:id/update`` | OWN_PLAYLIST | Update properties of the playlist
|
|
| POST | ``/api/playlists/:id/activate`` | ACTIVATE_PLAYLIST |
|
|
| POST | ``/api/playlists/:id/disactivate`` | ACTIVATE_PLAYLIST |
|
|
|
|
### Users
|
|
### Playlists (*/api/playlists*)
|
|
|
|
*The user need to be logged in for every routes.*
|
|
|
|
| Method | Endpoint | Permission | Description
|
|
| --- | --- | --- | --- |
|
|
| GET | ``/api/files`` | EDIT_PLAYLIST | List all existing files
|
|
| GET | ``/api/files/:id`` | VIEW_PLAYLIST | Return the file
|
|
| POST | ``/api/files/upload`` | EDIT_PLAYLIST | Upload one or multiple files
|
|
| DELETE | ``/api/files/:id`` | OWN_PLAYLIST | Delete the file
|
|
|
|
|
|
### Roles
|
|
|
|
### Files
|