Skip to content

Backend Services

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

HTTP Interface

  • AuthService
  • ProcessingRequestService
  • UserService
  • ProjectService
  • AssetService
  • FileService
  • NotificationService

AuthService

Verb Endpoint Params Body Description Access
POST /login email, passwordhash Issues a JWT token Public

ProcessingRequestService

Verb Endpoint Params Body Description Access
GET /processing-requests 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/user Private
GET /processing-requests/:id/project 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

UserService

Verb Endpoint Params Body Description Access
GET /users Admin
POST /users user model Public
GET /users/:email Private
GET /users/:id Private
PUT /users/:id user model Private
DELETE /users/:id Private
GET /users/:id/projects Private
GET /users/:id/processing-requests Private

ProjectService

Verb Endpoint Params Body Description Access
GET /projects 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
GET /projects/:id/processing-requests Private

AssetService

Verb Endpoint Params Body Description Access
GET /assets 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
GET /assets/:id/project Private
GET /assets/:id/processing-requests Private

FileService

Verb Endpoint Params Body Description Access
GET /files Admin
POST /files bytes Upload a file 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

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/user Private
GET /notifications/:id/status Private

Clone this wiki locally