@webiny/tasks 0.0.0-unstable.2696f9d9e8 → 0.0.0-unstable.a9593f74dd
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/crud/createEventBridgeEvent.d.ts +4 -2
- package/crud/createEventBridgeEvent.js +6 -0
- package/crud/createEventBridgeEvent.js.map +1 -1
- package/crud/crud.tasks.js +3 -1
- package/crud/crud.tasks.js.map +1 -1
- package/crud/model.js +12 -0
- package/crud/model.js.map +1 -1
- package/crud/trigger.tasks.js +19 -2
- package/crud/trigger.tasks.js.map +1 -1
- package/graphql/index.js +12 -4
- package/graphql/index.js.map +1 -1
- package/graphql/utils.d.ts +2 -2
- package/graphql/utils.js +4 -4
- package/graphql/utils.js.map +1 -1
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/package.json +18 -18
- package/response/DatabaseResponse.js +15 -12
- package/response/DatabaseResponse.js.map +1 -1
- package/response/Response.js +2 -9
- package/response/Response.js.map +1 -1
- package/response/TaskResponse.d.ts +3 -3
- package/response/TaskResponse.js +19 -7
- package/response/TaskResponse.js.map +1 -1
- package/response/abstractions/Response.d.ts +2 -1
- package/response/abstractions/Response.js.map +1 -1
- package/response/abstractions/ResponseDoneResult.d.ts +3 -2
- package/response/abstractions/ResponseDoneResult.js.map +1 -1
- package/response/abstractions/ResponseErrorResult.d.ts +2 -2
- package/response/abstractions/ResponseErrorResult.js.map +1 -1
- package/response/abstractions/TaskResponse.d.ts +9 -5
- package/response/abstractions/TaskResponse.js.map +1 -1
- package/runner/TaskControl.d.ts +1 -0
- package/runner/TaskControl.js +43 -12
- package/runner/TaskControl.js.map +1 -1
- package/runner/TaskManager.js +15 -9
- package/runner/TaskManager.js.map +1 -1
- package/runner/TaskManagerStore.d.ts +12 -4
- package/runner/TaskManagerStore.js +10 -2
- package/runner/TaskManagerStore.js.map +1 -1
- package/runner/TaskRunner.d.ts +1 -1
- package/runner/TaskRunner.js +6 -5
- package/runner/TaskRunner.js.map +1 -1
- package/runner/abstractions/TaskManager.d.ts +2 -2
- package/runner/abstractions/TaskManager.js.map +1 -1
- package/runner/abstractions/TaskManagerStore.d.ts +13 -5
- package/runner/abstractions/TaskManagerStore.js.map +1 -1
- package/runner/abstractions/TaskRunner.d.ts +1 -1
- package/runner/abstractions/TaskRunner.js.map +1 -1
- package/task/plugin.d.ts +13 -10
- package/task/plugin.js +12 -1
- package/task/plugin.js.map +1 -1
- package/tasks/testingRunTask.d.ts +1 -0
- package/tasks/testingRunTask.js +21 -0
- package/tasks/testingRunTask.js.map +1 -0
- package/types.d.ts +61 -34
- package/types.js +3 -0
- package/types.js.map +1 -1
- package/utils/getErrorProperties.d.ts +2 -0
- package/utils/getErrorProperties.js +13 -0
- package/utils/getErrorProperties.js.map +1 -0
- package/utils/getObjectProperties.d.ts +8 -0
- package/utils/getObjectProperties.js +22 -0
- package/utils/getObjectProperties.js.map +1 -0
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PutEventsCommandOutput } from "@webiny/aws-sdk/client-eventbridge";
|
|
2
|
+
import { ITaskConfig, ITask } from "../types";
|
|
3
|
+
export { PutEventsCommandOutput };
|
|
2
4
|
export interface IFactoryParams {
|
|
3
5
|
config: ITaskConfig;
|
|
4
6
|
getTenant: () => string;
|
|
5
7
|
getLocale: () => string;
|
|
6
8
|
}
|
|
7
|
-
export declare const createEventBridgeEventFactory: (params: IFactoryParams) => (task:
|
|
9
|
+
export declare const createEventBridgeEventFactory: (params: IFactoryParams) => (task: ITask) => Promise<PutEventsCommandOutput>;
|
|
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
Object.defineProperty(exports, "PutEventsCommandOutput", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _clientEventbridge.PutEventsCommandOutput;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
7
13
|
exports.createEventBridgeEventFactory = void 0;
|
|
8
14
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
9
15
|
var _clientEventbridge = require("@webiny/aws-sdk/client-eventbridge");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_clientEventbridge","createEventBridgeEvent","params","client","task","tenant","locale","eventBusName","event","webinyTaskId","id","webinyTaskDefinitionId","definitionId","cmd","PutEventsCommand","Entries","Source","EventBusName","DetailType","Detail","JSON","stringify","send","ex","WebinyError","message","code","data","createEventBridgeEventFactory","config","getTenant","getLocale","EventBridgeClient","region","process","env","AWS_REGION","exports"],"sources":["createEventBridgeEvent.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_clientEventbridge","createEventBridgeEvent","params","client","task","tenant","locale","eventBusName","event","webinyTaskId","id","webinyTaskDefinitionId","definitionId","cmd","PutEventsCommand","Entries","Source","EventBusName","DetailType","Detail","JSON","stringify","send","ex","WebinyError","message","code","data","createEventBridgeEventFactory","config","getTenant","getLocale","EventBridgeClient","region","process","env","AWS_REGION","exports"],"sources":["createEventBridgeEvent.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n EventBridgeClient,\n PutEventsCommand,\n PutEventsCommandOutput\n} from \"@webiny/aws-sdk/client-eventbridge\";\nimport { ITaskConfig, ITask } from \"~/types\";\nimport { ITaskEventInput } from \"~/handler/types\";\n\nexport { PutEventsCommandOutput };\n\ninterface CreateEventBridgeEventParams {\n client: EventBridgeClient;\n task: Pick<ITask, \"id\" | \"definitionId\">;\n tenant: string;\n locale: string;\n eventBusName: string;\n}\n\nconst createEventBridgeEvent = async (params: CreateEventBridgeEventParams) => {\n const { client, task, tenant, locale, eventBusName } = params;\n /**\n * The ITaskEvent is what our handler expect to get.\n * Endpoint and stateMachineId are added by the step function.\n */\n const event: ITaskEventInput = {\n webinyTaskId: task.id,\n webinyTaskDefinitionId: task.definitionId,\n tenant,\n locale\n };\n\n const cmd = new PutEventsCommand({\n Entries: [\n {\n Source: \"webiny-api-tasks\",\n EventBusName: eventBusName,\n DetailType: \"WebinyBackgroundTask\",\n Detail: JSON.stringify(event)\n }\n ]\n });\n try {\n return await client.send(cmd);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not trigger task via Event Bridge!\",\n ex.code || \"TRIGGER_TASK_ERROR\",\n {\n event,\n ...(ex.data || {})\n }\n );\n }\n};\n\nexport interface IFactoryParams {\n config: ITaskConfig;\n getTenant: () => string;\n getLocale: () => string;\n}\n\nexport const createEventBridgeEventFactory = (params: IFactoryParams) => {\n const { config, getTenant, getLocale } = params;\n const client = new EventBridgeClient({\n region: process.env.AWS_REGION\n });\n const eventBusName = config.eventBusName;\n return (task: ITask) => {\n return createEventBridgeEvent({\n client,\n eventBusName,\n task,\n tenant: getTenant(),\n locale: getLocale()\n });\n };\n};\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAkBA,MAAME,sBAAsB,GAAG,MAAOC,MAAoC,IAAK;EAC3E,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,MAAM;IAAEC;EAAa,CAAC,GAAGL,MAAM;EAC7D;AACJ;AACA;AACA;EACI,MAAMM,KAAsB,GAAG;IAC3BC,YAAY,EAAEL,IAAI,CAACM,EAAE;IACrBC,sBAAsB,EAAEP,IAAI,CAACQ,YAAY;IACzCP,MAAM;IACNC;EACJ,CAAC;EAED,MAAMO,GAAG,GAAG,IAAIC,mCAAgB,CAAC;IAC7BC,OAAO,EAAE,CACL;MACIC,MAAM,EAAE,kBAAkB;MAC1BC,YAAY,EAAEV,YAAY;MAC1BW,UAAU,EAAE,sBAAsB;MAClCC,MAAM,EAAEC,IAAI,CAACC,SAAS,CAACb,KAAK;IAChC,CAAC;EAET,CAAC,CAAC;EACF,IAAI;IACA,OAAO,MAAML,MAAM,CAACmB,IAAI,CAACT,GAAG,CAAC;EACjC,CAAC,CAAC,OAAOU,EAAE,EAAE;IACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,0CAA0C,EACxDF,EAAE,CAACG,IAAI,IAAI,oBAAoB,EAC/B;MACIlB,KAAK;MACL,IAAIe,EAAE,CAACI,IAAI,IAAI,CAAC,CAAC;IACrB,CACJ,CAAC;EACL;AACJ,CAAC;AAQM,MAAMC,6BAA6B,GAAI1B,MAAsB,IAAK;EACrE,MAAM;IAAE2B,MAAM;IAAEC,SAAS;IAAEC;EAAU,CAAC,GAAG7B,MAAM;EAC/C,MAAMC,MAAM,GAAG,IAAI6B,oCAAiB,CAAC;IACjCC,MAAM,EAAEC,OAAO,CAACC,GAAG,CAACC;EACxB,CAAC,CAAC;EACF,MAAM7B,YAAY,GAAGsB,MAAM,CAACtB,YAAY;EACxC,OAAQH,IAAW,IAAK;IACpB,OAAOH,sBAAsB,CAAC;MAC1BE,MAAM;MACNI,YAAY;MACZH,IAAI;MACJC,MAAM,EAAEyB,SAAS,CAAC,CAAC;MACnBxB,MAAM,EAAEyB,SAAS,CAAC;IACtB,CAAC,CAAC;EACN,CAAC;AACL,CAAC;AAACM,OAAA,CAAAT,6BAAA,GAAAA,6BAAA"}
|
package/crud/crud.tasks.js
CHANGED
|
@@ -23,12 +23,14 @@ const convertToTask = entry => {
|
|
|
23
23
|
name: entry.values.name,
|
|
24
24
|
definitionId: entry.values.definitionId,
|
|
25
25
|
input: entry.values.input,
|
|
26
|
+
output: entry.values.output,
|
|
26
27
|
taskStatus: entry.values.taskStatus,
|
|
27
28
|
executionName: entry.values.executionName || "",
|
|
28
29
|
eventResponse: entry.values.eventResponse,
|
|
29
30
|
startedOn: entry.values.startedOn,
|
|
30
31
|
finishedOn: entry.values.finishedOn,
|
|
31
|
-
iterations: entry.values.iterations
|
|
32
|
+
iterations: entry.values.iterations,
|
|
33
|
+
parentId: entry.values.parentId
|
|
32
34
|
};
|
|
33
35
|
};
|
|
34
36
|
const convertToLog = entry => {
|
package/crud/crud.tasks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_types","_model","_handlerGraphql","_pubsub","_where","createRevisionId","id","convertToTask","entry","entryId","createdOn","savedOn","createdBy","name","values","definitionId","input","taskStatus","executionName","eventResponse","startedOn","finishedOn","iterations","convertToLog","task","iteration","items","createTaskCrud","context","onTaskBeforeCreate","createTopic","onTaskAfterCreate","onTaskBeforeUpdate","onTaskAfterUpdate","onTaskBeforeDelete","onTaskAfterDelete","getTaskModel","security","withoutAuthorization","model","cms","getModel","WEBINY_TASK_MODEL_ID","WebinyError","getLogModel","WEBINY_TASK_LOG_MODEL_ID","getTask","getEntryById","ex","NotFoundError","listTasks","params","meta","listLatestEntries","where","remapWhere","map","item","createTask","data","definition","tasks","getDefinition","createEntry","TaskDataStatus","PENDING","updateTask","updateEntry","Date","toISOString","deleteTask","deleteEntry","createLog","updateLog","getLog","getLatestLog","taskId","sort","limit","listLogs","exports"],"sources":["crud.tasks.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n Context,\n IListTaskLogParams,\n IListTaskParams,\n ITaskCreateData,\n ITaskData,\n ITaskLog,\n ITaskLogCreateInput,\n ITaskLogUpdateInput,\n ITasksContextCrudObject,\n ITaskUpdateData,\n OnTaskAfterCreateTopicParams,\n OnTaskAfterDeleteTopicParams,\n OnTaskAfterUpdateTopicParams,\n OnTaskBeforeCreateTopicParams,\n OnTaskBeforeDeleteTopicParams,\n OnTaskBeforeUpdateTopicParams,\n TaskDataStatus\n} from \"~/types\";\nimport { WEBINY_TASK_LOG_MODEL_ID, WEBINY_TASK_MODEL_ID } from \"./model\";\nimport { CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { remapWhere } from \"./where\";\n\nconst createRevisionId = (id: string) => {\n return `${id}#0001`;\n};\n\nconst convertToTask = (entry: CmsEntry<ITaskData>): ITaskData => {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n savedOn: entry.savedOn,\n createdBy: entry.createdBy,\n name: entry.values.name,\n definitionId: entry.values.definitionId,\n input: entry.values.input,\n taskStatus: entry.values.taskStatus,\n executionName: entry.values.executionName || \"\",\n eventResponse: entry.values.eventResponse,\n startedOn: entry.values.startedOn,\n finishedOn: entry.values.finishedOn,\n iterations: entry.values.iterations\n };\n};\n\nconst convertToLog = (entry: CmsEntry<ITaskLog>): ITaskLog => {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n createdBy: entry.createdBy,\n executionName: entry.values.executionName,\n task: entry.values.task,\n iteration: entry.values.iteration,\n items: entry.values.items || []\n };\n};\n\nexport const createTaskCrud = (context: Context): ITasksContextCrudObject => {\n const onTaskBeforeCreate = createTopic<OnTaskBeforeCreateTopicParams>(\"tasks.onBeforeCreate\");\n const onTaskAfterCreate = createTopic<OnTaskAfterCreateTopicParams>(\"tasks.onAfterCreate\");\n const onTaskBeforeUpdate = createTopic<OnTaskBeforeUpdateTopicParams>(\"tasks.onBeforeUpdate\");\n const onTaskAfterUpdate = createTopic<OnTaskAfterUpdateTopicParams>(\"tasks.onAfterUpdate\");\n const onTaskBeforeDelete = createTopic<OnTaskBeforeDeleteTopicParams>(\"tasks.onBeforeDelete\");\n const onTaskAfterDelete = createTopic<OnTaskAfterDeleteTopicParams>(\"tasks.onAfterDelete\");\n\n const getTaskModel = async (): Promise<CmsModel> => {\n return await context.security.withoutAuthorization(async () => {\n const model = await context.cms.getModel(WEBINY_TASK_MODEL_ID);\n if (model) {\n return model;\n }\n throw new WebinyError(`There is no model \"${WEBINY_TASK_MODEL_ID}\".`);\n });\n };\n\n const getLogModel = async (): Promise<CmsModel> => {\n return await context.security.withoutAuthorization(async () => {\n const model = await context.cms.getModel(WEBINY_TASK_LOG_MODEL_ID);\n if (model) {\n return model;\n }\n throw new WebinyError(`There is no model \"${WEBINY_TASK_LOG_MODEL_ID}\".`);\n });\n };\n\n const getTask = async (id: string) => {\n let entry: CmsEntry;\n try {\n entry = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.getEntryById(model, createRevisionId(id));\n });\n } catch (ex) {\n if (ex instanceof NotFoundError) {\n return null;\n }\n throw ex;\n }\n if (!entry) {\n return null;\n }\n\n return convertToTask(entry as unknown as CmsEntry<ITaskData>);\n };\n\n const listTasks = async (params?: IListTaskParams) => {\n const [items, meta] = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.listLatestEntries<ITaskData>(model, {\n ...params,\n where: remapWhere(params?.where)\n });\n });\n\n return {\n items: items.map(item => convertToTask(item)),\n meta\n };\n };\n\n const createTask = async (data: ITaskCreateData) => {\n const definition = context.tasks.getDefinition(data.definitionId);\n if (!definition) {\n throw new WebinyError(`There is no task definition.`, \"TASK_DEFINITION_ERROR\", {\n id: data.definitionId\n });\n }\n\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.createEntry(model, {\n ...data,\n iterations: 0,\n taskStatus: TaskDataStatus.PENDING\n });\n });\n return convertToTask(entry as unknown as CmsEntry<ITaskData>);\n };\n\n const updateTask = async (id: string, data: ITaskUpdateData) => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.updateEntry(model, createRevisionId(id), {\n ...data,\n savedOn: new Date().toISOString()\n });\n });\n return convertToTask(entry as unknown as CmsEntry<ITaskData>);\n };\n\n const deleteTask = (id: string) => {\n return context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n await context.cms.deleteEntry(model, createRevisionId(id));\n return true;\n });\n };\n\n const createLog = async (task: Pick<ITaskData, \"id\">, data: ITaskLogCreateInput) => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n\n return await context.cms.createEntry(model, {\n ...data,\n task: task.id\n });\n });\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n };\n\n const updateLog = async (id: string, data: ITaskLogUpdateInput) => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n\n return await context.cms.updateEntry(model, createRevisionId(id), data);\n });\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n };\n\n const getLog = async (id: string): Promise<ITaskLog | null> => {\n try {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n return await context.cms.getEntryById(model, id);\n });\n\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n } catch (ex) {\n if (ex instanceof NotFoundError) {\n return null;\n }\n throw ex;\n }\n };\n\n const getLatestLog = async (taskId: string): Promise<ITaskLog> => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n const [items] = await context.cms.listLatestEntries<ITaskLog>(model, {\n where: {\n task: taskId\n },\n sort: [\"createdOn_DESC\"],\n limit: 1\n });\n const [item] = items;\n if (!item) {\n throw new NotFoundError(`No existing latest log found for task \"${taskId}\".`);\n }\n return item;\n });\n\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n };\n\n const listLogs = async (params: IListTaskLogParams) => {\n const [items, meta] = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n return await context.cms.listLatestEntries<ITaskLog>(model, {\n ...params,\n where: remapWhere(params.where)\n });\n });\n\n return {\n items: items.map(item => convertToLog(item)),\n meta\n };\n };\n\n return {\n onTaskBeforeCreate,\n onTaskAfterCreate,\n onTaskBeforeUpdate,\n onTaskAfterUpdate,\n onTaskBeforeDelete,\n onTaskAfterDelete,\n getTask,\n listTasks,\n createTask,\n updateTask,\n deleteTask,\n createLog,\n updateLog,\n getLog,\n listLogs,\n getLatestLog,\n getTaskModel,\n getLogModel\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_types","_model","_handlerGraphql","_pubsub","_where","createRevisionId","id","convertToTask","entry","entryId","createdOn","savedOn","createdBy","name","values","definitionId","input","output","taskStatus","executionName","eventResponse","startedOn","finishedOn","iterations","parentId","convertToLog","task","iteration","items","createTaskCrud","context","onTaskBeforeCreate","createTopic","onTaskAfterCreate","onTaskBeforeUpdate","onTaskAfterUpdate","onTaskBeforeDelete","onTaskAfterDelete","getTaskModel","security","withoutAuthorization","model","cms","getModel","WEBINY_TASK_MODEL_ID","WebinyError","getLogModel","WEBINY_TASK_LOG_MODEL_ID","getTask","getEntryById","ex","NotFoundError","listTasks","params","meta","listLatestEntries","where","remapWhere","map","item","createTask","data","definition","tasks","getDefinition","createEntry","TaskDataStatus","PENDING","updateTask","updateEntry","Date","toISOString","deleteTask","deleteEntry","createLog","updateLog","getLog","getLatestLog","taskId","sort","limit","listLogs","exports"],"sources":["crud.tasks.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n Context,\n IListTaskLogParams,\n IListTaskParams,\n ITask,\n ITaskCreateData,\n ITaskLog,\n ITaskLogCreateInput,\n ITaskLogUpdateInput,\n ITaskResponseDoneResultOutput,\n ITasksContextCrudObject,\n ITaskUpdateData,\n OnTaskAfterCreateTopicParams,\n OnTaskAfterDeleteTopicParams,\n OnTaskAfterUpdateTopicParams,\n OnTaskBeforeCreateTopicParams,\n OnTaskBeforeDeleteTopicParams,\n OnTaskBeforeUpdateTopicParams,\n TaskDataStatus\n} from \"~/types\";\nimport { WEBINY_TASK_LOG_MODEL_ID, WEBINY_TASK_MODEL_ID } from \"./model\";\nimport { CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { remapWhere } from \"./where\";\n\nconst createRevisionId = (id: string) => {\n return `${id}#0001`;\n};\n\nconst convertToTask = <\n T = any,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n>(\n entry: CmsEntry<ITask<T, O>>\n): ITask<T, O> => {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n savedOn: entry.savedOn,\n createdBy: entry.createdBy,\n name: entry.values.name,\n definitionId: entry.values.definitionId,\n input: entry.values.input,\n output: entry.values.output,\n taskStatus: entry.values.taskStatus,\n executionName: entry.values.executionName || \"\",\n eventResponse: entry.values.eventResponse,\n startedOn: entry.values.startedOn,\n finishedOn: entry.values.finishedOn,\n iterations: entry.values.iterations,\n parentId: entry.values.parentId\n };\n};\n\nconst convertToLog = (entry: CmsEntry<ITaskLog>): ITaskLog => {\n return {\n id: entry.entryId,\n createdOn: entry.createdOn,\n createdBy: entry.createdBy,\n executionName: entry.values.executionName,\n task: entry.values.task,\n iteration: entry.values.iteration,\n items: entry.values.items || []\n };\n};\n\nexport const createTaskCrud = (context: Context): ITasksContextCrudObject => {\n const onTaskBeforeCreate = createTopic<OnTaskBeforeCreateTopicParams>(\"tasks.onBeforeCreate\");\n const onTaskAfterCreate = createTopic<OnTaskAfterCreateTopicParams>(\"tasks.onAfterCreate\");\n const onTaskBeforeUpdate = createTopic<OnTaskBeforeUpdateTopicParams>(\"tasks.onBeforeUpdate\");\n const onTaskAfterUpdate = createTopic<OnTaskAfterUpdateTopicParams>(\"tasks.onAfterUpdate\");\n const onTaskBeforeDelete = createTopic<OnTaskBeforeDeleteTopicParams>(\"tasks.onBeforeDelete\");\n const onTaskAfterDelete = createTopic<OnTaskAfterDeleteTopicParams>(\"tasks.onAfterDelete\");\n\n const getTaskModel = async (): Promise<CmsModel> => {\n return await context.security.withoutAuthorization(async () => {\n const model = await context.cms.getModel(WEBINY_TASK_MODEL_ID);\n if (model) {\n return model;\n }\n throw new WebinyError(`There is no model \"${WEBINY_TASK_MODEL_ID}\".`);\n });\n };\n\n const getLogModel = async (): Promise<CmsModel> => {\n return await context.security.withoutAuthorization(async () => {\n const model = await context.cms.getModel(WEBINY_TASK_LOG_MODEL_ID);\n if (model) {\n return model;\n }\n throw new WebinyError(`There is no model \"${WEBINY_TASK_LOG_MODEL_ID}\".`);\n });\n };\n\n const getTask = async (id: string) => {\n let entry: CmsEntry;\n try {\n entry = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.getEntryById(model, createRevisionId(id));\n });\n } catch (ex) {\n if (ex instanceof NotFoundError) {\n return null;\n }\n throw ex;\n }\n if (!entry) {\n return null;\n }\n\n return convertToTask(entry as unknown as CmsEntry<ITask>);\n };\n\n const listTasks = async <\n T = any,\n O extends ITaskResponseDoneResultOutput = ITaskResponseDoneResultOutput\n >(\n params?: IListTaskParams\n ) => {\n const [items, meta] = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.listLatestEntries<ITask<T, O>>(model, {\n ...params,\n where: remapWhere(params?.where)\n });\n });\n\n return {\n items: items.map(item => convertToTask<T, O>(item)),\n meta\n };\n };\n\n const createTask = async (data: ITaskCreateData) => {\n const definition = context.tasks.getDefinition(data.definitionId);\n if (!definition) {\n throw new WebinyError(`There is no task definition.`, \"TASK_DEFINITION_ERROR\", {\n id: data.definitionId\n });\n }\n\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.createEntry(model, {\n ...data,\n iterations: 0,\n taskStatus: TaskDataStatus.PENDING\n });\n });\n return convertToTask(entry as unknown as CmsEntry<ITask>);\n };\n\n const updateTask = async (id: string, data: ITaskUpdateData) => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n return await context.cms.updateEntry(model, createRevisionId(id), {\n ...data,\n savedOn: new Date().toISOString()\n });\n });\n return convertToTask(entry as unknown as CmsEntry<ITask>);\n };\n\n const deleteTask = (id: string) => {\n return context.security.withoutAuthorization(async () => {\n const model = await getTaskModel();\n await context.cms.deleteEntry(model, createRevisionId(id));\n return true;\n });\n };\n\n const createLog = async (task: Pick<ITask, \"id\">, data: ITaskLogCreateInput) => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n\n return await context.cms.createEntry(model, {\n ...data,\n task: task.id\n });\n });\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n };\n\n const updateLog = async (id: string, data: ITaskLogUpdateInput) => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n\n return await context.cms.updateEntry(model, createRevisionId(id), data);\n });\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n };\n\n const getLog = async (id: string): Promise<ITaskLog | null> => {\n try {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n return await context.cms.getEntryById(model, id);\n });\n\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n } catch (ex) {\n if (ex instanceof NotFoundError) {\n return null;\n }\n throw ex;\n }\n };\n\n const getLatestLog = async (taskId: string): Promise<ITaskLog> => {\n const entry = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n const [items] = await context.cms.listLatestEntries<ITaskLog>(model, {\n where: {\n task: taskId\n },\n sort: [\"createdOn_DESC\"],\n limit: 1\n });\n const [item] = items;\n if (!item) {\n throw new NotFoundError(`No existing latest log found for task \"${taskId}\".`);\n }\n return item;\n });\n\n return convertToLog(entry as unknown as CmsEntry<ITaskLog>);\n };\n\n const listLogs = async (params: IListTaskLogParams) => {\n const [items, meta] = await context.security.withoutAuthorization(async () => {\n const model = await getLogModel();\n return await context.cms.listLatestEntries<ITaskLog>(model, {\n ...params,\n where: remapWhere(params.where)\n });\n });\n\n return {\n items: items.map(item => convertToLog(item)),\n meta\n };\n };\n\n return {\n onTaskBeforeCreate,\n onTaskAfterCreate,\n onTaskBeforeUpdate,\n onTaskAfterUpdate,\n onTaskBeforeDelete,\n onTaskAfterDelete,\n getTask,\n listTasks,\n createTask,\n updateTask,\n deleteTask,\n createLog,\n updateLog,\n getLog,\n listLogs,\n getLatestLog,\n getTaskModel,\n getLogModel\n };\n};\n"],"mappings":"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"}
|
package/crud/model.js
CHANGED
|
@@ -134,6 +134,12 @@ const taskModelPlugin = (0, _apiHeadlessCms.createCmsModel)((0, _apiHeadlessCms.
|
|
|
134
134
|
name: "required",
|
|
135
135
|
message: "Definition ID is required."
|
|
136
136
|
}]
|
|
137
|
+
}, {
|
|
138
|
+
id: "parentId",
|
|
139
|
+
fieldId: "parentId",
|
|
140
|
+
storageId: "text@parentId",
|
|
141
|
+
type: "text",
|
|
142
|
+
label: "Parent ID"
|
|
137
143
|
}, {
|
|
138
144
|
id: "executionName",
|
|
139
145
|
fieldId: "executionName",
|
|
@@ -152,6 +158,12 @@ const taskModelPlugin = (0, _apiHeadlessCms.createCmsModel)((0, _apiHeadlessCms.
|
|
|
152
158
|
storageId: "object@input",
|
|
153
159
|
type: "json",
|
|
154
160
|
label: "Input"
|
|
161
|
+
}, {
|
|
162
|
+
id: "output",
|
|
163
|
+
fieldId: "output",
|
|
164
|
+
storageId: "object@output",
|
|
165
|
+
type: "json",
|
|
166
|
+
label: "Output"
|
|
155
167
|
}, {
|
|
156
168
|
id: "taskStatus",
|
|
157
169
|
fieldId: "taskStatus",
|
package/crud/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_apiHeadlessCms","require","_types","WEBINY_TASK_MODEL_ID","exports","WEBINY_TASK_LOG_MODEL_ID","taskLogModelPlugin","createCmsModel","createPrivateModelDefinition","name","modelId","fields","id","fieldId","storageId","type","label","validation","message","multipleValues","settings","predefinedValues","enabled","values","value","ITaskLogItemType","INFO","ERROR","taskModelPlugin","TaskDataStatus","PENDING","RUNNING","FAILED","SUCCESS","ABORTED","defaultValue","taskModel","contentModel","taskLogModel","createTaskModel"],"sources":["model.ts"],"sourcesContent":["import { createCmsModel, createPrivateModelDefinition } from \"@webiny/api-headless-cms\";\nimport { ITaskLogItemType, TaskDataStatus } from \"~/types\";\n\nexport const WEBINY_TASK_MODEL_ID = \"webinyTask\";\nexport const WEBINY_TASK_LOG_MODEL_ID = \"webinyTaskLog\";\n\nconst taskLogModelPlugin = createCmsModel(\n createPrivateModelDefinition({\n name: \"Webiny Task Log\",\n modelId: WEBINY_TASK_LOG_MODEL_ID,\n fields: [\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\",\n validation: [\n {\n name: \"required\",\n message: \"Execution Name is required.\"\n }\n ]\n },\n {\n id: \"task\",\n fieldId: \"task\",\n storageId: \"text@task\",\n type: \"text\",\n label: \"Task\",\n validation: [\n {\n name: \"required\",\n message: \"Task is required.\"\n }\n ]\n },\n {\n id: \"iteration\",\n fieldId: \"iteration\",\n storageId: \"number@iteration\",\n type: \"number\",\n label: \"Iteration\",\n validation: [\n {\n name: \"required\",\n message: \"Iteration is required.\"\n }\n ]\n },\n {\n id: \"items\",\n fieldId: \"items\",\n storageId: \"object@items\",\n type: \"object\",\n label: \"Items\",\n multipleValues: true,\n validation: [\n {\n name: \"required\",\n message: \"Items is required.\"\n }\n ],\n settings: {\n fields: [\n {\n id: \"message\",\n fieldId: \"message\",\n storageId: \"text@message\",\n type: \"text\",\n label: \"Message\",\n validation: [\n {\n name: \"required\",\n message: \"Message is required.\"\n }\n ]\n },\n {\n id: \"createdOn\",\n fieldId: \"createdOn\",\n storageId: \"datetime@createdOn\",\n type: \"datetime\",\n label: \"Created On\",\n validation: [\n {\n name: \"required\",\n message: \"Created On is required.\"\n }\n ]\n },\n {\n id: \"type\",\n fieldId: \"type\",\n storageId: \"text@type\",\n type: \"text\",\n label: \"Type\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: ITaskLogItemType.INFO,\n label: \"Info\"\n },\n {\n value: ITaskLogItemType.ERROR,\n label: \"Error\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"Type is required.\"\n }\n ]\n },\n {\n id: \"data\",\n fieldId: \"data\",\n storageId: \"object@data\",\n type: \"json\",\n label: \"Data\"\n },\n {\n id: \"error\",\n fieldId: \"error\",\n storageId: \"object@error\",\n type: \"json\",\n label: \"Error\"\n }\n ]\n }\n }\n ]\n })\n);\n\nconst taskModelPlugin = createCmsModel(\n createPrivateModelDefinition({\n name: \"Webiny Task\",\n modelId: WEBINY_TASK_MODEL_ID,\n fields: [\n {\n id: \"name\",\n fieldId: \"name\",\n storageId: \"text@name\",\n type: \"text\",\n label: \"Name\",\n validation: [\n {\n name: \"required\",\n message: \"Name is required.\"\n }\n ]\n },\n {\n id: \"definitionId\",\n fieldId: \"definitionId\",\n storageId: \"text@definitionId\",\n type: \"text\",\n label: \"Definition ID\",\n validation: [\n {\n name: \"required\",\n message: \"Definition ID is required.\"\n }\n ]\n },\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\"\n },\n {\n id: \"iterations\",\n fieldId: \"iterations\",\n storageId: \"number@iterations\",\n type: \"number\",\n label: \"Iterations\"\n },\n {\n id: \"input\",\n fieldId: \"input\",\n storageId: \"object@input\",\n type: \"json\",\n label: \"Input\"\n },\n {\n id: \"taskStatus\",\n fieldId: \"taskStatus\",\n storageId: \"text@taskStatus\",\n type: \"text\",\n label: \"Status\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: TaskDataStatus.PENDING,\n label: \"Pending\"\n },\n {\n value: TaskDataStatus.RUNNING,\n label: \"Running\"\n },\n {\n value: TaskDataStatus.FAILED,\n label: \"Failed\"\n },\n {\n value: TaskDataStatus.SUCCESS,\n label: \"Success\"\n },\n {\n value: TaskDataStatus.ABORTED,\n label: \"Aborted\"\n }\n ]\n },\n settings: {\n defaultValue: TaskDataStatus.PENDING\n }\n },\n {\n id: \"startedOn\",\n fieldId: \"startedOn\",\n storageId: \"datetime@startedOn\",\n type: \"datetime\",\n label: \"Started On\"\n },\n {\n id: \"finishedOn\",\n fieldId: \"finishedOn\",\n storageId: \"datetime@finishedOn\",\n type: \"datetime\",\n label: \"Finished On\"\n },\n {\n id: \"eventResponse\",\n fieldId: \"eventResponse\",\n storageId: \"object@eventResponse\",\n type: \"json\",\n label: \"Event Response\"\n }\n ]\n })\n);\n\nexport const taskModel = taskModelPlugin.contentModel;\nexport const taskLogModel = taskLogModelPlugin.contentModel;\n\nexport const createTaskModel = () => {\n return [taskModelPlugin, taskLogModelPlugin];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,oBAAoB,GAAG,YAAY;AAACC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAC1C,MAAME,wBAAwB,GAAG,eAAe;AAACD,OAAA,CAAAC,wBAAA,GAAAA,wBAAA;AAExD,MAAMC,kBAAkB,GAAG,IAAAC,8BAAc,EACrC,IAAAC,4CAA4B,EAAC;EACzBC,IAAI,EAAE,iBAAiB;EACvBC,OAAO,EAAEL,wBAAwB;EACjCM,MAAM,EAAE,CACJ;IACIC,EAAE,EAAE,eAAe;IACnBC,OAAO,EAAE,eAAe;IACxBC,SAAS,EAAE,oBAAoB;IAC/BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,gBAAgB;IACvBC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,MAAM;IACVC,OAAO,EAAE,MAAM;IACfC,SAAS,EAAE,WAAW;IACtBC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,WAAW;IACfC,OAAO,EAAE,WAAW;IACpBC,SAAS,EAAE,kBAAkB;IAC7BC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,WAAW;IAClBC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,OAAO;IAChBC,SAAS,EAAE,cAAc;IACzBC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,OAAO;IACdG,cAAc,EAAE,IAAI;IACpBF,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC,CACJ;IACDE,QAAQ,EAAE;MACNT,MAAM,EAAE,CACJ;QACIC,EAAE,EAAE,SAAS;QACbC,OAAO,EAAE,SAAS;QAClBC,SAAS,EAAE,cAAc;QACzBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE,SAAS;QAChBC,UAAU,EAAE,CACR;UACIR,IAAI,EAAE,UAAU;UAChBS,OAAO,EAAE;QACb,CAAC;MAET,CAAC,EACD;QACIN,EAAE,EAAE,WAAW;QACfC,OAAO,EAAE,WAAW;QACpBC,SAAS,EAAE,oBAAoB;QAC/BC,IAAI,EAAE,UAAU;QAChBC,KAAK,EAAE,YAAY;QACnBC,UAAU,EAAE,CACR;UACIR,IAAI,EAAE,UAAU;UAChBS,OAAO,EAAE;QACb,CAAC;MAET,CAAC,EACD;QACIN,EAAE,EAAE,MAAM;QACVC,OAAO,EAAE,MAAM;QACfC,SAAS,EAAE,WAAW;QACtBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE,MAAM;QACbK,gBAAgB,EAAE;UACdC,OAAO,EAAE,IAAI;UACbC,MAAM,EAAE,CACJ;YACIC,KAAK,EAAEC,uBAAgB,CAACC,IAAI;YAC5BV,KAAK,EAAE;UACX,CAAC,EACD;YACIQ,KAAK,EAAEC,uBAAgB,CAACE,KAAK;YAC7BX,KAAK,EAAE;UACX,CAAC;QAET,CAAC;QACDC,UAAU,EAAE,CACR;UACIR,IAAI,EAAE,UAAU;UAChBS,OAAO,EAAE;QACb,CAAC;MAET,CAAC,EACD;QACIN,EAAE,EAAE,MAAM;QACVC,OAAO,EAAE,MAAM;QACfC,SAAS,EAAE,aAAa;QACxBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE;MACX,CAAC,EACD;QACIJ,EAAE,EAAE,OAAO;QACXC,OAAO,EAAE,OAAO;QAChBC,SAAS,EAAE,cAAc;QACzBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE;MACX,CAAC;IAET;EACJ,CAAC;AAET,CAAC,CACL,CAAC;AAED,MAAMY,eAAe,GAAG,IAAArB,8BAAc,EAClC,IAAAC,4CAA4B,EAAC;EACzBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAEP,oBAAoB;EAC7BQ,MAAM,EAAE,CACJ;IACIC,EAAE,EAAE,MAAM;IACVC,OAAO,EAAE,MAAM;IACfC,SAAS,EAAE,WAAW;IACtBC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,cAAc;IAClBC,OAAO,EAAE,cAAc;IACvBC,SAAS,EAAE,mBAAmB;IAC9BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,eAAe;IACtBC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,eAAe;IACnBC,OAAO,EAAE,eAAe;IACxBC,SAAS,EAAE,oBAAoB;IAC/BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,YAAY;IAChBC,OAAO,EAAE,YAAY;IACrBC,SAAS,EAAE,mBAAmB;IAC9BC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,OAAO;IAChBC,SAAS,EAAE,cAAc;IACzBC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,YAAY;IAChBC,OAAO,EAAE,YAAY;IACrBC,SAAS,EAAE,iBAAiB;IAC5BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,QAAQ;IACfK,gBAAgB,EAAE;MACdC,OAAO,EAAE,IAAI;MACbC,MAAM,EAAE,CACJ;QACIC,KAAK,EAAEK,qBAAc,CAACC,OAAO;QAC7Bd,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACE,OAAO;QAC7Bf,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACG,MAAM;QAC5BhB,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACI,OAAO;QAC7BjB,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACK,OAAO;QAC7BlB,KAAK,EAAE;MACX,CAAC;IAET,CAAC;IACDI,QAAQ,EAAE;MACNe,YAAY,EAAEN,qBAAc,CAACC;IACjC;EACJ,CAAC,EACD;IACIlB,EAAE,EAAE,WAAW;IACfC,OAAO,EAAE,WAAW;IACpBC,SAAS,EAAE,oBAAoB;IAC/BC,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,YAAY;IAChBC,OAAO,EAAE,YAAY;IACrBC,SAAS,EAAE,qBAAqB;IAChCC,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,eAAe;IACnBC,OAAO,EAAE,eAAe;IACxBC,SAAS,EAAE,sBAAsB;IACjCC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC;AAET,CAAC,CACL,CAAC;AAEM,MAAMoB,SAAS,GAAGR,eAAe,CAACS,YAAY;AAACjC,OAAA,CAAAgC,SAAA,GAAAA,SAAA;AAC/C,MAAME,YAAY,GAAGhC,kBAAkB,CAAC+B,YAAY;AAACjC,OAAA,CAAAkC,YAAA,GAAAA,YAAA;AAErD,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,OAAO,CAACX,eAAe,EAAEtB,kBAAkB,CAAC;AAChD,CAAC;AAACF,OAAA,CAAAmC,eAAA,GAAAA,eAAA"}
|
|
1
|
+
{"version":3,"names":["_apiHeadlessCms","require","_types","WEBINY_TASK_MODEL_ID","exports","WEBINY_TASK_LOG_MODEL_ID","taskLogModelPlugin","createCmsModel","createPrivateModelDefinition","name","modelId","fields","id","fieldId","storageId","type","label","validation","message","multipleValues","settings","predefinedValues","enabled","values","value","ITaskLogItemType","INFO","ERROR","taskModelPlugin","TaskDataStatus","PENDING","RUNNING","FAILED","SUCCESS","ABORTED","defaultValue","taskModel","contentModel","taskLogModel","createTaskModel"],"sources":["model.ts"],"sourcesContent":["import { createCmsModel, createPrivateModelDefinition } from \"@webiny/api-headless-cms\";\nimport { ITaskLogItemType, TaskDataStatus } from \"~/types\";\n\nexport const WEBINY_TASK_MODEL_ID = \"webinyTask\";\nexport const WEBINY_TASK_LOG_MODEL_ID = \"webinyTaskLog\";\n\nconst taskLogModelPlugin = createCmsModel(\n createPrivateModelDefinition({\n name: \"Webiny Task Log\",\n modelId: WEBINY_TASK_LOG_MODEL_ID,\n fields: [\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\",\n validation: [\n {\n name: \"required\",\n message: \"Execution Name is required.\"\n }\n ]\n },\n {\n id: \"task\",\n fieldId: \"task\",\n storageId: \"text@task\",\n type: \"text\",\n label: \"Task\",\n validation: [\n {\n name: \"required\",\n message: \"Task is required.\"\n }\n ]\n },\n {\n id: \"iteration\",\n fieldId: \"iteration\",\n storageId: \"number@iteration\",\n type: \"number\",\n label: \"Iteration\",\n validation: [\n {\n name: \"required\",\n message: \"Iteration is required.\"\n }\n ]\n },\n {\n id: \"items\",\n fieldId: \"items\",\n storageId: \"object@items\",\n type: \"object\",\n label: \"Items\",\n multipleValues: true,\n validation: [\n {\n name: \"required\",\n message: \"Items is required.\"\n }\n ],\n settings: {\n fields: [\n {\n id: \"message\",\n fieldId: \"message\",\n storageId: \"text@message\",\n type: \"text\",\n label: \"Message\",\n validation: [\n {\n name: \"required\",\n message: \"Message is required.\"\n }\n ]\n },\n {\n id: \"createdOn\",\n fieldId: \"createdOn\",\n storageId: \"datetime@createdOn\",\n type: \"datetime\",\n label: \"Created On\",\n validation: [\n {\n name: \"required\",\n message: \"Created On is required.\"\n }\n ]\n },\n {\n id: \"type\",\n fieldId: \"type\",\n storageId: \"text@type\",\n type: \"text\",\n label: \"Type\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: ITaskLogItemType.INFO,\n label: \"Info\"\n },\n {\n value: ITaskLogItemType.ERROR,\n label: \"Error\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"Type is required.\"\n }\n ]\n },\n {\n id: \"data\",\n fieldId: \"data\",\n storageId: \"object@data\",\n type: \"json\",\n label: \"Data\"\n },\n {\n id: \"error\",\n fieldId: \"error\",\n storageId: \"object@error\",\n type: \"json\",\n label: \"Error\"\n }\n ]\n }\n }\n ]\n })\n);\n\nconst taskModelPlugin = createCmsModel(\n createPrivateModelDefinition({\n name: \"Webiny Task\",\n modelId: WEBINY_TASK_MODEL_ID,\n fields: [\n {\n id: \"name\",\n fieldId: \"name\",\n storageId: \"text@name\",\n type: \"text\",\n label: \"Name\",\n validation: [\n {\n name: \"required\",\n message: \"Name is required.\"\n }\n ]\n },\n {\n id: \"definitionId\",\n fieldId: \"definitionId\",\n storageId: \"text@definitionId\",\n type: \"text\",\n label: \"Definition ID\",\n validation: [\n {\n name: \"required\",\n message: \"Definition ID is required.\"\n }\n ]\n },\n {\n id: \"parentId\",\n fieldId: \"parentId\",\n storageId: \"text@parentId\",\n type: \"text\",\n label: \"Parent ID\"\n },\n {\n id: \"executionName\",\n fieldId: \"executionName\",\n storageId: \"text@executionName\",\n type: \"text\",\n label: \"Execution Name\"\n },\n {\n id: \"iterations\",\n fieldId: \"iterations\",\n storageId: \"number@iterations\",\n type: \"number\",\n label: \"Iterations\"\n },\n {\n id: \"input\",\n fieldId: \"input\",\n storageId: \"object@input\",\n type: \"json\",\n label: \"Input\"\n },\n {\n id: \"output\",\n fieldId: \"output\",\n storageId: \"object@output\",\n type: \"json\",\n label: \"Output\"\n },\n {\n id: \"taskStatus\",\n fieldId: \"taskStatus\",\n storageId: \"text@taskStatus\",\n type: \"text\",\n label: \"Status\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: TaskDataStatus.PENDING,\n label: \"Pending\"\n },\n {\n value: TaskDataStatus.RUNNING,\n label: \"Running\"\n },\n {\n value: TaskDataStatus.FAILED,\n label: \"Failed\"\n },\n {\n value: TaskDataStatus.SUCCESS,\n label: \"Success\"\n },\n {\n value: TaskDataStatus.ABORTED,\n label: \"Aborted\"\n }\n ]\n },\n settings: {\n defaultValue: TaskDataStatus.PENDING\n }\n },\n {\n id: \"startedOn\",\n fieldId: \"startedOn\",\n storageId: \"datetime@startedOn\",\n type: \"datetime\",\n label: \"Started On\"\n },\n {\n id: \"finishedOn\",\n fieldId: \"finishedOn\",\n storageId: \"datetime@finishedOn\",\n type: \"datetime\",\n label: \"Finished On\"\n },\n {\n id: \"eventResponse\",\n fieldId: \"eventResponse\",\n storageId: \"object@eventResponse\",\n type: \"json\",\n label: \"Event Response\"\n }\n ]\n })\n);\n\nexport const taskModel = taskModelPlugin.contentModel;\nexport const taskLogModel = taskLogModelPlugin.contentModel;\n\nexport const createTaskModel = () => {\n return [taskModelPlugin, taskLogModelPlugin];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,oBAAoB,GAAG,YAAY;AAACC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAC1C,MAAME,wBAAwB,GAAG,eAAe;AAACD,OAAA,CAAAC,wBAAA,GAAAA,wBAAA;AAExD,MAAMC,kBAAkB,GAAG,IAAAC,8BAAc,EACrC,IAAAC,4CAA4B,EAAC;EACzBC,IAAI,EAAE,iBAAiB;EACvBC,OAAO,EAAEL,wBAAwB;EACjCM,MAAM,EAAE,CACJ;IACIC,EAAE,EAAE,eAAe;IACnBC,OAAO,EAAE,eAAe;IACxBC,SAAS,EAAE,oBAAoB;IAC/BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,gBAAgB;IACvBC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,MAAM;IACVC,OAAO,EAAE,MAAM;IACfC,SAAS,EAAE,WAAW;IACtBC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,WAAW;IACfC,OAAO,EAAE,WAAW;IACpBC,SAAS,EAAE,kBAAkB;IAC7BC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,WAAW;IAClBC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,OAAO;IAChBC,SAAS,EAAE,cAAc;IACzBC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE,OAAO;IACdG,cAAc,EAAE,IAAI;IACpBF,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC,CACJ;IACDE,QAAQ,EAAE;MACNT,MAAM,EAAE,CACJ;QACIC,EAAE,EAAE,SAAS;QACbC,OAAO,EAAE,SAAS;QAClBC,SAAS,EAAE,cAAc;QACzBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE,SAAS;QAChBC,UAAU,EAAE,CACR;UACIR,IAAI,EAAE,UAAU;UAChBS,OAAO,EAAE;QACb,CAAC;MAET,CAAC,EACD;QACIN,EAAE,EAAE,WAAW;QACfC,OAAO,EAAE,WAAW;QACpBC,SAAS,EAAE,oBAAoB;QAC/BC,IAAI,EAAE,UAAU;QAChBC,KAAK,EAAE,YAAY;QACnBC,UAAU,EAAE,CACR;UACIR,IAAI,EAAE,UAAU;UAChBS,OAAO,EAAE;QACb,CAAC;MAET,CAAC,EACD;QACIN,EAAE,EAAE,MAAM;QACVC,OAAO,EAAE,MAAM;QACfC,SAAS,EAAE,WAAW;QACtBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE,MAAM;QACbK,gBAAgB,EAAE;UACdC,OAAO,EAAE,IAAI;UACbC,MAAM,EAAE,CACJ;YACIC,KAAK,EAAEC,uBAAgB,CAACC,IAAI;YAC5BV,KAAK,EAAE;UACX,CAAC,EACD;YACIQ,KAAK,EAAEC,uBAAgB,CAACE,KAAK;YAC7BX,KAAK,EAAE;UACX,CAAC;QAET,CAAC;QACDC,UAAU,EAAE,CACR;UACIR,IAAI,EAAE,UAAU;UAChBS,OAAO,EAAE;QACb,CAAC;MAET,CAAC,EACD;QACIN,EAAE,EAAE,MAAM;QACVC,OAAO,EAAE,MAAM;QACfC,SAAS,EAAE,aAAa;QACxBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE;MACX,CAAC,EACD;QACIJ,EAAE,EAAE,OAAO;QACXC,OAAO,EAAE,OAAO;QAChBC,SAAS,EAAE,cAAc;QACzBC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAE;MACX,CAAC;IAET;EACJ,CAAC;AAET,CAAC,CACL,CAAC;AAED,MAAMY,eAAe,GAAG,IAAArB,8BAAc,EAClC,IAAAC,4CAA4B,EAAC;EACzBC,IAAI,EAAE,aAAa;EACnBC,OAAO,EAAEP,oBAAoB;EAC7BQ,MAAM,EAAE,CACJ;IACIC,EAAE,EAAE,MAAM;IACVC,OAAO,EAAE,MAAM;IACfC,SAAS,EAAE,WAAW;IACtBC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,MAAM;IACbC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,cAAc;IAClBC,OAAO,EAAE,cAAc;IACvBC,SAAS,EAAE,mBAAmB;IAC9BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,eAAe;IACtBC,UAAU,EAAE,CACR;MACIR,IAAI,EAAE,UAAU;MAChBS,OAAO,EAAE;IACb,CAAC;EAET,CAAC,EACD;IACIN,EAAE,EAAE,UAAU;IACdC,OAAO,EAAE,UAAU;IACnBC,SAAS,EAAE,eAAe;IAC1BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,eAAe;IACnBC,OAAO,EAAE,eAAe;IACxBC,SAAS,EAAE,oBAAoB;IAC/BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,YAAY;IAChBC,OAAO,EAAE,YAAY;IACrBC,SAAS,EAAE,mBAAmB;IAC9BC,IAAI,EAAE,QAAQ;IACdC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,OAAO;IAChBC,SAAS,EAAE,cAAc;IACzBC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,QAAQ;IACZC,OAAO,EAAE,QAAQ;IACjBC,SAAS,EAAE,eAAe;IAC1BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,YAAY;IAChBC,OAAO,EAAE,YAAY;IACrBC,SAAS,EAAE,iBAAiB;IAC5BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,QAAQ;IACfK,gBAAgB,EAAE;MACdC,OAAO,EAAE,IAAI;MACbC,MAAM,EAAE,CACJ;QACIC,KAAK,EAAEK,qBAAc,CAACC,OAAO;QAC7Bd,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACE,OAAO;QAC7Bf,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACG,MAAM;QAC5BhB,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACI,OAAO;QAC7BjB,KAAK,EAAE;MACX,CAAC,EACD;QACIQ,KAAK,EAAEK,qBAAc,CAACK,OAAO;QAC7BlB,KAAK,EAAE;MACX,CAAC;IAET,CAAC;IACDI,QAAQ,EAAE;MACNe,YAAY,EAAEN,qBAAc,CAACC;IACjC;EACJ,CAAC,EACD;IACIlB,EAAE,EAAE,WAAW;IACfC,OAAO,EAAE,WAAW;IACpBC,SAAS,EAAE,oBAAoB;IAC/BC,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,YAAY;IAChBC,OAAO,EAAE,YAAY;IACrBC,SAAS,EAAE,qBAAqB;IAChCC,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE;EACX,CAAC,EACD;IACIJ,EAAE,EAAE,eAAe;IACnBC,OAAO,EAAE,eAAe;IACxBC,SAAS,EAAE,sBAAsB;IACjCC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE;EACX,CAAC;AAET,CAAC,CACL,CAAC;AAEM,MAAMoB,SAAS,GAAGR,eAAe,CAACS,YAAY;AAACjC,OAAA,CAAAgC,SAAA,GAAAA,SAAA;AAC/C,MAAME,YAAY,GAAGhC,kBAAkB,CAAC+B,YAAY;AAACjC,OAAA,CAAAkC,YAAA,GAAAA,YAAA;AAErD,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,OAAO,CAACX,eAAe,EAAEtB,kBAAkB,CAAC;AAChD,CAAC;AAACF,OAAA,CAAAmC,eAAA,GAAAA,eAAA"}
|
package/crud/trigger.tasks.js
CHANGED
|
@@ -26,7 +26,8 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
26
26
|
const {
|
|
27
27
|
definition: id,
|
|
28
28
|
input: inputValues,
|
|
29
|
-
name
|
|
29
|
+
name,
|
|
30
|
+
parent
|
|
30
31
|
} = params;
|
|
31
32
|
const definition = context.tasks.getDefinition(id);
|
|
32
33
|
if (!definition) {
|
|
@@ -37,7 +38,8 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
37
38
|
const input = {
|
|
38
39
|
name: name || definition.title,
|
|
39
40
|
definitionId: id,
|
|
40
|
-
input: inputValues || {}
|
|
41
|
+
input: inputValues || {},
|
|
42
|
+
parentId: parent?.id
|
|
41
43
|
};
|
|
42
44
|
if (definition.onBeforeTrigger) {
|
|
43
45
|
await definition.onBeforeTrigger({
|
|
@@ -71,6 +73,12 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
71
73
|
if (!task) {
|
|
72
74
|
throw new _handlerGraphql.NotFoundError(`Task "${params.id}" was not found!`);
|
|
73
75
|
}
|
|
76
|
+
const definition = context.tasks.getDefinition(task.definitionId);
|
|
77
|
+
if (!definition) {
|
|
78
|
+
throw new _error.default(`Task definition was not found!`, "TASK_DEFINITION_ERROR", {
|
|
79
|
+
id: task.id
|
|
80
|
+
});
|
|
81
|
+
}
|
|
74
82
|
/**
|
|
75
83
|
* We should only be able to abort a task which is pending or running
|
|
76
84
|
*/
|
|
@@ -101,6 +109,15 @@ const createTriggerTasksCrud = (context, config) => {
|
|
|
101
109
|
createdOn: new Date().toISOString()
|
|
102
110
|
}])
|
|
103
111
|
});
|
|
112
|
+
/**
|
|
113
|
+
* TODO: determine when to kick off the onAbort hook
|
|
114
|
+
*/
|
|
115
|
+
if (definition.onAbort) {
|
|
116
|
+
await definition.onAbort({
|
|
117
|
+
context,
|
|
118
|
+
task: updatedTask
|
|
119
|
+
});
|
|
120
|
+
}
|
|
104
121
|
return updatedTask;
|
|
105
122
|
} catch (ex) {
|
|
106
123
|
throw new _error.default(`Could not abort the task!`, "TASK_ABORT_ERROR", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","_interopRequireDefault","require","_types","_createEventBridgeEvent","_handlerGraphql","createTriggerTasksCrud","context","config","getTenant","tenancy","getCurrentTenant","id","getLocale","cms","code","createEventBridgeEvent","createEventBridgeEventFactory","trigger","params","definition","input","inputValues","name","tasks","getDefinition","WebinyError","title","definitionId","onBeforeTrigger","task","createTask","event","ex","deleteTask","updateTask","eventResponse","abort","getTask","NotFoundError","TaskDataStatus","PENDING","RUNNING","includes","taskStatus","status","taskLog","getLatestLog","createLog","iteration","executionName","updatedTask","ABORTED","updateLog","items","concat","message","type","ITaskLogItemType","INFO","createdOn","Date","toISOString","exports"],"sources":["trigger.tasks.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n Context,\n ITaskAbortParams,\n ITaskConfig,\n ITaskCreateData,\n
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_types","_createEventBridgeEvent","_handlerGraphql","createTriggerTasksCrud","context","config","getTenant","tenancy","getCurrentTenant","id","getLocale","cms","code","createEventBridgeEvent","createEventBridgeEventFactory","trigger","params","definition","input","inputValues","name","parent","tasks","getDefinition","WebinyError","title","definitionId","parentId","onBeforeTrigger","task","createTask","event","ex","deleteTask","updateTask","eventResponse","abort","getTask","NotFoundError","TaskDataStatus","PENDING","RUNNING","includes","taskStatus","status","taskLog","getLatestLog","createLog","iteration","executionName","updatedTask","ABORTED","updateLog","items","concat","message","type","ITaskLogItemType","INFO","createdOn","Date","toISOString","onAbort","exports"],"sources":["trigger.tasks.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n Context,\n ITask,\n ITaskAbortParams,\n ITaskConfig,\n ITaskCreateData,\n ITaskDataInput,\n ITaskLog,\n ITaskLogItemType,\n ITasksContextTriggerObject,\n ITaskTriggerParams,\n TaskDataStatus\n} from \"~/types\";\nimport {\n createEventBridgeEventFactory,\n PutEventsCommandOutput\n} from \"~/crud/createEventBridgeEvent\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\nexport const createTriggerTasksCrud = (\n context: Context,\n config: ITaskConfig\n): ITasksContextTriggerObject => {\n const getTenant = (): string => {\n return context.tenancy.getCurrentTenant().id;\n };\n const getLocale = (): string => {\n return context.cms.getLocale().code;\n };\n const createEventBridgeEvent = createEventBridgeEventFactory({\n config,\n getTenant,\n getLocale\n });\n\n return {\n trigger: async <T = ITaskDataInput>(params: ITaskTriggerParams<T>): Promise<ITask<T>> => {\n const { definition: id, input: inputValues, name, parent } = params;\n const definition = context.tasks.getDefinition(id);\n if (!definition) {\n throw new WebinyError(`Task definition was not found!`, \"TASK_DEFINITION_ERROR\", {\n id\n });\n }\n const input: ITaskCreateData<T> = {\n name: name || definition.title,\n definitionId: id,\n input: inputValues || ({} as T),\n parentId: parent?.id\n };\n if (definition.onBeforeTrigger) {\n await definition.onBeforeTrigger<T>({\n context,\n input: input.input\n });\n }\n\n const task = await context.tasks.createTask<T>(input);\n\n let event: PutEventsCommandOutput | null = null;\n try {\n event = await createEventBridgeEvent(task);\n\n if (!event) {\n throw new WebinyError(\n `Could not create the Event Bridge Event!`,\n \"CREATE_EVENT_BRIDGE_EVENT_ERROR\",\n {\n task\n }\n );\n }\n } catch (ex) {\n /**\n * In case of failure to create the Event Bridge Event, we need to delete the task that was meant to be created.\n * TODO maybe we can leave the task and update it as failed - with event bridge error?\n */\n await context.tasks.deleteTask(task.id);\n throw ex;\n }\n return await context.tasks.updateTask(task.id, {\n eventResponse: event\n });\n },\n abort: async (params: ITaskAbortParams): Promise<ITask> => {\n const task = await context.tasks.getTask(params.id);\n if (!task) {\n throw new NotFoundError(`Task \"${params.id}\" was not found!`);\n }\n\n const definition = context.tasks.getDefinition(task.definitionId);\n if (!definition) {\n throw new WebinyError(`Task definition was not found!`, \"TASK_DEFINITION_ERROR\", {\n id: task.id\n });\n }\n /**\n * We should only be able to abort a task which is pending or running\n */\n if (\n [TaskDataStatus.PENDING, TaskDataStatus.RUNNING].includes(task.taskStatus) === false\n ) {\n throw new WebinyError(\n `Cannot abort a task that is not pending or running!`,\n \"TASK_ABORT_ERROR\",\n {\n id: params.id,\n status: task.taskStatus\n }\n );\n }\n let taskLog: ITaskLog | null = null;\n try {\n taskLog = await context.tasks.getLatestLog(task.id);\n } catch (ex) {}\n if (!taskLog) {\n taskLog = await context.tasks.createLog(task, {\n iteration: 1,\n executionName: task.executionName\n });\n }\n try {\n const updatedTask = await context.tasks.updateTask(task.id, {\n taskStatus: TaskDataStatus.ABORTED\n });\n await context.tasks.updateLog(taskLog.id, {\n items: taskLog.items.concat([\n {\n message: params.message || \"Task aborted.\",\n type: ITaskLogItemType.INFO,\n createdOn: new Date().toISOString()\n }\n ])\n });\n /**\n * TODO: determine when to kick off the onAbort hook\n */\n if (definition.onAbort) {\n await definition.onAbort({\n context,\n task: updatedTask\n });\n }\n\n return updatedTask;\n } catch (ex) {\n throw new WebinyError(`Could not abort the task!`, \"TASK_ABORT_ERROR\", {\n id: params.id,\n message: ex.message\n });\n }\n }\n };\n};\n"],"mappings":"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"}
|
package/graphql/index.js
CHANGED
|
@@ -12,11 +12,13 @@ var _createFieldTypePluginRecords = require("@webiny/api-headless-cms/graphql/sc
|
|
|
12
12
|
var _utils = require("./utils");
|
|
13
13
|
var _renderFields = require("@webiny/api-headless-cms/utils/renderFields");
|
|
14
14
|
var _checkPermissions = require("./checkPermissions");
|
|
15
|
-
const createWebinyBackgroundTaskDefinitionEnum =
|
|
16
|
-
if (
|
|
15
|
+
const createWebinyBackgroundTaskDefinitionEnum = items => {
|
|
16
|
+
if (items.length === 0) {
|
|
17
17
|
return "Empty";
|
|
18
18
|
}
|
|
19
|
-
return
|
|
19
|
+
return items.filter(item => {
|
|
20
|
+
return !item.isPrivate;
|
|
21
|
+
}).map(definition => definition.id).join("\n");
|
|
20
22
|
};
|
|
21
23
|
const createGraphQL = () => {
|
|
22
24
|
const plugin = new _handler.ContextPlugin(async context => {
|
|
@@ -258,7 +260,13 @@ const createGraphQL = () => {
|
|
|
258
260
|
await (0, _checkPermissions.checkPermissions)(context, {
|
|
259
261
|
rwd: "r"
|
|
260
262
|
});
|
|
261
|
-
|
|
263
|
+
const result = context.tasks.listDefinitions();
|
|
264
|
+
/**
|
|
265
|
+
* Do not output private tasks.
|
|
266
|
+
*/
|
|
267
|
+
return result.filter(item => {
|
|
268
|
+
return !item.isPrivate;
|
|
269
|
+
});
|
|
262
270
|
});
|
|
263
271
|
},
|
|
264
272
|
listLogs: async (_, args, context) => {
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handlerGraphql","require","_renderSortEnum","_handler","_renderListFilterFields","_createFieldTypePluginRecords","_utils","_renderFields","_checkPermissions","createWebinyBackgroundTaskDefinitionEnum","definitions","length","map","definition","id","join","createGraphQL","plugin","ContextPlugin","context","tenancy","getCurrentTenant","i18n","getDefaultLocale","taskModel","tasks","getTaskModel","logModel","getLogModel","models","security","withoutAuthorization","cms","listModels","filter","model","fields","isPrivate","fieldTypePlugins","createFieldTypePluginRecords","plugins","taskFields","renderFields","type","logFields","field","fieldId","listTasksFilterFieldsRender","renderListFilterFields","excludeFields","listLogsFilterFieldsRender","sortTasksEnumRender","renderSortEnum","sorterPlugins","sortLogsEnumRender","taskDefinitions","listDefinitions","GraphQLSchemaPlugin","typeDefs","f","resolvers","Query","backgroundTasks","emptyResolver","Mutation","WebinyBackgroundTaskQuery","getTask","_","args","resolve","checkPermissions","rwd","listTasks","resolveList","__","listLogs","WebinyBackgroundTaskMutation","abortTask","abort","triggerTask","trigger","deleteTask","WebinyBackgroundTask","logs","parent","items","sort","limit","where","task","WebinyBackgroundTaskLog","register","name","exports"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport {\n Context,\n IListTaskLogParams,\n IListTaskParams,\n ITaskData,\n ITaskDefinition,\n ITaskLog\n} from \"~/types\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields\";\nimport { createFieldTypePluginRecords } from \"@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords\";\nimport { emptyResolver, resolve, resolveList } from \"./utils\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields\";\nimport { checkPermissions } from \"./checkPermissions\";\n\ninterface IGetTaskQueryParams {\n id: string;\n}\n\ninterface IAbortTaskMutationParams {\n id: string;\n message?: string;\n}\n\ninterface ITriggerTaskMutationParams {\n name?: string;\n definition: string;\n input?: Record<string, any>;\n}\n\ninterface IDeleteTaskMutationParams {\n id: string;\n}\n\nconst createWebinyBackgroundTaskDefinitionEnum = (definitions: ITaskDefinition[]): string => {\n if (definitions.length === 0) {\n return \"Empty\";\n }\n return definitions.map(definition => definition.id).join(\"\\n\");\n};\n\nexport const createGraphQL = () => {\n const plugin = new ContextPlugin<Context>(async context => {\n if (!context.tenancy.getCurrentTenant()) {\n return;\n } else if (!context.i18n.getDefaultLocale()) {\n return;\n }\n\n const taskModel = await context.tasks.getTaskModel();\n const logModel = await context.tasks.getLogModel();\n\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n if (model.fields.length === 0) {\n return false;\n } else if (model.isPrivate) {\n return false;\n }\n return true;\n });\n });\n const fieldTypePlugins = createFieldTypePluginRecords(context.plugins);\n\n const taskFields = renderFields({\n models,\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const logFields = renderFields({\n models,\n model: logModel,\n fields: logModel.fields.filter(field => field.fieldId !== \"task\"),\n type: \"manage\",\n fieldTypePlugins\n });\n\n const listTasksFilterFieldsRender = renderListFilterFields({\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const listLogsFilterFieldsRender = renderListFilterFields({\n model: logModel,\n fields: logModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const sortTasksEnumRender = renderSortEnum({\n model: taskModel,\n fields: taskModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const sortLogsEnumRender = renderSortEnum({\n model: logModel,\n fields: logModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const taskDefinitions = context.tasks.listDefinitions();\n\n const plugin = new GraphQLSchemaPlugin<Context>({\n typeDefs: /* GraphQL */ `\n type WebinyBackgroundTaskError {\n message: String\n code: String\n data: JSON\n stack: String\n }\n \n ${taskFields.map(f => f.typeDefs).join(\"\\n\")}\n ${logFields.map(f => f.typeDefs).join(\"\\n\")}\n\n type WebinyBackgroundTask {\n id: String!\n createdOn: DateTime!\n savedOn: DateTime\n createdBy: WebinyBackgroundTaskIdentity!\n logs(\n where: WebinyBackgroundTaskLogListWhereInput\n limit: Number\n sort: [WebinyBackgroundTaskLogListSorter!]\n ): [WebinyBackgroundTaskLog!]!\n ${taskFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskMeta {\n cursor: String\n hasMoreItems: Boolean!\n totalCount: Int!\n }\n\n type WebinyBackgroundTaskListResponse {\n data: [WebinyBackgroundTask!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n \n type WebinyBackgroundTaskLog {\n id: String!\n createdOn: DateTime!\n createdBy: WebinyBackgroundTaskIdentity!\n task: WebinyBackgroundTask!\n ${logFields.map(f => f.fields).join(\"\\n\")}\n }\n \n type WebinyBackgroundTaskLogListResponse {\n data: [WebinyBackgroundTaskLog!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDefinition {\n id: String!\n title: String!\n description: String\n fields: JSON\n }\n\n type WebinyBackgroundTaskListDefinitionsResponse {\n data: [WebinyBackgroundTaskDefinition!]\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskIdentity {\n id: String!\n displayName: String!\n type: String\n }\n\n type WebinyBackgroundTaskTriggerResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDeleteResponse {\n data: Boolean\n error: WebinyBackgroundTaskError\n }\n\n input WebinyBackgroundTaskListWhereInput {\n ${listTasksFilterFieldsRender}\n }\n \n input WebinyBackgroundTaskLogListWhereInput {\n ${listLogsFilterFieldsRender}\n }\n\n enum WebinyBackgroundTaskListSorter {\n ${sortTasksEnumRender}\n }\n \n enum WebinyBackgroundTaskLogListSorter {\n ${sortLogsEnumRender}\n }\n\n type WebinyBackgroundTaskQuery {\n _empty: String\n }\n\n type WebinyBackgroundTaskMutation {\n _empty: String\n }\n\n enum WebinyBackgroundTaskDefinitionEnum {\n ${createWebinyBackgroundTaskDefinitionEnum(taskDefinitions)}\n }\n\n extend type Query {\n backgroundTasks: WebinyBackgroundTaskQuery\n }\n\n extend type Mutation {\n backgroundTasks: WebinyBackgroundTaskMutation\n }\n\n extend type WebinyBackgroundTaskQuery {\n getTask(id: ID!): WebinyBackgroundTaskResponse!\n listTasks(\n where: WebinyBackgroundTaskListWhereInput\n sort: [WebinyBackgroundTaskListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskListResponse!\n listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!\n \n listLogs(\n where: WebinyBackgroundTaskLogListWhereInput\n sort: [WebinyBackgroundTaskLogListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskLogListResponse!\n }\n\n extend type WebinyBackgroundTaskMutation {\n triggerTask(definition: WebinyBackgroundTaskDefinitionEnum!, input: JSON, name: String): WebinyBackgroundTaskTriggerResponse!\n abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!\n deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!\n }\n `,\n resolvers: {\n Query: {\n backgroundTasks: emptyResolver\n },\n Mutation: {\n backgroundTasks: emptyResolver\n },\n WebinyBackgroundTaskQuery: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n getTask: async (_, args: IGetTaskQueryParams, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.getTask(args.id);\n });\n },\n listTasks: async (_, args: IListTaskParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listTasks(args);\n });\n },\n listDefinitions: async (_, __, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return context.tasks.listDefinitions();\n });\n },\n listLogs: async (_, args: IListTaskLogParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listLogs(args);\n });\n }\n },\n WebinyBackgroundTaskMutation: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n abortTask: async (_, args: IAbortTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.abort(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n triggerTask: async (_, args: ITriggerTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.trigger(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n deleteTask: async (_, args: IDeleteTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"d\"\n });\n return resolve(async () => {\n return await context.tasks.deleteTask(args.id);\n });\n }\n },\n /**\n * Custom resolvers for fields\n */\n WebinyBackgroundTask: {\n logs: async (parent: ITaskData, args: IListTaskLogParams, context) => {\n const { items } = await context.tasks.listLogs({\n sort: [\"createdBy_ASC\"],\n limit: 10000,\n ...args,\n where: {\n ...args?.where,\n task: parent.id\n }\n });\n return items;\n }\n },\n WebinyBackgroundTaskLog: {\n task: async (parent: ITaskLog, _, context) => {\n return await context.tasks.getTask(parent.task);\n }\n }\n }\n });\n context.plugins.register(plugin);\n });\n\n plugin.name = \"tasks.graphql\";\n\n return plugin;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AASA,IAAAG,uBAAA,GAAAH,OAAA;AACA,IAAAI,6BAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAqBA,MAAMQ,wCAAwC,GAAIC,WAA8B,IAAa;EACzF,IAAIA,WAAW,CAACC,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO,OAAO;EAClB;EACA,OAAOD,WAAW,CAACE,GAAG,CAACC,UAAU,IAAIA,UAAU,CAACC,EAAE,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAClE,CAAC;AAEM,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAMC,MAAM,GAAG,IAAIC,sBAAa,CAAU,MAAMC,OAAO,IAAI;IACvD,IAAI,CAACA,OAAO,CAACC,OAAO,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACrC;IACJ,CAAC,MAAM,IAAI,CAACF,OAAO,CAACG,IAAI,CAACC,gBAAgB,CAAC,CAAC,EAAE;MACzC;IACJ;IAEA,MAAMC,SAAS,GAAG,MAAML,OAAO,CAACM,KAAK,CAACC,YAAY,CAAC,CAAC;IACpD,MAAMC,QAAQ,GAAG,MAAMR,OAAO,CAACM,KAAK,CAACG,WAAW,CAAC,CAAC;IAElD,MAAMC,MAAM,GAAG,MAAMV,OAAO,CAACW,QAAQ,CAACC,oBAAoB,CAAC,YAAY;MACnE,OAAO,CAAC,MAAMZ,OAAO,CAACa,GAAG,CAACC,UAAU,CAAC,CAAC,EAAEC,MAAM,CAACC,KAAK,IAAI;QACpD,IAAIA,KAAK,CAACC,MAAM,CAACzB,MAAM,KAAK,CAAC,EAAE;UAC3B,OAAO,KAAK;QAChB,CAAC,MAAM,IAAIwB,KAAK,CAACE,SAAS,EAAE;UACxB,OAAO,KAAK;QAChB;QACA,OAAO,IAAI;MACf,CAAC,CAAC;IACN,CAAC,CAAC;IACF,MAAMC,gBAAgB,GAAG,IAAAC,0DAA4B,EAACpB,OAAO,CAACqB,OAAO,CAAC;IAEtE,MAAMC,UAAU,GAAG,IAAAC,0BAAY,EAAC;MAC5Bb,MAAM;MACNM,KAAK,EAAEX,SAAS;MAChBY,MAAM,EAAEZ,SAAS,CAACY,MAAM;MACxBO,IAAI,EAAE,QAAQ;MACdL;IACJ,CAAC,CAAC;IAEF,MAAMM,SAAS,GAAG,IAAAF,0BAAY,EAAC;MAC3Bb,MAAM;MACNM,KAAK,EAAER,QAAQ;MACfS,MAAM,EAAET,QAAQ,CAACS,MAAM,CAACF,MAAM,CAACW,KAAK,IAAIA,KAAK,CAACC,OAAO,KAAK,MAAM,CAAC;MACjEH,IAAI,EAAE,QAAQ;MACdL;IACJ,CAAC,CAAC;IAEF,MAAMS,2BAA2B,GAAG,IAAAC,8CAAsB,EAAC;MACvDb,KAAK,EAAEX,SAAS;MAChBY,MAAM,EAAEZ,SAAS,CAACY,MAAM;MACxBO,IAAI,EAAE,QAAQ;MACdL,gBAAgB;MAChBW,aAAa,EAAE,CAAC,SAAS;IAC7B,CAAC,CAAC;IAEF,MAAMC,0BAA0B,GAAG,IAAAF,8CAAsB,EAAC;MACtDb,KAAK,EAAER,QAAQ;MACfS,MAAM,EAAET,QAAQ,CAACS,MAAM;MACvBO,IAAI,EAAE,QAAQ;MACdL,gBAAgB;MAChBW,aAAa,EAAE,CAAC,SAAS;IAC7B,CAAC,CAAC;IAEF,MAAME,mBAAmB,GAAG,IAAAC,8BAAc,EAAC;MACvCjB,KAAK,EAAEX,SAAS;MAChBY,MAAM,EAAEZ,SAAS,CAACY,MAAM;MACxBE,gBAAgB;MAChBe,aAAa,EAAE;IACnB,CAAC,CAAC;IAEF,MAAMC,kBAAkB,GAAG,IAAAF,8BAAc,EAAC;MACtCjB,KAAK,EAAER,QAAQ;MACfS,MAAM,EAAET,QAAQ,CAACS,MAAM;MACvBE,gBAAgB;MAChBe,aAAa,EAAE;IACnB,CAAC,CAAC;IAEF,MAAME,eAAe,GAAGpC,OAAO,CAACM,KAAK,CAAC+B,eAAe,CAAC,CAAC;IAEvD,MAAMvC,MAAM,GAAG,IAAIwC,mCAAmB,CAAU;MAC5CC,QAAQ,EAAE,aAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBjB,UAAU,CAAC7B,GAAG,CAAC+C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAAC3C,IAAI,CAAC,IAAI,CAAE;AAC7D,kBAAkB6B,SAAS,CAAChC,GAAG,CAAC+C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAAC3C,IAAI,CAAC,IAAI,CAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB0B,UAAU,CAAC7B,GAAG,CAAC+C,CAAC,IAAIA,CAAC,CAACvB,MAAM,CAAC,CAACrB,IAAI,CAAC,IAAI,CAAE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB6B,SAAS,CAAChC,GAAG,CAAC+C,CAAC,IAAIA,CAAC,CAACvB,MAAM,CAAC,CAACrB,IAAI,CAAC,IAAI,CAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsBgC,2BAA4B;AAClD;AACA;AACA;AACA,sBAAsBG,0BAA2B;AACjD;AACA;AACA;AACA,sBAAsBC,mBAAoB;AAC1C;AACA;AACA;AACA,sBAAsBG,kBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB7C,wCAAwC,CAAC8C,eAAe,CAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;MACDK,SAAS,EAAE;QACPC,KAAK,EAAE;UACHC,eAAe,EAAEC;QACrB,CAAC;QACDC,QAAQ,EAAE;UACNF,eAAe,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"}
|
|
1
|
+
{"version":3,"names":["_handlerGraphql","require","_renderSortEnum","_handler","_renderListFilterFields","_createFieldTypePluginRecords","_utils","_renderFields","_checkPermissions","createWebinyBackgroundTaskDefinitionEnum","items","length","filter","item","isPrivate","map","definition","id","join","createGraphQL","plugin","ContextPlugin","context","tenancy","getCurrentTenant","i18n","getDefaultLocale","taskModel","tasks","getTaskModel","logModel","getLogModel","models","security","withoutAuthorization","cms","listModels","model","fields","fieldTypePlugins","createFieldTypePluginRecords","plugins","taskFields","renderFields","type","logFields","field","fieldId","listTasksFilterFieldsRender","renderListFilterFields","excludeFields","listLogsFilterFieldsRender","sortTasksEnumRender","renderSortEnum","sorterPlugins","sortLogsEnumRender","taskDefinitions","listDefinitions","GraphQLSchemaPlugin","typeDefs","f","resolvers","Query","backgroundTasks","emptyResolver","Mutation","WebinyBackgroundTaskQuery","getTask","_","args","resolve","checkPermissions","rwd","listTasks","resolveList","__","result","listLogs","WebinyBackgroundTaskMutation","abortTask","abort","triggerTask","trigger","deleteTask","WebinyBackgroundTask","logs","parent","sort","limit","where","task","WebinyBackgroundTaskLog","register","name","exports"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { renderSortEnum } from \"@webiny/api-headless-cms/utils/renderSortEnum\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport {\n Context,\n IListTaskLogParams,\n IListTaskParams,\n ITask,\n ITaskDefinition,\n ITaskLog\n} from \"~/types\";\nimport { renderListFilterFields } from \"@webiny/api-headless-cms/utils/renderListFilterFields\";\nimport { createFieldTypePluginRecords } from \"@webiny/api-headless-cms/graphql/schema/createFieldTypePluginRecords\";\nimport { emptyResolver, resolve, resolveList } from \"./utils\";\nimport { renderFields } from \"@webiny/api-headless-cms/utils/renderFields\";\nimport { checkPermissions } from \"./checkPermissions\";\n\ninterface IGetTaskQueryParams {\n id: string;\n}\n\ninterface IAbortTaskMutationParams {\n id: string;\n message?: string;\n}\n\ninterface ITriggerTaskMutationParams {\n name?: string;\n definition: string;\n input?: Record<string, any>;\n}\n\ninterface IDeleteTaskMutationParams {\n id: string;\n}\n\nconst createWebinyBackgroundTaskDefinitionEnum = (items: ITaskDefinition[]): string => {\n if (items.length === 0) {\n return \"Empty\";\n }\n return items\n .filter(item => {\n return !item.isPrivate;\n })\n .map(definition => definition.id)\n .join(\"\\n\");\n};\n\nexport const createGraphQL = () => {\n const plugin = new ContextPlugin<Context>(async context => {\n if (!context.tenancy.getCurrentTenant()) {\n return;\n } else if (!context.i18n.getDefaultLocale()) {\n return;\n }\n\n const taskModel = await context.tasks.getTaskModel();\n const logModel = await context.tasks.getLogModel();\n\n const models = await context.security.withoutAuthorization(async () => {\n return (await context.cms.listModels()).filter(model => {\n if (model.fields.length === 0) {\n return false;\n } else if (model.isPrivate) {\n return false;\n }\n return true;\n });\n });\n const fieldTypePlugins = createFieldTypePluginRecords(context.plugins);\n\n const taskFields = renderFields({\n models,\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const logFields = renderFields({\n models,\n model: logModel,\n fields: logModel.fields.filter(field => field.fieldId !== \"task\"),\n type: \"manage\",\n fieldTypePlugins\n });\n\n const listTasksFilterFieldsRender = renderListFilterFields({\n model: taskModel,\n fields: taskModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const listLogsFilterFieldsRender = renderListFilterFields({\n model: logModel,\n fields: logModel.fields,\n type: \"manage\",\n fieldTypePlugins,\n excludeFields: [\"entryId\"]\n });\n\n const sortTasksEnumRender = renderSortEnum({\n model: taskModel,\n fields: taskModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const sortLogsEnumRender = renderSortEnum({\n model: logModel,\n fields: logModel.fields,\n fieldTypePlugins,\n sorterPlugins: []\n });\n\n const taskDefinitions = context.tasks.listDefinitions();\n\n const plugin = new GraphQLSchemaPlugin<Context>({\n typeDefs: /* GraphQL */ `\n type WebinyBackgroundTaskError {\n message: String\n code: String\n data: JSON\n stack: String\n }\n \n ${taskFields.map(f => f.typeDefs).join(\"\\n\")}\n ${logFields.map(f => f.typeDefs).join(\"\\n\")}\n\n type WebinyBackgroundTask {\n id: String!\n createdOn: DateTime!\n savedOn: DateTime\n createdBy: WebinyBackgroundTaskIdentity!\n logs(\n where: WebinyBackgroundTaskLogListWhereInput\n limit: Number\n sort: [WebinyBackgroundTaskLogListSorter!]\n ): [WebinyBackgroundTaskLog!]!\n ${taskFields.map(f => f.fields).join(\"\\n\")}\n }\n\n type WebinyBackgroundTaskResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskMeta {\n cursor: String\n hasMoreItems: Boolean!\n totalCount: Int!\n }\n\n type WebinyBackgroundTaskListResponse {\n data: [WebinyBackgroundTask!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n \n type WebinyBackgroundTaskLog {\n id: String!\n createdOn: DateTime!\n createdBy: WebinyBackgroundTaskIdentity!\n task: WebinyBackgroundTask!\n ${logFields.map(f => f.fields).join(\"\\n\")}\n }\n \n type WebinyBackgroundTaskLogListResponse {\n data: [WebinyBackgroundTaskLog!]\n meta: WebinyBackgroundTaskMeta\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDefinition {\n id: String!\n title: String!\n description: String\n fields: JSON\n }\n\n type WebinyBackgroundTaskListDefinitionsResponse {\n data: [WebinyBackgroundTaskDefinition!]\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskIdentity {\n id: String!\n displayName: String!\n type: String\n }\n\n type WebinyBackgroundTaskTriggerResponse {\n data: WebinyBackgroundTask\n error: WebinyBackgroundTaskError\n }\n\n type WebinyBackgroundTaskDeleteResponse {\n data: Boolean\n error: WebinyBackgroundTaskError\n }\n\n input WebinyBackgroundTaskListWhereInput {\n ${listTasksFilterFieldsRender}\n }\n \n input WebinyBackgroundTaskLogListWhereInput {\n ${listLogsFilterFieldsRender}\n }\n\n enum WebinyBackgroundTaskListSorter {\n ${sortTasksEnumRender}\n }\n \n enum WebinyBackgroundTaskLogListSorter {\n ${sortLogsEnumRender}\n }\n\n type WebinyBackgroundTaskQuery {\n _empty: String\n }\n\n type WebinyBackgroundTaskMutation {\n _empty: String\n }\n\n enum WebinyBackgroundTaskDefinitionEnum {\n ${createWebinyBackgroundTaskDefinitionEnum(taskDefinitions)}\n }\n\n extend type Query {\n backgroundTasks: WebinyBackgroundTaskQuery\n }\n\n extend type Mutation {\n backgroundTasks: WebinyBackgroundTaskMutation\n }\n\n extend type WebinyBackgroundTaskQuery {\n getTask(id: ID!): WebinyBackgroundTaskResponse!\n listTasks(\n where: WebinyBackgroundTaskListWhereInput\n sort: [WebinyBackgroundTaskListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskListResponse!\n listDefinitions: WebinyBackgroundTaskListDefinitionsResponse!\n \n listLogs(\n where: WebinyBackgroundTaskLogListWhereInput\n sort: [WebinyBackgroundTaskLogListSorter!]\n limit: Int\n after: String\n search: String\n ): WebinyBackgroundTaskLogListResponse!\n }\n\n extend type WebinyBackgroundTaskMutation {\n triggerTask(definition: WebinyBackgroundTaskDefinitionEnum!, input: JSON, name: String): WebinyBackgroundTaskTriggerResponse!\n abortTask(id: ID!, message: String): WebinyBackgroundTaskResponse!\n deleteTask(id: ID!): WebinyBackgroundTaskDeleteResponse!\n }\n `,\n resolvers: {\n Query: {\n backgroundTasks: emptyResolver\n },\n Mutation: {\n backgroundTasks: emptyResolver\n },\n WebinyBackgroundTaskQuery: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n getTask: async (_, args: IGetTaskQueryParams, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.getTask(args.id);\n });\n },\n listTasks: async (_, args: IListTaskParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listTasks(args);\n });\n },\n listDefinitions: async (_, __, context) => {\n return resolve(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n const result = context.tasks.listDefinitions();\n /**\n * Do not output private tasks.\n */\n return result.filter(item => {\n return !item.isPrivate;\n });\n });\n },\n listLogs: async (_, args: IListTaskLogParams, context) => {\n return resolveList(async () => {\n await checkPermissions(context, {\n rwd: \"r\"\n });\n return await context.tasks.listLogs(args);\n });\n }\n },\n WebinyBackgroundTaskMutation: {\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n abortTask: async (_, args: IAbortTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.abort(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n triggerTask: async (_, args: ITriggerTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"w\"\n });\n return resolve(async () => {\n return await context.tasks.trigger(args);\n });\n },\n /**\n * We need to think of a way to pass the args type to the resolver without assigning it directly.\n */\n // @ts-expect-error\n deleteTask: async (_, args: IDeleteTaskMutationParams, context) => {\n await checkPermissions(context, {\n rwd: \"d\"\n });\n return resolve(async () => {\n return await context.tasks.deleteTask(args.id);\n });\n }\n },\n /**\n * Custom resolvers for fields\n */\n WebinyBackgroundTask: {\n logs: async (parent: ITask, args: IListTaskLogParams, context) => {\n const { items } = await context.tasks.listLogs({\n sort: [\"createdBy_ASC\"],\n limit: 10000,\n ...args,\n where: {\n ...args?.where,\n task: parent.id\n }\n });\n return items;\n }\n },\n WebinyBackgroundTaskLog: {\n task: async (parent: ITaskLog, _, context) => {\n return await context.tasks.getTask(parent.task);\n }\n }\n }\n });\n context.plugins.register(plugin);\n });\n\n plugin.name = \"tasks.graphql\";\n\n return plugin;\n};\n"],"mappings":"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C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkBjB,UAAU,CAAC3B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAE;AAC7D,kBAAkB2B,SAAS,CAAC9B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACD,QAAQ,CAAC,CAACzC,IAAI,CAAC,IAAI,CAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsBwB,UAAU,CAAC3B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACtB,MAAM,CAAC,CAACpB,IAAI,CAAC,IAAI,CAAE;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB2B,SAAS,CAAC9B,GAAG,CAAC6C,CAAC,IAAIA,CAAC,CAACtB,MAAM,CAAC,CAACpB,IAAI,CAAC,IAAI,CAAE;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB8B,2BAA4B;AAClD;AACA;AACA;AACA,sBAAsBG,0BAA2B;AACjD;AACA;AACA;AACA,sBAAsBC,mBAAoB;AAC1C;AACA;AACA;AACA,sBAAsBG,kBAAmB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB9C,wCAAwC,CAAC+C,eAAe,CAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;MACDK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"}
|
package/graphql/utils.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ export declare const emptyResolver: () => {};
|
|
|
4
4
|
interface ResolveCallable<T = any> {
|
|
5
5
|
(): Promise<T>;
|
|
6
6
|
}
|
|
7
|
-
export declare const resolve: <T = any>(fn: ResolveCallable<T>) => Promise<
|
|
8
|
-
export declare const resolveList: (fn: ResolveCallable) => Promise<
|
|
7
|
+
export declare const resolve: <T = any>(fn: ResolveCallable<T>) => Promise<Response<Awaited<T>> | ErrorResponse>;
|
|
8
|
+
export declare const resolveList: (fn: ResolveCallable) => Promise<ListResponse<any, CmsEntryMeta> | ListErrorResponse>;
|
|
9
9
|
export {};
|
package/graphql/utils.js
CHANGED
|
@@ -10,8 +10,8 @@ exports.emptyResolver = emptyResolver;
|
|
|
10
10
|
const resolve = async fn => {
|
|
11
11
|
try {
|
|
12
12
|
return new _handlerGraphql.Response(await fn());
|
|
13
|
-
} catch (
|
|
14
|
-
return new _handlerGraphql.ErrorResponse(
|
|
13
|
+
} catch (ex) {
|
|
14
|
+
return new _handlerGraphql.ErrorResponse(ex);
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
17
|
exports.resolve = resolve;
|
|
@@ -19,8 +19,8 @@ const resolveList = async fn => {
|
|
|
19
19
|
try {
|
|
20
20
|
const result = await fn();
|
|
21
21
|
return new _handlerGraphql.ListResponse(result.items, result.meta);
|
|
22
|
-
} catch (
|
|
23
|
-
return new _handlerGraphql.ListErrorResponse(
|
|
22
|
+
} catch (ex) {
|
|
23
|
+
return new _handlerGraphql.ListErrorResponse(ex);
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
26
|
exports.resolveList = resolveList;
|
package/graphql/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handlerGraphql","require","emptyResolver","exports","resolve","fn","Response","
|
|
1
|
+
{"version":3,"names":["_handlerGraphql","require","emptyResolver","exports","resolve","fn","Response","ex","ErrorResponse","resolveList","result","ListResponse","items","meta","ListErrorResponse"],"sources":["utils.ts"],"sourcesContent":["import { ErrorResponse, ListErrorResponse, ListResponse, Response } from \"@webiny/handler-graphql\";\nimport { CmsEntryMeta } from \"@webiny/api-headless-cms/types\";\n\nexport const emptyResolver = () => ({});\n\ninterface ResolveCallable<T = any> {\n (): Promise<T>;\n}\n\nexport const resolve = async <T = any>(fn: ResolveCallable<T>) => {\n try {\n return new Response(await fn());\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\ninterface IListResult {\n items: any[];\n meta: CmsEntryMeta;\n}\n\nexport const resolveList = async (fn: ResolveCallable) => {\n try {\n const result = (await fn()) as IListResult;\n return new ListResponse(result.items, result.meta);\n } catch (ex) {\n return new ListErrorResponse(ex);\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGO,MAAMC,aAAa,GAAGA,CAAA,MAAO,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAD,aAAA,GAAAA,aAAA;AAMjC,MAAME,OAAO,GAAG,MAAgBC,EAAsB,IAAK;EAC9D,IAAI;IACA,OAAO,IAAIC,wBAAQ,CAAC,MAAMD,EAAE,CAAC,CAAC,CAAC;EACnC,CAAC,CAAC,OAAOE,EAAE,EAAE;IACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;EAChC;AACJ,CAAC;AAACJ,OAAA,CAAAC,OAAA,GAAAA,OAAA;AAOK,MAAMK,WAAW,GAAG,MAAOJ,EAAmB,IAAK;EACtD,IAAI;IACA,MAAMK,MAAM,GAAI,MAAML,EAAE,CAAC,CAAiB;IAC1C,OAAO,IAAIM,4BAAY,CAACD,MAAM,CAACE,KAAK,EAAEF,MAAM,CAACG,IAAI,CAAC;EACtD,CAAC,CAAC,OAAON,EAAE,EAAE;IACT,OAAO,IAAIO,iCAAiB,CAACP,EAAE,CAAC;EACpC;AACJ,CAAC;AAACJ,OAAA,CAAAM,WAAA,GAAAA,WAAA"}
|
package/index.js
CHANGED
|
@@ -11,6 +11,7 @@ exports.createBackgroundTaskGraphQL = exports.createBackgroundTaskContext = void
|
|
|
11
11
|
require("./handler/register");
|
|
12
12
|
var _graphql = require("./graphql");
|
|
13
13
|
var _context = require("./context");
|
|
14
|
+
var _testingRunTask = require("./tasks/testingRunTask");
|
|
14
15
|
var _task = require("./task");
|
|
15
16
|
Object.keys(_task).forEach(function (key) {
|
|
16
17
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -40,7 +41,7 @@ const createBackgroundTaskGraphQL = () => {
|
|
|
40
41
|
};
|
|
41
42
|
exports.createBackgroundTaskGraphQL = createBackgroundTaskGraphQL;
|
|
42
43
|
const createBackgroundTaskContext = config => {
|
|
43
|
-
return (0, _context.createTasksContext)(config);
|
|
44
|
+
return [(0, _testingRunTask.createTestingRunTask)(), ...(0, _context.createTasksContext)(config)];
|
|
44
45
|
};
|
|
45
46
|
exports.createBackgroundTaskContext = createBackgroundTaskContext;
|
|
46
47
|
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_graphql","_context","_task","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","createBackgroundTaskGraphQL","createGraphQL","createBackgroundTaskContext","config","createTasksContext"],"sources":["index.ts"],"sourcesContent":["import \"./handler/register\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { createGraphQL } from \"~/graphql\";\nimport { createTasksContext } from \"./context\";\nimport { ITaskConfig } from \"./types\";\n\nexport const createBackgroundTaskGraphQL = (): Plugin[] => {\n return [createGraphQL()];\n};\nexport const createBackgroundTaskContext = (config?: ITaskConfig): Plugin[] => {\n return createTasksContext(config);\n};\n\nexport * from \"./task\";\nexport * from \"./types\";\n"],"mappings":";;;;;;;;;;AAAAA,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["require","_graphql","_context","_testingRunTask","_task","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_types","createBackgroundTaskGraphQL","createGraphQL","createBackgroundTaskContext","config","createTestingRunTask","createTasksContext"],"sources":["index.ts"],"sourcesContent":["import \"./handler/register\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { createGraphQL } from \"~/graphql\";\nimport { createTasksContext } from \"./context\";\nimport { ITaskConfig } from \"./types\";\nimport { createTestingRunTask } from \"~/tasks/testingRunTask\";\n\nexport const createBackgroundTaskGraphQL = (): Plugin[] => {\n return [createGraphQL()];\n};\nexport const createBackgroundTaskContext = (config?: ITaskConfig): Plugin[] => {\n return [createTestingRunTask(), ...createTasksContext(config)];\n};\n\nexport * from \"./task\";\nexport * from \"./types\";\n"],"mappings":";;;;;;;;;;AAAAA,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AASA,IAAAI,KAAA,GAAAJ,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAF,KAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,KAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,KAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAjB,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AARO,MAAMU,2BAA2B,GAAGA,CAAA,KAAgB;EACvD,OAAO,CAAC,IAAAC,sBAAa,EAAC,CAAC,CAAC;AAC5B,CAAC;AAACN,OAAA,CAAAK,2BAAA,GAAAA,2BAAA;AACK,MAAME,2BAA2B,GAAIC,MAAoB,IAAe;EAC3E,OAAO,CAAC,IAAAC,oCAAoB,EAAC,CAAC,EAAE,GAAG,IAAAC,2BAAkB,EAACF,MAAM,CAAC,CAAC;AAClE,CAAC;AAACR,OAAA,CAAAO,2BAAA,GAAAA,2BAAA"}
|