Module
Modules allow you to:
- Define queries and mutations that can be called from the client
- Manage MongoDB stores that are automatically provisioned
- Configure scheduled cron jobs for background tasks
- Add HTTP routes for custom endpoints
- Define module-specific configuration schemas
API Reference
Class: Module
Defined in: src/app/module.ts:39
The Module class is a core building block of a Modelence application that encapsulates related functionality. Modules can contain stores, queries, mutations, routes, cron jobs and configurations.
Example
const todoModule = new Module('todo', {
stores: [dbTodos],
queries: {
async getAll() {
// Fetch and return all Todo items
}
},
mutations: {
async create({ title }, { user }) {
// Create a new Todo item
}
}
});
Constructors
Constructor
new Module(name, options): Module
Defined in: src/app/module.ts:70
Creates a new Module instance
Parameters
name
string
The unique name of the module. This name is used to namespace queries, mutations, cron jobs and configuration values with a prefix (e.g. "todo.create")
options
Module configuration options
configSchema?
ConfigSchema
= {}
cronJobs?
Record
<string
, CronJobInputParams
> = {}
mutations?
Mutations
= {}
queries?
Queries
= {}
routes?
RouteDefinition
[] = []
stores?
Stores
= []
Returns
Module