Creates a type-safe enum class with the given name and values. Use 'as const' to preserve literal types for strict type checking.
The field() function defines each property with its type, default value, validation, and other options like .optional() for nullable fields.
Input → Object → Light → Model. Each layer adds specific functionality. Light classes select specific fields for optimized list queries.
Defines reusable query patterns with .arg() for required parameters and .opt() for optional ones. The .query() method returns the MongoDB query object.
Creates a document class with instance methods that operate on individual documents. Methods can modify the document and should return 'this' for chaining.
Creates a model class with collection-level operations. Auto-generates query methods from filters (e.g., queryInCategory from inCategory filter).
Adds schema-level configurations like indexes, pre/post hooks, and virtual fields through the onSchema method.
Document methods return 'this' allowing chains like product.sell(5).save(). Always call .save() to persist changes.
Defines data-fetching endpoints that support pagination, search, and real-time updates. Use .param() for URL params and .search() for query strings.
Defines mutation endpoints that modify data. First argument is the return type, then guards, params (.param()), and body data (.body()).
Access control with Admin, User, Every, Public guards. Use .with(Self) to inject the current user context into the exec function.
Combines multiple services for cross-module operations. All combined services are available as this.serviceName in exec functions.
Toast notification helper using dictionary keys. msg.loading(), msg.success(), msg.error() with translation support.
Container components that handle data loading via Load.Units and organize Unit/View components. Often include modals and real-time refresh.
Reusable action buttons and utilities (Process, Serve, Cancel). Accept modelId and disabled props, call store methods on click.