@steedos/process 2.2.52 → 2.2.53-beta.2

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/lib/approve.js CHANGED
@@ -1,29 +1,75 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.approve = void 0;
4
- const process_manager_1 = require("./process_manager");
5
- const permission_manager_1 = require("./permission_manager");
6
- const objectql_1 = require("@steedos/objectql");
7
- const approve = async (req, res) => {
8
- try {
9
- const urlParams = req.params;
10
- // const objectName = urlParams.objectName;
11
- const instanceHistoryId = urlParams.record;
12
- const userSession = req.user;
13
- const body = req.body;
14
- const comment = body.comment;
15
- const approver = body.approver;
16
- if (await (0, permission_manager_1.allowApprover)(instanceHistoryId, userSession)) {
17
- const workitem = await (0, process_manager_1.getProcessInstanceWorkitem)(instanceHistoryId, userSession);
18
- await (0, process_manager_1.processInstanceWorkitemApprove)(workitem._id, userSession, comment, approver);
19
- return res.status(200).send({ state: 'SUCCESS' });
20
- }
21
- throw new objectql_1.SteedosError("process_approval_error_NoApproval");
22
- }
23
- catch (error) {
24
- console.log(error);
25
- return (0, objectql_1.sendError)(res, error, 200);
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
26
36
  }
27
37
  };
38
+ exports.__esModule = true;
39
+ exports.approve = void 0;
40
+ var process_manager_1 = require("./process_manager");
41
+ var permission_manager_1 = require("./permission_manager");
42
+ var objectql_1 = require("@steedos/objectql");
43
+ var approve = function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
44
+ var urlParams, instanceHistoryId, userSession, body, comment, approver, workitem, error_1;
45
+ return __generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0:
48
+ _a.trys.push([0, 5, , 6]);
49
+ urlParams = req.params;
50
+ instanceHistoryId = urlParams.record;
51
+ userSession = req.user;
52
+ body = req.body;
53
+ comment = body.comment;
54
+ approver = body.approver;
55
+ return [4 /*yield*/, (0, permission_manager_1.allowApprover)(instanceHistoryId, userSession)];
56
+ case 1:
57
+ if (!_a.sent()) return [3 /*break*/, 4];
58
+ return [4 /*yield*/, (0, process_manager_1.getProcessInstanceWorkitem)(instanceHistoryId, userSession)];
59
+ case 2:
60
+ workitem = _a.sent();
61
+ return [4 /*yield*/, (0, process_manager_1.processInstanceWorkitemApprove)(workitem._id, userSession, comment, approver)];
62
+ case 3:
63
+ _a.sent();
64
+ return [2 /*return*/, res.status(200).send({ state: 'SUCCESS' })];
65
+ case 4: throw new objectql_1.SteedosError("process_approval_error_NoApproval");
66
+ case 5:
67
+ error_1 = _a.sent();
68
+ console.log(error_1);
69
+ return [2 /*return*/, (0, objectql_1.sendError)(res, error_1, 200)];
70
+ case 6: return [2 /*return*/];
71
+ }
72
+ });
73
+ }); };
28
74
  exports.approve = approve;
29
75
  //# sourceMappingURL=approve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approve.js","sourceRoot":"","sources":["../src/approve.ts"],"names":[],"mappings":";;;AACA,uDAA8F;AAC9F,6DAAqD;AAErD,gDAA2D;AAMpD,MAAM,OAAO,GAAG,KAAK,EAAE,GAAY,EAAE,GAAqB,EAAE,EAAE;IACjE,IAAI;QACA,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAG,MAAM,IAAA,kCAAa,EAAC,iBAAiB,EAAE,WAAW,CAAC,EAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,IAAA,4CAA0B,EAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;YAClF,MAAM,IAAA,gDAA8B,EAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACnF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;SACnD;QACD,MAAM,IAAI,uBAAY,CAAC,mCAAmC,CAAC,CAAC;KAC/D;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAA,oBAAS,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KACrC;AACL,CAAC,CAAA;AAnBY,QAAA,OAAO,WAmBnB"}
1
+ {"version":3,"file":"approve.js","sourceRoot":"","sources":["../src/approve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA8F;AAC9F,2DAAqD;AAErD,8CAA2D;AAMpD,IAAM,OAAO,GAAG,UAAO,GAAY,EAAE,GAAkB;;;;;;gBAEhD,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;gBAEvB,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC;gBACrC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;gBACvB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAChB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBACvB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC5B,qBAAM,IAAA,kCAAa,EAAC,iBAAiB,EAAE,WAAW,CAAC,EAAA;;qBAAnD,SAAmD,EAAnD,wBAAmD;gBACjC,qBAAM,IAAA,4CAA0B,EAAC,iBAAiB,EAAE,WAAW,CAAC,EAAA;;gBAA3E,QAAQ,GAAG,SAAgE;gBACjF,qBAAM,IAAA,gDAA8B,EAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAA;;gBAAlF,SAAkF,CAAC;gBACnF,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,EAAC;oBAEpD,MAAM,IAAI,uBAAY,CAAC,mCAAmC,CAAC,CAAC;;;gBAE5D,OAAO,CAAC,GAAG,CAAC,OAAK,CAAC,CAAC;gBACnB,sBAAO,IAAA,oBAAS,EAAC,GAAG,EAAE,OAAK,EAAE,GAAG,CAAC,EAAC;;;;KAEzC,CAAA;AAnBY,QAAA,OAAO,WAmBnB"}
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.__esModule = true;
3
3
  exports.processExpress = void 0;
4
- const auth_1 = require("@steedos/auth");
5
- const submit_1 = require("./submit");
6
- const approve_1 = require("./approve");
7
- const reject_1 = require("./reject");
8
- const reassign_1 = require("./reassign");
9
- const recall_1 = require("./recall");
10
- const permission_1 = require("./permission");
11
- const express = require('express');
4
+ var auth_1 = require("@steedos/auth");
5
+ var submit_1 = require("./submit");
6
+ var approve_1 = require("./approve");
7
+ var reject_1 = require("./reject");
8
+ var reassign_1 = require("./reassign");
9
+ var recall_1 = require("./recall");
10
+ var permission_1 = require("./permission");
11
+ var express = require('express');
12
12
  exports.processExpress = express.Router();
13
13
  exports.processExpress.post('/api/v4/process/submit/:objectName/:record', auth_1.requireAuthentication, submit_1.submit);
14
14
  exports.processExpress.post('/api/v4/process/approve/:objectName/:record', auth_1.requireAuthentication, approve_1.approve);
@@ -1 +1 @@
1
- {"version":3,"file":"express-middleware.js","sourceRoot":"","sources":["../src/express-middleware.ts"],"names":[],"mappings":";;;AAAA,wCAAsD;AAEtD,qCAAkC;AAClC,uCAAoC;AACpC,qCAAkC;AAClC,yCAAsC;AACtC,qCAAkC;AAClC,6CAAgH;AAChH,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAGtB,QAAA,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAE/C,sBAAc,CAAC,IAAI,CAAC,4CAA4C,EAAE,4BAAqB,EAAE,eAAM,CAAC,CAAC;AAEjG,sBAAc,CAAC,IAAI,CAAC,6CAA6C,EAAE,4BAAqB,EAAE,iBAAO,CAAC,CAAC;AAEnG,sBAAc,CAAC,IAAI,CAAC,4CAA4C,EAAE,4BAAqB,EAAE,eAAM,CAAC,CAAC;AAEjG,sBAAc,CAAC,IAAI,CAAC,8CAA8C,EAAE,4BAAqB,EAAE,mBAAQ,CAAC,CAAC;AAErG,oGAAoG;AAEpG,sBAAc,CAAC,IAAI,CAAC,4CAA4C,EAAE,4BAAqB,EAAE,eAAM,CAAC,CAAC;AAEjG,sBAAc,CAAC,GAAG,CAAC,uDAAuD,EAAE,4BAAqB,EAAE,yCAA4B,CAAC,CAAC;AAEjI,sBAAc,CAAC,GAAG,CAAC,yDAAyD,EAAE,4BAAqB,EAAE,6CAAgC,CAAC,CAAC;AAEvI,sBAAc,CAAC,GAAG,CAAC,uDAAuD,EAAE,4BAAqB,EAAE,8BAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"express-middleware.js","sourceRoot":"","sources":["../src/express-middleware.ts"],"names":[],"mappings":";;;AAAA,sCAAsD;AAEtD,mCAAkC;AAClC,qCAAoC;AACpC,mCAAkC;AAClC,uCAAsC;AACtC,mCAAkC;AAClC,2CAAgH;AAChH,IAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAGtB,QAAA,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAE/C,sBAAc,CAAC,IAAI,CAAC,4CAA4C,EAAE,4BAAqB,EAAE,eAAM,CAAC,CAAC;AAEjG,sBAAc,CAAC,IAAI,CAAC,6CAA6C,EAAE,4BAAqB,EAAE,iBAAO,CAAC,CAAC;AAEnG,sBAAc,CAAC,IAAI,CAAC,4CAA4C,EAAE,4BAAqB,EAAE,eAAM,CAAC,CAAC;AAEjG,sBAAc,CAAC,IAAI,CAAC,8CAA8C,EAAE,4BAAqB,EAAE,mBAAQ,CAAC,CAAC;AAErG,oGAAoG;AAEpG,sBAAc,CAAC,IAAI,CAAC,4CAA4C,EAAE,4BAAqB,EAAE,eAAM,CAAC,CAAC;AAEjG,sBAAc,CAAC,GAAG,CAAC,uDAAuD,EAAE,4BAAqB,EAAE,yCAA4B,CAAC,CAAC;AAEjI,sBAAc,CAAC,GAAG,CAAC,yDAAyD,EAAE,4BAAqB,EAAE,6CAAgC,CAAC,CAAC;AAEvI,sBAAc,CAAC,GAAG,CAAC,uDAAuD,EAAE,4BAAqB,EAAE,8BAAiB,CAAC,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,17 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ exports.__esModule = true;
3
14
  exports.processExpress = void 0;
4
15
  var express_middleware_1 = require("./express-middleware");
5
- Object.defineProperty(exports, "processExpress", { enumerable: true, get: function () { return express_middleware_1.processExpress; } });
16
+ __createBinding(exports, express_middleware_1, "processExpress");
6
17
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAA7C,oHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2DAAsD;AAA7C,iEAAc"}
@@ -1,47 +1,98 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendNotifications = void 0;
4
- const objectql = require('@steedos/objectql');
5
- const objectql_1 = require("@steedos/objectql");
6
- const Fiber = require('fibers');
7
- const sendNotifications = async (from, to, { instanceHistory = null, instance = null, status }) => {
8
- if (!to) {
9
- return;
10
- }
11
- if (!instance) {
12
- instance = await objectql.getObject("process_instance").findOne(instanceHistory.process_instance);
13
- }
14
- var fromUser = await objectql.getObject("users").findOne(from);
15
- const targetObjectName = instance.target_object.o;
16
- const targetObject = objectql.getObject(targetObjectName);
17
- var relatedDoc = await targetObject.findOne(instance.target_object.ids[0]);
18
- let relatedDocName = relatedDoc.name; //TODO
19
- const lng = (0, objectql_1.getUserLocale)(fromUser);
20
- var notificationTitle = TAPi18n.__(`process_notification_${status}_title`, { submitter: fromUser.name, recordName: relatedDocName }, lng);
21
- var notificationBody = targetObject.label;
22
- let linkToObjectName, linkToId;
23
- if (["approved", "rejected"].indexOf(status) > -1) {
24
- linkToObjectName = targetObjectName;
25
- linkToId = relatedDoc._id;
26
- }
27
- else {
28
- linkToObjectName = "process_instance_history";
29
- linkToId = instanceHistory._id;
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
30
36
  }
31
- var notificationDoc = {
32
- name: notificationTitle,
33
- body: notificationBody,
34
- related_to: {
35
- o: linkToObjectName,
36
- ids: [linkToId]
37
- },
38
- related_name: relatedDocName,
39
- from: `Process ${status}`,
40
- space: instance.space
41
- };
42
- Fiber(function () {
43
- Creator.addNotifications(notificationDoc, null, [to]);
44
- }).run();
37
+ };
38
+ exports.__esModule = true;
39
+ exports.sendNotifications = void 0;
40
+ var objectql = require('@steedos/objectql');
41
+ var objectql_1 = require("@steedos/objectql");
42
+ var Fiber = require('fibers');
43
+ var sendNotifications = function (from, to, _a) {
44
+ var _b = _a.instanceHistory, instanceHistory = _b === void 0 ? null : _b, _c = _a.instance, instance = _c === void 0 ? null : _c, status = _a.status;
45
+ return __awaiter(void 0, void 0, void 0, function () {
46
+ var fromUser, targetObjectName, targetObject, relatedDoc, relatedDocName, lng, notificationTitle, notificationBody, linkToObjectName, linkToId, notificationDoc;
47
+ return __generator(this, function (_d) {
48
+ switch (_d.label) {
49
+ case 0:
50
+ if (!to) {
51
+ return [2 /*return*/];
52
+ }
53
+ if (!!instance) return [3 /*break*/, 2];
54
+ return [4 /*yield*/, objectql.getObject("process_instance").findOne(instanceHistory.process_instance)];
55
+ case 1:
56
+ instance = _d.sent();
57
+ _d.label = 2;
58
+ case 2: return [4 /*yield*/, objectql.getObject("users").findOne(from)];
59
+ case 3:
60
+ fromUser = _d.sent();
61
+ targetObjectName = instance.target_object.o;
62
+ targetObject = objectql.getObject(targetObjectName);
63
+ return [4 /*yield*/, targetObject.findOne(instance.target_object.ids[0])];
64
+ case 4:
65
+ relatedDoc = _d.sent();
66
+ relatedDocName = relatedDoc.name;
67
+ lng = (0, objectql_1.getUserLocale)(fromUser);
68
+ notificationTitle = TAPi18n.__("process_notification_".concat(status, "_title"), { submitter: fromUser.name, recordName: relatedDocName }, lng);
69
+ notificationBody = targetObject.label;
70
+ if (["approved", "rejected"].indexOf(status) > -1) {
71
+ linkToObjectName = targetObjectName;
72
+ linkToId = relatedDoc._id;
73
+ }
74
+ else {
75
+ linkToObjectName = "process_instance_history";
76
+ linkToId = instanceHistory._id;
77
+ }
78
+ notificationDoc = {
79
+ name: notificationTitle,
80
+ body: notificationBody,
81
+ related_to: {
82
+ o: linkToObjectName,
83
+ ids: [linkToId]
84
+ },
85
+ related_name: relatedDocName,
86
+ from: "Process ".concat(status),
87
+ space: instance.space
88
+ };
89
+ Fiber(function () {
90
+ Creator.addNotifications(notificationDoc, null, [to]);
91
+ }).run();
92
+ return [2 /*return*/];
93
+ }
94
+ });
95
+ });
45
96
  };
46
97
  exports.sendNotifications = sendNotifications;
47
98
  //# sourceMappingURL=notifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":";;;AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC9C,gDAAkD;AAClD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAIzB,MAAM,iBAAiB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,EAAC,eAAe,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM,EAAC,EAAC,EAAE;IAClH,IAAG,CAAC,EAAE,EAAC;QACH,OAAO;KACV;IACD,IAAG,CAAC,QAAQ,EAAC;QACT,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;KACrG;IACD,IAAI,QAAQ,GAAI,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1D,IAAI,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM;IAC5C,MAAM,GAAG,GAAG,IAAA,wBAAa,EAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC,wBAAwB,MAAM,QAAQ,EAAE,EAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAC,EAAE,GAAG,CAAC,CAAC;IACxI,IAAI,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC;IAC1C,IAAI,gBAAgB,EAAE,QAAQ,CAAC;IAC/B,IAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC;QAC7C,gBAAgB,GAAG,gBAAgB,CAAC;QACpC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;KAC7B;SACG;QACA,gBAAgB,GAAG,0BAA0B,CAAC;QAC9C,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAA;KACjC;IACD,IAAI,eAAe,GAAG;QAClB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE;YACR,CAAC,EAAE,gBAAgB;YACnB,GAAG,EAAE,CAAC,QAAQ,CAAC;SAClB;QACD,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,WAAW,MAAM,EAAE;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;KACxB,CAAC;IAEF,KAAK,CAAC;QACF,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACb,CAAC,CAAA;AAvCY,QAAA,iBAAiB,qBAuC7B"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../src/notifications.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC9C,8CAAkD;AAClD,IAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAIzB,IAAM,iBAAiB,GAAG,UAAO,IAAY,EAAE,EAAU,EAAE,EAAiD;QAAhD,uBAAsB,EAAtB,eAAe,mBAAG,IAAI,KAAA,EAAE,gBAAe,EAAf,QAAQ,mBAAG,IAAI,KAAA,EAAE,MAAM,YAAA;;;;;;oBAC9G,IAAG,CAAC,EAAE,EAAC;wBACH,sBAAO;qBACV;yBACE,CAAC,QAAQ,EAAT,wBAAS;oBACG,qBAAM,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAA;;oBAAjG,QAAQ,GAAG,SAAsF,CAAC;;wBAEtF,qBAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAA;;oBAA3D,QAAQ,GAAI,SAA+C;oBACzD,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC5C,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;oBACzC,qBAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAA;;oBAAtE,UAAU,GAAG,SAAyD;oBACtE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;oBAC/B,GAAG,GAAG,IAAA,wBAAa,EAAC,QAAQ,CAAC,CAAC;oBAChC,iBAAiB,GAAG,OAAO,CAAC,EAAE,CAAC,+BAAwB,MAAM,WAAQ,EAAE,EAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAC,EAAE,GAAG,CAAC,CAAC;oBACpI,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC;oBAE1C,IAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC;wBAC7C,gBAAgB,GAAG,gBAAgB,CAAC;wBACpC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;qBAC7B;yBACG;wBACA,gBAAgB,GAAG,0BAA0B,CAAC;wBAC9C,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAA;qBACjC;oBACG,eAAe,GAAG;wBAClB,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,gBAAgB;wBACtB,UAAU,EAAE;4BACR,CAAC,EAAE,gBAAgB;4BACnB,GAAG,EAAE,CAAC,QAAQ,CAAC;yBAClB;wBACD,YAAY,EAAE,cAAc;wBAC5B,IAAI,EAAE,kBAAW,MAAM,CAAE;wBACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;qBACxB,CAAC;oBAEF,KAAK,CAAC;wBACF,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;;;;;CACZ,CAAA;AAvCY,QAAA,iBAAiB,qBAuC7B"}
package/lib/permission.js CHANGED
@@ -1,60 +1,121 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allowObjectSubmit = exports.allowApproverByInstanceHistoryId = exports.allowRecallByProcessInstance = void 0;
4
- const process_manager_1 = require("./process_manager");
5
- const permission_manager_1 = require("./permission_manager");
6
- const allowRecallByProcessInstance = async (req, res) => {
7
- try {
8
- const urlParams = req.params;
9
- const objectName = urlParams.objectName;
10
- const recordId = urlParams.record;
11
- const userSession = req.user;
12
- const pendingInstances = await (0, process_manager_1.getReocrdProcessInstance)(objectName, recordId, 'pending', userSession);
13
- if (pendingInstances.length > 0) {
14
- const instanceId = pendingInstances[0]._id;
15
- if (await (0, permission_manager_1.allowRecall)(instanceId, userSession)) {
16
- return res.status(200).send({ allowRecall: true });
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
17
32
  }
18
- }
19
- return res.status(200).send({ allowRecall: false });
20
- }
21
- catch (error) {
22
- return res.status(200).send({ allowRecall: false });
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
23
36
  }
24
37
  };
38
+ exports.__esModule = true;
39
+ exports.allowObjectSubmit = exports.allowApproverByInstanceHistoryId = exports.allowRecallByProcessInstance = void 0;
40
+ var process_manager_1 = require("./process_manager");
41
+ var permission_manager_1 = require("./permission_manager");
42
+ var allowRecallByProcessInstance = function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
43
+ var urlParams, objectName, recordId, userSession, pendingInstances, instanceId, error_1;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ _a.trys.push([0, 4, , 5]);
48
+ urlParams = req.params;
49
+ objectName = urlParams.objectName;
50
+ recordId = urlParams.record;
51
+ userSession = req.user;
52
+ return [4 /*yield*/, (0, process_manager_1.getReocrdProcessInstance)(objectName, recordId, 'pending', userSession)];
53
+ case 1:
54
+ pendingInstances = _a.sent();
55
+ if (!(pendingInstances.length > 0)) return [3 /*break*/, 3];
56
+ instanceId = pendingInstances[0]._id;
57
+ return [4 /*yield*/, (0, permission_manager_1.allowRecall)(instanceId, userSession)];
58
+ case 2:
59
+ if (_a.sent()) {
60
+ return [2 /*return*/, res.status(200).send({ allowRecall: true })];
61
+ }
62
+ _a.label = 3;
63
+ case 3: return [2 /*return*/, res.status(200).send({ allowRecall: false })];
64
+ case 4:
65
+ error_1 = _a.sent();
66
+ return [2 /*return*/, res.status(200).send({ allowRecall: false })];
67
+ case 5: return [2 /*return*/];
68
+ }
69
+ });
70
+ }); };
25
71
  exports.allowRecallByProcessInstance = allowRecallByProcessInstance;
26
- const allowApproverByInstanceHistoryId = async (req, res) => {
27
- try {
28
- const urlParams = req.params;
29
- // const objectName = urlParams.objectName;
30
- const instanceHistoryId = urlParams.record;
31
- const userSession = req.user;
32
- if (await (0, permission_manager_1.allowApprover)(instanceHistoryId, userSession)) {
33
- return res.status(200).send({ allowApprover: true });
72
+ var allowApproverByInstanceHistoryId = function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
73
+ var urlParams, instanceHistoryId, userSession, error_2;
74
+ return __generator(this, function (_a) {
75
+ switch (_a.label) {
76
+ case 0:
77
+ _a.trys.push([0, 2, , 3]);
78
+ urlParams = req.params;
79
+ instanceHistoryId = urlParams.record;
80
+ userSession = req.user;
81
+ return [4 /*yield*/, (0, permission_manager_1.allowApprover)(instanceHistoryId, userSession)];
82
+ case 1:
83
+ if (_a.sent()) {
84
+ return [2 /*return*/, res.status(200).send({ allowApprover: true })];
85
+ }
86
+ return [2 /*return*/, res.status(200).send({ allowApprover: false })];
87
+ case 2:
88
+ error_2 = _a.sent();
89
+ console.log(error_2);
90
+ return [2 /*return*/, res.status(200).send({ allowApprover: false })];
91
+ case 3: return [2 /*return*/];
34
92
  }
35
- return res.status(200).send({ allowApprover: false });
36
- }
37
- catch (error) {
38
- console.log(error);
39
- return res.status(200).send({ allowApprover: false });
40
- }
41
- };
93
+ });
94
+ }); };
42
95
  exports.allowApproverByInstanceHistoryId = allowApproverByInstanceHistoryId;
43
- const allowObjectSubmit = async (req, res) => {
44
- try {
45
- const urlParams = req.params;
46
- const objectName = urlParams.objectName;
47
- const recordId = urlParams.record;
48
- const userSession = req.user;
49
- if (await (0, permission_manager_1.allowSubmit)(objectName, recordId, userSession)) {
50
- return res.status(200).send({ allowSubmit: true });
96
+ var allowObjectSubmit = function (req, res) { return __awaiter(void 0, void 0, void 0, function () {
97
+ var urlParams, objectName, recordId, userSession, error_3;
98
+ return __generator(this, function (_a) {
99
+ switch (_a.label) {
100
+ case 0:
101
+ _a.trys.push([0, 2, , 3]);
102
+ urlParams = req.params;
103
+ objectName = urlParams.objectName;
104
+ recordId = urlParams.record;
105
+ userSession = req.user;
106
+ return [4 /*yield*/, (0, permission_manager_1.allowSubmit)(objectName, recordId, userSession)];
107
+ case 1:
108
+ if (_a.sent()) {
109
+ return [2 /*return*/, res.status(200).send({ allowSubmit: true })];
110
+ }
111
+ return [2 /*return*/, res.status(200).send({ allowSubmit: false })];
112
+ case 2:
113
+ error_3 = _a.sent();
114
+ console.log('error', error_3);
115
+ return [2 /*return*/, res.status(200).send({ allowSubmit: false })];
116
+ case 3: return [2 /*return*/];
51
117
  }
52
- return res.status(200).send({ allowSubmit: false });
53
- }
54
- catch (error) {
55
- console.log('error', error);
56
- return res.status(200).send({ allowSubmit: false });
57
- }
58
- };
118
+ });
119
+ }); };
59
120
  exports.allowObjectSubmit = allowObjectSubmit;
60
121
  //# sourceMappingURL=permission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission.js","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"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"}