-
Notifications
You must be signed in to change notification settings - Fork 1
Backend Services
Ihar Suvorau edited this page Sep 18, 2023
·
22 revisions
- Users + Auth
- ProcessingRequestService
- ProjectService
- AssetService
- FileService
- NotificationService
See more at https://fastapi-users.github.io/fastapi-users/12.1/usage/routes/
| Verb | Endpoint | Params | Body | Description | Access |
|---|---|---|---|---|---|
| POST | /auth/jwt/login | username (form), password (form) | Issues a JWT token | Public | |
| POST | /auth/jwt/logout | Private | |||
| POST | /auth/jwt/register | user model | Public | ||
| POST | /auth/jwt/forgot-password | Creates a token for resetting the password | Public | ||
| POST | /auth/jwt/reset-password | Resets the password given the token | Private | ||
| POST | /auth/jwt/request-verify-token | Public | |||
| POST | /auth/jwt/verify | Public | |||
| GET | /users/me | Private | |||
| PATCH | /users/me | Private | |||
| GET | /users/:id | Superuser | |||
| PATCH | /users/:id | Superuser | |||
| DELETE | /users/:id | Superuser |
| Verb | Endpoint | Params | Body | Description | Access |
|---|---|---|---|---|---|
| GET | /processing-requests | by_user_id (optional), by_project_id (optional), by_asset_id (optional) | Get all records or filter them using params | Admin | |
| POST | /processing-requests | processing request model | Creates a processing request and starts its execution | Private | |
| GET | /processing-requests/:id | Private | |||
| PUT | /processing-requests/:id | processing request model | Private | ||
| DELETE | /processing-requests/:id | Private | |||
| GET | /processing-requests/:id/input-assets | Private | |||
| GET | /processing-requests/:id/output-assets | Private | |||
| POST | /processing-requests/:id/output-assets | asset id | Add an asset to the output | Private |
| Verb | Endpoint | Params | Body | Description | Access |
|---|---|---|---|---|---|
| GET | /projects | by_user_id (optional), by_processing_request_id (optional), by_asset_id (optional) | Admin | ||
| POST | /projects | project model | Private | ||
| GET | /projects/:id | Full information | Private | ||
| PUT | /projects/:id | project model | Private | ||
| DELETE | /projects/:id | Private | |||
| GET | /projects/:id/users | Private | |||
| POST | /projects/:id/users | user id | Add a user to the project | Private | |
| DELETE | /projects/:id/users | user id | Remove a user from the project | Private | |
| GET | /projects/:id/assets | Private | |||
| POST | /projects/:id/assets | asset id | Private | ||
| DELETE | /projects/:id/assets | asset id | Private |
| Verb | Endpoint | Params | Body | Description | Access |
|---|---|---|---|---|---|
| GET | /assets | by_project_id (optional), by_processing_request_id (optional) | Get all records or filter them using params | Admin | |
| POST | /assets | asset model | Private | ||
| GET | /assets/:id | Private | |||
| PUT | /assets/:id | asset model | Private | ||
| DELETE | /assets/:id | Private | |||
| GET | /assets/:id/location | Private |
| Verb | Endpoint | Params | Body | Description | Access |
|---|---|---|---|---|---|
| GET | /files | Admin | |||
| POST | /files | bytes | Upload a file | Private | |
| POST | /files/upload | Form | Upload a file through form | Private | |
| GET | /files/:id | Private | |||
| DELETE | /files/:id | Private | |||
| GET | /files/:id/location | Returns URL of the file | Private | ||
| GET | /files/:id/content | Returns bytes | Private | ||
| GET | /blobs/:content_hash | Returns bytes by the content hash | Private |
| Verb | Endpoint | Params | Body | Description | Access |
|---|---|---|---|---|---|
| GET | /notifications | Admin | |||
| POST | /notifications | notification model | Create a notification and trigger its delivery | Private | |
| GET | /notifications/:id | Private | |||
| GET | /notifications/:id/status | Private |
-
Archive (ignore this, for history reasons only)
- Jonas' Notes
- Developer Notes
- System Design
-
Developer Notes
-
System Design
-
Policies