适配了oak-domain对声明的简化

This commit is contained in:
Xu Chang 2023-01-19 15:00:20 +08:00
parent 0e8c27cd03
commit 5c252d8f7a
2 changed files with 5 additions and 3 deletions

View File

@ -13,13 +13,14 @@ const index_1 = tslib_1.__importStar(require("oak-common-aspect/lib/index"));
function initTriggers(dbStore, path) {
const triggers = require(`${path}/lib/triggers/index`).default;
const checkers = require(`${path}/lib/checkers/index`).default;
const authDict = require(`${path}/lib/auth/index`).default;
const { ActionDefDict } = require(`${path}/lib/oak-app-domain/ActionDefDict`);
const { triggers: adTriggers, checkers: adCheckers } = (0, actionDef_1.analyzeActionDefDict)(dbStore.getSchema(), ActionDefDict);
triggers.forEach((trigger) => dbStore.registerTrigger(trigger));
adTriggers.forEach((trigger) => dbStore.registerTrigger(trigger));
checkers.forEach((checker) => dbStore.registerChecker(checker));
adCheckers.forEach((checker) => dbStore.registerChecker(checker));
const dynamicCheckers = (0, checkers_1.createDynamicCheckers)(dbStore.getSchema());
const dynamicCheckers = (0, checkers_1.createDynamicCheckers)(dbStore.getSchema(), authDict);
dynamicCheckers.forEach((checker) => dbStore.registerChecker(checker));
const dynamicTriggers = (0, triggers_1.createDynamicTriggers)(dbStore.getSchema());
dynamicTriggers.forEach((trigger) => dbStore.registerTrigger(trigger));

View File

@ -13,6 +13,7 @@ import { AsyncContext } from "oak-domain/lib/store/AsyncRowStore";
function initTriggers<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncContext<ED>>(dbStore: DbStore<ED, Cxt>, path: string) {
const triggers = require(`${path}/lib/triggers/index`).default;
const checkers = require(`${path}/lib/checkers/index`).default;
const authDict = require(`${path}/lib/auth/index`).default;
const { ActionDefDict } = require(`${path}/lib/oak-app-domain/ActionDefDict`);
const { triggers: adTriggers, checkers: adCheckers } = analyzeActionDefDict(dbStore.getSchema(), ActionDefDict);
@ -29,7 +30,7 @@ function initTriggers<ED extends EntityDict & BaseEntityDict, Cxt extends AsyncC
(checker) => dbStore.registerChecker(checker)
);
const dynamicCheckers = createDynamicCheckers(dbStore.getSchema());
const dynamicCheckers = createDynamicCheckers(dbStore.getSchema(), authDict);
dynamicCheckers.forEach(
(checker) => dbStore.registerChecker(checker)
);
@ -77,7 +78,7 @@ function startWatchers<ED extends EntityDict & BaseEntityDict, Cxt extends Async
else {
const { entity, projection, fn, filter } = <WBWatcher<ED, keyof ED, Cxt>>w;
const filter2 = typeof filter === 'function' ? await filter() : filter;
const projection2 = typeof projection === 'function' ? await projection() : projection;
const projection2 = typeof projection === 'function' ? await (projection as Function)() : projection;
const rows = await dbStore.select(entity, {
data: projection2 as any,
filter: filter2,