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.