增加了dynamic的trigger和checker

This commit is contained in:
Xu Chang 2022-09-10 11:54:38 +08:00
parent 37f794398c
commit 964b761887
2 changed files with 18 additions and 0 deletions

View File

@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.AppLoader = void 0;
const tslib_1 = require("tslib");
const actionDef_1 = require("oak-domain/lib/store/actionDef");
const checkers_1 = require("oak-domain/lib/checkers");
const triggers_1 = require("oak-domain/lib/triggers");
const types_1 = require("oak-domain/lib/types");
const DbStore_1 = require("./DbStore");
const index_1 = tslib_1.__importDefault(require("oak-common-aspect/lib/index"));
@ -15,6 +17,10 @@ function initTriggers(dbStore, path) {
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());
dynamicCheckers.forEach((checker) => dbStore.registerChecker(checker));
const dynamicTriggers = (0, triggers_1.createDynamicTriggers)(dbStore.getSchema());
dynamicTriggers.forEach((trigger) => dbStore.registerTrigger(trigger));
}
class AppLoader extends types_1.AppLoader {
dbStore;

View File

@ -1,4 +1,6 @@
import { analyzeActionDefDict } from "oak-domain/lib/store/actionDef";
import { createDynamicCheckers } from 'oak-domain/lib/checkers';
import { createDynamicTriggers } from 'oak-domain/lib/triggers';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
import { AppLoader as GeneralAppLoader, Trigger, Checker, Aspect, RowStore, Context, EntityDict } from "oak-domain/lib/types";
import { DbStore } from "./DbStore";
@ -23,6 +25,16 @@ function initTriggers<ED extends EntityDict & BaseEntityDict, Cxt extends Contex
adCheckers.forEach(
(checker) => dbStore.registerChecker(checker)
);
const dynamicCheckers = createDynamicCheckers(dbStore.getSchema());
dynamicCheckers.forEach(
(checker) => dbStore.registerChecker(checker)
);
const dynamicTriggers = createDynamicTriggers(dbStore.getSchema());
dynamicTriggers.forEach(
(trigger) => dbStore.registerTrigger(trigger)
);
}