47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
// Shared, runtime-neutral documents manifest data. The normal app binds its worker implementation
|
|
// of documents.ocr; the Convex profile binds the same payload contract to its dedicated Node action.
|
|
|
|
import { contribute, type ModuleManifest } from "@conusai-kit/core"
|
|
import { repositoryBindings } from "@conusai-kit/data"
|
|
import { filesProcessors } from "@conusai-kit/files"
|
|
import { proposalTargets } from "@conusai-kit/proposals"
|
|
import { DOCUMENT_PROCEDURES } from "./adapters/procedures.js"
|
|
import {
|
|
DOCUMENTS_ENTITIES,
|
|
EXPORT_CREATED,
|
|
LINE_EDITED,
|
|
OCR_JOB,
|
|
PROCESSOR_KEY,
|
|
READABLE_CONTENT_TYPES,
|
|
} from "./contract/index.js"
|
|
import { lineTarget } from "./core/target.js"
|
|
import { en, lt } from "./i18n/index.js"
|
|
|
|
const tables = repositoryBindings(...DOCUMENTS_ENTITIES)
|
|
|
|
export const DOCUMENTS_MODULE_BASE: ModuleManifest = {
|
|
id: "documents",
|
|
version: "0.1.0",
|
|
kit: "^0.1.0",
|
|
requires: ["tenancy", "files", "proposals"],
|
|
permissions: {
|
|
"documents.document.read": "viewer",
|
|
"documents.line.edit": "editor",
|
|
"documents.line.approve": "editor",
|
|
"documents.export.create": "editor",
|
|
},
|
|
procedures: DOCUMENT_PROCEDURES,
|
|
repositories: { postgres: tables, mariadb: tables, mongodb: tables, convex: tables },
|
|
migrations: {
|
|
postgres: "migrations",
|
|
mariadb: "adapters/kysely/mysql/migrations",
|
|
mongodb: "adapters/mongo/migrations",
|
|
},
|
|
i18n: { en, lt },
|
|
audit: [EXPORT_CREATED, LINE_EDITED],
|
|
extends: [
|
|
contribute(filesProcessors, [{ key: PROCESSOR_KEY, contentTypes: [...READABLE_CONTENT_TYPES], job: OCR_JOB }]),
|
|
contribute(proposalTargets, [lineTarget]),
|
|
],
|
|
}
|