API oon-core-back
Todos os exports públicos de @oondemand/oon-core-back, agrupados por finalidade.
Importe exclusivamente de @oondemand/oon-core-back. Caminhos internos não têm estabilidade garantida.
const { start, defineModel, fields, defineRoutes, GenericError } = require("@oondemand/oon-core-back");
Boot
| Export | Descrição |
|---|---|
start({ cwd, listen, handleSignals }) |
Carrega o backend do cwd, conecta Mongo, inicializa capabilities e inicia HTTP. listen: false → { app }; com escuta → { app, server }. Trata SIGTERM/SIGINT salvo handleSignals: false |
createApp() |
Monta o Express protegido a partir do registry; não carrega domínio nem conecta banco |
activate() |
Fluxo legado de ativação |
defineCentral(config) |
Configuração de runtime (em central.config.js) |
Definição de domínio
| Export | Descrição |
|---|---|
defineModel(definition) |
Model + schema + metadata + CRUD. Retorna { definition, mongooseModel, … } |
fields |
string, number, boolean, date, ref, enum, currency, currencyCode, currencyConverted |
defineValidation(model, fn) |
Validação do estado consolidado |
defineTrigger(model, { before, after }) |
Efeitos de mutação |
defineRoutes(basePath, builder) |
Rotas router.private / router.public |
defineCollection, defineDocument, definePipeline |
Registro de coleções, documentos e esteiras |
registry |
Registry do processo (use as APIs define*) |
Segurança, RBAC e tenant
| Export | Descrição |
|---|---|
requirePermission(permission) |
Middleware Express de autorização |
CORE_PERMISSIONS |
users.read, users.invite, users.update, users.disable, roles.read |
rbacPolicy, roleByCode, permissionGranted |
Leitura e avaliação da política declarada |
TENANT_HEADER, TENANCY_MODELS, DATA_SCOPES |
Constantes canônicas |
createAccessContext |
Estrutura uma identidade já verificada |
readRequestedTenantId(req) |
Lê a seleção solicitada (não autentica) |
scopeFilter, mergeScopedFilter, scopedIdFilter, scopeMutation |
Isolamento de dados |
Manifesto do App
APP_MANIFEST_FILENAME, APP_MANIFEST_SCHEMA_VERSION, SUPPORTED_APP_KINDS, SUPPORTED_APP_MODULES, AppManifestError, validateAppManifest, resolveAppManifestPath, appManifestToConfig, registerAppManifest, loadAppManifest, appArchitecture (resolveAppArchitecture).
Manifesto de domínio
DOMAIN_MANIFEST_FILENAME, DOMAIN_MANIFEST_SCHEMA_VERSION, SUPPORTED_DOMAIN_FIELD_KINDS, DOMAIN_EXPRESSION_OPERATORS, DomainManifestError, DomainRuleError, validateDomainManifest, domainManifestToDefinitions, registerDomainManifest, loadDomainManifest, evaluateDomainExpression, applyDomainMutation, validateDomainRecord, detectChangedFields.
Manifesto de processo
PROCESS_MANIFEST_FILENAME, PROCESS_MANIFEST_SCHEMA_VERSION, ProcessManifestError, validateProcessManifest, registerProcessManifest, loadProcessManifest, prepareProcessMutation, resolveProcessBindings, assertReferencePolicies, assertAtomicInvariants, assertDeleteAllowed, recalculateDependents, drainProcessJobs.
Capabilities
| Export | Descrição |
|---|---|
capabilities.pdf.render(input, context) |
HTML → Buffer PDF (alias capabilities.pdfRendering.render) |
capabilities.transactionalEmail.send(input, context) |
Envio idempotente + operações administrativas |
capabilities.secrets.put/status/use/remove |
Segredos cifrados |
PdfRenderingError, TransactionalEmailError |
Erros específicos |
operationalRequestHeaders(options) |
Headers de identidade do Deployment (falha no runtime local) |
Arquivos e uso
| Export | Descrição |
|---|---|
files |
saveFile, getFileInfo, openFile, readFile, listFiles, deleteFile, sendFile, forRequest, BUCKET, DEFAULT_MAX_BYTES |
usage |
record, assertAvailable, limit, state, flush, deliverPending, stop |
Runtime local
| Export | Descrição |
|---|---|
localDevelopment |
Detecção, validação de loopback e utilitários de teste/integração |
localExecutionPolicy |
Política de execução local (prazo da sessão) |
Erros
GenericError(message, { statusCode, code, details }) — erro operacional base. Veja Erros.