@haiiro/docuflow 0.0.18 → 0.0.20
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 -0
- package/manifest.json +15 -15
- package/package.json +1 -1
- package/public/app/docflow-app.js +7 -7
- package/src/front-components/docflow-documents.front-component.mjs +20 -20
- package/src/front-components/docflow-processes.front-component.mjs +19 -19
- package/src/front-components/docflow-processes.front-component.tsx +4 -3
- package/src/front-components/docflow-tasks.front-component.mjs +22 -22
- package/src/front-components/process-steps.front-component.mjs +1 -1
- package/src/front-components/task-form.front-component.mjs +22 -22
- package/src/logic-functions/bitrix-app.logic-function.mjs +1 -1
- package/src/logic-functions/capture-file.logic-function.mjs +19 -1
- package/src/logic-functions/capture-file.logic-function.ts +2 -1
- package/src/logic-functions/docflow-app.logic-function.mjs +1 -1
- package/src/logic-functions/hand-out-form-step.logic-function.mjs +19 -1
- package/src/logic-functions/hand-out-form-step.logic-function.ts +2 -1
- package/src/logic-functions/on-attachment-created.logic-function.mjs +22 -1
- package/src/logic-functions/on-attachment-created.logic-function.ts +2 -1
- package/src/logic-functions/on-task-updated.logic-function.mjs +22 -1
- package/src/logic-functions/on-task-updated.logic-function.ts +2 -1
- package/src/logic-functions/on-workflow-run-updated.logic-function.mjs +24 -1
- package/src/logic-functions/on-workflow-run-updated.logic-function.ts +8 -1
|
@@ -119749,7 +119749,7 @@ var getCrmUrl = () => {
|
|
|
119749
119749
|
// package.json
|
|
119750
119750
|
var package_default = {
|
|
119751
119751
|
name: "@haiiro/docuflow",
|
|
119752
|
-
version: "0.0.
|
|
119752
|
+
version: "0.0.20",
|
|
119753
119753
|
description: "NorDiv \u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u043E\u0431\u043E\u0440\u043E\u0442: \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0441 \u043F\u043E\u043B\u044F\u043C\u0438, \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u044B \u0441 \u0437\u0430\u043F\u0443\u0441\u043A\u043E\u043C \u043F\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u043C, \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B \u0441\u043E \u0432\u0441\u0435\u0445 \u0437\u0430\u043F\u0438\u0441\u0435\u0439, \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0411\u0438\u0442\u0440\u0438\u043A\u044124",
|
|
119754
119754
|
license: "AGPL-3.0-only",
|
|
119755
119755
|
publishConfig: {
|
|
@@ -59496,7 +59496,15 @@ var getTask = async (runAs, taskId) => readRestRecord(
|
|
|
59496
59496
|
|
|
59497
59497
|
// src/shared/log.util.ts
|
|
59498
59498
|
var PREFIX = "[docflow]";
|
|
59499
|
+
var describeError = (error) => {
|
|
59500
|
+
if (error instanceof Error) {
|
|
59501
|
+
const { status, body } = error;
|
|
59502
|
+
return { name: error.name, message: error.message, status, body };
|
|
59503
|
+
}
|
|
59504
|
+
return error;
|
|
59505
|
+
};
|
|
59499
59506
|
var logDocflow = (event, details) => console.info(PREFIX, event, details ?? "");
|
|
59507
|
+
var logDocflowError = (event, error, details) => console.error(PREFIX, event, describeError(error), details ?? "");
|
|
59500
59508
|
|
|
59501
59509
|
// src/universal-identifiers.ts
|
|
59502
59510
|
var DOCUMENT_FILE_UNIVERSAL_IDENTIFIER = "cadc1706-80e7-41dd-91dd-9c7324961abb";
|
|
@@ -59569,6 +59577,16 @@ var captureFile = async (capture) => {
|
|
|
59569
59577
|
return "CREATED";
|
|
59570
59578
|
};
|
|
59571
59579
|
|
|
59580
|
+
// src/server/event-errors.ts
|
|
59581
|
+
var withEventErrors = (name, handler2) => async (...args) => {
|
|
59582
|
+
try {
|
|
59583
|
+
return await handler2(...args);
|
|
59584
|
+
} catch (error) {
|
|
59585
|
+
logDocflowError(`${name}: failed`, error);
|
|
59586
|
+
throw error;
|
|
59587
|
+
}
|
|
59588
|
+
};
|
|
59589
|
+
|
|
59572
59590
|
// src/logic-functions/capture-file.logic-function.ts
|
|
59573
59591
|
var isFileCapture = (payload) => typeof payload.attachmentId === "string" && typeof payload.fileId === "string" && typeof payload.label === "string" && typeof payload.sourceObjectName === "string" && typeof payload.sourceRecordId === "string";
|
|
59574
59592
|
var handler = async (payload) => {
|
|
@@ -59587,7 +59605,7 @@ var capture_file_logic_function_default = defineLogicFunction({
|
|
|
59587
59605
|
name: "docflow-capture-file",
|
|
59588
59606
|
description: "\u041A\u043E\u043F\u0438\u0440\u0443\u0435\u0442 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B \u0441 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u043E\u043C",
|
|
59589
59607
|
timeoutSeconds: 120,
|
|
59590
|
-
handler
|
|
59608
|
+
handler: withEventErrors("capture-file", handler)
|
|
59591
59609
|
});
|
|
59592
59610
|
export {
|
|
59593
59611
|
capture_file_logic_function_default as default
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defineLogicFunction } from 'twenty-sdk/define';
|
|
2
2
|
|
|
3
3
|
import { captureFile, type FileCapture } from 'src/server/document-capture';
|
|
4
|
+
import { withEventErrors } from 'src/server/event-errors';
|
|
4
5
|
import { CAPTURE_FILE_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER } from 'src/universal-identifiers';
|
|
5
6
|
|
|
6
7
|
const isFileCapture = (payload: Partial<FileCapture>): payload is FileCapture =>
|
|
@@ -28,5 +29,5 @@ export default defineLogicFunction({
|
|
|
28
29
|
name: 'docflow-capture-file',
|
|
29
30
|
description: 'Копирует вложенный файл в документы с источником',
|
|
30
31
|
timeoutSeconds: 120,
|
|
31
|
-
handler,
|
|
32
|
+
handler: withEventErrors('capture-file', handler),
|
|
32
33
|
});
|
|
@@ -59961,7 +59961,7 @@ var AL = class {
|
|
|
59961
59961
|
// package.json
|
|
59962
59962
|
var package_default = {
|
|
59963
59963
|
name: "@haiiro/docuflow",
|
|
59964
|
-
version: "0.0.
|
|
59964
|
+
version: "0.0.20",
|
|
59965
59965
|
description: "NorDiv \u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u043E\u0431\u043E\u0440\u043E\u0442: \u0437\u0430\u0434\u0430\u043D\u0438\u044F \u0441 \u043F\u043E\u043B\u044F\u043C\u0438, \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u044B \u0441 \u0437\u0430\u043F\u0443\u0441\u043A\u043E\u043C \u043F\u043E \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u0430\u043C, \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B \u0441\u043E \u0432\u0441\u0435\u0445 \u0437\u0430\u043F\u0438\u0441\u0435\u0439, \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0411\u0438\u0442\u0440\u0438\u043A\u044124",
|
|
59966
59966
|
license: "AGPL-3.0-only",
|
|
59967
59967
|
publishConfig: {
|
|
@@ -119664,7 +119664,25 @@ var handOutFormStep = async ({
|
|
|
119664
119664
|
|
|
119665
119665
|
// src/shared/log.util.ts
|
|
119666
119666
|
var PREFIX = "[docflow]";
|
|
119667
|
+
var describeError = (error) => {
|
|
119668
|
+
if (error instanceof Error) {
|
|
119669
|
+
const { status, body } = error;
|
|
119670
|
+
return { name: error.name, message: error.message, status, body };
|
|
119671
|
+
}
|
|
119672
|
+
return error;
|
|
119673
|
+
};
|
|
119667
119674
|
var logDocflow = (event, details) => console.info(PREFIX, event, details ?? "");
|
|
119675
|
+
var logDocflowError = (event, error, details) => console.error(PREFIX, event, describeError(error), details ?? "");
|
|
119676
|
+
|
|
119677
|
+
// src/server/event-errors.ts
|
|
119678
|
+
var withEventErrors = (name, handler2) => async (...args) => {
|
|
119679
|
+
try {
|
|
119680
|
+
return await handler2(...args);
|
|
119681
|
+
} catch (error) {
|
|
119682
|
+
logDocflowError(`${name}: failed`, error);
|
|
119683
|
+
throw error;
|
|
119684
|
+
}
|
|
119685
|
+
};
|
|
119668
119686
|
|
|
119669
119687
|
// src/universal-identifiers.ts
|
|
119670
119688
|
var HAND_OUT_FORM_STEP_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER = "70021464-1ce0-4c94-81c7-ee6b4490034c";
|
|
@@ -119684,7 +119702,7 @@ var hand_out_form_step_logic_function_default = defineLogicFunction({
|
|
|
119684
119702
|
name: "docflow-hand-out-form-step",
|
|
119685
119703
|
description: "\u0421\u043E\u0437\u0434\u0430\u0451\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 CRM \u043F\u043E \u0448\u0430\u0433\u0443 \xAB\u0427\u0435\u043B\u043E\u0432\u0435\u0447\u0435\u0441\u043A\u0438\u0439 \u0432\u0432\u043E\u0434\xBB",
|
|
119686
119704
|
timeoutSeconds: 30,
|
|
119687
|
-
handler
|
|
119705
|
+
handler: withEventErrors("hand-out-form-step", handler)
|
|
119688
119706
|
});
|
|
119689
119707
|
export {
|
|
119690
119708
|
hand_out_form_step_logic_function_default as default
|
|
@@ -2,6 +2,7 @@ import { defineLogicFunction } from 'twenty-sdk/define';
|
|
|
2
2
|
|
|
3
3
|
import { handOutFormStep } from 'src/server/process-tasks';
|
|
4
4
|
import { logDocflow } from 'src/shared/log.util';
|
|
5
|
+
import { withEventErrors } from 'src/server/event-errors';
|
|
5
6
|
import { HAND_OUT_FORM_STEP_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER } from 'src/universal-identifiers';
|
|
6
7
|
|
|
7
8
|
const handler = async (payload: {
|
|
@@ -31,5 +32,5 @@ export default defineLogicFunction({
|
|
|
31
32
|
name: 'docflow-hand-out-form-step',
|
|
32
33
|
description: 'Создаёт задачу CRM по шагу «Человеческий ввод»',
|
|
33
34
|
timeoutSeconds: 30,
|
|
34
|
-
handler,
|
|
35
|
+
handler: withEventErrors('hand-out-form-step', handler),
|
|
35
36
|
});
|
|
@@ -59978,6 +59978,27 @@ var readFileItems = (value) => Array.isArray(value) ? value.flatMap((item) => {
|
|
|
59978
59978
|
var getDocflowEngine = (value = process.env.DOCFLOW_ENGINE) => value === "FORK" ? "FORK" : "APP";
|
|
59979
59979
|
var isAppEngine = (value) => getDocflowEngine(value) === "APP";
|
|
59980
59980
|
|
|
59981
|
+
// src/shared/log.util.ts
|
|
59982
|
+
var PREFIX = "[docflow]";
|
|
59983
|
+
var describeError = (error) => {
|
|
59984
|
+
if (error instanceof Error) {
|
|
59985
|
+
const { status, body } = error;
|
|
59986
|
+
return { name: error.name, message: error.message, status, body };
|
|
59987
|
+
}
|
|
59988
|
+
return error;
|
|
59989
|
+
};
|
|
59990
|
+
var logDocflowError = (event, error, details) => console.error(PREFIX, event, describeError(error), details ?? "");
|
|
59991
|
+
|
|
59992
|
+
// src/server/event-errors.ts
|
|
59993
|
+
var withEventErrors = (name, handler2) => async (...args) => {
|
|
59994
|
+
try {
|
|
59995
|
+
return await handler2(...args);
|
|
59996
|
+
} catch (error) {
|
|
59997
|
+
logDocflowError(`${name}: failed`, error);
|
|
59998
|
+
throw error;
|
|
59999
|
+
}
|
|
60000
|
+
};
|
|
60001
|
+
|
|
59981
60002
|
// src/universal-identifiers.ts
|
|
59982
60003
|
var ON_ATTACHMENT_CREATED_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER = "d2cc28ec-193b-4abb-9649-d119967361e7";
|
|
59983
60004
|
var CAPTURE_FILE_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER = "f735d9e9-d46a-4527-98c8-c84c2b6dbb7b";
|
|
@@ -60019,7 +60040,7 @@ var on_attachment_created_logic_function_default = defineLogicFunction({
|
|
|
60019
60040
|
name: "docflow-on-attachment-created",
|
|
60020
60041
|
description: "\u0421\u0442\u0430\u0432\u0438\u0442 \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C \u0441\u0431\u043E\u0440 \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u044B\u0445 \u0444\u0430\u0439\u043B\u043E\u0432 \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B",
|
|
60021
60042
|
timeoutSeconds: 15,
|
|
60022
|
-
handler,
|
|
60043
|
+
handler: withEventErrors("on-attachment-created", handler),
|
|
60023
60044
|
databaseEventTriggerSettings: {
|
|
60024
60045
|
eventName: "attachment.created",
|
|
60025
60046
|
batchMode: true
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
|
|
8
8
|
import { getAttachmentTarget, readFileItems } from 'src/shared/documents/attachment-target.util';
|
|
9
9
|
import { isAppEngine } from 'src/shared/engine';
|
|
10
|
+
import { withEventErrors } from 'src/server/event-errors';
|
|
10
11
|
import {
|
|
11
12
|
CAPTURE_FILE_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER,
|
|
12
13
|
ON_ATTACHMENT_CREATED_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER,
|
|
@@ -59,7 +60,7 @@ export default defineLogicFunction({
|
|
|
59
60
|
name: 'docflow-on-attachment-created',
|
|
60
61
|
description: 'Ставит в очередь сбор вложенных файлов в документы',
|
|
61
62
|
timeoutSeconds: 15,
|
|
62
|
-
handler,
|
|
63
|
+
handler: withEventErrors('on-attachment-created', handler),
|
|
63
64
|
databaseEventTriggerSettings: {
|
|
64
65
|
eventName: 'attachment.created',
|
|
65
66
|
batchMode: true,
|
|
@@ -59673,6 +59673,27 @@ var answerStepOfTask = async (task, values) => {
|
|
|
59673
59673
|
}
|
|
59674
59674
|
};
|
|
59675
59675
|
|
|
59676
|
+
// src/shared/log.util.ts
|
|
59677
|
+
var PREFIX = "[docflow]";
|
|
59678
|
+
var describeError = (error) => {
|
|
59679
|
+
if (error instanceof Error) {
|
|
59680
|
+
const { status, body } = error;
|
|
59681
|
+
return { name: error.name, message: error.message, status, body };
|
|
59682
|
+
}
|
|
59683
|
+
return error;
|
|
59684
|
+
};
|
|
59685
|
+
var logDocflowError = (event, error, details) => console.error(PREFIX, event, describeError(error), details ?? "");
|
|
59686
|
+
|
|
59687
|
+
// src/server/event-errors.ts
|
|
59688
|
+
var withEventErrors = (name, handler2) => async (...args) => {
|
|
59689
|
+
try {
|
|
59690
|
+
return await handler2(...args);
|
|
59691
|
+
} catch (error) {
|
|
59692
|
+
logDocflowError(`${name}: failed`, error);
|
|
59693
|
+
throw error;
|
|
59694
|
+
}
|
|
59695
|
+
};
|
|
59696
|
+
|
|
59676
59697
|
// src/universal-identifiers.ts
|
|
59677
59698
|
var ON_TASK_UPDATED_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER = "a7dd8969-189b-4fb7-b025-c7bf433832c3";
|
|
59678
59699
|
|
|
@@ -59708,7 +59729,7 @@ var on_task_updated_logic_function_default = defineLogicFunction({
|
|
|
59708
59729
|
name: "docflow-on-task-updated",
|
|
59709
59730
|
description: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0435\u0442 \u0437\u0430\u043A\u0440\u044B\u0442\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u0442 \u043F\u0440\u043E\u0446\u0435\u0441\u0441",
|
|
59710
59731
|
timeoutSeconds: 30,
|
|
59711
|
-
handler,
|
|
59732
|
+
handler: withEventErrors("on-task-updated", handler),
|
|
59712
59733
|
databaseEventTriggerSettings: {
|
|
59713
59734
|
eventName: "task.updated",
|
|
59714
59735
|
updatedFields: ["status"]
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
} from 'src/shared/form/form-fields.util';
|
|
14
14
|
import { type DocflowTaskRecord, updateTask } from 'src/server/records';
|
|
15
15
|
import { answerStepOfTask } from 'src/server/task-completion';
|
|
16
|
+
import { withEventErrors } from 'src/server/event-errors';
|
|
16
17
|
import { ON_TASK_UPDATED_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER } from 'src/universal-identifiers';
|
|
17
18
|
|
|
18
19
|
// A task closed outside the docflow page (the board, the list, the API).
|
|
@@ -63,7 +64,7 @@ export default defineLogicFunction({
|
|
|
63
64
|
name: 'docflow-on-task-updated',
|
|
64
65
|
description: 'Проверяет закрытие задачи и продолжает процесс',
|
|
65
66
|
timeoutSeconds: 30,
|
|
66
|
-
handler,
|
|
67
|
+
handler: withEventErrors('on-task-updated', handler),
|
|
67
68
|
databaseEventTriggerSettings: {
|
|
68
69
|
eventName: 'task.updated',
|
|
69
70
|
updatedFields: ['status'],
|
|
@@ -119323,7 +119323,15 @@ var isAppEngine = (value) => getDocflowEngine(value) === "APP";
|
|
|
119323
119323
|
|
|
119324
119324
|
// src/shared/log.util.ts
|
|
119325
119325
|
var PREFIX = "[docflow]";
|
|
119326
|
+
var describeError = (error) => {
|
|
119327
|
+
if (error instanceof Error) {
|
|
119328
|
+
const { status, body } = error;
|
|
119329
|
+
return { name: error.name, message: error.message, status, body };
|
|
119330
|
+
}
|
|
119331
|
+
return error;
|
|
119332
|
+
};
|
|
119326
119333
|
var logDocflow = (event, details) => console.info(PREFIX, event, details ?? "");
|
|
119334
|
+
var logDocflowError = (event, error, details) => console.error(PREFIX, event, describeError(error), details ?? "");
|
|
119327
119335
|
|
|
119328
119336
|
// src/shared/docflow.constants.ts
|
|
119329
119337
|
var DOCFLOW_LAUNCH_PARAMETERS_KEY = "smbDocflowParameters";
|
|
@@ -119540,6 +119548,16 @@ var closeTasksOfAnsweredSteps = async (run) => {
|
|
|
119540
119548
|
return closedCount;
|
|
119541
119549
|
};
|
|
119542
119550
|
|
|
119551
|
+
// src/server/event-errors.ts
|
|
119552
|
+
var withEventErrors = (name, handler2) => async (...args) => {
|
|
119553
|
+
try {
|
|
119554
|
+
return await handler2(...args);
|
|
119555
|
+
} catch (error) {
|
|
119556
|
+
logDocflowError(`${name}: failed`, error);
|
|
119557
|
+
throw error;
|
|
119558
|
+
}
|
|
119559
|
+
};
|
|
119560
|
+
|
|
119543
119561
|
// src/universal-identifiers.ts
|
|
119544
119562
|
var ON_WORKFLOW_RUN_UPDATED_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER = "c90778dd-4b0f-4a8c-a769-aca0c09f0b5f";
|
|
119545
119563
|
var HAND_OUT_FORM_STEP_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER = "70021464-1ce0-4c94-81c7-ee6b4490034c";
|
|
@@ -119550,6 +119568,11 @@ var handler = async (event) => {
|
|
|
119550
119568
|
return { skipped: "FORK_ENGINE" };
|
|
119551
119569
|
}
|
|
119552
119570
|
const run = { ...event.properties.after, id: event.recordId };
|
|
119571
|
+
logDocflow("run updated: received", {
|
|
119572
|
+
workflowRunId: run.id,
|
|
119573
|
+
status: run.status,
|
|
119574
|
+
updatedFields: event.properties.updatedFields
|
|
119575
|
+
});
|
|
119553
119576
|
if (run.status !== "RUNNING" || run.state === void 0 || run.state === null) {
|
|
119554
119577
|
logDocflow("run updated: skipped", { workflowRunId: run.id, status: run.status, hasState: run.state != null });
|
|
119555
119578
|
return { skipped: "NOT_RUNNING" };
|
|
@@ -119592,7 +119615,7 @@ var on_workflow_run_updated_logic_function_default = defineLogicFunction({
|
|
|
119592
119615
|
name: "docflow-on-workflow-run-updated",
|
|
119593
119616
|
description: "\u0412\u044B\u0434\u0430\u0451\u0442 \u0437\u0430\u0434\u0430\u0447\u0438 \u043F\u043E \u0448\u0430\u0433\u0430\u043C \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432 \u0438 \u0437\u0430\u043A\u0440\u044B\u0432\u0430\u0435\u0442 \u043E\u0442\u0432\u0435\u0447\u0435\u043D\u043D\u044B\u0435",
|
|
119594
119617
|
timeoutSeconds: 30,
|
|
119595
|
-
handler,
|
|
119618
|
+
handler: withEventErrors("on-workflow-run-updated", handler),
|
|
119596
119619
|
databaseEventTriggerSettings: {
|
|
119597
119620
|
eventName: "workflowRun.updated",
|
|
119598
119621
|
updatedFields: ["state", "status"]
|
|
@@ -10,6 +10,7 @@ import { logDocflow } from 'src/shared/log.util';
|
|
|
10
10
|
import { getFormStepTaskRequests } from 'src/shared/workflow/workflow-run.util';
|
|
11
11
|
import { closeTasksOfAnsweredSteps } from 'src/server/process-tasks';
|
|
12
12
|
import { type WorkflowRunRecord } from 'src/server/records';
|
|
13
|
+
import { withEventErrors } from 'src/server/event-errors';
|
|
13
14
|
import {
|
|
14
15
|
HAND_OUT_FORM_STEP_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER,
|
|
15
16
|
ON_WORKFLOW_RUN_UPDATED_LOGIC_FUNCTION_UNIVERSAL_IDENTIFIER,
|
|
@@ -27,6 +28,12 @@ const handler = async (
|
|
|
27
28
|
|
|
28
29
|
const run = { ...event.properties.after, id: event.recordId };
|
|
29
30
|
|
|
31
|
+
logDocflow('run updated: received', {
|
|
32
|
+
workflowRunId: run.id,
|
|
33
|
+
status: run.status,
|
|
34
|
+
updatedFields: (event.properties as { updatedFields?: unknown }).updatedFields,
|
|
35
|
+
});
|
|
36
|
+
|
|
30
37
|
if (run.status !== 'RUNNING' || run.state === undefined || run.state === null) {
|
|
31
38
|
logDocflow('run updated: skipped', { workflowRunId: run.id, status: run.status, hasState: run.state != null });
|
|
32
39
|
|
|
@@ -77,7 +84,7 @@ export default defineLogicFunction({
|
|
|
77
84
|
name: 'docflow-on-workflow-run-updated',
|
|
78
85
|
description: 'Выдаёт задачи по шагам процессов и закрывает отвеченные',
|
|
79
86
|
timeoutSeconds: 30,
|
|
80
|
-
handler,
|
|
87
|
+
handler: withEventErrors('on-workflow-run-updated', handler),
|
|
81
88
|
databaseEventTriggerSettings: {
|
|
82
89
|
eventName: 'workflowRun.updated',
|
|
83
90
|
updatedFields: ['state', 'status'],
|