Skip to content

Backend Services

Ihar Suvorau edited this page Sep 18, 2023 · 22 revisions

HTTP Interface for Services

  • Users + Auth
  • ProcessingRequestService
  • ProjectService
  • AssetService
  • FileService
  • NotificationService

Users + Auth

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

ProcessingRequestService

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

ProjectService

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

AssetService

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

FileService

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

NotificationService

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

Clone this wiki locally