52 lines
2.0 KiB
TypeScript
52 lines
2.0 KiB
TypeScript
// SPDX-License-Identifier: LicenseRef-ConusAI-Template-1.0
|
|
import { defineModule } from "@conusai-kit/core"
|
|
import { INVOICING_PROCEDURES } from "./adapters/procedures.js"
|
|
import { en, lt } from "./i18n/index.js"
|
|
export const invoicingModule = defineModule({
|
|
id: "invoicing",
|
|
// 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: {
|
|
"invoicing.invoice.read": "viewer",
|
|
"invoicing.series.read": "viewer",
|
|
"invoicing.invoice.write": "editor",
|
|
"invoicing.invoice.issue": "admin",
|
|
"invoicing.invoice.credit": "admin",
|
|
"invoicing.invoice.void": "admin",
|
|
"invoicing.series.manage": "admin",
|
|
},
|
|
procedures: INVOICING_PROCEDURES,
|
|
serviceRequirements: [
|
|
{
|
|
transport: "business",
|
|
service: "invoicing",
|
|
apiRange: "^1.1.0",
|
|
profiles: ["postgres", "mariadb", "mongodb"],
|
|
operations: {
|
|
"invoicing.invoice.list": ["invoicing.invoices:read"],
|
|
"invoicing.invoice.get": ["invoicing.invoices:read"],
|
|
"invoicing.invoice.ubl": ["invoicing.invoices:read"],
|
|
"invoicing.series.list": ["invoicing.series:read"],
|
|
"invoicing.invoice.draft": ["invoicing.invoices:write"],
|
|
"invoicing.invoice.update": ["invoicing.invoices:read", "invoicing.invoices:write"],
|
|
"invoicing.invoice.issue": ["invoicing.invoices:issue"],
|
|
"invoicing.invoice.credit": ["invoicing.invoices:write"],
|
|
"invoicing.invoice.void": ["invoicing.invoices:void"],
|
|
"invoicing.series.create": ["invoicing.series:write"],
|
|
},
|
|
configuration: [],
|
|
dependencies: [],
|
|
dataClasses: ["personal", "financial"],
|
|
partitionRequired: true,
|
|
remediation: "/docs/business-services.md",
|
|
},
|
|
],
|
|
ui: {
|
|
nav: [{ scope: "project", label: "invoicing.title", href: "invoicing", permission: "invoicing.invoice.read" }],
|
|
},
|
|
i18n: { en, lt },
|
|
})
|