Expand description

Minerva System: REST Service

About this service

This service’s responsibility is that of being a REST gateway for the rest of the system. In other words, anything that can be accessed by the user should be accessible through REST requests that are managed by this service.

This service also should never manage entities in the database directly. The REST service should always communicate to whatever gRPC service manages the entity required by the remote user instead.

This service also exposes endpoints for Swagger, Rapidoc and OpenAPI 3 specification. These should be located under /swagger, /rapidoc and /openapi.json.

Modules

controller 🔒
This module is responsible for encapsulating the controllers for the entities. These controllers are mostly responsible for defining the REST endpoints for them.
fairings 🔒
This module contains all implementations of fairings.
generic 🔒
This module contains Data Transfer Objects for generic purposes.
utils 🔒
This module contains utilitary functions and structures that can be used by other parts of this module that are somewhat global and can be reused whenever needed.

Functions

launch 🔒
Entry point for this service. Creates the service and routes that will be served by the REST server.
main 🔒