@openinc/parse-server-opendash 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/openservice/functions/saveDescription.d.ts +4 -0
- package/dist/features/openservice/functions/saveDescription.js +7 -0
- package/dist/features/openservice/functions/saveMessage.js +0 -17
- package/dist/features/openservice/index.d.ts +2 -0
- package/dist/features/openservice/index.js +5 -1
- package/dist/features/openservice/init.d.ts +1 -0
- package/dist/features/openservice/init.js +17 -0
- package/dist/features/openservice/kanbanState/initKanbanStates.d.ts +6 -0
- package/dist/features/openservice/kanbanState/initKanbanStates.js +111 -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/openservice/types/SaveValues.d.ts +1 -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/functions/openinc-openservice-save-ticket-data.js +3 -1
- 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 +3 -0
- package/dist/types/Maintenance_Ticket.d.ts +1 -0
- package/package.json +1 -1
- package/schema/Maintenance_Ticket.json +4 -0
- package/schema/Maintenance_Ticket_FormConfig.json +5 -0
|
@@ -5,14 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.init = init;
|
|
7
7
|
const bree_1 = __importDefault(require("bree"));
|
|
8
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
9
8
|
const __1 = require("..");
|
|
10
9
|
const cron_1 = __importDefault(require("../features/cron"));
|
|
11
|
-
const catchError_1 = require("../helper/catchError");
|
|
12
10
|
const types_1 = require("../types");
|
|
11
|
+
const initScheduling_1 = require("../features/openservice/schedules/initScheduling");
|
|
13
12
|
bree_1.default.extend(require("@breejs/ts-worker"));
|
|
14
13
|
async function init() {
|
|
15
|
-
initScheduling();
|
|
16
14
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Schedule_Template, async (request) => {
|
|
17
15
|
const { object, original, user } = request;
|
|
18
16
|
await (0, __1.defaultHandler)(request);
|
|
@@ -20,7 +18,7 @@ async function init() {
|
|
|
20
18
|
});
|
|
21
19
|
(0, __1.afterSaveHook)(types_1.Maintenance_Schedule_Template, async (request) => {
|
|
22
20
|
const { object, original, user } = request;
|
|
23
|
-
await addJobToBree([object]);
|
|
21
|
+
await (0, initScheduling_1.addJobToBree)([object]);
|
|
24
22
|
});
|
|
25
23
|
(0, __1.beforeDeleteHook)(types_1.Maintenance_Schedule_Template, async (request) => {
|
|
26
24
|
const { object, original, user } = request;
|
|
@@ -33,116 +31,4 @@ async function init() {
|
|
|
33
31
|
await cron_1.default.removeJob(cron_1.default.constructJobName(object.id, "Maintenance_Schedule"));
|
|
34
32
|
});
|
|
35
33
|
(0, __1.afterDeleteHook)(types_1.Maintenance_Schedule_Template, async (request) => { });
|
|
36
|
-
/**
|
|
37
|
-
* This function is called upon initialization and uses bree to schedule all jobs.
|
|
38
|
-
*/
|
|
39
|
-
async function initScheduling() {
|
|
40
|
-
console.log("Init scheduling Maintenance_Schedule_Template jobs");
|
|
41
|
-
//Get all Maintenance_Schedule_Template objects
|
|
42
|
-
const [queryError, query] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Schedule_Template).find({
|
|
43
|
-
useMasterKey: true,
|
|
44
|
-
}));
|
|
45
|
-
//Create an new bree object for all Maintenance_Schedule_Template objects that have cron.is_one_time = false
|
|
46
|
-
if (queryError) {
|
|
47
|
-
console.error("Error while querying Maintenance_Schedule_Template objects", queryError);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
await addJobToBree(query);
|
|
51
|
-
}
|
|
52
|
-
async function addJobToBree(query) {
|
|
53
|
-
for (const schedule of query) {
|
|
54
|
-
const cron = schedule.get("cron");
|
|
55
|
-
const notifyBeforeDue = schedule.get("notifyBeforeDue");
|
|
56
|
-
// If the notifyBeforeDue field is set, we will schedule a job to run before the due date
|
|
57
|
-
if (notifyBeforeDue && notifyBeforeDue.value > 0) {
|
|
58
|
-
// Calculate the offset from the start date
|
|
59
|
-
const startdate = cron_1.default.calculateOffsetToExecution(schedule.get("cron").run_startdate, notifyBeforeDue);
|
|
60
|
-
//Add a job to bree to run at the calculated date
|
|
61
|
-
const newjob = {
|
|
62
|
-
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule_Notification_Before_Due"),
|
|
63
|
-
path: node_path_1.default.join(__dirname, "..", "jobs", "open_service_notifyBeforeSchedule.js"),
|
|
64
|
-
date: startdate,
|
|
65
|
-
interval: cron.is_one_time
|
|
66
|
-
? 0
|
|
67
|
-
: cron_1.default.createHumanReadableFormat(cron.run_cron),
|
|
68
|
-
hasSeconds: true,
|
|
69
|
-
worker: {
|
|
70
|
-
workerData: {
|
|
71
|
-
scheduleId: schedule.id,
|
|
72
|
-
ParseAppId: Parse.applicationId,
|
|
73
|
-
ParseJSKey: Parse.javaScriptKey,
|
|
74
|
-
ParseMasterKey: Parse.masterKey,
|
|
75
|
-
ParseServerURL: Parse.serverURL,
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
await cron_1.default.addJob(newjob);
|
|
80
|
-
}
|
|
81
|
-
try {
|
|
82
|
-
let newjob = undefined;
|
|
83
|
-
if (cron.is_one_time === false) {
|
|
84
|
-
if (cron.scheduletype === "human") {
|
|
85
|
-
newjob = {
|
|
86
|
-
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule"),
|
|
87
|
-
date: cron.run_startdate,
|
|
88
|
-
path: node_path_1.default.join(__dirname, "..", "jobs", "open_service_notifyOnSchedule.js"),
|
|
89
|
-
interval: cron_1.default.createHumanReadableFormat(cron.run_cron),
|
|
90
|
-
hasSeconds: true,
|
|
91
|
-
worker: {
|
|
92
|
-
workerData: {
|
|
93
|
-
scheduleId: schedule.id,
|
|
94
|
-
ParseAppId: Parse.applicationId,
|
|
95
|
-
ParseJSKey: Parse.javaScriptKey,
|
|
96
|
-
ParseMasterKey: Parse.masterKey,
|
|
97
|
-
ParseServerURL: Parse.serverURL,
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
else if (cron.scheduletype === "quartz") {
|
|
103
|
-
newjob = {
|
|
104
|
-
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule"),
|
|
105
|
-
cron: cron.run_cron,
|
|
106
|
-
path: node_path_1.default.join(__dirname, "..", "jobs", "open_service_notifyOnSchedule.js"),
|
|
107
|
-
timeout: 0,
|
|
108
|
-
interval: 0,
|
|
109
|
-
hasSeconds: true,
|
|
110
|
-
worker: {
|
|
111
|
-
workerData: {
|
|
112
|
-
scheduleId: schedule.id,
|
|
113
|
-
ParseAppId: Parse.applicationId,
|
|
114
|
-
ParseJSKey: Parse.javaScriptKey,
|
|
115
|
-
ParseMasterKey: Parse.masterKey,
|
|
116
|
-
ParseServerURL: Parse.serverURL,
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
// If the job is a one time job, we will schedule it to run once
|
|
124
|
-
newjob = {
|
|
125
|
-
name: cron_1.default.constructJobName(schedule.id, "Maintenance_Schedule"),
|
|
126
|
-
date: cron.run_startdate,
|
|
127
|
-
path: node_path_1.default.join(__dirname, "..", "jobs", "open_service_notifyOnSchedule.js"),
|
|
128
|
-
interval: 0,
|
|
129
|
-
hasSeconds: true,
|
|
130
|
-
worker: {
|
|
131
|
-
workerData: {
|
|
132
|
-
scheduleId: schedule.id,
|
|
133
|
-
ParseAppId: Parse.applicationId,
|
|
134
|
-
ParseJSKey: Parse.javaScriptKey,
|
|
135
|
-
ParseMasterKey: Parse.masterKey,
|
|
136
|
-
ParseServerURL: Parse.serverURL,
|
|
137
|
-
},
|
|
138
|
-
},
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
await cron_1.default.addJob(newjob);
|
|
142
|
-
}
|
|
143
|
-
catch (error) {
|
|
144
|
-
console.warn(`Error while adding job for schedule ${schedule.id}`, error);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
34
|
}
|
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
-
const catchError_1 = require("../helper/catchError");
|
|
6
5
|
const types_1 = require("../types");
|
|
7
6
|
async function init() {
|
|
8
|
-
await initClass();
|
|
9
7
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket, async (request) => {
|
|
10
8
|
const { object, original, user } = request;
|
|
11
9
|
await (0, __1.defaultHandler)(request);
|
|
@@ -14,28 +12,4 @@ async function init() {
|
|
|
14
12
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket, async (request) => {
|
|
15
13
|
const { object, original, user, master } = request;
|
|
16
14
|
});
|
|
17
|
-
async function initClass() {
|
|
18
|
-
// Query all of Maintenance_Ticket and find all of Maintenance_Priority sort by createdAt in descending order
|
|
19
|
-
// get the objectid of the first object in the array and save it in the latestPriority field of the Maintenance_Ticket object
|
|
20
|
-
console.log("Maintenance_Ticket init: Check and save latestPriority");
|
|
21
|
-
const [ticketError, ticketResults] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Ticket).each(async (ticket) => {
|
|
22
|
-
if (!ticket.get("latestPriorityValue")) {
|
|
23
|
-
const [priorityError, priorityResult] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Priority)
|
|
24
|
-
.equalTo("ticket", ticket)
|
|
25
|
-
.descending("createdAt")
|
|
26
|
-
.first({ useMasterKey: true }));
|
|
27
|
-
if (priorityError) {
|
|
28
|
-
console.error("Maintenance_Priority error", priorityError);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
if (priorityResult === undefined) {
|
|
32
|
-
console.log("Maintenance_Ticket init: Check and save latestPriority: No priority found for ticket", ticket.id);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
ticket.set("latestPriorityValue", priorityResult.get("value"));
|
|
36
|
-
await ticket.save(null, { useMasterKey: true });
|
|
37
|
-
}
|
|
38
|
-
}, { useMasterKey: true }));
|
|
39
|
-
console.log("Maintenance_Ticket init: Check and save latestPriority done");
|
|
40
|
-
}
|
|
41
15
|
}
|
|
@@ -7,7 +7,7 @@ const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-ope
|
|
|
7
7
|
const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
|
|
8
8
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
9
9
|
const types_1 = require("../types");
|
|
10
|
-
const
|
|
10
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
11
11
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.ISSUECATEGORY.TITLE;
|
|
12
12
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.ISSUECATEGORY.CONTENT;
|
|
13
13
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.ISSUECATEGORY.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_Ticket_Issuecategory, async (request) => {
|
|
31
31
|
const { object, original, user } = request;
|
|
@@ -7,7 +7,7 @@ const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-ope
|
|
|
7
7
|
const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
|
|
8
8
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
9
9
|
const types_1 = require("../types");
|
|
10
|
-
const
|
|
10
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
11
11
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.KANBANSTATE.TITLE;
|
|
12
12
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.KANBANSTATE.CONTENT;
|
|
13
13
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.KANBANSTATE.TITLE;
|
|
@@ -31,7 +31,7 @@ async function init() {
|
|
|
31
31
|
});
|
|
32
32
|
// if an entry was removed, remove the message as well
|
|
33
33
|
if (removedEntry)
|
|
34
|
-
(0,
|
|
34
|
+
(0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
|
|
35
35
|
});
|
|
36
36
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Kanban_State, async (request) => {
|
|
37
37
|
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
|
-
await initCurrentTicketStates();
|
|
8
7
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_Kanban_State_Current, async (request) => {
|
|
9
8
|
const { object, original, user } = request;
|
|
10
9
|
await (0, __1.defaultHandler)(request);
|
|
@@ -14,100 +13,3 @@ async function init() {
|
|
|
14
13
|
const { object, original, user } = request;
|
|
15
14
|
});
|
|
16
15
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Initialize the current ticket states table. if a ticket has no entry in the current ticket states table, create one.
|
|
19
|
-
* If the ticket has no state, initialize it with the inbox state.
|
|
20
|
-
*/
|
|
21
|
-
async function initCurrentTicketStates() {
|
|
22
|
-
console.log("Initializing current ticket states table");
|
|
23
|
-
// Getting the tickets that have no entry in the current ticket states table (OD3_Maintenance_Ticket_Kanban_State_Current)
|
|
24
|
-
const ticketsWithoutEntry = await new Parse.Query(types_1.Maintenance_Ticket)
|
|
25
|
-
.doesNotMatchKeyInQuery("objectId",
|
|
26
|
-
//@ts-ignore
|
|
27
|
-
"ticket.objectId", new Parse.Query(types_1.Maintenance_Ticket_Kanban_State_Current).select("ticket"))
|
|
28
|
-
.find({ useMasterKey: true });
|
|
29
|
-
// for each ticket not in the table, create an entry
|
|
30
|
-
for (const ticket of ticketsWithoutEntry) {
|
|
31
|
-
const currentTicketState = await new Parse.Query(types_1.Maintenance_Ticket_Kanban_State)
|
|
32
|
-
.includeAll()
|
|
33
|
-
.equalTo("ticket", ticket)
|
|
34
|
-
.descending("createdAt")
|
|
35
|
-
.first({ useMasterKey: true });
|
|
36
|
-
const tenant = ticket.get("tenant");
|
|
37
|
-
const user = ticket.get("user");
|
|
38
|
-
if (tenant === undefined || user === undefined) {
|
|
39
|
-
console.error("Tenant or user is undefined for ticket", ticket.id);
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
// if the ticket has a state, create an entry in the current ticket states table
|
|
43
|
-
if (currentTicketState) {
|
|
44
|
-
const newTicketState = new types_1.Maintenance_Ticket_Kanban_State_Current({
|
|
45
|
-
ticket: ticket,
|
|
46
|
-
ticketState: currentTicketState,
|
|
47
|
-
state: currentTicketState.get("state"),
|
|
48
|
-
tenant: tenant,
|
|
49
|
-
});
|
|
50
|
-
const acl = new Parse.ACL();
|
|
51
|
-
acl.setPublicReadAccess(false);
|
|
52
|
-
acl.setPublicWriteAccess(false);
|
|
53
|
-
acl.setRoleReadAccess("od-admin", true);
|
|
54
|
-
acl.setRoleWriteAccess("od-admin", true);
|
|
55
|
-
acl.setReadAccess(user.id, true);
|
|
56
|
-
acl.setWriteAccess(user.id, true);
|
|
57
|
-
acl.setRoleReadAccess(`od-tenant-user-${tenant.id}`, true);
|
|
58
|
-
acl.setRoleWriteAccess(`od-tenant-user-${tenant.id}`, true);
|
|
59
|
-
acl.setRoleReadAccess(`od-tenant-admin-${tenant.id}`, true);
|
|
60
|
-
acl.setRoleWriteAccess(`od-tenant-admin-${tenant.id}`, true);
|
|
61
|
-
newTicketState.setACL(acl);
|
|
62
|
-
await newTicketState.save(null, { useMasterKey: true });
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
// if the ticket has no state, initialize it with the inbox state
|
|
66
|
-
const inboxState = await new Parse.Query(types_1.Maintenance_Kanban_State)
|
|
67
|
-
.equalTo("isInbox", true)
|
|
68
|
-
.first({ useMasterKey: true });
|
|
69
|
-
// saving the ticket state will automatically create an entry in the current ticket states table due to the afterSave-Hook
|
|
70
|
-
const newkanbanstate = new types_1.Maintenance_Ticket_Kanban_State({
|
|
71
|
-
ticket: ticket,
|
|
72
|
-
state: inboxState,
|
|
73
|
-
tenant: tenant,
|
|
74
|
-
user: user,
|
|
75
|
-
});
|
|
76
|
-
const acl = new Parse.ACL();
|
|
77
|
-
acl.setPublicReadAccess(false);
|
|
78
|
-
acl.setPublicWriteAccess(false);
|
|
79
|
-
acl.setRoleReadAccess("od-admin", true);
|
|
80
|
-
acl.setRoleWriteAccess("od-admin", true);
|
|
81
|
-
acl.setReadAccess(user.id, true);
|
|
82
|
-
acl.setWriteAccess(user.id, true);
|
|
83
|
-
acl.setRoleReadAccess(`od-tenant-user-${tenant.id}`, true);
|
|
84
|
-
acl.setRoleWriteAccess(`od-tenant-user-${tenant.id}`, true);
|
|
85
|
-
acl.setRoleReadAccess(`od-tenant-admin-${tenant.id}`, true);
|
|
86
|
-
acl.setRoleWriteAccess(`od-tenant-admin-${tenant.id}`, true);
|
|
87
|
-
newkanbanstate.setACL(acl);
|
|
88
|
-
const savedkanbanstate = await newkanbanstate.save(null, {
|
|
89
|
-
useMasterKey: true,
|
|
90
|
-
});
|
|
91
|
-
const currentTicketState = await new Parse.Query(types_1.Maintenance_Ticket_Kanban_State_Current)
|
|
92
|
-
.equalTo("ticket", savedkanbanstate.get("ticket"))
|
|
93
|
-
.first({ useMasterKey: true });
|
|
94
|
-
// if the ticket is already in the current state table, update it
|
|
95
|
-
if (currentTicketState) {
|
|
96
|
-
currentTicketState.set("ticketState", savedkanbanstate);
|
|
97
|
-
currentTicketState.set("state", savedkanbanstate.get("state"));
|
|
98
|
-
await currentTicketState.save(null, { useMasterKey: true });
|
|
99
|
-
}
|
|
100
|
-
// if the ticket is not in the current state table, create a new entry
|
|
101
|
-
else {
|
|
102
|
-
const newTicketState = new types_1.Maintenance_Ticket_Kanban_State_Current({
|
|
103
|
-
ticket: savedkanbanstate.get("ticket"),
|
|
104
|
-
ticketState: savedkanbanstate,
|
|
105
|
-
state: savedkanbanstate.get("state"),
|
|
106
|
-
tenant: savedkanbanstate.get("tenant"),
|
|
107
|
-
});
|
|
108
|
-
await newTicketState.save(null, { useMasterKey: true });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
console.log("Current ticket states table initialized");
|
|
113
|
-
}
|
|
@@ -9,7 +9,7 @@ const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-ope
|
|
|
9
9
|
const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
|
|
10
10
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
11
11
|
const types_1 = require("../types");
|
|
12
|
-
const
|
|
12
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
13
13
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.MATERIAL.TITLE;
|
|
14
14
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.MATERIAL.CONTENT;
|
|
15
15
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.MATERIAL.TITLE;
|
|
@@ -27,7 +27,7 @@ async function init() {
|
|
|
27
27
|
});
|
|
28
28
|
// if an entry was removed, remove the message as well
|
|
29
29
|
if (removedEntry)
|
|
30
|
-
(0,
|
|
30
|
+
(0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
|
|
31
31
|
});
|
|
32
32
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Material, async (request) => {
|
|
33
33
|
const { object, original, user } = request;
|
|
@@ -6,7 +6,7 @@ const openservice_1 = require("../features/openservice");
|
|
|
6
6
|
const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data");
|
|
7
7
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
8
8
|
const types_1 = require("../types");
|
|
9
|
-
const
|
|
9
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
10
10
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.SOURCE.TITLE;
|
|
11
11
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.SOURCE.CONTENT;
|
|
12
12
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.SOURCE.TITLE;
|
|
@@ -24,7 +24,7 @@ async function init() {
|
|
|
24
24
|
});
|
|
25
25
|
// if an entry was removed, remove the message as well
|
|
26
26
|
if (removedEntry)
|
|
27
|
-
(0,
|
|
27
|
+
(0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
|
|
28
28
|
});
|
|
29
29
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Source, async (request) => {
|
|
30
30
|
const { object, original, user } = request;
|
|
@@ -7,7 +7,7 @@ const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-ope
|
|
|
7
7
|
const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
|
|
8
8
|
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
9
9
|
const types_1 = require("../types");
|
|
10
|
-
const
|
|
10
|
+
const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
|
|
11
11
|
const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.TITLE.TITLE;
|
|
12
12
|
const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.TITLE.CONTENT;
|
|
13
13
|
const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.TITLE.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
|
// TODO
|
|
30
30
|
});
|
|
31
31
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Title, async (request) => {
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,7 @@ const createRandomPassword_1 = require("./helper/createRandomPassword");
|
|
|
36
36
|
const Core_Email_1 = require("./hooks/Core_Email");
|
|
37
37
|
const _init_2 = require("./hooks/_init");
|
|
38
38
|
const types_1 = require("./types");
|
|
39
|
+
const openservice_1 = require("./features/openservice");
|
|
39
40
|
var Core_Email_2 = require("./hooks/Core_Email");
|
|
40
41
|
Object.defineProperty(exports, "sendSimpleEmail", { enumerable: true, get: function () { return Core_Email_2.sendSimpleEmail; } });
|
|
41
42
|
Object.defineProperty(exports, "sendTemplateEmail", { enumerable: true, get: function () { return Core_Email_2.sendTemplateEmail; } });
|
|
@@ -73,6 +74,8 @@ async function init() {
|
|
|
73
74
|
await (0, permissions_1.initPermissions)();
|
|
74
75
|
await (0, notifications_1.initNotifications)();
|
|
75
76
|
await (0, settings_1.initUserSettings)();
|
|
77
|
+
if ((0, config_1.isFeatureEnabled)("MAINTENANCE"))
|
|
78
|
+
await (0, openservice_1.init)();
|
|
76
79
|
}
|
|
77
80
|
async function initTranslations() {
|
|
78
81
|
// try {
|
|
@@ -10,6 +10,7 @@ export interface Maintenance_TicketAttributes {
|
|
|
10
10
|
assignedroles: Parse.Relation<Maintenance_Ticket, _Role>;
|
|
11
11
|
assignedusers: Parse.Relation<Maintenance_Ticket, _User>;
|
|
12
12
|
enabled: boolean;
|
|
13
|
+
description?: string;
|
|
13
14
|
latestPriorityValue?: number;
|
|
14
15
|
meta?: any;
|
|
15
16
|
project?: Maintenance_Project;
|
package/package.json
CHANGED