reactive-stack-js rest backend
This project is maintained by reactive-stack-js
See reactive-stack-js for more info.
See the TypeDoc documentation.
This is the main class.
It processes client subscription requests, creates appropriate stores and subscribes to them to observe changes.
It extends RxJS:Subject, so that any websocket instance can subscribe to it, in order to forward updates back to the client.
Defines a Connection Manager interface to be implemented by the application using this library.
This implementation is required for the above ReactiveStackClient
. An instance of ReactiveStackClient
is calling IConnectionManager
methods accordingly.
This is a map of all defined Data Middleware methods.
A Data Middleware is tied to a store scope 'count' | 'one' | 'many'
and collection name and is used to modify an observed payload if necessary.
For example, if based on users access permissions a portion of the payload needs to be removed or replaced, etc.
Method that initiates all workers. Takes folder path as attribute.
Method that initiates all cronjobs. Takes folder path as attribute.
A MongoDB database connector class, used to initialize the database collection which Mongoose will then use.
This method parses all models and adds them to the CollectionsModelsMap
if they pass validation. The method takes the folder path for the models and an optional folder name(s) to exclude, for example mixins
and similar.
This is a map of all Mongoose models and related MongoDB collections. It is populated automatically during the execution of processModels
.
Requires MongoDB 3.6+: This method returns an RxJS Subject that can be subscribed to and thus observe a particular MongoDB collection. This method takes a Mongoose model instance.
Requires MongoDB 4.0+: This method returns an RxJS Subject that can be subscribed to and thus observe the entire MongoDB database.
This method stores all fastify routes into the RoutesMap
in order to display them on request as a form of quick routes documentation.
This method is set as blippLog
options attribute during fastify registration of the fastify-blipp
plugin. Eg. server.register(fastifyBlipp, {blippLog: processFastifyBlipp});
.
This is a map of all available routes. It is populated automatically during the execution of processFastifyBlipp
.
This method adds all routes to fastify automatically. It requires as parameters a fastify instance and routes folder path.
Helper metohd used in addFastifyRoutes
to generate the route path from filename and file location relative to routes root folder.
Abstract class for CountStore
, DocumentStore
and CollectionStore
implementations.
Enum for existing store types: COUNT | DOCUMENT | COLLECTION
.
Count store, observes a particular query and returns only an integer representing the count of response rows.
Document store, observes a particular query and returns all response rows.
Collection store, observes a particular query and returns all response rows.
Store factory method, creates an appropriate AStore instance based on passed subscription parameters.
These types are self explanatory.