fix: 删除文章分类、文章时 级联删除extraFile
This commit is contained in:
parent
81d02f4ee4
commit
82279251f1
|
|
@ -0,0 +1,5 @@
|
|||
import { Checker } from "oak-domain/lib/types";
|
||||
import { EntityDict } from '../oak-app-domain';
|
||||
import { RuntimeCxt } from '../types/RuntimeCxt';
|
||||
declare const checkers: Checker<EntityDict, 'article', RuntimeCxt<EntityDict>>[];
|
||||
export default checkers;
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
import { generateNewId } from 'oak-domain/lib/utils/uuid';
|
||||
const checkers = [
|
||||
{
|
||||
// 删除文章级联删除extraFile
|
||||
action: 'remove',
|
||||
type: 'logical',
|
||||
entity: 'article',
|
||||
checker(operation, context) {
|
||||
const { filter } = operation;
|
||||
return context.operate('extraFile', {
|
||||
id: generateNewId(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
article: filter,
|
||||
},
|
||||
}, {});
|
||||
},
|
||||
},
|
||||
];
|
||||
export default checkers;
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
import { Checker } from "oak-domain/lib/types";
|
||||
import { EntityDict } from '../oak-app-domain';
|
||||
import { RuntimeCxt } from '../types/RuntimeCxt';
|
||||
declare const checkers: Checker<EntityDict, 'articleMenu', RuntimeCxt<EntityDict>>[];
|
||||
export default checkers;
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
import { generateNewId } from 'oak-domain/lib/utils/uuid';
|
||||
const checkers = [
|
||||
{
|
||||
// 删除文章分类级联删除extraFile
|
||||
action: 'remove',
|
||||
type: 'logical',
|
||||
entity: 'articleMenu',
|
||||
checker(operation, context) {
|
||||
const { filter } = operation;
|
||||
return context.operate('extraFile', {
|
||||
id: generateNewId(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
articleMenu: filter,
|
||||
},
|
||||
}, {});
|
||||
},
|
||||
},
|
||||
];
|
||||
export default checkers;
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "applicationPassport", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "system", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "platform", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[];
|
||||
declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "article", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "applicationPassport", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "system", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "platform", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "articleMenu", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[];
|
||||
export default checkers;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@ import parasite from './parasite';
|
|||
import applicationPassport from './applicationPassport';
|
||||
import systems from './system';
|
||||
import platforms from './platform';
|
||||
import articles from './article';
|
||||
import articleMenus from './articleMenu';
|
||||
const checkers = [
|
||||
...mobileChecker,
|
||||
...addressCheckers,
|
||||
|
|
@ -24,6 +26,8 @@ const checkers = [
|
|||
...parasite,
|
||||
...applicationPassport,
|
||||
...systems,
|
||||
...platforms
|
||||
...platforms,
|
||||
...articles,
|
||||
...articleMenus,
|
||||
];
|
||||
export default checkers;
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ const triggers = [
|
|||
},
|
||||
},
|
||||
{
|
||||
name: '在删除文章分类前,将文章分类的父节点的【isLeaf】置为【false】,同时删除extraFile',
|
||||
name: '在删除文章分类前,将文章分类的父节点的【isLeaf】置为【false】',
|
||||
entity: 'articleMenu',
|
||||
action: 'remove',
|
||||
when: 'before',
|
||||
|
|
@ -97,14 +97,6 @@ const triggers = [
|
|||
},
|
||||
filter,
|
||||
}, {});
|
||||
await context.operate('extraFile', {
|
||||
id: await generateNewIdAsync(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
entityId: filter.id,
|
||||
},
|
||||
}, {});
|
||||
if (articleMenu && articleMenu.parentId) {
|
||||
const articleMenus = await context.select('articleMenu', {
|
||||
data: {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
import { Checker } from "oak-domain/lib/types";
|
||||
import { EntityDict } from '../oak-app-domain';
|
||||
import { RuntimeCxt } from '../types/RuntimeCxt';
|
||||
declare const checkers: Checker<EntityDict, 'article', RuntimeCxt<EntityDict>>[];
|
||||
export default checkers;
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const uuid_1 = require("oak-domain/lib/utils/uuid");
|
||||
const checkers = [
|
||||
{
|
||||
// 删除文章级联删除extraFile
|
||||
action: 'remove',
|
||||
type: 'logical',
|
||||
entity: 'article',
|
||||
checker(operation, context) {
|
||||
const { filter } = operation;
|
||||
return context.operate('extraFile', {
|
||||
id: (0, uuid_1.generateNewId)(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
article: filter,
|
||||
},
|
||||
}, {});
|
||||
},
|
||||
},
|
||||
];
|
||||
exports.default = checkers;
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
import { Checker } from "oak-domain/lib/types";
|
||||
import { EntityDict } from '../oak-app-domain';
|
||||
import { RuntimeCxt } from '../types/RuntimeCxt';
|
||||
declare const checkers: Checker<EntityDict, 'articleMenu', RuntimeCxt<EntityDict>>[];
|
||||
export default checkers;
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const uuid_1 = require("oak-domain/lib/utils/uuid");
|
||||
const checkers = [
|
||||
{
|
||||
// 删除文章分类级联删除extraFile
|
||||
action: 'remove',
|
||||
type: 'logical',
|
||||
entity: 'articleMenu',
|
||||
checker(operation, context) {
|
||||
const { filter } = operation;
|
||||
return context.operate('extraFile', {
|
||||
id: (0, uuid_1.generateNewId)(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
articleMenu: filter,
|
||||
},
|
||||
}, {});
|
||||
},
|
||||
},
|
||||
];
|
||||
exports.default = checkers;
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "applicationPassport", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "system", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "platform", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[];
|
||||
declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "article", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "applicationPassport", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "system", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "platform", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "articleMenu", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[];
|
||||
export default checkers;
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ const parasite_1 = tslib_1.__importDefault(require("./parasite"));
|
|||
const applicationPassport_1 = tslib_1.__importDefault(require("./applicationPassport"));
|
||||
const system_1 = tslib_1.__importDefault(require("./system"));
|
||||
const platform_1 = tslib_1.__importDefault(require("./platform"));
|
||||
const article_1 = tslib_1.__importDefault(require("./article"));
|
||||
const articleMenu_1 = tslib_1.__importDefault(require("./articleMenu"));
|
||||
const checkers = [
|
||||
...mobile_1.default,
|
||||
...address_1.default,
|
||||
|
|
@ -27,6 +29,8 @@ const checkers = [
|
|||
...parasite_1.default,
|
||||
...applicationPassport_1.default,
|
||||
...system_1.default,
|
||||
...platform_1.default
|
||||
...platform_1.default,
|
||||
...article_1.default,
|
||||
...articleMenu_1.default,
|
||||
];
|
||||
exports.default = checkers;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ const triggers = [
|
|||
},
|
||||
},
|
||||
{
|
||||
name: '在删除文章分类前,将文章分类的父节点的【isLeaf】置为【false】,同时删除extraFile',
|
||||
name: '在删除文章分类前,将文章分类的父节点的【isLeaf】置为【false】',
|
||||
entity: 'articleMenu',
|
||||
action: 'remove',
|
||||
when: 'before',
|
||||
|
|
@ -99,14 +99,6 @@ const triggers = [
|
|||
},
|
||||
filter,
|
||||
}, {});
|
||||
await context.operate('extraFile', {
|
||||
id: await (0, uuid_1.generateNewIdAsync)(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
entityId: filter.id,
|
||||
},
|
||||
}, {});
|
||||
if (articleMenu && articleMenu.parentId) {
|
||||
const articleMenus = await context.select('articleMenu', {
|
||||
data: {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
import { isMobile } from 'oak-domain/lib/utils/validator';
|
||||
import { OakInputIllegalException, Checker } from "oak-domain/lib/types";
|
||||
import { EntityDict } from '../oak-app-domain';
|
||||
import { checkAttributesNotNull } from 'oak-domain/lib/utils/validator';
|
||||
import { RuntimeCxt } from '../types/RuntimeCxt';
|
||||
import { generateNewId } from 'oak-domain/lib/utils/uuid';
|
||||
|
||||
const checkers: Checker<EntityDict, 'article', RuntimeCxt<EntityDict>> [] = [
|
||||
{
|
||||
// 删除文章级联删除extraFile
|
||||
action: 'remove',
|
||||
type: 'logical',
|
||||
entity: 'article',
|
||||
checker(operation, context) {
|
||||
const { filter } = operation as EntityDict['article']['Remove'];
|
||||
return context.operate(
|
||||
'extraFile',
|
||||
{
|
||||
id: generateNewId(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
article: filter,
|
||||
},
|
||||
},
|
||||
{}
|
||||
);
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export default checkers;
|
||||
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
import { isMobile } from 'oak-domain/lib/utils/validator';
|
||||
import { OakInputIllegalException, Checker } from "oak-domain/lib/types";
|
||||
import { EntityDict } from '../oak-app-domain';
|
||||
import { checkAttributesNotNull } from 'oak-domain/lib/utils/validator';
|
||||
import { RuntimeCxt } from '../types/RuntimeCxt';
|
||||
import { generateNewId } from 'oak-domain/lib/utils/uuid';
|
||||
|
||||
const checkers: Checker<EntityDict, 'articleMenu', RuntimeCxt<EntityDict>> [] = [
|
||||
{
|
||||
// 删除文章分类级联删除extraFile
|
||||
action: 'remove',
|
||||
type: 'logical',
|
||||
entity: 'articleMenu',
|
||||
checker(operation, context) {
|
||||
const { filter } = operation as EntityDict['article']['Remove'];
|
||||
return context.operate(
|
||||
'extraFile',
|
||||
{
|
||||
id: generateNewId(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
articleMenu: filter,
|
||||
},
|
||||
},
|
||||
{}
|
||||
);
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
export default checkers;
|
||||
|
||||
|
|
@ -11,6 +11,8 @@ import parasite from './parasite';
|
|||
import applicationPassport from './applicationPassport';
|
||||
import systems from './system';
|
||||
import platforms from './platform';
|
||||
import articles from './article';
|
||||
import articleMenus from './articleMenu';
|
||||
|
||||
const checkers = [
|
||||
...mobileChecker,
|
||||
|
|
@ -25,7 +27,9 @@ const checkers = [
|
|||
...parasite,
|
||||
...applicationPassport,
|
||||
...systems,
|
||||
...platforms
|
||||
...platforms,
|
||||
...articles,
|
||||
...articleMenus,
|
||||
];
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ const triggers: Trigger<
|
|||
},
|
||||
} as CreateTrigger<EntityDict, 'articleMenu', BRC<EntityDict>>,
|
||||
{
|
||||
name: '在删除文章分类前,将文章分类的父节点的【isLeaf】置为【false】,同时删除extraFile',
|
||||
name: '在删除文章分类前,将文章分类的父节点的【isLeaf】置为【false】',
|
||||
entity: 'articleMenu',
|
||||
action: 'remove',
|
||||
when: 'before',
|
||||
|
|
@ -137,18 +137,6 @@ const triggers: Trigger<
|
|||
},
|
||||
{}
|
||||
);
|
||||
await context.operate(
|
||||
'extraFile',
|
||||
{
|
||||
id: await generateNewIdAsync(),
|
||||
action: 'remove',
|
||||
data: {},
|
||||
filter: {
|
||||
entityId: filter!.id as string,
|
||||
},
|
||||
},
|
||||
{}
|
||||
);
|
||||
if (articleMenu && articleMenu.parentId) {
|
||||
const articleMenus = await context.select(
|
||||
'articleMenu',
|
||||
|
|
|
|||
Loading…
Reference in New Issue