Skip to main content

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

modelence


modelence / server / Module

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