@openinc/parse-server-opendash 2.4.82 → 2.4.84

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.
@@ -13,6 +13,9 @@ async function handleRequest(request) {
13
13
  }
14
14
  console.log("Handling request with", request.params);
15
15
  try {
16
+ const time = new Date().getTime();
17
+ //Log the time taken to fetch the data in seconds
18
+ console.log(`Function openinc-openservice-ticket-data runs for: ${(new Date().getTime() - time) / 1000}s. Next: Constructing queries`);
16
19
  const queries = [];
17
20
  for await (const config of request.params.config) {
18
21
  let ticketQuery = new Parse.Query(types_1.Maintenance_Ticket).equalTo("enabled", true);
@@ -42,8 +45,12 @@ async function handleRequest(request) {
42
45
  .find({ useMasterKey: true });
43
46
  // get total count of tickets before applying pagination
44
47
  const totalCount = tickets.length;
48
+ //Log the time taken to fetch the data in seconds
49
+ console.log(`Function openinc-openservice-ticket-data runs for: ${(new Date().getTime() - time) / 1000}s. Next: Fetch ticket data`);
45
50
  // fetch ticket data for those tickets
46
51
  const ticketData = await getTicketData(tickets);
52
+ //Log the time taken to fetch the data in seconds
53
+ console.log(`Function openinc-openservice-ticket-data runs for: ${(new Date().getTime() - time) / 1000}s. Next: Sorting and Pagination`);
47
54
  // apply sorting
48
55
  if (request.params.config[0].sortBy && request.params.config[0].order) {
49
56
  ticketData.sort((a, b) => {
@@ -61,6 +68,8 @@ async function handleRequest(request) {
61
68
  request.params.config[0].limit !== undefined) {
62
69
  ticketDataPaginated = ticketData.slice(request.params.config[0].skip, request.params.config[0].skip + request.params.config[0].limit);
63
70
  }
71
+ //Log the time taken to fetch the data in seconds
72
+ console.log(`Total time taken to execute function openinc-openservice-ticket-data: ${(new Date().getTime() - time) / 1000}s`);
64
73
  return {
65
74
  success: true,
66
75
  data: ticketDataPaginated,
@@ -90,31 +99,47 @@ async function getTicketData(tickets) {
90
99
  .query()
91
100
  .find({ useMasterKey: true });
92
101
  }
93
- const downtimes = await getDowntime(ticket);
94
- const duedate = await getDueDate(ticket);
95
- const frequency = await getFrequency(ticket);
96
- const restriction = await getRestriction(ticket);
97
- const issuecategory = await getIssueCategory(ticket);
98
- const priority = await getPriority(ticket);
99
- const source = await getTicketSource(ticket);
100
- const state = await getState(ticket);
101
- const dailySchedule = await getDailySchedule(ticket);
102
- const messages = await getMessages(ticket);
102
+ const downtimes = getDowntime(ticket);
103
+ const duedate = getDueDate(ticket);
104
+ const frequency = getFrequency(ticket);
105
+ const restriction = getRestriction(ticket);
106
+ const issuecategory = getIssueCategory(ticket);
107
+ const priority = getPriority(ticket);
108
+ const source = getTicketSource(ticket);
109
+ const state = getState(ticket);
110
+ const dailySchedule = getDailySchedule(ticket);
111
+ const messages = getMessages(ticket);
112
+ const dataPromises = await Promise.all([
113
+ downtimes,
114
+ duedate,
115
+ frequency,
116
+ restriction,
117
+ issuecategory,
118
+ priority,
119
+ source,
120
+ state,
121
+ dailySchedule,
122
+ messages,
123
+ ]);
103
124
  return {
104
125
  ticket: ticket,
105
- downtime: downtimes.length > 0 ? downtimes[0] : undefined,
106
- duedate: duedate.length > 0 ? duedate[0] : undefined,
107
- issuecategory: issuecategory.length > 0
108
- ? issuecategory[0]?.get("issuecategory")
126
+ downtime: dataPromises[0].length > 0 ? dataPromises[0][0] : undefined,
127
+ duedate: dataPromises[1].length > 0 ? dataPromises[1][0] : undefined,
128
+ frequency: dataPromises[2].length > 0 ? dataPromises[2][0] : undefined,
129
+ restriction: dataPromises[3].length > 0 ? dataPromises[3][0] : undefined,
130
+ issuecategory: dataPromises[4].length > 0
131
+ ? dataPromises[4][0]?.get("issuecategory")
109
132
  : undefined,
110
- frequency: frequency.length > 0 ? frequency[0] : undefined,
111
- restriction: restriction.length > 0 ? restriction[0] : undefined,
112
- priority: priority.length > 0 ? priority[0] : undefined,
113
- source: source.length > 0 ? source[0]?.get("source") : undefined,
114
- state: state.length > 0 ? state[0]?.get("state") : undefined,
115
- messages: messages.messages,
116
- messageBodies: messages.messageBodies,
117
- dailySchedule: dailySchedule,
133
+ priority: dataPromises[5].length > 0 ? dataPromises[5][0] : undefined,
134
+ source: dataPromises[6].length > 0
135
+ ? dataPromises[6][0]?.get("source")
136
+ : undefined,
137
+ state: dataPromises[7].length > 0
138
+ ? dataPromises[7][0]?.get("state")
139
+ : undefined,
140
+ dailySchedule: dataPromises[8],
141
+ messages: dataPromises[9].messages,
142
+ messageBodies: dataPromises[9].messageBodies,
118
143
  assignedTo: [...assignedusers, ...assignedroles],
119
144
  };
120
145
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openinc/parse-server-opendash",
3
- "version": "2.4.82",
3
+ "version": "2.4.84",
4
4
  "description": "Parse Server Cloud Code for open.DASH",
5
5
  "keywords": [
6
6
  "parse",