@webiny/api-headless-cms-bulk-actions 6.0.0-alpha.4 → 6.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -14
- package/abstractions/IUseCase.js +1 -5
- package/abstractions/index.d.ts +1 -3
- package/abstractions/index.js +1 -38
- package/abstractions/index.js.map +1 -1
- package/domain/BulkActionName.d.ts +3 -0
- package/domain/BulkActionName.js +20 -0
- package/domain/BulkActionName.js.map +1 -0
- package/features/BulkActionContext/abstractions.d.ts +5 -0
- package/features/BulkActionContext/abstractions.js +6 -0
- package/features/BulkActionContext/abstractions.js.map +1 -0
- package/features/BulkActionContext/index.d.ts +1 -0
- package/features/BulkActionContext/index.js +3 -0
- package/features/BulkActionContext/index.js.map +1 -0
- package/features/DeleteEntriesBulkAction/DeleteEntriesBulkAction.d.ts +15 -0
- package/features/DeleteEntriesBulkAction/DeleteEntriesBulkAction.js +29 -0
- package/features/DeleteEntriesBulkAction/DeleteEntriesBulkAction.js.map +1 -0
- package/features/DeleteEntriesBulkAction/feature.d.ts +1 -0
- package/features/DeleteEntriesBulkAction/feature.js +10 -0
- package/features/DeleteEntriesBulkAction/feature.js.map +1 -0
- package/features/EntriesBulkAction/abstractions.d.ts +38 -0
- package/features/EntriesBulkAction/abstractions.js +5 -0
- package/features/EntriesBulkAction/abstractions.js.map +1 -0
- package/features/EntriesBulkAction/createBulkActionTasks.d.ts +2 -0
- package/features/EntriesBulkAction/createBulkActionTasks.js +147 -0
- package/features/EntriesBulkAction/createBulkActionTasks.js.map +1 -0
- package/{useCases/internals/ChildTaskCleanup → features/EntriesBulkAction/internals}/ChildTasksCleanup.d.ts +1 -1
- package/{useCases/internals/ChildTaskCleanup → features/EntriesBulkAction/internals}/ChildTasksCleanup.js +3 -10
- package/features/EntriesBulkAction/internals/ChildTasksCleanup.js.map +1 -0
- package/features/EntriesBulkAction/internals/CreateTasksByModel.d.ts +16 -0
- package/features/EntriesBulkAction/internals/CreateTasksByModel.js +107 -0
- package/features/EntriesBulkAction/internals/CreateTasksByModel.js.map +1 -0
- package/features/EntriesBulkAction/internals/ProcessTask.d.ts +16 -0
- package/features/EntriesBulkAction/internals/ProcessTask.js +76 -0
- package/features/EntriesBulkAction/internals/ProcessTask.js.map +1 -0
- package/{useCases/internals/ProcessTask/Result.d.ts → features/EntriesBulkAction/internals/ProcessTaskResult.d.ts} +1 -1
- package/{useCases/internals/ProcessTask/Result.js → features/EntriesBulkAction/internals/ProcessTaskResult.js} +2 -9
- package/features/EntriesBulkAction/internals/ProcessTaskResult.js.map +1 -0
- package/features/EntriesBulkAction/internals/ProcessTasksByModel.d.ts +13 -0
- package/features/EntriesBulkAction/internals/ProcessTasksByModel.js +56 -0
- package/features/EntriesBulkAction/internals/ProcessTasksByModel.js.map +1 -0
- package/{useCases/internals/CreateTasksByModel → features/EntriesBulkAction/internals}/TaskCache.d.ts +4 -4
- package/{useCases/internals/CreateTasksByModel → features/EntriesBulkAction/internals}/TaskCache.js +1 -8
- package/features/EntriesBulkAction/internals/TaskCache.js.map +1 -0
- package/features/MoveToFolderBulkAction/MoveToFolderBulkAction.d.ts +15 -0
- package/features/MoveToFolderBulkAction/MoveToFolderBulkAction.js +30 -0
- package/features/MoveToFolderBulkAction/MoveToFolderBulkAction.js.map +1 -0
- package/features/MoveToFolderBulkAction/feature.d.ts +1 -0
- package/features/MoveToFolderBulkAction/feature.js +10 -0
- package/features/MoveToFolderBulkAction/feature.js.map +1 -0
- package/features/MoveToTrashBulkAction/MoveToTrashBulkAction.d.ts +15 -0
- package/features/MoveToTrashBulkAction/MoveToTrashBulkAction.js +29 -0
- package/features/MoveToTrashBulkAction/MoveToTrashBulkAction.js.map +1 -0
- package/features/MoveToTrashBulkAction/feature.d.ts +1 -0
- package/features/MoveToTrashBulkAction/feature.js +10 -0
- package/features/MoveToTrashBulkAction/feature.js.map +1 -0
- package/features/PublishEntriesBulkAction/PublishEntriesBulkAction.d.ts +15 -0
- package/features/PublishEntriesBulkAction/PublishEntriesBulkAction.js +37 -0
- package/features/PublishEntriesBulkAction/PublishEntriesBulkAction.js.map +1 -0
- package/features/PublishEntriesBulkAction/feature.d.ts +1 -0
- package/features/PublishEntriesBulkAction/feature.js +10 -0
- package/features/PublishEntriesBulkAction/feature.js.map +1 -0
- package/features/RestoreEntriesBulkAction/RestoreEntriesBulkAction.d.ts +15 -0
- package/features/RestoreEntriesBulkAction/RestoreEntriesBulkAction.js +27 -0
- package/features/RestoreEntriesBulkAction/RestoreEntriesBulkAction.js.map +1 -0
- package/features/RestoreEntriesBulkAction/feature.d.ts +1 -0
- package/features/RestoreEntriesBulkAction/feature.js +10 -0
- package/features/RestoreEntriesBulkAction/feature.js.map +1 -0
- package/features/UnpublishEntriesBulkAction/UnpublishEntriesBulkAction.d.ts +15 -0
- package/features/UnpublishEntriesBulkAction/UnpublishEntriesBulkAction.js +27 -0
- package/features/UnpublishEntriesBulkAction/UnpublishEntriesBulkAction.js.map +1 -0
- package/features/UnpublishEntriesBulkAction/feature.d.ts +1 -0
- package/features/UnpublishEntriesBulkAction/feature.js +10 -0
- package/features/UnpublishEntriesBulkAction/feature.js.map +1 -0
- package/graphql/createBulkActionGraphQL.d.ts +3 -0
- package/graphql/createBulkActionGraphQL.js +64 -0
- package/graphql/createBulkActionGraphQL.js.map +1 -0
- package/graphql/createDefaultGraphQL.d.ts +3 -0
- package/{plugins → graphql}/createDefaultGraphQL.js +10 -18
- package/graphql/createDefaultGraphQL.js.map +1 -0
- package/handlers/eventBridgeEventHandler.js +3 -10
- package/handlers/eventBridgeEventHandler.js.map +1 -1
- package/handlers/index.d.ts +1 -1
- package/handlers/index.js +4 -11
- package/handlers/index.js.map +1 -1
- package/handlers/setupEventsTenant.js +3 -10
- package/handlers/setupEventsTenant.js.map +1 -1
- package/index.d.ts +8 -6
- package/index.js +46 -69
- package/index.js.map +1 -1
- package/package.json +19 -23
- package/tasks/EmptyTrashBinTaskDefinition.d.ts +26 -0
- package/tasks/EmptyTrashBinTaskDefinition.js +124 -0
- package/tasks/EmptyTrashBinTaskDefinition.js.map +1 -0
- package/tasks/createEmptyTrashBinsTask.d.ts +1 -2
- package/tasks/createEmptyTrashBinsTask.js +5 -114
- package/tasks/createEmptyTrashBinsTask.js.map +1 -1
- package/tasks/index.d.ts +1 -2
- package/tasks/index.js +1 -27
- package/tasks/index.js.map +1 -1
- package/types.d.ts +12 -12
- package/types.js +4 -7
- package/types.js.map +1 -1
- package/abstractions/IListEntries.d.ts +0 -7
- package/abstractions/IListEntries.js +0 -7
- package/abstractions/IListEntries.js.map +0 -1
- package/abstractions/IProcessEntry.d.ts +0 -4
- package/abstractions/IProcessEntry.js +0 -7
- package/abstractions/IProcessEntry.js.map +0 -1
- package/plugins/createBulkAction.d.ts +0 -10
- package/plugins/createBulkAction.js +0 -36
- package/plugins/createBulkAction.js.map +0 -1
- package/plugins/createBulkActionGraphQL.d.ts +0 -7
- package/plugins/createBulkActionGraphQL.js +0 -72
- package/plugins/createBulkActionGraphQL.js.map +0 -1
- package/plugins/createBulkActionTasks.d.ts +0 -9
- package/plugins/createBulkActionTasks.js +0 -135
- package/plugins/createBulkActionTasks.js.map +0 -1
- package/plugins/createDefaultGraphQL.d.ts +0 -3
- package/plugins/createDefaultGraphQL.js.map +0 -1
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -29
- package/plugins/index.js.map +0 -1
- package/tasks/createBulkActionEntriesTasks.d.ts +0 -1
- package/tasks/createBulkActionEntriesTasks.js +0 -38
- package/tasks/createBulkActionEntriesTasks.js.map +0 -1
- package/useCases/DeleteEntry.d.ts +0 -10
- package/useCases/DeleteEntry.js +0 -26
- package/useCases/DeleteEntry.js.map +0 -1
- package/useCases/ListDeletedEntries.d.ts +0 -13
- package/useCases/ListDeletedEntries.js +0 -28
- package/useCases/ListDeletedEntries.js.map +0 -1
- package/useCases/ListLatestEntries.d.ts +0 -13
- package/useCases/ListLatestEntries.js +0 -28
- package/useCases/ListLatestEntries.js.map +0 -1
- package/useCases/ListNotPublishedEntries.d.ts +0 -13
- package/useCases/ListNotPublishedEntries.js +0 -34
- package/useCases/ListNotPublishedEntries.js.map +0 -1
- package/useCases/ListPublishedEntries.d.ts +0 -13
- package/useCases/ListPublishedEntries.js +0 -28
- package/useCases/ListPublishedEntries.js.map +0 -1
- package/useCases/MoveEntryToFolder.d.ts +0 -13
- package/useCases/MoveEntryToFolder.js +0 -23
- package/useCases/MoveEntryToFolder.js.map +0 -1
- package/useCases/MoveEntryToTrash.d.ts +0 -10
- package/useCases/MoveEntryToTrash.js +0 -26
- package/useCases/MoveEntryToTrash.js.map +0 -1
- package/useCases/PublishEntry.d.ts +0 -10
- package/useCases/PublishEntry.js +0 -20
- package/useCases/PublishEntry.js.map +0 -1
- package/useCases/RestoreEntryFromTrash.d.ts +0 -10
- package/useCases/RestoreEntryFromTrash.js +0 -24
- package/useCases/RestoreEntryFromTrash.js.map +0 -1
- package/useCases/UnpublishEntry.d.ts +0 -10
- package/useCases/UnpublishEntry.js +0 -20
- package/useCases/UnpublishEntry.js.map +0 -1
- package/useCases/index.d.ts +0 -10
- package/useCases/index.js +0 -117
- package/useCases/index.js.map +0 -1
- package/useCases/internals/ChildTaskCleanup/ChildTasksCleanup.js.map +0 -1
- package/useCases/internals/ChildTaskCleanup/index.d.ts +0 -1
- package/useCases/internals/ChildTaskCleanup/index.js +0 -18
- package/useCases/internals/ChildTaskCleanup/index.js.map +0 -1
- package/useCases/internals/CreateTasksByModel/CreateTasksByModel.d.ts +0 -13
- package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js +0 -111
- package/useCases/internals/CreateTasksByModel/CreateTasksByModel.js.map +0 -1
- package/useCases/internals/CreateTasksByModel/TaskCache.js.map +0 -1
- package/useCases/internals/CreateTasksByModel/index.d.ts +0 -1
- package/useCases/internals/CreateTasksByModel/index.js +0 -18
- package/useCases/internals/CreateTasksByModel/index.js.map +0 -1
- package/useCases/internals/ProcessTask/ProcessTask.d.ts +0 -14
- package/useCases/internals/ProcessTask/ProcessTask.js +0 -81
- package/useCases/internals/ProcessTask/ProcessTask.js.map +0 -1
- package/useCases/internals/ProcessTask/Result.js.map +0 -1
- package/useCases/internals/ProcessTask/index.d.ts +0 -1
- package/useCases/internals/ProcessTask/index.js +0 -18
- package/useCases/internals/ProcessTask/index.js.map +0 -1
- package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.d.ts +0 -11
- package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js +0 -67
- package/useCases/internals/ProcessTasksByModel/ProcessTasksByModel.js.map +0 -1
- package/useCases/internals/ProcessTasksByModel/index.d.ts +0 -1
- package/useCases/internals/ProcessTasksByModel/index.js +0 -18
- package/useCases/internals/ProcessTasksByModel/index.js.map +0 -1
- package/useCases/internals/index.d.ts +0 -4
- package/useCases/internals/index.js +0 -51
- package/useCases/internals/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_createBulkActionGraphQL","require","_createBulkActionTasks","toPascalCase","str","replace","words","split","capitalizedWords","map","word","charAt","toUpperCase","slice","join","createBulkAction","config","name","createBulkActionTasks","dataLoader","dataProcessor","batchSize","createBulkActionGraphQL","modelIds","exports"],"sources":["createBulkAction.ts"],"sourcesContent":["import { createBulkActionGraphQL } from \"./createBulkActionGraphQL\";\nimport { createBulkActionTasks } from \"~/plugins/createBulkActionTasks\";\nimport type { IListEntries, IProcessEntry } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nexport interface CreateBulkActionConfig {\n name: string;\n dataLoader: (context: HcmsBulkActionsContext) => IListEntries;\n dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;\n modelIds?: string[];\n batchSize?: number;\n}\n\nfunction toPascalCase(str: string) {\n // Step 1: Remove non-alphanumeric characters and replace them with spaces\n str = str.replace(/[^a-zA-Z0-9]+/g, \" \");\n\n // Step 2: Split the string into words\n const words = str.split(\" \");\n\n // Step 3: Capitalize the first letter of each word\n const capitalizedWords = words.map(word => word.charAt(0).toUpperCase() + word.slice(1));\n\n // Step 4: Join all the capitalized words together\n return capitalizedWords.join(\"\");\n}\n\nexport const createBulkAction = (config: CreateBulkActionConfig) => {\n const name = toPascalCase(config.name);\n\n return [\n createBulkActionTasks({\n name,\n dataLoader: config.dataLoader,\n dataProcessor: config.dataProcessor,\n batchSize: config.batchSize\n }),\n createBulkActionGraphQL({\n name,\n modelIds: config.modelIds\n })\n ];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAYA,SAASE,YAAYA,CAACC,GAAW,EAAE;EAC/B;EACAA,GAAG,GAAGA,GAAG,CAACC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;;EAExC;EACA,MAAMC,KAAK,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,CAAC;;EAE5B;EACA,MAAMC,gBAAgB,GAAGF,KAAK,CAACG,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;;EAExF;EACA,OAAOL,gBAAgB,CAACM,IAAI,CAAC,EAAE,CAAC;AACpC;AAEO,MAAMC,gBAAgB,GAAIC,MAA8B,IAAK;EAChE,MAAMC,IAAI,GAAGd,YAAY,CAACa,MAAM,CAACC,IAAI,CAAC;EAEtC,OAAO,CACH,IAAAC,4CAAqB,EAAC;IAClBD,IAAI;IACJE,UAAU,EAAEH,MAAM,CAACG,UAAU;IAC7BC,aAAa,EAAEJ,MAAM,CAACI,aAAa;IACnCC,SAAS,EAAEL,MAAM,CAACK;EACtB,CAAC,CAAC,EACF,IAAAC,gDAAuB,EAAC;IACpBL,IAAI;IACJM,QAAQ,EAAEP,MAAM,CAACO;EACrB,CAAC,CAAC,CACL;AACL,CAAC;AAACC,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ContextPlugin } from "@webiny/api";
|
|
2
|
-
import type { HcmsBulkActionsContext } from "../types";
|
|
3
|
-
export interface CreateBulkActionGraphQL {
|
|
4
|
-
name: string;
|
|
5
|
-
modelIds?: string[];
|
|
6
|
-
}
|
|
7
|
-
export declare const createBulkActionGraphQL: (config: CreateBulkActionGraphQL) => ContextPlugin<HcmsBulkActionsContext>;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createBulkActionGraphQL = void 0;
|
|
7
|
-
var _api = require("@webiny/api");
|
|
8
|
-
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
9
|
-
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
10
|
-
var _constants = require("@webiny/api-headless-cms/constants");
|
|
11
|
-
const createBulkActionGraphQL = config => {
|
|
12
|
-
return new _api.ContextPlugin(async ctx => {
|
|
13
|
-
const tenant = ctx.tenancy.getCurrentTenant();
|
|
14
|
-
const locale = ctx.i18n.getContentLocale();
|
|
15
|
-
if (!locale || !(await (0, _apiHeadlessCms.isHeadlessCmsReady)(ctx))) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
const models = await ctx.security.withoutAuthorization(async () => {
|
|
19
|
-
const allModels = await ctx.cms.listModels();
|
|
20
|
-
return allModels.filter(model => {
|
|
21
|
-
if (model.isPrivate) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
const tags = Array.isArray(model.tags) ? model.tags : [];
|
|
25
|
-
if (tags.includes(_constants.CMS_MODEL_SINGLETON_TAG)) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
if (config.modelIds?.length) {
|
|
29
|
-
return config.modelIds.includes(model.modelId);
|
|
30
|
-
}
|
|
31
|
-
return true;
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
const plugins = [];
|
|
35
|
-
models.forEach(model => {
|
|
36
|
-
const plugin = new _apiHeadlessCms.CmsGraphQLSchemaPlugin({
|
|
37
|
-
typeDefs: /* GraphQL */`
|
|
38
|
-
extend enum BulkAction${model.singularApiName}Name {
|
|
39
|
-
${config.name}
|
|
40
|
-
}
|
|
41
|
-
`,
|
|
42
|
-
resolvers: {
|
|
43
|
-
Mutation: {
|
|
44
|
-
[`bulkAction${model.singularApiName}`]: async (_, args, context) => {
|
|
45
|
-
const identity = context.security.getIdentity();
|
|
46
|
-
const response = await context.tasks.trigger({
|
|
47
|
-
definition: `hcmsBulkList${args.action}Entries`,
|
|
48
|
-
input: {
|
|
49
|
-
modelId: model.modelId,
|
|
50
|
-
where: args.where,
|
|
51
|
-
search: args.search,
|
|
52
|
-
data: args.data,
|
|
53
|
-
identity
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
return new _handlerGraphql.Response({
|
|
57
|
-
id: response.id
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
isApplicable: context => context.tenancy.getCurrentTenant().id === tenant.id && context.i18n.getContentLocale()?.code === locale.code
|
|
63
|
-
});
|
|
64
|
-
plugin.name = `headless-cms.graphql.schema.bulkAction.${model.modelId}.${config.name}`;
|
|
65
|
-
plugins.push(plugin);
|
|
66
|
-
});
|
|
67
|
-
ctx.plugins.register([...plugins]);
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
exports.createBulkActionGraphQL = createBulkActionGraphQL;
|
|
71
|
-
|
|
72
|
-
//# sourceMappingURL=createBulkActionGraphQL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_api","require","_apiHeadlessCms","_handlerGraphql","_constants","createBulkActionGraphQL","config","ContextPlugin","ctx","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","isHeadlessCmsReady","models","security","withoutAuthorization","allModels","cms","listModels","filter","model","isPrivate","tags","Array","isArray","includes","CMS_MODEL_SINGLETON_TAG","modelIds","length","modelId","plugins","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","singularApiName","name","resolvers","Mutation","_","args","context","identity","getIdentity","response","tasks","trigger","definition","action","input","where","search","data","Response","id","isApplicable","code","push","register","exports"],"sources":["createBulkActionGraphQL.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin, isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { Response } from \"@webiny/handler-graphql\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/api-headless-cms/constants\";\n\nexport interface CreateBulkActionGraphQL {\n name: string;\n modelIds?: string[];\n}\n\nexport const createBulkActionGraphQL = (config: CreateBulkActionGraphQL) => {\n return new ContextPlugin<HcmsBulkActionsContext>(async ctx => {\n const tenant = ctx.tenancy.getCurrentTenant();\n const locale = ctx.i18n.getContentLocale();\n\n if (!locale || !(await isHeadlessCmsReady(ctx))) {\n return;\n }\n\n const models = await ctx.security.withoutAuthorization(async () => {\n const allModels = await ctx.cms.listModels();\n return allModels.filter(model => {\n if (model.isPrivate) {\n return false;\n }\n const tags = Array.isArray(model.tags) ? model.tags : [];\n if (tags.includes(CMS_MODEL_SINGLETON_TAG)) {\n return false;\n }\n if (config.modelIds?.length) {\n return config.modelIds.includes(model.modelId);\n }\n return true;\n });\n });\n\n const plugins: CmsGraphQLSchemaPlugin<HcmsBulkActionsContext>[] = [];\n\n models.forEach(model => {\n const plugin = new CmsGraphQLSchemaPlugin<HcmsBulkActionsContext>({\n typeDefs: /* GraphQL */ `\n extend enum BulkAction${model.singularApiName}Name {\n ${config.name}\n }\n `,\n resolvers: {\n Mutation: {\n [`bulkAction${model.singularApiName}`]: async (_, args, context) => {\n const identity = context.security.getIdentity();\n\n const response = await context.tasks.trigger({\n definition: `hcmsBulkList${args.action}Entries`,\n input: {\n modelId: model.modelId,\n where: args.where,\n search: args.search,\n data: args.data,\n identity\n }\n });\n\n return new Response({\n id: response.id\n });\n }\n }\n },\n isApplicable: context =>\n context.tenancy.getCurrentTenant().id === tenant.id &&\n context.i18n.getContentLocale()?.code === locale.code\n });\n\n plugin.name = `headless-cms.graphql.schema.bulkAction.${model.modelId}.${config.name}`;\n plugins.push(plugin);\n });\n\n ctx.plugins.register([...plugins]);\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { IListEntries, IProcessEntry } from "../abstractions";
|
|
2
|
-
import type { HcmsBulkActionsContext, IBulkActionOperationByModelInput, IBulkActionOperationByModelOutput, IBulkActionOperationInput, IBulkActionOperationOutput } from "../types";
|
|
3
|
-
export interface CreateBackgroundTasksConfig {
|
|
4
|
-
name: string;
|
|
5
|
-
dataLoader: (context: HcmsBulkActionsContext) => IListEntries;
|
|
6
|
-
dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;
|
|
7
|
-
batchSize?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare const createBulkActionTasks: (config: CreateBackgroundTasksConfig) => (import("@webiny/tasks").TaskDefinitionPlugin<HcmsBulkActionsContext, IBulkActionOperationByModelInput, IBulkActionOperationByModelOutput> | import("@webiny/tasks").TaskDefinitionPlugin<HcmsBulkActionsContext, IBulkActionOperationInput, IBulkActionOperationOutput>)[];
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createBulkActionTasks = void 0;
|
|
7
|
-
var _tasks = require("@webiny/tasks");
|
|
8
|
-
var _internals = require("../useCases/internals");
|
|
9
|
-
var _types = require("../types");
|
|
10
|
-
const BATCH_SIZE = 100; // Default number of entries to fetch in each batch
|
|
11
|
-
|
|
12
|
-
class BulkActionTasks {
|
|
13
|
-
constructor(config) {
|
|
14
|
-
this.name = config.name;
|
|
15
|
-
this.dataLoader = config.dataLoader;
|
|
16
|
-
this.dataProcessor = config.dataProcessor;
|
|
17
|
-
this.batchSize = config.batchSize || BATCH_SIZE;
|
|
18
|
-
}
|
|
19
|
-
createListTaskDefinition() {
|
|
20
|
-
return (0, _tasks.createPrivateTaskDefinition)({
|
|
21
|
-
id: this.createListTaskDefinitionName(),
|
|
22
|
-
title: `Headless CMS: list "${this.name}" entries by model`,
|
|
23
|
-
maxIterations: 500,
|
|
24
|
-
disableDatabaseLogs: true,
|
|
25
|
-
run: async params => {
|
|
26
|
-
const {
|
|
27
|
-
response,
|
|
28
|
-
input,
|
|
29
|
-
context
|
|
30
|
-
} = params;
|
|
31
|
-
try {
|
|
32
|
-
if (!input.modelId) {
|
|
33
|
-
return response.error(`Missing "modelId" in the input.`);
|
|
34
|
-
}
|
|
35
|
-
const action = this.getCurrentAction(input);
|
|
36
|
-
switch (action) {
|
|
37
|
-
case _types.BulkActionOperationByModelAction.PROCESS_SUBTASKS:
|
|
38
|
-
{
|
|
39
|
-
const processTasks = new _internals.ProcessTasksByModel(this.createProcessTaskDefinitionName());
|
|
40
|
-
return await processTasks.execute(params);
|
|
41
|
-
}
|
|
42
|
-
case _types.BulkActionOperationByModelAction.CREATE_SUBTASKS:
|
|
43
|
-
case _types.BulkActionOperationByModelAction.CHECK_MORE_SUBTASKS:
|
|
44
|
-
{
|
|
45
|
-
const createTasks = new _internals.CreateTasksByModel(this.createProcessTaskDefinitionName(), this.dataLoader(context), this.batchSize);
|
|
46
|
-
return await createTasks.execute(params);
|
|
47
|
-
}
|
|
48
|
-
case _types.BulkActionOperationByModelAction.END_TASK:
|
|
49
|
-
{
|
|
50
|
-
return response.done(`Task done: task "${this.createProcessTaskDefinitionName()}" has been successfully processed for entries from "${input.modelId}" model.`);
|
|
51
|
-
}
|
|
52
|
-
default:
|
|
53
|
-
return response.error(`Unknown action: ${action}`);
|
|
54
|
-
}
|
|
55
|
-
} catch (ex) {
|
|
56
|
-
return response.error(ex.message ?? "Error while executing list task");
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
onDone: async ({
|
|
60
|
-
context,
|
|
61
|
-
task
|
|
62
|
-
}) => {
|
|
63
|
-
await this.onCreateListTaskDefinitionFinish(context, task, "done");
|
|
64
|
-
},
|
|
65
|
-
onError: async ({
|
|
66
|
-
context,
|
|
67
|
-
task
|
|
68
|
-
}) => {
|
|
69
|
-
await this.onCreateListTaskDefinitionFinish(context, task, "error");
|
|
70
|
-
},
|
|
71
|
-
onAbort: async ({
|
|
72
|
-
context,
|
|
73
|
-
task
|
|
74
|
-
}) => {
|
|
75
|
-
await this.onCreateListTaskDefinitionFinish(context, task, "abort");
|
|
76
|
-
},
|
|
77
|
-
onMaxIterations: async ({
|
|
78
|
-
context,
|
|
79
|
-
task
|
|
80
|
-
}) => {
|
|
81
|
-
await this.onCreateListTaskDefinitionFinish(context, task, "maxIterations");
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
createProcessTaskDefinition() {
|
|
86
|
-
return (0, _tasks.createPrivateTaskDefinition)({
|
|
87
|
-
id: this.createProcessTaskDefinitionName(),
|
|
88
|
-
title: `Headless CMS: process "${this.name}" entries`,
|
|
89
|
-
maxIterations: 2,
|
|
90
|
-
disableDatabaseLogs: true,
|
|
91
|
-
run: async params => {
|
|
92
|
-
const {
|
|
93
|
-
response,
|
|
94
|
-
context
|
|
95
|
-
} = params;
|
|
96
|
-
try {
|
|
97
|
-
const processTask = new _internals.ProcessTask(this.dataProcessor(context));
|
|
98
|
-
return await processTask.execute(params);
|
|
99
|
-
} catch (ex) {
|
|
100
|
-
return response.error(ex.message ?? "Error while executing process task");
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
createListTaskDefinitionName() {
|
|
106
|
-
return `hcmsBulkList${this.name}Entries`;
|
|
107
|
-
}
|
|
108
|
-
createProcessTaskDefinitionName() {
|
|
109
|
-
return `hcmsBulkProcess${this.name}Entries`;
|
|
110
|
-
}
|
|
111
|
-
getCurrentAction(input) {
|
|
112
|
-
return input.action ?? _types.BulkActionOperationByModelAction.CREATE_SUBTASKS;
|
|
113
|
-
}
|
|
114
|
-
async onCreateListTaskDefinitionFinish(context, task, cause) {
|
|
115
|
-
/**
|
|
116
|
-
* We want to clean all child tasks and logs, which have no errors.
|
|
117
|
-
*/
|
|
118
|
-
const childTasksCleanup = new _internals.ChildTasksCleanup();
|
|
119
|
-
try {
|
|
120
|
-
await childTasksCleanup.execute({
|
|
121
|
-
context,
|
|
122
|
-
task
|
|
123
|
-
});
|
|
124
|
-
} catch (ex) {
|
|
125
|
-
console.error(`Error while cleaning "${this.createListTaskDefinitionName()} child tasks - ${cause}."`, ex);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
const createBulkActionTasks = config => {
|
|
130
|
-
const backgroundTasks = new BulkActionTasks(config);
|
|
131
|
-
return [backgroundTasks.createListTaskDefinition(), backgroundTasks.createProcessTaskDefinition()];
|
|
132
|
-
};
|
|
133
|
-
exports.createBulkActionTasks = createBulkActionTasks;
|
|
134
|
-
|
|
135
|
-
//# sourceMappingURL=createBulkActionTasks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_tasks","require","_internals","_types","BATCH_SIZE","BulkActionTasks","constructor","config","name","dataLoader","dataProcessor","batchSize","createListTaskDefinition","createPrivateTaskDefinition","id","createListTaskDefinitionName","title","maxIterations","disableDatabaseLogs","run","params","response","input","context","modelId","error","action","getCurrentAction","BulkActionOperationByModelAction","PROCESS_SUBTASKS","processTasks","ProcessTasksByModel","createProcessTaskDefinitionName","execute","CREATE_SUBTASKS","CHECK_MORE_SUBTASKS","createTasks","CreateTasksByModel","END_TASK","done","ex","message","onDone","task","onCreateListTaskDefinitionFinish","onError","onAbort","onMaxIterations","createProcessTaskDefinition","processTask","ProcessTask","cause","childTasksCleanup","ChildTasksCleanup","console","createBulkActionTasks","backgroundTasks","exports"],"sources":["createBulkActionTasks.ts"],"sourcesContent":["import type { ITask } from \"@webiny/tasks\";\nimport { createPrivateTaskDefinition } from \"@webiny/tasks\";\nimport type { IListEntries, IProcessEntry } from \"~/abstractions\";\nimport {\n ChildTasksCleanup,\n CreateTasksByModel,\n ProcessTask,\n ProcessTasksByModel\n} from \"~/useCases/internals\";\nimport type {\n HcmsBulkActionsContext,\n IBulkActionOperationByModelInput,\n IBulkActionOperationByModelOutput,\n IBulkActionOperationInput,\n IBulkActionOperationOutput\n} from \"~/types\";\nimport { BulkActionOperationByModelAction } from \"~/types\";\n\nexport interface CreateBackgroundTasksConfig {\n name: string;\n dataLoader: (context: HcmsBulkActionsContext) => IListEntries;\n dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;\n batchSize?: number;\n}\n\nconst BATCH_SIZE = 100; // Default number of entries to fetch in each batch\n\nclass BulkActionTasks {\n private readonly name: string;\n private readonly dataLoader: (context: HcmsBulkActionsContext) => IListEntries;\n private readonly dataProcessor: (context: HcmsBulkActionsContext) => IProcessEntry;\n private readonly batchSize: number;\n\n constructor(config: CreateBackgroundTasksConfig) {\n this.name = config.name;\n this.dataLoader = config.dataLoader;\n this.dataProcessor = config.dataProcessor;\n this.batchSize = config.batchSize || BATCH_SIZE;\n }\n\n public createListTaskDefinition() {\n return createPrivateTaskDefinition<\n HcmsBulkActionsContext,\n IBulkActionOperationByModelInput,\n IBulkActionOperationByModelOutput\n >({\n id: this.createListTaskDefinitionName(),\n title: `Headless CMS: list \"${this.name}\" entries by model`,\n maxIterations: 500,\n disableDatabaseLogs: true,\n run: async params => {\n const { response, input, context } = params;\n\n try {\n if (!input.modelId) {\n return response.error(`Missing \"modelId\" in the input.`);\n }\n\n const action = this.getCurrentAction(input);\n\n switch (action) {\n case BulkActionOperationByModelAction.PROCESS_SUBTASKS: {\n const processTasks = new ProcessTasksByModel(\n this.createProcessTaskDefinitionName()\n );\n return await processTasks.execute(params);\n }\n case BulkActionOperationByModelAction.CREATE_SUBTASKS:\n case BulkActionOperationByModelAction.CHECK_MORE_SUBTASKS: {\n const createTasks = new CreateTasksByModel(\n this.createProcessTaskDefinitionName(),\n this.dataLoader(context),\n this.batchSize\n );\n return await createTasks.execute(params);\n }\n case BulkActionOperationByModelAction.END_TASK: {\n return response.done(\n `Task done: task \"${this.createProcessTaskDefinitionName()}\" has been successfully processed for entries from \"${\n input.modelId\n }\" model.`\n );\n }\n default:\n return response.error(`Unknown action: ${action}`);\n }\n } catch (ex) {\n return response.error(ex.message ?? \"Error while executing list task\");\n }\n },\n onDone: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"done\");\n },\n onError: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"error\");\n },\n onAbort: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"abort\");\n },\n onMaxIterations: async ({ context, task }) => {\n await this.onCreateListTaskDefinitionFinish(context, task, \"maxIterations\");\n }\n });\n }\n\n public createProcessTaskDefinition() {\n return createPrivateTaskDefinition<\n HcmsBulkActionsContext,\n IBulkActionOperationInput,\n IBulkActionOperationOutput\n >({\n id: this.createProcessTaskDefinitionName(),\n title: `Headless CMS: process \"${this.name}\" entries`,\n maxIterations: 2,\n disableDatabaseLogs: true,\n run: async params => {\n const { response, context } = params;\n\n try {\n const processTask = new ProcessTask(this.dataProcessor(context));\n return await processTask.execute(params);\n } catch (ex) {\n return response.error(ex.message ?? \"Error while executing process task\");\n }\n }\n });\n }\n\n private createListTaskDefinitionName() {\n return `hcmsBulkList${this.name}Entries`;\n }\n\n private createProcessTaskDefinitionName() {\n return `hcmsBulkProcess${this.name}Entries`;\n }\n\n private getCurrentAction(input: IBulkActionOperationByModelInput) {\n return input.action ?? BulkActionOperationByModelAction.CREATE_SUBTASKS;\n }\n\n private async onCreateListTaskDefinitionFinish(\n context: HcmsBulkActionsContext,\n task: ITask,\n cause: string\n ) {\n /**\n * We want to clean all child tasks and logs, which have no errors.\n */\n const childTasksCleanup = new ChildTasksCleanup();\n try {\n await childTasksCleanup.execute({\n context,\n task\n });\n } catch (ex) {\n console.error(\n `Error while cleaning \"${this.createListTaskDefinitionName()} child tasks - ${cause}.\"`,\n ex\n );\n }\n }\n}\n\nexport const createBulkActionTasks = (config: CreateBackgroundTasksConfig) => {\n const backgroundTasks = new BulkActionTasks(config);\n\n return [\n backgroundTasks.createListTaskDefinition(),\n backgroundTasks.createProcessTaskDefinition()\n ];\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_api","require","_apiHeadlessCms","_constants","createDefaultGraphQL","ContextPlugin","context","tenant","tenancy","getCurrentTenant","locale","i18n","getContentLocale","isHeadlessCmsReady","defaultPlugin","CmsGraphQLSchemaPlugin","typeDefs","name","models","security","withoutAuthorization","allModels","cms","listModels","filter","model","isPrivate","tags","Array","isArray","includes","CMS_MODEL_SINGLETON_TAG","modelPlugins","forEach","plugin","singularApiName","isApplicable","id","code","modelId","push","plugins","register","exports"],"sources":["createDefaultGraphQL.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin, isHeadlessCmsReady } from \"@webiny/api-headless-cms\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/api-headless-cms/constants\";\n\nexport const createDefaultGraphQL = () => {\n return new ContextPlugin<HcmsBulkActionsContext>(async context => {\n const tenant = context.tenancy.getCurrentTenant();\n const locale = context.i18n.getContentLocale();\n\n if (!locale || !(await isHeadlessCmsReady(context))) {\n return;\n }\n\n const defaultPlugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type BulkActionResponseData {\n id: String\n }\n\n type BulkActionResponse {\n data: BulkActionResponseData\n error: CmsError\n }\n `\n });\n defaultPlugin.name = `headless-cms.graphql.schema.bulkAction.default`;\n\n const models = await context.security.withoutAuthorization(async () => {\n const allModels = await context.cms.listModels();\n return allModels.filter(model => {\n if (model.isPrivate) {\n return false;\n }\n const tags = Array.isArray(model.tags) ? model.tags : [];\n if (tags.includes(CMS_MODEL_SINGLETON_TAG)) {\n return false;\n }\n return true;\n });\n });\n\n const modelPlugins: CmsGraphQLSchemaPlugin<HcmsBulkActionsContext>[] = [];\n\n models.forEach(model => {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n enum BulkAction${model.singularApiName}Name {\n _empty\n }\n \n extend type Mutation {\n bulkAction${model.singularApiName}(\n action: BulkAction${model.singularApiName}Name!\n where: ${model.singularApiName}ListWhereInput\n search: String\n data: JSON\n ): BulkActionResponse\n }\n `,\n isApplicable: context =>\n context.tenancy.getCurrentTenant().id === tenant.id &&\n context.i18n.getContentLocale()?.code === locale.code\n });\n\n plugin.name = `headless-cms.graphql.schema.bulkAction.default.${model.modelId}`;\n modelPlugins.push(plugin);\n });\n\n context.plugins.register([defaultPlugin, ...modelPlugins]);\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEO,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACtC,OAAO,IAAIC,kBAAa,CAAyB,MAAMC,OAAO,IAAI;IAC9D,MAAMC,MAAM,GAAGD,OAAO,CAACE,OAAO,CAACC,gBAAgB,CAAC,CAAC;IACjD,MAAMC,MAAM,GAAGJ,OAAO,CAACK,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAE9C,IAAI,CAACF,MAAM,IAAI,EAAE,MAAM,IAAAG,kCAAkB,EAACP,OAAO,CAAC,CAAC,EAAE;MACjD;IACJ;IAEA,MAAMQ,aAAa,GAAG,IAAIC,sCAAsB,CAAC;MAC7CC,QAAQ,EAAE,aAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,CAAC,CAAC;IACFF,aAAa,CAACG,IAAI,GAAG,gDAAgD;IAErE,MAAMC,MAAM,GAAG,MAAMZ,OAAO,CAACa,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MACnE,MAAMC,SAAS,GAAG,MAAMf,OAAO,CAACgB,GAAG,CAACC,UAAU,CAAC,CAAC;MAChD,OAAOF,SAAS,CAACG,MAAM,CAACC,KAAK,IAAI;QAC7B,IAAIA,KAAK,CAACC,SAAS,EAAE;UACjB,OAAO,KAAK;QAChB;QACA,MAAMC,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAACE,IAAI,CAAC,GAAGF,KAAK,CAACE,IAAI,GAAG,EAAE;QACxD,IAAIA,IAAI,CAACG,QAAQ,CAACC,kCAAuB,CAAC,EAAE;UACxC,OAAO,KAAK;QAChB;QACA,OAAO,IAAI;MACf,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,MAAMC,YAA8D,GAAG,EAAE;IAEzEd,MAAM,CAACe,OAAO,CAACR,KAAK,IAAI;MACpB,MAAMS,MAAM,GAAG,IAAInB,sCAAsB,CAAC;QACtCC,QAAQ,EAAE,aAAc;AACxC,qCAAqCS,KAAK,CAACU,eAAe;AAC1D;AACA;AACA;AACA;AACA,oCAAoCV,KAAK,CAACU,eAAe;AACzD,gDAAgDV,KAAK,CAACU,eAAe;AACrE,qCAAqCV,KAAK,CAACU,eAAe;AAC1D;AACA;AACA;AACA;AACA,iBAAiB;QACDC,YAAY,EAAE9B,OAAO,IACjBA,OAAO,CAACE,OAAO,CAACC,gBAAgB,CAAC,CAAC,CAAC4B,EAAE,KAAK9B,MAAM,CAAC8B,EAAE,IACnD/B,OAAO,CAACK,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE0B,IAAI,KAAK5B,MAAM,CAAC4B;MACzD,CAAC,CAAC;MAEFJ,MAAM,CAACjB,IAAI,GAAG,kDAAkDQ,KAAK,CAACc,OAAO,EAAE;MAC/EP,YAAY,CAACQ,IAAI,CAACN,MAAM,CAAC;IAC7B,CAAC,CAAC;IAEF5B,OAAO,CAACmC,OAAO,CAACC,QAAQ,CAAC,CAAC5B,aAAa,EAAE,GAAGkB,YAAY,CAAC,CAAC;EAC9D,CAAC,CAAC;AACN,CAAC;AAACW,OAAA,CAAAvC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/plugins/index.d.ts
DELETED
package/plugins/index.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _createBulkAction = require("./createBulkAction");
|
|
7
|
-
Object.keys(_createBulkAction).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _createBulkAction[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _createBulkAction[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
var _createDefaultGraphQL = require("./createDefaultGraphQL");
|
|
18
|
-
Object.keys(_createDefaultGraphQL).forEach(function (key) {
|
|
19
|
-
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (key in exports && exports[key] === _createDefaultGraphQL[key]) return;
|
|
21
|
-
Object.defineProperty(exports, key, {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () {
|
|
24
|
-
return _createDefaultGraphQL[key];
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
package/plugins/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_createBulkAction","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_createDefaultGraphQL"],"sources":["index.ts"],"sourcesContent":["export * from \"./createBulkAction\";\nexport * from \"./createDefaultGraphQL\";\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,qBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,qBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,qBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,qBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const createBulkActionEntriesTasks: () => (import("@webiny/api").ContextPlugin<import("../types").HcmsBulkActionsContext> | (import("@webiny/tasks").TaskDefinitionPlugin<import("../types").HcmsBulkActionsContext, import("../types").IBulkActionOperationByModelInput, import("../types").IBulkActionOperationByModelOutput> | import("@webiny/tasks").TaskDefinitionPlugin<import("../types").HcmsBulkActionsContext, import("../types").IBulkActionOperationInput, import("../types").IBulkActionOperationOutput>)[])[][];
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createBulkActionEntriesTasks = void 0;
|
|
7
|
-
var _plugins = require("../plugins");
|
|
8
|
-
var _useCases = require("../useCases");
|
|
9
|
-
const createBulkActionEntriesTasks = () => {
|
|
10
|
-
return [(0, _plugins.createBulkAction)({
|
|
11
|
-
name: "delete",
|
|
12
|
-
dataLoader: _useCases.createListDeletedEntries,
|
|
13
|
-
dataProcessor: _useCases.createDeleteEntry
|
|
14
|
-
}), (0, _plugins.createBulkAction)({
|
|
15
|
-
name: "moveToFolder",
|
|
16
|
-
dataLoader: _useCases.createListLatestEntries,
|
|
17
|
-
dataProcessor: _useCases.createMoveEntryToFolder
|
|
18
|
-
}), (0, _plugins.createBulkAction)({
|
|
19
|
-
name: "moveToTrash",
|
|
20
|
-
dataLoader: _useCases.createListLatestEntries,
|
|
21
|
-
dataProcessor: _useCases.createMoveEntryToTrash
|
|
22
|
-
}), (0, _plugins.createBulkAction)({
|
|
23
|
-
name: "publish",
|
|
24
|
-
dataLoader: _useCases.createListNotPublishedEntries,
|
|
25
|
-
dataProcessor: _useCases.createPublishEntry
|
|
26
|
-
}), (0, _plugins.createBulkAction)({
|
|
27
|
-
name: "unpublish",
|
|
28
|
-
dataLoader: _useCases.createListPublishedEntries,
|
|
29
|
-
dataProcessor: _useCases.createUnpublishEntry
|
|
30
|
-
}), (0, _plugins.createBulkAction)({
|
|
31
|
-
name: "restore",
|
|
32
|
-
dataLoader: _useCases.createListDeletedEntries,
|
|
33
|
-
dataProcessor: _useCases.createRestoreEntryFromTrash
|
|
34
|
-
})];
|
|
35
|
-
};
|
|
36
|
-
exports.createBulkActionEntriesTasks = createBulkActionEntriesTasks;
|
|
37
|
-
|
|
38
|
-
//# sourceMappingURL=createBulkActionEntriesTasks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_plugins","require","_useCases","createBulkActionEntriesTasks","createBulkAction","name","dataLoader","createListDeletedEntries","dataProcessor","createDeleteEntry","createListLatestEntries","createMoveEntryToFolder","createMoveEntryToTrash","createListNotPublishedEntries","createPublishEntry","createListPublishedEntries","createUnpublishEntry","createRestoreEntryFromTrash","exports"],"sources":["createBulkActionEntriesTasks.ts"],"sourcesContent":["import { createBulkAction } from \"~/plugins\";\nimport {\n createDeleteEntry,\n createListDeletedEntries,\n createListLatestEntries,\n createListNotPublishedEntries,\n createListPublishedEntries,\n createMoveEntryToFolder,\n createMoveEntryToTrash,\n createPublishEntry,\n createRestoreEntryFromTrash,\n createUnpublishEntry\n} from \"~/useCases\";\n\nexport const createBulkActionEntriesTasks = () => {\n return [\n createBulkAction({\n name: \"delete\",\n dataLoader: createListDeletedEntries,\n dataProcessor: createDeleteEntry\n }),\n createBulkAction({\n name: \"moveToFolder\",\n dataLoader: createListLatestEntries,\n dataProcessor: createMoveEntryToFolder\n }),\n createBulkAction({\n name: \"moveToTrash\",\n dataLoader: createListLatestEntries,\n dataProcessor: createMoveEntryToTrash\n }),\n createBulkAction({\n name: \"publish\",\n dataLoader: createListNotPublishedEntries,\n dataProcessor: createPublishEntry\n }),\n createBulkAction({\n name: \"unpublish\",\n dataLoader: createListPublishedEntries,\n dataProcessor: createUnpublishEntry\n }),\n createBulkAction({\n name: \"restore\",\n dataLoader: createListDeletedEntries,\n dataProcessor: createRestoreEntryFromTrash\n })\n ];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAaO,MAAME,4BAA4B,GAAGA,CAAA,KAAM;EAC9C,OAAO,CACH,IAAAC,yBAAgB,EAAC;IACbC,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAEC,kCAAwB;IACpCC,aAAa,EAAEC;EACnB,CAAC,CAAC,EACF,IAAAL,yBAAgB,EAAC;IACbC,IAAI,EAAE,cAAc;IACpBC,UAAU,EAAEI,iCAAuB;IACnCF,aAAa,EAAEG;EACnB,CAAC,CAAC,EACF,IAAAP,yBAAgB,EAAC;IACbC,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAEI,iCAAuB;IACnCF,aAAa,EAAEI;EACnB,CAAC,CAAC,EACF,IAAAR,yBAAgB,EAAC;IACbC,IAAI,EAAE,SAAS;IACfC,UAAU,EAAEO,uCAA6B;IACzCL,aAAa,EAAEM;EACnB,CAAC,CAAC,EACF,IAAAV,yBAAgB,EAAC;IACbC,IAAI,EAAE,WAAW;IACjBC,UAAU,EAAES,oCAA0B;IACtCP,aAAa,EAAEQ;EACnB,CAAC,CAAC,EACF,IAAAZ,yBAAgB,EAAC;IACbC,IAAI,EAAE,SAAS;IACfC,UAAU,EAAEC,kCAAwB;IACpCC,aAAa,EAAES;EACnB,CAAC,CAAC,CACL;AACL,CAAC;AAACC,OAAA,CAAAf,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { CmsModel } from "@webiny/api-headless-cms/types";
|
|
2
|
-
import type { IProcessEntry } from "../abstractions";
|
|
3
|
-
import type { HcmsBulkActionsContext } from "../types";
|
|
4
|
-
declare class DeleteEntry implements IProcessEntry {
|
|
5
|
-
private readonly context;
|
|
6
|
-
constructor(context: HcmsBulkActionsContext);
|
|
7
|
-
execute(model: CmsModel, id: string): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
export declare const createDeleteEntry: (context: HcmsBulkActionsContext) => DeleteEntry;
|
|
10
|
-
export {};
|
package/useCases/DeleteEntry.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createDeleteEntry = void 0;
|
|
7
|
-
var _utils = require("@webiny/utils");
|
|
8
|
-
class DeleteEntry {
|
|
9
|
-
constructor(context) {
|
|
10
|
-
this.context = context;
|
|
11
|
-
}
|
|
12
|
-
async execute(model, id) {
|
|
13
|
-
const {
|
|
14
|
-
id: entryId
|
|
15
|
-
} = (0, _utils.parseIdentifier)(id);
|
|
16
|
-
await this.context.cms.deleteEntry(model, entryId, {
|
|
17
|
-
permanently: true
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const createDeleteEntry = context => {
|
|
22
|
-
return new DeleteEntry(context);
|
|
23
|
-
};
|
|
24
|
-
exports.createDeleteEntry = createDeleteEntry;
|
|
25
|
-
|
|
26
|
-
//# sourceMappingURL=DeleteEntry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","DeleteEntry","constructor","context","execute","model","id","entryId","parseIdentifier","cms","deleteEntry","permanently","createDeleteEntry","exports"],"sources":["DeleteEntry.ts"],"sourcesContent":["import { parseIdentifier } from \"@webiny/utils\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport type { IProcessEntry } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nclass DeleteEntry implements IProcessEntry {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(model: CmsModel, id: string): Promise<void> {\n const { id: entryId } = parseIdentifier(id);\n await this.context.cms.deleteEntry(model, entryId, {\n permanently: true\n });\n }\n}\n\nexport const createDeleteEntry = (context: HcmsBulkActionsContext) => {\n return new DeleteEntry(context);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAKA,MAAMC,WAAW,CAA0B;EAGvCC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,KAAe,EAAEC,EAAU,EAAiB;IACtD,MAAM;MAAEA,EAAE,EAAEC;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACF,EAAE,CAAC;IAC3C,MAAM,IAAI,CAACH,OAAO,CAACM,GAAG,CAACC,WAAW,CAACL,KAAK,EAAEE,OAAO,EAAE;MAC/CI,WAAW,EAAE;IACjB,CAAC,CAAC;EACN;AACJ;AAEO,MAAMC,iBAAiB,GAAIT,OAA+B,IAAK;EAClE,OAAO,IAAIF,WAAW,CAACE,OAAO,CAAC;AACnC,CAAC;AAACU,OAAA,CAAAD,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
|
|
2
|
-
import type { IListEntries } from "../abstractions";
|
|
3
|
-
import type { HcmsBulkActionsContext } from "../types";
|
|
4
|
-
declare class ListDeletedEntries implements IListEntries {
|
|
5
|
-
private readonly context;
|
|
6
|
-
constructor(context: HcmsBulkActionsContext);
|
|
7
|
-
execute(modelId: string, params: CmsEntryListParams): Promise<{
|
|
8
|
-
entries: import("@webiny/api-headless-cms/types").CmsEntry<import("@webiny/api-headless-cms/types").CmsEntryValues>[];
|
|
9
|
-
meta: import("@webiny/api-headless-cms/types").CmsEntryMeta;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
export declare const createListDeletedEntries: (context: HcmsBulkActionsContext) => ListDeletedEntries;
|
|
13
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createListDeletedEntries = void 0;
|
|
7
|
-
class ListDeletedEntries {
|
|
8
|
-
constructor(context) {
|
|
9
|
-
this.context = context;
|
|
10
|
-
}
|
|
11
|
-
async execute(modelId, params) {
|
|
12
|
-
const model = await this.context.cms.getModel(modelId);
|
|
13
|
-
if (!model) {
|
|
14
|
-
throw new Error(`Model with ${modelId} not found!`);
|
|
15
|
-
}
|
|
16
|
-
const [entries, meta] = await this.context.cms.listDeletedEntries(model, params);
|
|
17
|
-
return {
|
|
18
|
-
entries,
|
|
19
|
-
meta
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const createListDeletedEntries = context => {
|
|
24
|
-
return new ListDeletedEntries(context);
|
|
25
|
-
};
|
|
26
|
-
exports.createListDeletedEntries = createListDeletedEntries;
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=ListDeletedEntries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ListDeletedEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listDeletedEntries","createListDeletedEntries","exports"],"sources":["ListDeletedEntries.ts"],"sourcesContent":["import type { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport type { IListEntries } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nclass ListDeletedEntries implements IListEntries {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(modelId: string, params: CmsEntryListParams) {\n const model = await this.context.cms.getModel(modelId);\n\n if (!model) {\n throw new Error(`Model with ${modelId} not found!`);\n }\n\n const [entries, meta] = await this.context.cms.listDeletedEntries(model, params);\n\n return {\n entries,\n meta\n };\n }\n}\n\nexport const createListDeletedEntries = (context: HcmsBulkActionsContext) => {\n return new ListDeletedEntries(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,kBAAkB,CAAyB;EAG7CC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,OAAe,EAAEC,MAA0B,EAAE;IACvD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACE,KAAK,EAAE;MACR,MAAM,IAAIG,KAAK,CAAC,cAAcL,OAAO,aAAa,CAAC;IACvD;IAEA,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACT,OAAO,CAACK,GAAG,CAACK,kBAAkB,CAACN,KAAK,EAAED,MAAM,CAAC;IAEhF,OAAO;MACHK,OAAO;MACPC;IACJ,CAAC;EACL;AACJ;AAEO,MAAME,wBAAwB,GAAIX,OAA+B,IAAK;EACzE,OAAO,IAAIF,kBAAkB,CAACE,OAAO,CAAC;AAC1C,CAAC;AAACY,OAAA,CAAAD,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
|
|
2
|
-
import type { IListEntries } from "../abstractions";
|
|
3
|
-
import type { HcmsBulkActionsContext } from "../types";
|
|
4
|
-
declare class ListLatestEntries implements IListEntries {
|
|
5
|
-
private readonly context;
|
|
6
|
-
constructor(context: HcmsBulkActionsContext);
|
|
7
|
-
execute(modelId: string, params: CmsEntryListParams): Promise<{
|
|
8
|
-
entries: import("@webiny/api-headless-cms/types").CmsEntry<import("@webiny/api-headless-cms/types").CmsEntryValues>[];
|
|
9
|
-
meta: import("@webiny/api-headless-cms/types").CmsEntryMeta;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
export declare const createListLatestEntries: (context: HcmsBulkActionsContext) => ListLatestEntries;
|
|
13
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createListLatestEntries = void 0;
|
|
7
|
-
class ListLatestEntries {
|
|
8
|
-
constructor(context) {
|
|
9
|
-
this.context = context;
|
|
10
|
-
}
|
|
11
|
-
async execute(modelId, params) {
|
|
12
|
-
const model = await this.context.cms.getModel(modelId);
|
|
13
|
-
if (!model) {
|
|
14
|
-
throw new Error(`Model with ${modelId} not found!`);
|
|
15
|
-
}
|
|
16
|
-
const [entries, meta] = await this.context.cms.listLatestEntries(model, params);
|
|
17
|
-
return {
|
|
18
|
-
entries,
|
|
19
|
-
meta
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const createListLatestEntries = context => {
|
|
24
|
-
return new ListLatestEntries(context);
|
|
25
|
-
};
|
|
26
|
-
exports.createListLatestEntries = createListLatestEntries;
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=ListLatestEntries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ListLatestEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listLatestEntries","createListLatestEntries","exports"],"sources":["ListLatestEntries.ts"],"sourcesContent":["import type { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport type { IListEntries } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nclass ListLatestEntries implements IListEntries {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(modelId: string, params: CmsEntryListParams) {\n const model = await this.context.cms.getModel(modelId);\n\n if (!model) {\n throw new Error(`Model with ${modelId} not found!`);\n }\n\n const [entries, meta] = await this.context.cms.listLatestEntries(model, params);\n\n return {\n entries,\n meta\n };\n }\n}\n\nexport const createListLatestEntries = (context: HcmsBulkActionsContext) => {\n return new ListLatestEntries(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,iBAAiB,CAAyB;EAG5CC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,OAAe,EAAEC,MAA0B,EAAE;IACvD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACE,KAAK,EAAE;MACR,MAAM,IAAIG,KAAK,CAAC,cAAcL,OAAO,aAAa,CAAC;IACvD;IAEA,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACT,OAAO,CAACK,GAAG,CAACK,iBAAiB,CAACN,KAAK,EAAED,MAAM,CAAC;IAE/E,OAAO;MACHK,OAAO;MACPC;IACJ,CAAC;EACL;AACJ;AAEO,MAAME,uBAAuB,GAAIX,OAA+B,IAAK;EACxE,OAAO,IAAIF,iBAAiB,CAACE,OAAO,CAAC;AACzC,CAAC;AAACY,OAAA,CAAAD,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
|
|
2
|
-
import type { IListEntries } from "../abstractions";
|
|
3
|
-
import type { HcmsBulkActionsContext } from "../types";
|
|
4
|
-
declare class ListNotPublishedEntries implements IListEntries {
|
|
5
|
-
private readonly context;
|
|
6
|
-
constructor(context: HcmsBulkActionsContext);
|
|
7
|
-
execute(modelId: string, params: CmsEntryListParams): Promise<{
|
|
8
|
-
entries: import("@webiny/api-headless-cms/types").CmsEntry<import("@webiny/api-headless-cms/types").CmsEntryValues>[];
|
|
9
|
-
meta: import("@webiny/api-headless-cms/types").CmsEntryMeta;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
export declare const createListNotPublishedEntries: (context: HcmsBulkActionsContext) => ListNotPublishedEntries;
|
|
13
|
-
export {};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createListNotPublishedEntries = void 0;
|
|
7
|
-
class ListNotPublishedEntries {
|
|
8
|
-
constructor(context) {
|
|
9
|
-
this.context = context;
|
|
10
|
-
}
|
|
11
|
-
async execute(modelId, params) {
|
|
12
|
-
const model = await this.context.cms.getModel(modelId);
|
|
13
|
-
if (!model) {
|
|
14
|
-
throw new Error(`Model with ${modelId} not found!`);
|
|
15
|
-
}
|
|
16
|
-
const [entries, meta] = await this.context.cms.listLatestEntries(model, {
|
|
17
|
-
...params,
|
|
18
|
-
where: {
|
|
19
|
-
...params.where,
|
|
20
|
-
status_not: "published"
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
return {
|
|
24
|
-
entries,
|
|
25
|
-
meta
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
const createListNotPublishedEntries = context => {
|
|
30
|
-
return new ListNotPublishedEntries(context);
|
|
31
|
-
};
|
|
32
|
-
exports.createListNotPublishedEntries = createListNotPublishedEntries;
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=ListNotPublishedEntries.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ListNotPublishedEntries","constructor","context","execute","modelId","params","model","cms","getModel","Error","entries","meta","listLatestEntries","where","status_not","createListNotPublishedEntries","exports"],"sources":["ListNotPublishedEntries.ts"],"sourcesContent":["import type { CmsEntryListParams } from \"@webiny/api-headless-cms/types\";\nimport type { IListEntries } from \"~/abstractions\";\nimport type { HcmsBulkActionsContext } from \"~/types\";\n\nclass ListNotPublishedEntries implements IListEntries {\n private readonly context: HcmsBulkActionsContext;\n\n constructor(context: HcmsBulkActionsContext) {\n this.context = context;\n }\n\n async execute(modelId: string, params: CmsEntryListParams) {\n const model = await this.context.cms.getModel(modelId);\n\n if (!model) {\n throw new Error(`Model with ${modelId} not found!`);\n }\n\n const [entries, meta] = await this.context.cms.listLatestEntries(model, {\n ...params,\n where: {\n ...params.where,\n status_not: \"published\"\n }\n });\n\n return {\n entries,\n meta\n };\n }\n}\n\nexport const createListNotPublishedEntries = (context: HcmsBulkActionsContext) => {\n return new ListNotPublishedEntries(context);\n};\n"],"mappings":";;;;;;AAIA,MAAMA,uBAAuB,CAAyB;EAGlDC,WAAWA,CAACC,OAA+B,EAAE;IACzC,IAAI,CAACA,OAAO,GAAGA,OAAO;EAC1B;EAEA,MAAMC,OAAOA,CAACC,OAAe,EAAEC,MAA0B,EAAE;IACvD,MAAMC,KAAK,GAAG,MAAM,IAAI,CAACJ,OAAO,CAACK,GAAG,CAACC,QAAQ,CAACJ,OAAO,CAAC;IAEtD,IAAI,CAACE,KAAK,EAAE;MACR,MAAM,IAAIG,KAAK,CAAC,cAAcL,OAAO,aAAa,CAAC;IACvD;IAEA,MAAM,CAACM,OAAO,EAAEC,IAAI,CAAC,GAAG,MAAM,IAAI,CAACT,OAAO,CAACK,GAAG,CAACK,iBAAiB,CAACN,KAAK,EAAE;MACpE,GAAGD,MAAM;MACTQ,KAAK,EAAE;QACH,GAAGR,MAAM,CAACQ,KAAK;QACfC,UAAU,EAAE;MAChB;IACJ,CAAC,CAAC;IAEF,OAAO;MACHJ,OAAO;MACPC;IACJ,CAAC;EACL;AACJ;AAEO,MAAMI,6BAA6B,GAAIb,OAA+B,IAAK;EAC9E,OAAO,IAAIF,uBAAuB,CAACE,OAAO,CAAC;AAC/C,CAAC;AAACc,OAAA,CAAAD,6BAAA,GAAAA,6BAAA","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CmsEntryListParams } from "@webiny/api-headless-cms/types";
|
|
2
|
-
import type { IListEntries } from "../abstractions";
|
|
3
|
-
import type { HcmsBulkActionsContext } from "../types";
|
|
4
|
-
declare class ListPublishedEntries implements IListEntries {
|
|
5
|
-
private readonly context;
|
|
6
|
-
constructor(context: HcmsBulkActionsContext);
|
|
7
|
-
execute(modelId: string, params: CmsEntryListParams): Promise<{
|
|
8
|
-
entries: import("@webiny/api-headless-cms/types").CmsEntry<import("@webiny/api-headless-cms/types").CmsEntryValues>[];
|
|
9
|
-
meta: import("@webiny/api-headless-cms/types").CmsEntryMeta;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
export declare const createListPublishedEntries: (context: HcmsBulkActionsContext) => ListPublishedEntries;
|
|
13
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createListPublishedEntries = void 0;
|
|
7
|
-
class ListPublishedEntries {
|
|
8
|
-
constructor(context) {
|
|
9
|
-
this.context = context;
|
|
10
|
-
}
|
|
11
|
-
async execute(modelId, params) {
|
|
12
|
-
const model = await this.context.cms.getModel(modelId);
|
|
13
|
-
if (!model) {
|
|
14
|
-
throw new Error(`Model with ${modelId} not found!`);
|
|
15
|
-
}
|
|
16
|
-
const [entries, meta] = await this.context.cms.listPublishedEntries(model, params);
|
|
17
|
-
return {
|
|
18
|
-
entries,
|
|
19
|
-
meta
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
const createListPublishedEntries = context => {
|
|
24
|
-
return new ListPublishedEntries(context);
|
|
25
|
-
};
|
|
26
|
-
exports.createListPublishedEntries = createListPublishedEntries;
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=ListPublishedEntries.js.map
|