@openinc/parse-server-opendash 2.4.87 → 2.4.88
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.
|
@@ -12,15 +12,8 @@ async function handleRequest(request) {
|
|
|
12
12
|
if (typeof request.user === "undefined") {
|
|
13
13
|
return { success: false, error: "User not found" };
|
|
14
14
|
}
|
|
15
|
-
console.log("Handling request with", request.params);
|
|
15
|
+
console.log("openinc-openservice-ticket-data: Handling request with", request.params);
|
|
16
16
|
try {
|
|
17
|
-
// const time = new Date().getTime();
|
|
18
|
-
//Log the time
|
|
19
|
-
// console.log(
|
|
20
|
-
// `Function openinc-openservice-ticket-data runs for: ${
|
|
21
|
-
// (new Date().getTime() - time) / 1000
|
|
22
|
-
// }s. Next: Constructing queries`
|
|
23
|
-
// );
|
|
24
17
|
const queries = [];
|
|
25
18
|
for await (const config of request.params.config) {
|
|
26
19
|
let ticketQuery = new Parse.Query(types_1.Maintenance_Ticket).equalTo("enabled", true);
|
|
@@ -44,12 +37,6 @@ async function handleRequest(request) {
|
|
|
44
37
|
let ticketQuery = request.params.junction === "or"
|
|
45
38
|
? Parse.Query.or(...queries)
|
|
46
39
|
: Parse.Query.and(...queries);
|
|
47
|
-
//Log the time
|
|
48
|
-
// console.log(
|
|
49
|
-
// `Function openinc-openservice-ticket-data runs for: ${
|
|
50
|
-
// (new Date().getTime() - time) / 1000
|
|
51
|
-
// }s. Next: Sorting and Pagination`
|
|
52
|
-
// );
|
|
53
40
|
if (request.params.config[0].sortBy && request.params.config[0].order) {
|
|
54
41
|
ticketQuery = ticketQuery.includeAll();
|
|
55
42
|
if (request.params.config[0].order === "asc") {
|
|
@@ -61,6 +48,8 @@ async function handleRequest(request) {
|
|
|
61
48
|
ticketQuery = ticketQuery.descending(request.params.config[0].sortBy);
|
|
62
49
|
}
|
|
63
50
|
}
|
|
51
|
+
// get total count of tickets before applying pagination
|
|
52
|
+
const totalCount = await ticketQuery.count({ useMasterKey: true });
|
|
64
53
|
if (request.params.config[0].skip !== undefined &&
|
|
65
54
|
request.params.config[0].limit !== undefined) {
|
|
66
55
|
ticketQuery = ticketQuery
|
|
@@ -71,21 +60,8 @@ async function handleRequest(request) {
|
|
|
71
60
|
if (ticketError) {
|
|
72
61
|
throw ticketError;
|
|
73
62
|
}
|
|
74
|
-
// console.log(
|
|
75
|
-
// `Function openinc-openservice-ticket-data runs for: ${
|
|
76
|
-
// (new Date().getTime() - time) / 1000
|
|
77
|
-
// }s. Next: Fetch ticket data`
|
|
78
|
-
// );
|
|
79
|
-
// get total count of tickets before applying pagination
|
|
80
|
-
const totalCount = ticketsResult.length;
|
|
81
63
|
// fetch ticket data for those tickets
|
|
82
64
|
const ticketData = await getTicketData(ticketsResult);
|
|
83
|
-
//Log the time taken to fetch the data in seconds
|
|
84
|
-
// console.log(
|
|
85
|
-
// `Total time taken to execute function openinc-openservice-ticket-data: ${
|
|
86
|
-
// (new Date().getTime() - time) / 1000
|
|
87
|
-
// }s`
|
|
88
|
-
// );
|
|
89
65
|
return {
|
|
90
66
|
success: true,
|
|
91
67
|
data: ticketData,
|
|
@@ -5,40 +5,46 @@ const __1 = require("..");
|
|
|
5
5
|
const catchError_1 = require("../helper/catchError");
|
|
6
6
|
const types_1 = require("../types");
|
|
7
7
|
async function init() {
|
|
8
|
-
|
|
9
|
-
// get the objectid of the first object in the array and save it in the latestPriority field of the Maintenance_Ticket object
|
|
10
|
-
console.log("Maintenance_Ticket init: Check and save latestPriority");
|
|
11
|
-
const [ticketError, ticketResults] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Ticket).find({ useMasterKey: true }));
|
|
12
|
-
if (ticketError) {
|
|
13
|
-
console.error("Maintenance_Ticket error", ticketError);
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
const savePromises = ticketResults.map(async (ticket) => {
|
|
17
|
-
if (!ticket.get("latestPriorityValue")) {
|
|
18
|
-
const [priorityError, priorityResult] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Priority)
|
|
19
|
-
.equalTo("ticket", ticket)
|
|
20
|
-
.descending("createdAt")
|
|
21
|
-
.first({ useMasterKey: true }));
|
|
22
|
-
if (priorityError) {
|
|
23
|
-
console.error("Maintenance_Priority error", priorityError);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
ticket.set("latestPriorityValue", priorityResult?.get("value"));
|
|
27
|
-
return await ticket.save(null, { useMasterKey: true });
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
await Promise.all(savePromises);
|
|
8
|
+
await initClass();
|
|
31
9
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket, async (request) => {
|
|
32
10
|
const { object, original, user } = request;
|
|
33
11
|
await (0, __1.defaultHandler)(request);
|
|
34
12
|
await (0, __1.defaultAclHandler)(request);
|
|
35
|
-
// TODO
|
|
36
13
|
});
|
|
37
14
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket, async (request) => {
|
|
38
15
|
const { object, original, user, master } = request;
|
|
39
16
|
if (!master && original && original.get("createdAt")) {
|
|
40
17
|
object.save({ createdAt: original.get("createdAt") }, { useMasterKey: true });
|
|
41
18
|
}
|
|
42
|
-
// TODO
|
|
43
19
|
});
|
|
20
|
+
async function initClass() {
|
|
21
|
+
// Query all of Maintenance_Ticket and find all of Maintenance_Priority sort by createdAt in descending order
|
|
22
|
+
// get the objectid of the first object in the array and save it in the latestPriority field of the Maintenance_Ticket object
|
|
23
|
+
console.log("Maintenance_Ticket init: Check and save latestPriority");
|
|
24
|
+
const [ticketError, ticketResults] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Ticket).find({ useMasterKey: true }));
|
|
25
|
+
if (ticketError) {
|
|
26
|
+
console.error("Maintenance_Ticket error", ticketError);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const savePromises = ticketResults.map(async (ticket) => {
|
|
30
|
+
if (!ticket.get("latestPriorityValue")) {
|
|
31
|
+
const [priorityError, priorityResult] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Priority)
|
|
32
|
+
.equalTo("ticket", ticket)
|
|
33
|
+
.descending("createdAt")
|
|
34
|
+
.first({ useMasterKey: true }));
|
|
35
|
+
if (priorityError) {
|
|
36
|
+
console.error("Maintenance_Priority error", priorityError);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (typeof priorityResult === "undefined") {
|
|
40
|
+
console.log("Maintenance_Ticket init: Check and save latestPriority: No priority found for ticket", ticket.id);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
ticket.set("latestPriorityValue", priorityResult.get("value"));
|
|
44
|
+
return await ticket.save(null, { useMasterKey: true });
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
await Promise.all(savePromises);
|
|
48
|
+
console.log("Maintenance_Ticket init: Check and save latestPriority done");
|
|
49
|
+
}
|
|
44
50
|
}
|