"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const uuid_1 = require("oak-domain/lib/utils/uuid"); const assert_1 = tslib_1.__importDefault(require("assert")); const triggers = [ { name: '当生成sysAccountOper时,修改对应的系统帐户中的值', entity: 'sysAccountOper', action: 'create', when: 'after', fn: async ({ operation }, context, option) => { const { id, data } = operation; (0, assert_1.default)(!(data instanceof Array)); const { entity, entityId, delta, type } = data; const [row] = await context.select(entity, { data: { id: 1, price: 1, }, filter: { id: entityId, }, }, { forUpdate: true }); await context.operate(entity, { id: await (0, uuid_1.generateNewIdAsync)(), action: type, data: { price: row.price + delta, }, filter: { id: entityId, }, }, {}); return 1; }, }, ]; exports.default = triggers;