volatile trigger在makesure条件下清除triggerAttribute时,要开启root 模式

This commit is contained in:
Xu Chang 2024-04-21 14:55:02 +08:00
parent fa0866e0f8
commit 021774a154
4 changed files with 15 additions and 0 deletions

View File

@ -748,6 +748,11 @@ function tryCopyPages(cwdPageDir, modulePageDir) {
function tryCopyModuleTemplateFiles(cwd, dependencies, briefNames, printer) { function tryCopyModuleTemplateFiles(cwd, dependencies, briefNames, printer) {
const injectDataIndexFileDependencies = []; const injectDataIndexFileDependencies = [];
const injectDataIndexFileBriefNames = []; const injectDataIndexFileBriefNames = [];
const webDir = join(cwd, 'web');
if (!(0, fs_1.existsSync)(webDir)) {
// 如果没有web目录说明是module不需要处理模块级别的文件注入
return;
}
dependencies.forEach((dep, idx) => { dependencies.forEach((dep, idx) => {
const moduleDir = join(cwd, 'node_modules', dep); const moduleDir = join(cwd, 'node_modules', dep);
const moduleTemplateDir = join(moduleDir, 'template'); const moduleTemplateDir = join(moduleDir, 'template');

View File

@ -335,6 +335,8 @@ class TriggerExecutor {
const { fn } = trigger; const { fn } = trigger;
const callback = await fn({ ids }, context, option); const callback = await fn({ ids }, context, option);
if (trigger.strict === 'makeSure') { if (trigger.strict === 'makeSure') {
// 这里开root模式否则还可能有权限问题
context.openRootMode();
await context.operate(entity, { await context.operate(entity, {
id: await (0, uuid_1.generateNewIdAsync)(), id: await (0, uuid_1.generateNewIdAsync)(),
action: 'update', action: 'update',

View File

@ -1411,6 +1411,12 @@ function tryCopyModuleTemplateFiles(
const injectDataIndexFileDependencies: string[] = []; const injectDataIndexFileDependencies: string[] = [];
const injectDataIndexFileBriefNames: string[] = []; const injectDataIndexFileBriefNames: string[] = [];
const webDir = join(cwd, 'web');
if (!existsSync(webDir)) {
// 如果没有web目录说明是module不需要处理模块级别的文件注入
return;
}
dependencies.forEach( dependencies.forEach(
(dep, idx) => { (dep, idx) => {
const moduleDir = join(cwd, 'node_modules', dep); const moduleDir = join(cwd, 'node_modules', dep);

View File

@ -426,6 +426,8 @@ export class TriggerExecutor<ED extends EntityDict & BaseEntityDict, Cxt extends
const { fn } = trigger as VolatileTrigger<ED, T, Cxt>; const { fn } = trigger as VolatileTrigger<ED, T, Cxt>;
const callback = await fn({ ids }, context, option); const callback = await fn({ ids }, context, option);
if (trigger.strict === 'makeSure') { if (trigger.strict === 'makeSure') {
// 这里开root模式否则还可能有权限问题
context.openRootMode();
await context.operate(entity, { await context.operate(entity, {
id: await generateNewIdAsync(), id: await generateNewIdAsync(),
action: 'update', action: 'update',