@openinc/parse-server-opendash 3.8.0 → 3.9.1
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/dist/features/openservice/init.js +11 -19
- package/dist/features/openservice/kanbanState/initKanbanStates.d.ts +6 -0
- package/dist/features/openservice/kanbanState/initKanbanStates.js +113 -0
- package/dist/features/openservice/messages/initMessages.d.ts +5 -0
- package/dist/features/openservice/messages/initMessages.js +455 -0
- package/dist/features/openservice/messages/removeLatestMessage.d.ts +7 -0
- package/dist/features/openservice/messages/removeLatestMessage.js +24 -0
- package/dist/features/openservice/schedules/initScheduling.d.ts +6 -0
- package/dist/features/openservice/schedules/initScheduling.js +123 -0
- package/dist/features/openservice/ticket/initTicket.d.ts +2 -0
- package/dist/features/openservice/ticket/initTicket.js +50 -0
- package/dist/features/permissions/services/registerPermissions.js +10 -7
- package/dist/features/permissions/types/Permissions.d.ts +2 -2
- package/dist/features/permissions/types/Permissions.js +18 -17
- package/dist/hooks/Maintenance_Downtime.js +2 -2
- package/dist/hooks/Maintenance_Duedate.js +2 -2
- package/dist/hooks/Maintenance_Frequency.js +2 -2
- package/dist/hooks/Maintenance_Kanban_State.js +0 -10
- package/dist/hooks/Maintenance_Message.d.ts +0 -7
- package/dist/hooks/Maintenance_Message.js +0 -495
- package/dist/hooks/Maintenance_Priority.js +2 -2
- package/dist/hooks/Maintenance_Restriction.js +3 -3
- package/dist/hooks/Maintenance_Schedule_Template.js +2 -116
- package/dist/hooks/Maintenance_Ticket.js +0 -26
- package/dist/hooks/Maintenance_Ticket_Issuecategory.js +2 -2
- package/dist/hooks/Maintenance_Ticket_Kanban_State.js +2 -2
- package/dist/hooks/Maintenance_Ticket_Kanban_State_Current.js +0 -98
- package/dist/hooks/Maintenance_Ticket_Material.js +2 -2
- package/dist/hooks/Maintenance_Ticket_Source.js +2 -2
- package/dist/hooks/Maintenance_Ticket_Title.js +2 -2
- package/dist/index.js +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.initScheduling = initScheduling;
|
|
7
|
+
exports.addJobToBree = addJobToBree;
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const catchError_1 = require("../../../helper/catchError");
|
|
10
|
+
const types_1 = require("../../../types");
|
|
11
|
+
const cron_1 = __importDefault(require("../../cron"));
|
|
12
|
+
/**
|
|
13
|
+
* This function is called upon initialization and uses bree to schedule all jobs.
|
|
14
|
+
*/
|
|
15
|
+
async function initScheduling() {
|
|
16
|
+
console.log("Init scheduling Maintenance_Schedule_Template jobs");
|
|
17
|
+
//Get all Maintenance_Schedule_Template objects
|
|
18
|
+
const [queryError, query] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Schedule_Template).find({
|
|
19
|
+
useMasterKey: true,
|
|
20
|
+
}));
|
|
21
|
+
//Create an new bree object for all Maintenance_Schedule_Template objects that have cron.is_one_time = false
|
|
22
|
+
if (queryError) {
|
|
23
|
+
console.error("Error while querying Maintenance_Schedule_Template objects", queryError);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
await addJobToBree(query);
|
|
27
|
+
}
|
|
28
|
+
async function addJobToBree(query) {
|
|
29
|
+
for (const schedule of query) {
|
|
30
|
+
const cron = schedule.get("cron");
|
|
31
|
+
const notifyBeforeDue = schedule.get("notifyBeforeDue");
|
|
32
|
+
// If the notifyBeforeDue field is set, we will schedule a job to run before the due date
|
|
33
|
+
if (notifyBeforeDue && notifyBeforeDue.value > 0) {
|
|
34
|
+
// Calculate the offset from the start date
|
|
35
|
+
const startdate = cron_1.default.calculateOffsetToExecution(schedule.get("cron").run_startdate, notifyBeforeDue);
|
|
36
|
+
//Add a job to bree to run at the calculated date
|
|
37
|
+
const newjob = {
|
|
38
|
+
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule_Notification_Before_Due"),
|
|
39
|
+
path: path_1.default.join(__dirname, "..", "jobs", "open_service_notifyBeforeSchedule.js"),
|
|
40
|
+
date: startdate,
|
|
41
|
+
interval: cron.is_one_time
|
|
42
|
+
? 0
|
|
43
|
+
: cron_1.default.createHumanReadableFormat(cron.run_cron),
|
|
44
|
+
hasSeconds: true,
|
|
45
|
+
worker: {
|
|
46
|
+
workerData: {
|
|
47
|
+
scheduleId: schedule.id,
|
|
48
|
+
ParseAppId: Parse.applicationId,
|
|
49
|
+
ParseJSKey: Parse.javaScriptKey,
|
|
50
|
+
ParseMasterKey: Parse.masterKey,
|
|
51
|
+
ParseServerURL: Parse.serverURL,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
await cron_1.default.addJob(newjob);
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
let newjob = undefined;
|
|
59
|
+
if (cron.is_one_time === false) {
|
|
60
|
+
if (cron.scheduletype === "human") {
|
|
61
|
+
newjob = {
|
|
62
|
+
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule"),
|
|
63
|
+
date: cron.run_startdate,
|
|
64
|
+
path: path_1.default.join(__dirname, "..", "jobs", "open_service_notifyOnSchedule.js"),
|
|
65
|
+
interval: cron_1.default.createHumanReadableFormat(cron.run_cron),
|
|
66
|
+
hasSeconds: true,
|
|
67
|
+
worker: {
|
|
68
|
+
workerData: {
|
|
69
|
+
scheduleId: schedule.id,
|
|
70
|
+
ParseAppId: Parse.applicationId,
|
|
71
|
+
ParseJSKey: Parse.javaScriptKey,
|
|
72
|
+
ParseMasterKey: Parse.masterKey,
|
|
73
|
+
ParseServerURL: Parse.serverURL,
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
else if (cron.scheduletype === "quartz") {
|
|
79
|
+
newjob = {
|
|
80
|
+
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule"),
|
|
81
|
+
cron: cron.run_cron,
|
|
82
|
+
path: path_1.default.join(__dirname, "..", "jobs", "open_service_notifyOnSchedule.js"),
|
|
83
|
+
timeout: 0,
|
|
84
|
+
interval: 0,
|
|
85
|
+
hasSeconds: true,
|
|
86
|
+
worker: {
|
|
87
|
+
workerData: {
|
|
88
|
+
scheduleId: schedule.id,
|
|
89
|
+
ParseAppId: Parse.applicationId,
|
|
90
|
+
ParseJSKey: Parse.javaScriptKey,
|
|
91
|
+
ParseMasterKey: Parse.masterKey,
|
|
92
|
+
ParseServerURL: Parse.serverURL,
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// If the job is a one time job, we will schedule it to run once
|
|
100
|
+
newjob = {
|
|
101
|
+
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule"),
|
|
102
|
+
date: cron.run_startdate,
|
|
103
|
+
path: path_1.default.join(__dirname, "..", "jobs", "open_service_notifyOnSchedule.js"),
|
|
104
|
+
interval: 0,
|
|
105
|
+
hasSeconds: true,
|
|
106
|
+
worker: {
|
|
107
|
+
workerData: {
|
|
108
|
+
scheduleId: schedule.id,
|
|
109
|
+
ParseAppId: Parse.applicationId,
|
|
110
|
+
ParseJSKey: Parse.javaScriptKey,
|
|
111
|
+
ParseMasterKey: Parse.masterKey,
|
|
112
|
+
ParseServerURL: Parse.serverURL,
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
await cron_1.default.addJob(newjob);
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
console.warn(`Error while adding job for schedule ${schedule.id}`, error);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateTicketDescription = updateTicketDescription;
|
|
4
|
+
exports.initTicketClass = initTicketClass;
|
|
5
|
+
const catchError_1 = require("../../../helper/catchError");
|
|
6
|
+
const types_1 = require("../../../types");
|
|
7
|
+
async function updateTicketDescription() {
|
|
8
|
+
while (true) {
|
|
9
|
+
const query = new Parse.Query(types_1.Maintenance_Ticket).doesNotExist("description");
|
|
10
|
+
query.limit(1000);
|
|
11
|
+
const tickets = await query.find({ useMasterKey: true });
|
|
12
|
+
if (tickets.length === 0)
|
|
13
|
+
break;
|
|
14
|
+
const allCreationMessages = await new Parse.Query(types_1.Maintenance_Message)
|
|
15
|
+
.equalTo("classname", types_1.Maintenance_Ticket.className)
|
|
16
|
+
.equalTo("title", "maintenance:ticket.create.database.subject.1")
|
|
17
|
+
.containedIn("referencedObjectId", tickets.map((ticket) => ticket.id))
|
|
18
|
+
.limit(1000000)
|
|
19
|
+
.find({ useMasterKey: true });
|
|
20
|
+
for (const ticket of tickets) {
|
|
21
|
+
const foundMessage = allCreationMessages.find((message) => message.get("referencedObjectId") === ticket.id);
|
|
22
|
+
ticket.set("description", foundMessage?.get("content") ?? " ");
|
|
23
|
+
}
|
|
24
|
+
await Parse.Object.saveAll(tickets, { useMasterKey: true });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async function initTicketClass() {
|
|
28
|
+
// Query all of Maintenance_Ticket and find all of Maintenance_Priority sort by createdAt in descending order
|
|
29
|
+
// get the objectid of the first object in the array and save it in the latestPriority field of the Maintenance_Ticket object
|
|
30
|
+
console.log("Maintenance_Ticket init: Check and save latestPriority");
|
|
31
|
+
const [ticketError, ticketResults] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Ticket).each(async (ticket) => {
|
|
32
|
+
if (!ticket.get("latestPriorityValue")) {
|
|
33
|
+
const [priorityError, priorityResult] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Priority)
|
|
34
|
+
.equalTo("ticket", ticket)
|
|
35
|
+
.descending("createdAt")
|
|
36
|
+
.first({ useMasterKey: true }));
|
|
37
|
+
if (priorityError) {
|
|
38
|
+
console.error("Maintenance_Priority error", priorityError);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (priorityResult === undefined) {
|
|
42
|
+
console.log("Maintenance_Ticket init: Check and save latestPriority: No priority found for ticket", ticket.id);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
ticket.set("latestPriorityValue", priorityResult.get("value"));
|
|
46
|
+
await ticket.save(null, { useMasterKey: true });
|
|
47
|
+
}
|
|
48
|
+
}, { useMasterKey: true }));
|
|
49
|
+
console.log("Maintenance_Ticket init: Check and save latestPriority done");
|
|
50
|
+
}
|
|
@@ -5,6 +5,7 @@ exports.default = initPermissions;
|
|
|
5
5
|
const __1 = require("..");
|
|
6
6
|
const catchError_1 = require("../../../helper/catchError");
|
|
7
7
|
const types_1 = require("../../../types");
|
|
8
|
+
const config_1 = require("../../config");
|
|
8
9
|
/**
|
|
9
10
|
* Returns all permissions defined in types/Permissions.ts as an array of Permission objects.
|
|
10
11
|
* @returns all permissions
|
|
@@ -12,13 +13,15 @@ const types_1 = require("../../../types");
|
|
|
12
13
|
function getAllPermissions() {
|
|
13
14
|
const permissions = []; // stores all permissions
|
|
14
15
|
for (const key in __1.Permissions) {
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
// check if the feature is enabled, if not, skip it
|
|
17
|
+
if (!(0, config_1.isFeatureEnabled)(key.toUpperCase())) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
19
20
|
// iterate over the objects / enums of the Permissions namespace
|
|
20
21
|
if (Object.prototype.hasOwnProperty.call(__1.Permissions, key)) {
|
|
21
22
|
const element = __1.Permissions[key]; // get the object / enum
|
|
23
|
+
console.log("[@openinc/parse-server-opendash] Registering permissions for feature: " +
|
|
24
|
+
key);
|
|
22
25
|
const createdPermissions = createPermission(element); // create Permission objects recursively
|
|
23
26
|
permissions.push(...createdPermissions);
|
|
24
27
|
}
|
|
@@ -87,11 +90,11 @@ async function registerPermissions(tenant) {
|
|
|
87
90
|
async function ensureDefaultAdminAccess(tenant) {
|
|
88
91
|
console.log("[@openinc/parse-server-opendash] Ensure default admin access permissions");
|
|
89
92
|
const [resultError, result] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Permission)
|
|
90
|
-
.equalTo("key", __1.Permissions.
|
|
93
|
+
.equalTo("key", __1.Permissions.CORE.adminoverview)
|
|
91
94
|
.equalTo("tenant", tenant)
|
|
92
95
|
.first({ useMasterKey: true }));
|
|
93
96
|
if (resultError) {
|
|
94
|
-
console.error("[@openinc/parse-server-opendash] Error while checking permission", __1.Permissions.
|
|
97
|
+
console.error("[@openinc/parse-server-opendash] Error while checking permission", __1.Permissions.CORE.adminoverview, resultError);
|
|
95
98
|
return;
|
|
96
99
|
}
|
|
97
100
|
if (result) {
|
|
@@ -104,7 +107,7 @@ async function ensureDefaultAdminAccess(tenant) {
|
|
|
104
107
|
await result.save(null, { useMasterKey: true });
|
|
105
108
|
}
|
|
106
109
|
else {
|
|
107
|
-
console.log("[@openinc/parse-server-opendash] Permission not found", __1.Permissions.
|
|
110
|
+
console.log("[@openinc/parse-server-opendash] Permission not found", __1.Permissions.CORE.adminoverview);
|
|
108
111
|
}
|
|
109
112
|
}
|
|
110
113
|
/**
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Adding new Permissions here requires the server to restart for registering those.
|
|
5
5
|
*/
|
|
6
6
|
export declare namespace Permissions {
|
|
7
|
-
enum
|
|
7
|
+
enum MAINTENANCE {
|
|
8
8
|
ticket = "maintenance:can-create-ticket",
|
|
9
9
|
schedule = "maintenance:can-create-schedule",
|
|
10
10
|
message = "maintenance:can-create-message",
|
|
@@ -16,7 +16,7 @@ export declare namespace Permissions {
|
|
|
16
16
|
monitoring = "maintenance:can-access-monitoring",
|
|
17
17
|
kanban_view = "maintenance:can-update-kanban-view"
|
|
18
18
|
}
|
|
19
|
-
enum
|
|
19
|
+
enum CORE {
|
|
20
20
|
adminoverview = "opendash:can-access-admin-overview"
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -9,27 +9,28 @@ exports.Permissions = void 0;
|
|
|
9
9
|
var Permissions;
|
|
10
10
|
(function (Permissions) {
|
|
11
11
|
// needs to be exported for getAllPermissions() to work
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
// make sure the enum names are called like the features in featuremap.json
|
|
13
|
+
let MAINTENANCE;
|
|
14
|
+
(function (MAINTENANCE) {
|
|
14
15
|
// Create
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
MAINTENANCE["ticket"] = "maintenance:can-create-ticket";
|
|
17
|
+
MAINTENANCE["schedule"] = "maintenance:can-create-schedule";
|
|
18
|
+
MAINTENANCE["message"] = "maintenance:can-create-message";
|
|
19
|
+
MAINTENANCE["machinelog_ticket"] = "maintenance:can-create-machinelog-ticket";
|
|
20
|
+
MAINTENANCE["machinelog_schedule"] = "maintenance:can-create-machinelog-schedule";
|
|
21
|
+
MAINTENANCE["machinelog_message"] = "maintenance:can-create-machinelog-message";
|
|
21
22
|
// Access
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
MAINTENANCE["global"] = "maintenance:can-access-global";
|
|
24
|
+
MAINTENANCE["monitor"] = "maintenance:can-access-monitor";
|
|
25
|
+
MAINTENANCE["monitoring"] = "maintenance:can-access-monitoring";
|
|
25
26
|
// Update
|
|
26
|
-
|
|
27
|
-
})(
|
|
28
|
-
let
|
|
29
|
-
(function (
|
|
27
|
+
MAINTENANCE["kanban_view"] = "maintenance:can-update-kanban-view";
|
|
28
|
+
})(MAINTENANCE = Permissions.MAINTENANCE || (Permissions.MAINTENANCE = {}));
|
|
29
|
+
let CORE;
|
|
30
|
+
(function (CORE) {
|
|
30
31
|
//Access
|
|
31
|
-
|
|
32
|
-
})(
|
|
32
|
+
CORE["adminoverview"] = "opendash:can-access-admin-overview";
|
|
33
|
+
})(CORE = Permissions.CORE || (Permissions.CORE = {}));
|
|
33
34
|
// can also be used for nested permissions
|
|
34
35
|
// Example:
|
|
35
36
|
// export namespace TestPlugin {
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const openservice_1 = require("../features/openservice");
|
|
6
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
6
7
|
const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data");
|
|
7
8
|
const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
|
|
8
9
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
9
10
|
const types_1 = require("../types");
|
|
10
|
-
const Maintenance_Message_1 = require("./Maintenance_Message");
|
|
11
11
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DOWNTIME.TITLE;
|
|
12
12
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DOWNTIME.CONTENT;
|
|
13
13
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.DOWNTIME.TITLE;
|
|
@@ -25,7 +25,7 @@ async function init() {
|
|
|
25
25
|
});
|
|
26
26
|
// if an entry was removed, remove the message as well
|
|
27
27
|
if (removedEntry)
|
|
28
|
-
(0,
|
|
28
|
+
(0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
|
|
29
29
|
});
|
|
30
30
|
(0, __1.afterSaveHook)(types_1.Maintenance_Downtime, async (request) => {
|
|
31
31
|
const { object, original, user } = request;
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const openservice_1 = require("../features/openservice");
|
|
6
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
6
7
|
const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data");
|
|
7
8
|
const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
|
|
8
9
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
9
10
|
const types_1 = require("../types");
|
|
10
|
-
const Maintenance_Message_1 = require("./Maintenance_Message");
|
|
11
11
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DUEDATE.TITLE;
|
|
12
12
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DUEDATE.CONTENT;
|
|
13
13
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.DUEDATE.TITLE;
|
|
@@ -25,7 +25,7 @@ async function init() {
|
|
|
25
25
|
});
|
|
26
26
|
// if an entry was removed, remove the message as well
|
|
27
27
|
if (removedEntry)
|
|
28
|
-
(0,
|
|
28
|
+
(0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
|
|
29
29
|
});
|
|
30
30
|
(0, __1.afterSaveHook)(types_1.Maintenance_Duedate, async (request) => {
|
|
31
31
|
const { object, original, user } = request;
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const openservice_1 = require("../features/openservice");
|
|
6
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
6
7
|
const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data");
|
|
7
8
|
const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
|
|
8
9
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
9
10
|
const types_1 = require("../types");
|
|
10
|
-
const Maintenance_Message_1 = require("./Maintenance_Message");
|
|
11
11
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.FREQUENCY.TITLE;
|
|
12
12
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.FREQUENCY.CONTENT;
|
|
13
13
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.FREQUENCY.TITLE;
|
|
@@ -25,7 +25,7 @@ async function init() {
|
|
|
25
25
|
});
|
|
26
26
|
// if an entry was removed, remove the message as well
|
|
27
27
|
if (removedEntry)
|
|
28
|
-
(0,
|
|
28
|
+
(0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
|
|
29
29
|
});
|
|
30
30
|
(0, __1.afterSaveHook)(types_1.Maintenance_Frequency, async (request) => {
|
|
31
31
|
const { object, original, user } = request;
|
|
@@ -4,7 +4,6 @@ exports.init = init;
|
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
async function init() {
|
|
7
|
-
initEnabledFlag();
|
|
8
7
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Kanban_State, async (request) => {
|
|
9
8
|
const { object, original, user } = request;
|
|
10
9
|
await (0, __1.defaultHandler)(request);
|
|
@@ -16,12 +15,3 @@ async function init() {
|
|
|
16
15
|
// TODO
|
|
17
16
|
});
|
|
18
17
|
}
|
|
19
|
-
async function initEnabledFlag() {
|
|
20
|
-
const objects = await new Parse.Query(types_1.Maintenance_Kanban_State)
|
|
21
|
-
.limit(1000000000)
|
|
22
|
-
.find({ useMasterKey: true });
|
|
23
|
-
const promises = objects.map((object) => {
|
|
24
|
-
object.save({ enabled: object.enabled === undefined ? true : object.enabled }, { useMasterKey: true });
|
|
25
|
-
});
|
|
26
|
-
await Promise.all(promises);
|
|
27
|
-
}
|
|
@@ -1,8 +1 @@
|
|
|
1
1
|
export declare function init(): Promise<void>;
|
|
2
|
-
/**
|
|
3
|
-
* Removes the latest message. as context the title and content are used (should be translation strings)
|
|
4
|
-
* @param entry the entry to remove the message for
|
|
5
|
-
* @param title translation string for the title
|
|
6
|
-
* @param content translation string for the content
|
|
7
|
-
*/
|
|
8
|
-
export declare function removeLatestMessage(entry: Parse.Object, title: string, content: string): Promise<boolean>;
|