@openinc/parse-server-opendash 2.4.88 → 2.4.90
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/functions/openinc-openservice-ticket-data.js +3 -44
- package/dist/helper/registerPermissions.d.ts +2 -1
- package/dist/helper/registerPermissions.js +1 -0
- package/dist/hooks/Maintenance_Message.js +12 -6
- package/dist/hooks/Maintenance_Message_Body.js +11 -2
- package/dist/hooks/Maintenance_Ticket.js +3 -9
- package/dist/jobs/open_service_notifyOnSchedule.js +1 -0
- package/dist/types/Documentation_Category.d.ts +3 -0
- package/dist/types/Documentation_Category.js +6 -0
- package/dist/types/Documentation_Document.d.ts +3 -0
- package/dist/types/Documentation_Document.js +6 -0
- package/dist/types/Maintenance_Message.d.ts +3 -0
- package/dist/types/Maintenance_Message.js +6 -0
- package/dist/types/Maintenance_Message_Body.d.ts +3 -0
- package/dist/types/Maintenance_Message_Body.js +6 -0
- package/dist/types/Maintenance_Schedule_Execution.d.ts +3 -0
- package/dist/types/Maintenance_Schedule_Execution.js +6 -0
- package/package.json +1 -1
- package/schema/Documentation_Category.json +4 -0
- package/schema/Documentation_Document.json +4 -0
- package/schema/Maintenance_Message.json +4 -0
- package/schema/Maintenance_Message_Body.json +4 -0
- package/schema/Maintenance_Schedule_Execution.json +4 -0
|
@@ -157,12 +157,7 @@ async function getDueDate(ticket) {
|
|
|
157
157
|
return await new Parse.Query(types_1.Maintenance_Duedate)
|
|
158
158
|
.descending("updatedAt")
|
|
159
159
|
.equalTo("ticket", ticket)
|
|
160
|
-
// .containedIn("ticket", ticketIds)
|
|
161
|
-
// .limit(1_000_000)
|
|
162
160
|
.first({ useMasterKey: true });
|
|
163
|
-
// .filter((duedate) => duedate.get("ticket").id === ticket.id, {
|
|
164
|
-
// useMasterKey: true,
|
|
165
|
-
// });
|
|
166
161
|
}
|
|
167
162
|
/**
|
|
168
163
|
* Fetches the frequency for a ticket
|
|
@@ -173,12 +168,7 @@ async function getFrequency(ticket) {
|
|
|
173
168
|
return await new Parse.Query(types_1.Maintenance_Frequency)
|
|
174
169
|
.descending("updatedAt")
|
|
175
170
|
.equalTo("ticket", ticket)
|
|
176
|
-
// .containedIn("ticket", ticketIds)
|
|
177
|
-
// .limit(1_000_000)
|
|
178
171
|
.first({ useMasterKey: true });
|
|
179
|
-
// .filter((frequency) => frequency.get("ticket").id === ticket.id, {
|
|
180
|
-
// useMasterKey: true,
|
|
181
|
-
// });
|
|
182
172
|
}
|
|
183
173
|
/**
|
|
184
174
|
* Fetches the restriction for a ticket
|
|
@@ -189,12 +179,7 @@ async function getRestriction(ticket) {
|
|
|
189
179
|
return await new Parse.Query(types_1.Maintenance_Restriction)
|
|
190
180
|
.descending("updatedAt")
|
|
191
181
|
.equalTo("ticket", ticket)
|
|
192
|
-
// .containedIn("ticket", ticketIds)
|
|
193
|
-
// .limit(1_000_000)
|
|
194
182
|
.first({ useMasterKey: true });
|
|
195
|
-
// .filter((restriction) => restriction.get("ticket").id === ticket.id, {
|
|
196
|
-
// useMasterKey: true,
|
|
197
|
-
// });
|
|
198
183
|
}
|
|
199
184
|
/**
|
|
200
185
|
* Fetches the priority for a ticket
|
|
@@ -206,13 +191,8 @@ async function getPriority(ticket) {
|
|
|
206
191
|
return await new Parse.Query(types_1.Maintenance_Priority)
|
|
207
192
|
.descending("updatedAt")
|
|
208
193
|
.equalTo("ticket", ticket)
|
|
209
|
-
// .containedIn("ticket", ticketIds)
|
|
210
|
-
// .limit(1_000_000)
|
|
211
194
|
.equalTo("ticket", ticket)
|
|
212
195
|
.first({ useMasterKey: true });
|
|
213
|
-
// .filter((priority) => priority.get("ticket").id === ticket.id, {
|
|
214
|
-
// useMasterKey: true,
|
|
215
|
-
// });
|
|
216
196
|
}
|
|
217
197
|
/**
|
|
218
198
|
* Fetches the state for a ticket
|
|
@@ -223,14 +203,8 @@ async function getState(ticket) {
|
|
|
223
203
|
return await new Parse.Query(types_1.Maintenance_Ticket_Kanban_State_Current)
|
|
224
204
|
.descending("updatedAt")
|
|
225
205
|
.includeAll()
|
|
226
|
-
.matchesQuery("ticket", new Parse.Query(types_1.Maintenance_Ticket).equalTo("objectId", ticket.id)
|
|
227
|
-
// .containedIn("objectId", ticketIds)
|
|
228
|
-
)
|
|
229
|
-
// .limit(1_000_000)
|
|
206
|
+
.matchesQuery("ticket", new Parse.Query(types_1.Maintenance_Ticket).equalTo("objectId", ticket.id))
|
|
230
207
|
.first({ useMasterKey: true });
|
|
231
|
-
// .filter((ts) => ts.get("ticket")?.id === ticket.id, {
|
|
232
|
-
// useMasterKey: true,
|
|
233
|
-
// });
|
|
234
208
|
}
|
|
235
209
|
/**
|
|
236
210
|
* Fetches the messages for a ticket
|
|
@@ -242,10 +216,7 @@ async function getMessages(ticket) {
|
|
|
242
216
|
.include("message")
|
|
243
217
|
.matchesQuery("message", new Parse.Query(types_1.Maintenance_Message)
|
|
244
218
|
.descending("updatedAt")
|
|
245
|
-
.equalTo("referencedObjectId", ticket.id)
|
|
246
|
-
// .containedIn("referencedObjectId", ticketIds)
|
|
247
|
-
// .limit(1_000_000)
|
|
248
|
-
)
|
|
219
|
+
.equalTo("referencedObjectId", ticket.id))
|
|
249
220
|
.limit(1000000)
|
|
250
221
|
.find({ useMasterKey: true });
|
|
251
222
|
const messages = messageBodies
|
|
@@ -267,12 +238,7 @@ async function getIssueCategory(ticket) {
|
|
|
267
238
|
.includeAll()
|
|
268
239
|
.descending("updatedAt")
|
|
269
240
|
.equalTo("ticket", ticket)
|
|
270
|
-
// .containedIn("ticket", ticketIds)
|
|
271
|
-
// .limit(1_000_000)
|
|
272
241
|
.first({ useMasterKey: true });
|
|
273
|
-
// .filter((issuecategory) => issuecategory.get("ticket").id === ticket.id, {
|
|
274
|
-
// useMasterKey: true,
|
|
275
|
-
// });
|
|
276
242
|
}
|
|
277
243
|
/**
|
|
278
244
|
* Fetches the source for a ticket
|
|
@@ -284,12 +250,7 @@ async function getTicketSource(ticket) {
|
|
|
284
250
|
.includeAll()
|
|
285
251
|
.descending("updatedAt")
|
|
286
252
|
.equalTo("ticket", ticket)
|
|
287
|
-
// .containedIn("ticket", ticketIds)
|
|
288
|
-
// .limit(1_000_000)
|
|
289
253
|
.first({ useMasterKey: true });
|
|
290
|
-
// .filter((source) => source.get("ticket").id === ticket.id, {
|
|
291
|
-
// useMasterKey: true,
|
|
292
|
-
// });
|
|
293
254
|
}
|
|
294
255
|
/**
|
|
295
256
|
* Fetches the daily schedule for a ticket
|
|
@@ -299,9 +260,7 @@ async function getTicketSource(ticket) {
|
|
|
299
260
|
async function getDailySchedule(ticket) {
|
|
300
261
|
const schedules = await new Parse.Query(types_1.Maintenance_DailySchedule)
|
|
301
262
|
.include("tickets")
|
|
302
|
-
.matchesQuery("tickets", new Parse.Query(types_1.Maintenance_DailySchedule).matchesQuery("tickets", new Parse.Query(types_1.Maintenance_Ticket).equalTo("objectId", ticket.id)
|
|
303
|
-
// .containedIn("objectId", ticketIds)
|
|
304
|
-
))
|
|
263
|
+
.matchesQuery("tickets", new Parse.Query(types_1.Maintenance_DailySchedule).matchesQuery("tickets", new Parse.Query(types_1.Maintenance_Ticket).equalTo("objectId", ticket.id)))
|
|
305
264
|
.limit(1000000)
|
|
306
265
|
.find({ useMasterKey: true });
|
|
307
266
|
const scheduleTickets = await Promise.all(schedules.map(async (schedule) => {
|
|
@@ -36,7 +36,8 @@ export declare namespace Permissions {
|
|
|
36
36
|
priorityNumber = "maintenance:can-access-priority-number",
|
|
37
37
|
priorityLabel = "maintenance:can-access-priority-label",
|
|
38
38
|
issuecategory = "maintenance:can-update-issuecategory",
|
|
39
|
-
monitorstate = "maintenance:can-update-monitorstate"
|
|
39
|
+
monitorstate = "maintenance:can-update-monitorstate",
|
|
40
|
+
kanban_view = "maintenance:can-update-kanban-view"
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
@@ -47,6 +47,7 @@ var Permissions;
|
|
|
47
47
|
// Update
|
|
48
48
|
OpenService["issuecategory"] = "maintenance:can-update-issuecategory";
|
|
49
49
|
OpenService["monitorstate"] = "maintenance:can-update-monitorstate";
|
|
50
|
+
OpenService["kanban_view"] = "maintenance:can-update-kanban-view";
|
|
50
51
|
})(OpenService = Permissions.OpenService || (Permissions.OpenService = {}));
|
|
51
52
|
// can also be used for nested permissions
|
|
52
53
|
// Example:
|
|
@@ -4,17 +4,23 @@ exports.init = init;
|
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
async function init() {
|
|
7
|
+
//Check each object if displayAt is set, if not, set it to createdAt
|
|
8
|
+
await new Parse.Query(types_1.Maintenance_Message.className).each(async (message) => {
|
|
9
|
+
if (!message.get("displayAt")) {
|
|
10
|
+
message.set("displayAt", message.get("createdAt"));
|
|
11
|
+
await message.save(null, { useMasterKey: true });
|
|
12
|
+
}
|
|
13
|
+
}, { useMasterKey: true });
|
|
7
14
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Message, async (request) => {
|
|
8
|
-
const { object, original, user } = request;
|
|
15
|
+
const { object, original, user, master } = request;
|
|
9
16
|
await (0, __1.defaultHandler)(request);
|
|
10
17
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
18
|
+
//Check if object has "displayAt"; if not, fill it with Date from createdAt
|
|
19
|
+
if (!object.displayAt) {
|
|
20
|
+
object.set("displayAt", object.createdAt);
|
|
21
|
+
}
|
|
12
22
|
});
|
|
13
23
|
(0, __1.afterSaveHook)(types_1.Maintenance_Message, async (request) => {
|
|
14
24
|
const { object, original, user, master } = request;
|
|
15
|
-
if (!master && original && original.get("createdAt")) {
|
|
16
|
-
object.save({ createdAt: original.get("createdAt") }, { useMasterKey: true });
|
|
17
|
-
}
|
|
18
|
-
// TODO
|
|
19
25
|
});
|
|
20
26
|
}
|
|
@@ -4,14 +4,23 @@ exports.init = init;
|
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
async function init() {
|
|
7
|
+
//Check each object if displayAt is set, if not, set it to createdAt
|
|
8
|
+
await new Parse.Query(types_1.Maintenance_Message_Body.className).each(async (messagebody) => {
|
|
9
|
+
if (!messagebody.get("displayAt")) {
|
|
10
|
+
messagebody.set("displayAt", messagebody.get("createdAt"));
|
|
11
|
+
await messagebody.save(null, { useMasterKey: true });
|
|
12
|
+
}
|
|
13
|
+
}, { useMasterKey: true });
|
|
7
14
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Message_Body, async (request) => {
|
|
8
15
|
const { object, original, user } = request;
|
|
9
16
|
await (0, __1.defaultHandler)(request);
|
|
10
17
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
18
|
+
//Check if object has "displayAt"; if not, fill it with Date from createdAt
|
|
19
|
+
if (!object.displayAt) {
|
|
20
|
+
object.displayAt = object.createdAt;
|
|
21
|
+
}
|
|
12
22
|
});
|
|
13
23
|
(0, __1.afterSaveHook)(types_1.Maintenance_Message_Body, async (request) => {
|
|
14
24
|
const { object, original, user } = request;
|
|
15
|
-
// TODO
|
|
16
25
|
});
|
|
17
26
|
}
|
|
@@ -21,12 +21,7 @@ async function init() {
|
|
|
21
21
|
// Query all of Maintenance_Ticket and find all of Maintenance_Priority sort by createdAt in descending order
|
|
22
22
|
// get the objectid of the first object in the array and save it in the latestPriority field of the Maintenance_Ticket object
|
|
23
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).
|
|
25
|
-
if (ticketError) {
|
|
26
|
-
console.error("Maintenance_Ticket error", ticketError);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const savePromises = ticketResults.map(async (ticket) => {
|
|
24
|
+
const [ticketError, ticketResults] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Ticket).each(async (ticket) => {
|
|
30
25
|
if (!ticket.get("latestPriorityValue")) {
|
|
31
26
|
const [priorityError, priorityResult] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Priority)
|
|
32
27
|
.equalTo("ticket", ticket)
|
|
@@ -41,10 +36,9 @@ async function init() {
|
|
|
41
36
|
return;
|
|
42
37
|
}
|
|
43
38
|
ticket.set("latestPriorityValue", priorityResult.get("value"));
|
|
44
|
-
|
|
39
|
+
await ticket.save(null, { useMasterKey: true });
|
|
45
40
|
}
|
|
46
|
-
});
|
|
47
|
-
await Promise.all(savePromises);
|
|
41
|
+
}, { useMasterKey: true }));
|
|
48
42
|
console.log("Maintenance_Ticket init: Check and save latestPriority done");
|
|
49
43
|
}
|
|
50
44
|
}
|
|
@@ -11,6 +11,7 @@ const Notification_1 = require("../types/Notification");
|
|
|
11
11
|
// const Maintenance_Ticket = workerData.MaintenanceTicketClass;
|
|
12
12
|
// const Notification = workerData.NotificationClass;
|
|
13
13
|
console.log("Notify on schedule");
|
|
14
|
+
//TODO: Ticket creation should be done programmatically by using the cloud function (tbd)
|
|
14
15
|
(async () => {
|
|
15
16
|
console.log("Creating new ticket");
|
|
16
17
|
//Create a new ticket
|
|
@@ -5,6 +5,7 @@ export interface Documentation_CategoryAttributes {
|
|
|
5
5
|
objectId: string;
|
|
6
6
|
createdAt: Date;
|
|
7
7
|
updatedAt: Date;
|
|
8
|
+
icon?: string;
|
|
8
9
|
name: string;
|
|
9
10
|
order: number;
|
|
10
11
|
parent?: Documentation_Category;
|
|
@@ -14,6 +15,8 @@ export interface Documentation_CategoryAttributes {
|
|
|
14
15
|
export declare class Documentation_Category extends Parse.Object<Documentation_CategoryAttributes> {
|
|
15
16
|
static className: string;
|
|
16
17
|
constructor(data?: Partial<Documentation_CategoryAttributes>);
|
|
18
|
+
get icon(): string | undefined;
|
|
19
|
+
set icon(value: string | undefined);
|
|
17
20
|
get name(): string;
|
|
18
21
|
set name(value: string);
|
|
19
22
|
get order(): number;
|
|
@@ -5,6 +5,12 @@ class Documentation_Category extends Parse.Object {
|
|
|
5
5
|
constructor(data) {
|
|
6
6
|
super("OD3_Documentation_Category", data);
|
|
7
7
|
}
|
|
8
|
+
get icon() {
|
|
9
|
+
return super.get("icon");
|
|
10
|
+
}
|
|
11
|
+
set icon(value) {
|
|
12
|
+
super.set("icon", value);
|
|
13
|
+
}
|
|
8
14
|
get name() {
|
|
9
15
|
return super.get("name");
|
|
10
16
|
}
|
|
@@ -9,6 +9,7 @@ export interface Documentation_DocumentAttributes {
|
|
|
9
9
|
category: Documentation_Category;
|
|
10
10
|
content: string;
|
|
11
11
|
createdBy: _User;
|
|
12
|
+
icon?: string;
|
|
12
13
|
order: number;
|
|
13
14
|
tenant?: Tenant;
|
|
14
15
|
title: string;
|
|
@@ -24,6 +25,8 @@ export declare class Documentation_Document extends Parse.Object<Documentation_D
|
|
|
24
25
|
set content(value: string);
|
|
25
26
|
get createdBy(): _User;
|
|
26
27
|
set createdBy(value: _User);
|
|
28
|
+
get icon(): string | undefined;
|
|
29
|
+
set icon(value: string | undefined);
|
|
27
30
|
get order(): number;
|
|
28
31
|
set order(value: number);
|
|
29
32
|
get tenant(): Tenant | undefined;
|
|
@@ -23,6 +23,12 @@ class Documentation_Document extends Parse.Object {
|
|
|
23
23
|
set createdBy(value) {
|
|
24
24
|
super.set("createdBy", value);
|
|
25
25
|
}
|
|
26
|
+
get icon() {
|
|
27
|
+
return super.get("icon");
|
|
28
|
+
}
|
|
29
|
+
set icon(value) {
|
|
30
|
+
super.set("icon", value);
|
|
31
|
+
}
|
|
26
32
|
get order() {
|
|
27
33
|
return super.get("order");
|
|
28
34
|
}
|
|
@@ -7,6 +7,7 @@ export interface Maintenance_MessageAttributes {
|
|
|
7
7
|
updatedAt: Date;
|
|
8
8
|
classname: string;
|
|
9
9
|
data?: any;
|
|
10
|
+
displayAt?: Date;
|
|
10
11
|
referencedObjectId: string;
|
|
11
12
|
tenant?: Tenant;
|
|
12
13
|
title?: string;
|
|
@@ -19,6 +20,8 @@ export declare class Maintenance_Message extends Parse.Object<Maintenance_Messag
|
|
|
19
20
|
set classname(value: string);
|
|
20
21
|
get data(): any | undefined;
|
|
21
22
|
set data(value: any | undefined);
|
|
23
|
+
get displayAt(): Date | undefined;
|
|
24
|
+
set displayAt(value: Date | undefined);
|
|
22
25
|
get referencedObjectId(): string;
|
|
23
26
|
set referencedObjectId(value: string);
|
|
24
27
|
get tenant(): Tenant | undefined;
|
|
@@ -17,6 +17,12 @@ class Maintenance_Message extends Parse.Object {
|
|
|
17
17
|
set data(value) {
|
|
18
18
|
super.set("data", value);
|
|
19
19
|
}
|
|
20
|
+
get displayAt() {
|
|
21
|
+
return super.get("displayAt");
|
|
22
|
+
}
|
|
23
|
+
set displayAt(value) {
|
|
24
|
+
super.set("displayAt", value);
|
|
25
|
+
}
|
|
20
26
|
get referencedObjectId() {
|
|
21
27
|
return super.get("referencedObjectId");
|
|
22
28
|
}
|
|
@@ -8,6 +8,7 @@ export interface Maintenance_Message_BodyAttributes {
|
|
|
8
8
|
updatedAt: Date;
|
|
9
9
|
content?: string;
|
|
10
10
|
data?: any;
|
|
11
|
+
displayAt?: Date;
|
|
11
12
|
message?: Maintenance_Message;
|
|
12
13
|
tenant?: Tenant;
|
|
13
14
|
user?: _User;
|
|
@@ -19,6 +20,8 @@ export declare class Maintenance_Message_Body extends Parse.Object<Maintenance_M
|
|
|
19
20
|
set content(value: string | undefined);
|
|
20
21
|
get data(): any | undefined;
|
|
21
22
|
set data(value: any | undefined);
|
|
23
|
+
get displayAt(): Date | undefined;
|
|
24
|
+
set displayAt(value: Date | undefined);
|
|
22
25
|
get message(): Maintenance_Message | undefined;
|
|
23
26
|
set message(value: Maintenance_Message | undefined);
|
|
24
27
|
get tenant(): Tenant | undefined;
|
|
@@ -17,6 +17,12 @@ class Maintenance_Message_Body extends Parse.Object {
|
|
|
17
17
|
set data(value) {
|
|
18
18
|
super.set("data", value);
|
|
19
19
|
}
|
|
20
|
+
get displayAt() {
|
|
21
|
+
return super.get("displayAt");
|
|
22
|
+
}
|
|
23
|
+
set displayAt(value) {
|
|
24
|
+
super.set("displayAt", value);
|
|
25
|
+
}
|
|
20
26
|
get message() {
|
|
21
27
|
return super.get("message");
|
|
22
28
|
}
|
|
@@ -13,6 +13,7 @@ export interface Maintenance_Schedule_ExecutionAttributes {
|
|
|
13
13
|
material?: any[];
|
|
14
14
|
media: Parse.Relation<Maintenance_Schedule_Execution, Maintenance_Media>;
|
|
15
15
|
origin?: Maintenance_Schedule_Template;
|
|
16
|
+
origin_cron?: any;
|
|
16
17
|
source?: Source;
|
|
17
18
|
tenant?: Tenant;
|
|
18
19
|
title?: string;
|
|
@@ -30,6 +31,8 @@ export declare class Maintenance_Schedule_Execution extends Parse.Object<Mainten
|
|
|
30
31
|
get media(): Parse.Relation<Maintenance_Schedule_Execution, Maintenance_Media>;
|
|
31
32
|
get origin(): Maintenance_Schedule_Template | undefined;
|
|
32
33
|
set origin(value: Maintenance_Schedule_Template | undefined);
|
|
34
|
+
get origin_cron(): any | undefined;
|
|
35
|
+
set origin_cron(value: any | undefined);
|
|
33
36
|
get source(): Source | undefined;
|
|
34
37
|
set source(value: Source | undefined);
|
|
35
38
|
get tenant(): Tenant | undefined;
|
|
@@ -32,6 +32,12 @@ class Maintenance_Schedule_Execution extends Parse.Object {
|
|
|
32
32
|
set origin(value) {
|
|
33
33
|
super.set("origin", value);
|
|
34
34
|
}
|
|
35
|
+
get origin_cron() {
|
|
36
|
+
return super.get("origin_cron");
|
|
37
|
+
}
|
|
38
|
+
set origin_cron(value) {
|
|
39
|
+
super.set("origin_cron", value);
|
|
40
|
+
}
|
|
35
41
|
get source() {
|
|
36
42
|
return super.get("source");
|
|
37
43
|
}
|
package/package.json
CHANGED