@@ -0,0 +1,57 @@
|
||||
// The ledger module's manifest (spec §4.1): the one place it registers anything. Procedures, jobs,
|
||||
// events, tables and permissions are added here as the module grows; `modules/index.ts` lists the
|
||||
// manifest, and nothing in apps/ changes.
|
||||
|
||||
import { defineModule } from "@conusai-kit/core"
|
||||
import { LEDGER_PROCEDURES } from "./adapters/procedures.js"
|
||||
import { en, lt } from "./i18n/index.js"
|
||||
|
||||
export const ledgerModule = defineModule({
|
||||
id: "ledger",
|
||||
// A business module is its service, which this app reaches on these profiles (test/module-profiles.test.ts).
|
||||
profiles: ["postgres", "mariadb", "mongodb"],
|
||||
version: "0.1.0",
|
||||
kit: "^0.1.0",
|
||||
requires: ["tenancy"],
|
||||
permissions: {
|
||||
"ledger.accounts.read": "viewer",
|
||||
"ledger.balances.read": "viewer",
|
||||
"ledger.transactions.read": "viewer",
|
||||
"ledger.accounts.manage": "admin",
|
||||
"ledger.transactions.write": "editor",
|
||||
"ledger.transactions.reverse": "admin",
|
||||
},
|
||||
procedures: LEDGER_PROCEDURES,
|
||||
serviceRequirements: [
|
||||
{
|
||||
transport: "business",
|
||||
service: "ledger",
|
||||
apiRange: "^1.1.0",
|
||||
profiles: ["postgres", "mariadb", "mongodb"],
|
||||
operations: {
|
||||
"ledger.accounts.list": ["ledger.accounts:read"],
|
||||
"ledger.accounts.get": ["ledger.accounts:read"],
|
||||
"ledger.balances.list": ["ledger.balances:read"],
|
||||
"ledger.verify": ["ledger.balances:read"],
|
||||
"ledger.entries.list": ["ledger.transactions:read"],
|
||||
"ledger.transactions.list": ["ledger.transactions:read"],
|
||||
"ledger.transactions.get": ["ledger.transactions:read"],
|
||||
"ledger.accounts.create": ["ledger.accounts:write"],
|
||||
"ledger.accounts.update": ["ledger.accounts:write"],
|
||||
"ledger.transactions.record": ["ledger.balances:read", "ledger.transactions:write"],
|
||||
"ledger.transactions.post": ["ledger.balances:read", "ledger.transactions:write"],
|
||||
"ledger.transactions.void": ["ledger.transactions:write"],
|
||||
"ledger.transactions.reverse": ["ledger.balances:read", "ledger.transactions:write"],
|
||||
},
|
||||
configuration: [],
|
||||
dependencies: [],
|
||||
dataClasses: ["financial"],
|
||||
partitionRequired: true,
|
||||
remediation: "/docs/business-services.md",
|
||||
},
|
||||
],
|
||||
// A project's tab. `modules/pages.ts` mounts the page under this segment.
|
||||
ui: { nav: [{ scope: "project", label: "ledger.title", href: "ledger", permission: "ledger.accounts.read" }] },
|
||||
// Both languages, as TypeScript objects: kit-i18n merges them from the registry (AT-D23).
|
||||
i18n: { en, lt },
|
||||
})
|
||||
Reference in New Issue
Block a user