Crate minerva_rest
source · [−]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
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.