This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
// The account module's manifest (joint contract §12): the person's own account -- export my data, and
|
||||
// delete my account -- over every installed module's share of it.
|
||||
//
|
||||
// A module that keeps something about a person contributes its export and erasure to kit-tenancy's
|
||||
// `tenancy.account` point (guides and support do, from their own manifests); this module composes
|
||||
// them, adds this app's own rows, and owns the deletion ledger that makes a deletion durable. Nothing
|
||||
// here names another module, so removing guides or support (`kit template:prune --without`) removes
|
||||
// their share and leaves this module as it is.
|
||||
|
||||
import { contribute, defineModule } from "@conusai-kit/core"
|
||||
import { repositoryBindings } from "@conusai-kit/data"
|
||||
import { accountData } from "@conusai-kit/tenancy"
|
||||
import { ACCOUNT_JOBS, ACCOUNT_PROCEDURES, accountOwnData } from "./adapters/procedures.js"
|
||||
import { ACCOUNT_ENTITIES } from "./contract/index.js"
|
||||
import { en, lt } from "./i18n/index.js"
|
||||
|
||||
const tables = repositoryBindings(...ACCOUNT_ENTITIES)
|
||||
|
||||
export const accountModule = defineModule({
|
||||
id: "account",
|
||||
version: "0.1.0",
|
||||
kit: "^0.1.0",
|
||||
requires: ["tenancy", "auth"],
|
||||
procedures: ACCOUNT_PROCEDURES,
|
||||
repositories: { postgres: tables, convex: tables },
|
||||
migrations: { postgres: "migrations" },
|
||||
// Both profiles. On Convex the tables come from the entities (convex/schema.ts), the export and the
|
||||
// deletion are generated actions whose store is one internal query or mutation per step
|
||||
// (convex/account.ts), and the sweep is a Convex cron instead of the worker's job.
|
||||
profiles: ["postgres", "convex"],
|
||||
jobs: ACCOUNT_JOBS,
|
||||
extends: [contribute(accountData, [accountOwnData])],
|
||||
i18n: { en, lt },
|
||||
})
|
||||
Reference in New Issue
Block a user