@openinc/parse-server-opendash 2.4.53 → 2.4.55
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/featuremap.json +4 -1
- package/dist/functions/openinc-deregister-permission.d.ts +5 -0
- package/dist/functions/openinc-deregister-permission.js +61 -0
- package/dist/functions/openinc-register-permission.d.ts +10 -0
- package/dist/functions/openinc-register-permission.js +51 -0
- package/dist/helper/removeShorltyPreviousEntry.d.ts +2 -0
- package/dist/helper/removeShorltyPreviousEntry.js +23 -0
- package/dist/hooks/{Maintenance_Article.js → Knowledge_Chat.js} +2 -2
- package/dist/hooks/Knowledge_ChatMessage.d.ts +1 -0
- package/dist/hooks/Knowledge_ChatMessage.js +17 -0
- package/dist/hooks/Maintenance_Downtime.js +16 -2
- package/dist/hooks/Maintenance_Duedate.js +16 -1
- package/dist/hooks/Maintenance_Frequency.js +16 -1
- package/dist/hooks/Maintenance_Priority.js +16 -2
- package/dist/hooks/Maintenance_Restriction.js +16 -1
- package/dist/hooks/Maintenance_Ticket_Assignment.d.ts +1 -0
- package/dist/hooks/Maintenance_Ticket_Assignment.js +17 -0
- package/dist/hooks/Maintenance_Ticket_Issuecategory.js +16 -2
- package/dist/hooks/Maintenance_Ticket_Kanban_State.js +24 -7
- package/dist/hooks/Maintenance_Ticket_Source.js +16 -0
- package/dist/hooks/Maintenance_Ticket_Title.d.ts +1 -0
- package/dist/hooks/Maintenance_Ticket_Title.js +33 -0
- package/dist/types/Maintenance_Schedule_Execution_Step.d.ts +0 -4
- package/dist/types/Maintenance_Schedule_Execution_Step.js +0 -6
- package/dist/types/Maintenance_Schedule_Step.d.ts +0 -4
- package/dist/types/Maintenance_Schedule_Step.js +0 -6
- package/dist/types/Maintenance_Ticket.d.ts +0 -3
- package/dist/types/Maintenance_Ticket.js +0 -3
- package/dist/types/Maintenance_Ticket_Assignment.d.ts +32 -0
- package/dist/types/Maintenance_Ticket_Assignment.js +47 -0
- package/dist/types/Maintenance_Ticket_Title.d.ts +25 -0
- package/dist/types/Maintenance_Ticket_Title.js +35 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.js +6 -4
- package/package.json +4 -2
- package/schema/Maintenance_Schedule_Execution_Step.json +0 -5
- package/schema/Maintenance_Schedule_Step.json +0 -5
- package/schema/Maintenance_Ticket.json +0 -5
- package/schema/{Maintenance_Article.json → Maintenance_Ticket_Assignment.json} +20 -17
- package/schema/Maintenance_Ticket_Title.json +49 -0
- package/dist/types/Maintenance_Article.d.ts +0 -31
- package/dist/types/Maintenance_Article.js +0 -44
- /package/dist/hooks/{Maintenance_Article.d.ts → Knowledge_Chat.d.ts} +0 -0
package/dist/featuremap.json
CHANGED
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
"OD3_GTFS_Wheelchair_Boarding": "GTFS",
|
|
32
32
|
"OD3_Knowledge_Article": "KNOWLEDGE",
|
|
33
33
|
"OD3_Knowledge_Category": "KNOWLEDGE",
|
|
34
|
+
"OD3_Knowledge_Chat": "KNOWLEDGE",
|
|
35
|
+
"OD3_Knowledge_ChatMessage": "KNOWLEDGE",
|
|
34
36
|
"OD3_Knowledge_Document": "KNOWLEDGE",
|
|
35
37
|
"OD3_Knowledge_DocumentPage": "KNOWLEDGE",
|
|
36
38
|
"OD3_Knowledge_Video": "KNOWLEDGE",
|
|
37
39
|
"OD3_Language": "CORE",
|
|
38
40
|
"OD3_Log": "CORE",
|
|
39
41
|
"OD3_MailTemplate": "MONITORING",
|
|
40
|
-
"OD3_Maintenance_Article": "MAINTENANCE",
|
|
41
42
|
"OD3_Maintenance_DailySchedule": "MAINTENANCE",
|
|
42
43
|
"OD3_Maintenance_Downtime": "MAINTENANCE",
|
|
43
44
|
"OD3_Maintenance_Duedate": "MAINTENANCE",
|
|
@@ -59,10 +60,12 @@
|
|
|
59
60
|
"OD3_Maintenance_SourceMeta": "MAINTENANCE",
|
|
60
61
|
"OD3_Maintenance_Source_File": "MAINTENANCE",
|
|
61
62
|
"OD3_Maintenance_Ticket": "MAINTENANCE",
|
|
63
|
+
"OD3_Maintenance_Ticket_Assignment": "MAINTENANCE",
|
|
62
64
|
"OD3_Maintenance_Ticket_Issuecategory": "MAINTENANCE",
|
|
63
65
|
"OD3_Maintenance_Ticket_Kanban_State": "MAINTENANCE",
|
|
64
66
|
"OD3_Maintenance_Ticket_Kanban_State_Current": "MAINTENANCE",
|
|
65
67
|
"OD3_Maintenance_Ticket_Source": "MAINTENANCE",
|
|
68
|
+
"OD3_Maintenance_Ticket_Title": "MAINTENANCE",
|
|
66
69
|
"OD3_MIAAS_MDSEndpoint": "MIAAS",
|
|
67
70
|
"OD3_Monitoring_DataHierachies": "MONITORING",
|
|
68
71
|
"OD3_Monitoring_Jobs": "MONITORING",
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.init = init;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
/**
|
|
6
|
+
* This function deregisters a permission in the database on a tenant level.
|
|
7
|
+
* @param name The function name derived from the file name
|
|
8
|
+
*/
|
|
9
|
+
async function init(name) {
|
|
10
|
+
Parse.Cloud.define(name, async function (request) {
|
|
11
|
+
if (typeof request.user === "undefined") {
|
|
12
|
+
return { success: false, error: "User is not provided." };
|
|
13
|
+
}
|
|
14
|
+
//Get the current user
|
|
15
|
+
const user = request.user;
|
|
16
|
+
if (!user) {
|
|
17
|
+
return { success: false, error: "User is required." };
|
|
18
|
+
}
|
|
19
|
+
//Get the tenant of the current user
|
|
20
|
+
const tenant = user.get("tenant");
|
|
21
|
+
const permissionKey = request.params.permissionKey;
|
|
22
|
+
if (!permissionKey) {
|
|
23
|
+
return { success: false, error: "Permission key is required." };
|
|
24
|
+
}
|
|
25
|
+
//Find the permission with key permissionKey and delete it
|
|
26
|
+
const permissions = await new Parse.Query(types_1.Permission)
|
|
27
|
+
.equalTo("key", permissionKey)
|
|
28
|
+
.equalTo("tenant", tenant)
|
|
29
|
+
.find({ useMasterKey: true });
|
|
30
|
+
const role = await new Parse.Query(Parse.Role)
|
|
31
|
+
.equalTo("name", "od-tenant-admin-" + tenant.id)
|
|
32
|
+
.first({ useMasterKey: true });
|
|
33
|
+
// Check if the permission can be written publically or by the current user or the tenant role
|
|
34
|
+
const filteredpermissions = permissions.filter((permission) => {
|
|
35
|
+
const acl = permission.getACL();
|
|
36
|
+
return acl?.getPublicWriteAccess() ||
|
|
37
|
+
acl?.getWriteAccess(user.id) ||
|
|
38
|
+
typeof role !== "undefined"
|
|
39
|
+
? acl?.getRoleWriteAccess(role)
|
|
40
|
+
: false;
|
|
41
|
+
});
|
|
42
|
+
if (permissions.length === 0) {
|
|
43
|
+
console.info(`Permissions with key ${permissionKey} not found.`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
console.info(`Permission with key ${permissionKey} found. Deleting...`);
|
|
47
|
+
for await (const permission of filteredpermissions) {
|
|
48
|
+
await permission.destroy({ useMasterKey: true });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return { success: true };
|
|
52
|
+
}, {
|
|
53
|
+
requireUser: true,
|
|
54
|
+
fields: {
|
|
55
|
+
permissionKey: {
|
|
56
|
+
required: true,
|
|
57
|
+
type: String,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface PermissionInterface {
|
|
2
|
+
label: string;
|
|
3
|
+
description: string;
|
|
4
|
+
key: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* This function registers a new permission in the database on a tenant level.
|
|
8
|
+
* @param name The function name derived from the file name
|
|
9
|
+
*/
|
|
10
|
+
export declare function init(name: string): Promise<void>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.init = init;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
/**
|
|
6
|
+
* This function registers a new permission in the database on a tenant level.
|
|
7
|
+
* @param name The function name derived from the file name
|
|
8
|
+
*/
|
|
9
|
+
async function init(name) {
|
|
10
|
+
Parse.Cloud.define(name, async function (request) {
|
|
11
|
+
if (typeof request.user === "undefined") {
|
|
12
|
+
return { success: false, error: "User is not provided." };
|
|
13
|
+
}
|
|
14
|
+
//Get the current user
|
|
15
|
+
const user = request.user;
|
|
16
|
+
if (!user) {
|
|
17
|
+
return { success: false, error: "User is required." };
|
|
18
|
+
}
|
|
19
|
+
//Get the tenant of the current user
|
|
20
|
+
const tenant = user.get("tenant");
|
|
21
|
+
const permission = request.params
|
|
22
|
+
.permission;
|
|
23
|
+
//Check if the Permission with key already exists
|
|
24
|
+
const existingpermission = await new Parse.Query(types_1.Permission)
|
|
25
|
+
.equalTo("key", permission.key)
|
|
26
|
+
.equalTo("tenant", tenant)
|
|
27
|
+
.find({ useMasterKey: true });
|
|
28
|
+
//If the permission does not exist, create it
|
|
29
|
+
if (existingpermission.length === 0) {
|
|
30
|
+
console.log(`Permission with key ${permission.key} does not exist. Will be created.`);
|
|
31
|
+
const newPermission = new types_1.Permission();
|
|
32
|
+
newPermission.set("label", permission.label);
|
|
33
|
+
newPermission.set("description", permission.description);
|
|
34
|
+
newPermission.set("key", permission.key);
|
|
35
|
+
newPermission.set("tenant", tenant);
|
|
36
|
+
await newPermission.save({}, { useMasterKey: true });
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.log(`Permission with key ${permission.key} already exists. Continue.`);
|
|
40
|
+
}
|
|
41
|
+
return { success: true };
|
|
42
|
+
}, {
|
|
43
|
+
requireUser: true,
|
|
44
|
+
fields: {
|
|
45
|
+
permission: {
|
|
46
|
+
required: true,
|
|
47
|
+
type: Object,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare function removeShortlyPreviousEntry<T extends Parse.Object>(entry: T, onQuery: (query: Parse.Query<T>) => Parse.Query<T>, overrideTime?: number): Promise<void>;
|
|
2
|
+
export declare function removeEqualSaved<T extends Parse.Object>(entry: T, onQuery: (query: Parse.Query<T>) => Parse.Query<T>, isEqual: (frist: T, second: T) => boolean): Promise<T>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeShortlyPreviousEntry = removeShortlyPreviousEntry;
|
|
4
|
+
exports.removeEqualSaved = removeEqualSaved;
|
|
5
|
+
async function removeShortlyPreviousEntry(entry, onQuery, overrideTime = 300) {
|
|
6
|
+
const query = onQuery(new Parse.Query(entry.className));
|
|
7
|
+
const object = await query.first({ useMasterKey: true });
|
|
8
|
+
const lastEntryTime = object?.get("createdAt")?.getTime();
|
|
9
|
+
const currentTime = new Date().getTime();
|
|
10
|
+
const timeDifferenceInSeconds = (currentTime - lastEntryTime) / 1000;
|
|
11
|
+
if (timeDifferenceInSeconds <= overrideTime) {
|
|
12
|
+
await object?.destroy({ useMasterKey: true });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
async function removeEqualSaved(entry, onQuery, isEqual) {
|
|
16
|
+
const query = onQuery(new Parse.Query(entry.className));
|
|
17
|
+
const object = await query.first({ useMasterKey: true });
|
|
18
|
+
if (object && isEqual(entry, object)) {
|
|
19
|
+
await entry.destroy({ useMasterKey: true });
|
|
20
|
+
return object;
|
|
21
|
+
}
|
|
22
|
+
return entry;
|
|
23
|
+
}
|
|
@@ -4,13 +4,13 @@ exports.init = init;
|
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
6
|
async function init() {
|
|
7
|
-
(0, __1.beforeSaveHook)(types_1.
|
|
7
|
+
(0, __1.beforeSaveHook)(types_1.Knowledge_Chat, async (request) => {
|
|
8
8
|
const { object, original, user } = request;
|
|
9
9
|
await (0, __1.defaultHandler)(request);
|
|
10
10
|
await (0, __1.defaultAclHandler)(request);
|
|
11
11
|
// TODO
|
|
12
12
|
});
|
|
13
|
-
(0, __1.afterSaveHook)(types_1.
|
|
13
|
+
(0, __1.afterSaveHook)(types_1.Knowledge_Chat, async (request) => {
|
|
14
14
|
const { object, original, user } = request;
|
|
15
15
|
// TODO
|
|
16
16
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function init(): Promise<void>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.init = init;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
async function init() {
|
|
7
|
+
(0, __1.beforeSaveHook)(types_1.Knowledge_ChatMessage, async (request) => {
|
|
8
|
+
const { object, original, user } = request;
|
|
9
|
+
await (0, __1.defaultHandler)(request);
|
|
10
|
+
await (0, __1.defaultAclHandler)(request);
|
|
11
|
+
// TODO
|
|
12
|
+
});
|
|
13
|
+
(0, __1.afterSaveHook)(types_1.Knowledge_ChatMessage, async (request) => {
|
|
14
|
+
const { object, original, user } = request;
|
|
15
|
+
// TODO
|
|
16
|
+
});
|
|
17
|
+
}
|
|
@@ -2,16 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Downtime, async (request) => {
|
|
8
9
|
const { object, original, user } = request;
|
|
9
10
|
await (0, __1.defaultHandler)(request);
|
|
10
11
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
12
18
|
});
|
|
13
19
|
(0, __1.afterSaveHook)(types_1.Maintenance_Downtime, async (request) => {
|
|
14
20
|
const { object, original, user } = request;
|
|
15
|
-
//
|
|
21
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
22
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
23
|
+
query.includeAll();
|
|
24
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
25
|
+
query.notEqualTo("objectId", object.id);
|
|
26
|
+
return query;
|
|
27
|
+
}, (first, second) => {
|
|
28
|
+
return first.get("value") === second.get("value");
|
|
29
|
+
});
|
|
16
30
|
});
|
|
17
31
|
}
|
|
@@ -2,16 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Duedate, async (request) => {
|
|
8
9
|
const { object, original, user } = request;
|
|
9
10
|
await (0, __1.defaultHandler)(request);
|
|
10
11
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
12
18
|
});
|
|
13
19
|
(0, __1.afterSaveHook)(types_1.Maintenance_Duedate, async (request) => {
|
|
14
20
|
const { object, original, user } = request;
|
|
21
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
22
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
23
|
+
query.includeAll();
|
|
24
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
25
|
+
query.notEqualTo("objectId", object.id);
|
|
26
|
+
return query;
|
|
27
|
+
}, (first, second) => {
|
|
28
|
+
return first.get("end")?.getTime() === second.get("end")?.getTime();
|
|
29
|
+
});
|
|
15
30
|
// TODO
|
|
16
31
|
});
|
|
17
32
|
}
|
|
@@ -2,16 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Frequency, async (request) => {
|
|
8
9
|
const { object, original, user } = request;
|
|
9
10
|
await (0, __1.defaultHandler)(request);
|
|
10
11
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
12
18
|
});
|
|
13
19
|
(0, __1.afterSaveHook)(types_1.Maintenance_Frequency, async (request) => {
|
|
14
20
|
const { object, original, user } = request;
|
|
21
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
22
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
23
|
+
query.includeAll();
|
|
24
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
25
|
+
query.notEqualTo("objectId", object.id);
|
|
26
|
+
return query;
|
|
27
|
+
}, (first, second) => {
|
|
28
|
+
return first.get("value") === second.get("value");
|
|
29
|
+
});
|
|
15
30
|
// TODO
|
|
16
31
|
});
|
|
17
32
|
}
|
|
@@ -2,16 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Priority, async (request) => {
|
|
8
9
|
const { object, original, user } = request;
|
|
9
10
|
await (0, __1.defaultHandler)(request);
|
|
10
11
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
12
18
|
});
|
|
13
19
|
(0, __1.afterSaveHook)(types_1.Maintenance_Priority, async (request) => {
|
|
14
20
|
const { object, original, user } = request;
|
|
15
|
-
//
|
|
21
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
22
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
23
|
+
query.includeAll();
|
|
24
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
25
|
+
query.notEqualTo("objectId", object.id);
|
|
26
|
+
return query;
|
|
27
|
+
}, (first, second) => {
|
|
28
|
+
return first.get("value") === second.get("value");
|
|
29
|
+
});
|
|
16
30
|
});
|
|
17
31
|
}
|
|
@@ -2,16 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Restriction, async (request) => {
|
|
8
9
|
const { object, original, user } = request;
|
|
9
10
|
await (0, __1.defaultHandler)(request);
|
|
10
11
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
12
18
|
});
|
|
13
19
|
(0, __1.afterSaveHook)(types_1.Maintenance_Restriction, async (request) => {
|
|
14
20
|
const { object, original, user } = request;
|
|
21
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
22
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
23
|
+
query.includeAll();
|
|
24
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
25
|
+
query.notEqualTo("objectId", object.id);
|
|
26
|
+
return query;
|
|
27
|
+
}, (first, second) => {
|
|
28
|
+
return first.get("value") === second.get("value");
|
|
29
|
+
});
|
|
15
30
|
// TODO
|
|
16
31
|
});
|
|
17
32
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function init(): Promise<void>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.init = init;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const types_1 = require("../types");
|
|
6
|
+
async function init() {
|
|
7
|
+
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_Assignment, async (request) => {
|
|
8
|
+
const { object, original, user } = request;
|
|
9
|
+
await (0, __1.defaultHandler)(request);
|
|
10
|
+
await (0, __1.defaultAclHandler)(request);
|
|
11
|
+
// TODO
|
|
12
|
+
});
|
|
13
|
+
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Assignment, async (request) => {
|
|
14
|
+
const { object, original, user } = request;
|
|
15
|
+
// TODO
|
|
16
|
+
});
|
|
17
|
+
}
|
|
@@ -2,16 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_Issuecategory, async (request) => {
|
|
8
9
|
const { object, original, user } = request;
|
|
9
10
|
await (0, __1.defaultHandler)(request);
|
|
10
11
|
await (0, __1.defaultAclHandler)(request);
|
|
11
|
-
//
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
12
18
|
});
|
|
13
19
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Issuecategory, async (request) => {
|
|
14
20
|
const { object, original, user } = request;
|
|
15
|
-
//
|
|
21
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
22
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
23
|
+
query.includeAll();
|
|
24
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
25
|
+
query.notEqualTo("objectId", object.id);
|
|
26
|
+
return query;
|
|
27
|
+
}, (first, second) => {
|
|
28
|
+
return (first.get("issuecategory")?.id === second.get("issuecategory")?.id);
|
|
29
|
+
});
|
|
16
30
|
});
|
|
17
31
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_Kanban_State, async (request) => {
|
|
@@ -13,26 +14,42 @@ async function init() {
|
|
|
13
14
|
if (original) {
|
|
14
15
|
await (0, __1.requirePermission)(request, "maintenance:can-update-kanbanstate", "Permission denied.");
|
|
15
16
|
}
|
|
17
|
+
// Remove previous entry if it was created within 5 minutes
|
|
18
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
19
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
20
|
+
query.descending("createdAt");
|
|
21
|
+
return query;
|
|
22
|
+
});
|
|
16
23
|
// TODO
|
|
17
24
|
});
|
|
18
25
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Kanban_State, async (request) => {
|
|
19
26
|
const { object, original, user } = request;
|
|
27
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
28
|
+
const latestEntry = await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
29
|
+
query.includeAll();
|
|
30
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
31
|
+
query.notEqualTo("objectId", object.id);
|
|
32
|
+
return query;
|
|
33
|
+
}, (first, second) => {
|
|
34
|
+
return first.get("state")?.id === second.get("state")?.id;
|
|
35
|
+
});
|
|
36
|
+
// Update the current state of the ticket
|
|
20
37
|
const currentTicketState = await new Parse.Query(types_1.Maintenance_Ticket_Kanban_State_Current)
|
|
21
|
-
.equalTo("ticket",
|
|
38
|
+
.equalTo("ticket", latestEntry.get("ticket"))
|
|
22
39
|
.first({ useMasterKey: true });
|
|
23
40
|
// if the ticket is already in the current state table, update it
|
|
24
41
|
if (currentTicketState) {
|
|
25
|
-
currentTicketState.set("ticketState",
|
|
26
|
-
currentTicketState.set("state",
|
|
42
|
+
currentTicketState.set("ticketState", latestEntry);
|
|
43
|
+
currentTicketState.set("state", latestEntry.get("state"));
|
|
27
44
|
await currentTicketState.save(null, { useMasterKey: true });
|
|
28
45
|
}
|
|
29
46
|
// if the ticket is not in the current state table, create a new entry
|
|
30
47
|
else {
|
|
31
48
|
const newTicketState = new types_1.Maintenance_Ticket_Kanban_State_Current({
|
|
32
|
-
ticket:
|
|
33
|
-
ticketState:
|
|
34
|
-
state:
|
|
35
|
-
tenant:
|
|
49
|
+
ticket: latestEntry.get("ticket"),
|
|
50
|
+
ticketState: latestEntry,
|
|
51
|
+
state: latestEntry.get("state"),
|
|
52
|
+
tenant: latestEntry.get("tenant"),
|
|
36
53
|
});
|
|
37
54
|
await newTicketState.save(null, { useMasterKey: true });
|
|
38
55
|
}
|
|
@@ -2,16 +2,32 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
async function init() {
|
|
7
8
|
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_Source, async (request) => {
|
|
8
9
|
const { object, original, user } = request;
|
|
9
10
|
await (0, __1.defaultHandler)(request);
|
|
10
11
|
await (0, __1.defaultAclHandler)(request);
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
11
18
|
// TODO
|
|
12
19
|
});
|
|
13
20
|
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Source, async (request) => {
|
|
14
21
|
const { object, original, user } = request;
|
|
22
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
23
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
24
|
+
query.includeAll();
|
|
25
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
26
|
+
query.notEqualTo("objectId", object.id);
|
|
27
|
+
return query;
|
|
28
|
+
}, (first, second) => {
|
|
29
|
+
return first.get("source")?.id === second.get("source")?.id;
|
|
30
|
+
});
|
|
15
31
|
// TODO
|
|
16
32
|
});
|
|
17
33
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function init(): Promise<void>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.init = init;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
|
|
6
|
+
const types_1 = require("../types");
|
|
7
|
+
async function init() {
|
|
8
|
+
(0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_Title, async (request) => {
|
|
9
|
+
const { object, original, user } = request;
|
|
10
|
+
await (0, __1.defaultHandler)(request);
|
|
11
|
+
await (0, __1.defaultAclHandler)(request);
|
|
12
|
+
// Remove previous entry if it was created within 5 minutes
|
|
13
|
+
await (0, removeShorltyPreviousEntry_1.removeShortlyPreviousEntry)(object, (query) => {
|
|
14
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
15
|
+
query.descending("createdAt");
|
|
16
|
+
return query;
|
|
17
|
+
});
|
|
18
|
+
// TODO
|
|
19
|
+
});
|
|
20
|
+
(0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Title, async (request) => {
|
|
21
|
+
const { object, original, user } = request;
|
|
22
|
+
// Remove entry if it has the same values as the previous entry so its simply reverted to the already existing entry
|
|
23
|
+
await (0, removeShorltyPreviousEntry_1.removeEqualSaved)(object, (query) => {
|
|
24
|
+
query.includeAll();
|
|
25
|
+
query.equalTo("ticket", object.get("ticket"));
|
|
26
|
+
query.notEqualTo("objectId", object.id);
|
|
27
|
+
return query;
|
|
28
|
+
}, (first, second) => {
|
|
29
|
+
return first.get("title") === second.get("title");
|
|
30
|
+
});
|
|
31
|
+
// TODO
|
|
32
|
+
});
|
|
33
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Group } from "./Group";
|
|
2
1
|
import type { Maintenance_Schedule_Execution } from "./Maintenance_Schedule_Execution";
|
|
3
2
|
import type { Tenant } from "./Tenant";
|
|
4
3
|
import type { _Role } from "./_Role";
|
|
@@ -10,7 +9,6 @@ export interface Maintenance_Schedule_Execution_StepAttributes {
|
|
|
10
9
|
comment?: string;
|
|
11
10
|
description?: string;
|
|
12
11
|
done?: boolean;
|
|
13
|
-
group: Group;
|
|
14
12
|
location?: string;
|
|
15
13
|
protectivegear?: string;
|
|
16
14
|
role?: _Role;
|
|
@@ -28,8 +26,6 @@ export declare class Maintenance_Schedule_Execution_Step extends Parse.Object<Ma
|
|
|
28
26
|
set description(value: string | undefined);
|
|
29
27
|
get done(): boolean | undefined;
|
|
30
28
|
set done(value: boolean | undefined);
|
|
31
|
-
get group(): Group;
|
|
32
|
-
set group(value: Group);
|
|
33
29
|
get location(): string | undefined;
|
|
34
30
|
set location(value: string | undefined);
|
|
35
31
|
get protectivegear(): string | undefined;
|
|
@@ -23,12 +23,6 @@ class Maintenance_Schedule_Execution_Step extends Parse.Object {
|
|
|
23
23
|
set done(value) {
|
|
24
24
|
super.set("done", value);
|
|
25
25
|
}
|
|
26
|
-
get group() {
|
|
27
|
-
return super.get("group");
|
|
28
|
-
}
|
|
29
|
-
set group(value) {
|
|
30
|
-
super.set("group", value);
|
|
31
|
-
}
|
|
32
26
|
get location() {
|
|
33
27
|
return super.get("location");
|
|
34
28
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Group } from "./Group";
|
|
2
1
|
import type { Maintenance_Schedule } from "./Maintenance_Schedule";
|
|
3
2
|
import type { Tenant } from "./Tenant";
|
|
4
3
|
import type { _Role } from "./_Role";
|
|
@@ -8,7 +7,6 @@ export interface Maintenance_Schedule_StepAttributes {
|
|
|
8
7
|
createdAt: Date;
|
|
9
8
|
updatedAt: Date;
|
|
10
9
|
description?: string;
|
|
11
|
-
group: Group;
|
|
12
10
|
location?: string;
|
|
13
11
|
protectivegear?: string;
|
|
14
12
|
role?: _Role;
|
|
@@ -22,8 +20,6 @@ export declare class Maintenance_Schedule_Step extends Parse.Object<Maintenance_
|
|
|
22
20
|
constructor(data?: Partial<Maintenance_Schedule_StepAttributes>);
|
|
23
21
|
get description(): string | undefined;
|
|
24
22
|
set description(value: string | undefined);
|
|
25
|
-
get group(): Group;
|
|
26
|
-
set group(value: Group);
|
|
27
23
|
get location(): string | undefined;
|
|
28
24
|
set location(value: string | undefined);
|
|
29
25
|
get protectivegear(): string | undefined;
|
|
@@ -11,12 +11,6 @@ class Maintenance_Schedule_Step extends Parse.Object {
|
|
|
11
11
|
set description(value) {
|
|
12
12
|
super.set("description", value);
|
|
13
13
|
}
|
|
14
|
-
get group() {
|
|
15
|
-
return super.get("group");
|
|
16
|
-
}
|
|
17
|
-
set group(value) {
|
|
18
|
-
super.set("group", value);
|
|
19
|
-
}
|
|
20
14
|
get location() {
|
|
21
15
|
return super.get("location");
|
|
22
16
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Group } from "./Group";
|
|
2
1
|
import type { Maintenance_DailySchedule } from "./Maintenance_DailySchedule";
|
|
3
2
|
import type { Tenant } from "./Tenant";
|
|
4
3
|
import type { _Role } from "./_Role";
|
|
@@ -8,7 +7,6 @@ export interface Maintenance_TicketAttributes {
|
|
|
8
7
|
objectId: string;
|
|
9
8
|
createdAt: Date;
|
|
10
9
|
updatedAt: Date;
|
|
11
|
-
assignedgroups: Parse.Relation<Maintenance_Ticket, Group>;
|
|
12
10
|
assignedroles: Parse.Relation<Maintenance_Ticket, _Role>;
|
|
13
11
|
assignedusers: Parse.Relation<Maintenance_Ticket, _User>;
|
|
14
12
|
dailySchedule?: Maintenance_DailySchedule;
|
|
@@ -21,7 +19,6 @@ export interface Maintenance_TicketAttributes {
|
|
|
21
19
|
export declare class Maintenance_Ticket extends Parse.Object<Maintenance_TicketAttributes> {
|
|
22
20
|
static className: string;
|
|
23
21
|
constructor(data?: Partial<Maintenance_TicketAttributes>);
|
|
24
|
-
get assignedgroups(): Parse.Relation<Maintenance_Ticket, Group>;
|
|
25
22
|
get assignedroles(): Parse.Relation<Maintenance_Ticket, _Role>;
|
|
26
23
|
get assignedusers(): Parse.Relation<Maintenance_Ticket, _User>;
|
|
27
24
|
get dailySchedule(): Maintenance_DailySchedule | undefined;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Maintenance_Ticket } from "./Maintenance_Ticket";
|
|
2
|
+
import type { Tenant } from "./Tenant";
|
|
3
|
+
import type { _Role } from "./_Role";
|
|
4
|
+
import type { _User } from "./_User";
|
|
5
|
+
export interface Maintenance_Ticket_AssignmentAttributes {
|
|
6
|
+
id: string;
|
|
7
|
+
objectId: string;
|
|
8
|
+
createdAt: Date;
|
|
9
|
+
updatedAt: Date;
|
|
10
|
+
assignedRole?: _Role;
|
|
11
|
+
assignedUser?: _User;
|
|
12
|
+
batchStamp: Date;
|
|
13
|
+
tenant?: Tenant;
|
|
14
|
+
ticket?: Maintenance_Ticket;
|
|
15
|
+
user: _User;
|
|
16
|
+
}
|
|
17
|
+
export declare class Maintenance_Ticket_Assignment extends Parse.Object<Maintenance_Ticket_AssignmentAttributes> {
|
|
18
|
+
static className: string;
|
|
19
|
+
constructor(data?: Partial<Maintenance_Ticket_AssignmentAttributes>);
|
|
20
|
+
get assignedRole(): _Role | undefined;
|
|
21
|
+
set assignedRole(value: _Role | undefined);
|
|
22
|
+
get assignedUser(): _User | undefined;
|
|
23
|
+
set assignedUser(value: _User | undefined);
|
|
24
|
+
get batchStamp(): Date;
|
|
25
|
+
set batchStamp(value: Date);
|
|
26
|
+
get tenant(): Tenant | undefined;
|
|
27
|
+
set tenant(value: Tenant | undefined);
|
|
28
|
+
get ticket(): Maintenance_Ticket | undefined;
|
|
29
|
+
set ticket(value: Maintenance_Ticket | undefined);
|
|
30
|
+
get user(): _User;
|
|
31
|
+
set user(value: _User);
|
|
32
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Maintenance_Ticket_Assignment = void 0;
|
|
4
|
+
class Maintenance_Ticket_Assignment extends Parse.Object {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
super("OD3_Maintenance_Ticket_Assignment", data);
|
|
7
|
+
}
|
|
8
|
+
get assignedRole() {
|
|
9
|
+
return super.get("assignedRole");
|
|
10
|
+
}
|
|
11
|
+
set assignedRole(value) {
|
|
12
|
+
super.set("assignedRole", value);
|
|
13
|
+
}
|
|
14
|
+
get assignedUser() {
|
|
15
|
+
return super.get("assignedUser");
|
|
16
|
+
}
|
|
17
|
+
set assignedUser(value) {
|
|
18
|
+
super.set("assignedUser", value);
|
|
19
|
+
}
|
|
20
|
+
get batchStamp() {
|
|
21
|
+
return super.get("batchStamp");
|
|
22
|
+
}
|
|
23
|
+
set batchStamp(value) {
|
|
24
|
+
super.set("batchStamp", value);
|
|
25
|
+
}
|
|
26
|
+
get tenant() {
|
|
27
|
+
return super.get("tenant");
|
|
28
|
+
}
|
|
29
|
+
set tenant(value) {
|
|
30
|
+
super.set("tenant", value);
|
|
31
|
+
}
|
|
32
|
+
get ticket() {
|
|
33
|
+
return super.get("ticket");
|
|
34
|
+
}
|
|
35
|
+
set ticket(value) {
|
|
36
|
+
super.set("ticket", value);
|
|
37
|
+
}
|
|
38
|
+
get user() {
|
|
39
|
+
return super.get("user");
|
|
40
|
+
}
|
|
41
|
+
set user(value) {
|
|
42
|
+
super.set("user", value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.Maintenance_Ticket_Assignment = Maintenance_Ticket_Assignment;
|
|
46
|
+
Maintenance_Ticket_Assignment.className = "OD3_Maintenance_Ticket_Assignment";
|
|
47
|
+
Parse.Object.registerSubclass("OD3_Maintenance_Ticket_Assignment", Maintenance_Ticket_Assignment);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Maintenance_Ticket } from "./Maintenance_Ticket";
|
|
2
|
+
import type { Tenant } from "./Tenant";
|
|
3
|
+
import type { _User } from "./_User";
|
|
4
|
+
export interface Maintenance_Ticket_TitleAttributes {
|
|
5
|
+
id: string;
|
|
6
|
+
objectId: string;
|
|
7
|
+
createdAt: Date;
|
|
8
|
+
updatedAt: Date;
|
|
9
|
+
tenant?: Tenant;
|
|
10
|
+
ticket: Maintenance_Ticket;
|
|
11
|
+
title?: string;
|
|
12
|
+
user: _User;
|
|
13
|
+
}
|
|
14
|
+
export declare class Maintenance_Ticket_Title extends Parse.Object<Maintenance_Ticket_TitleAttributes> {
|
|
15
|
+
static className: string;
|
|
16
|
+
constructor(data?: Partial<Maintenance_Ticket_TitleAttributes>);
|
|
17
|
+
get tenant(): Tenant | undefined;
|
|
18
|
+
set tenant(value: Tenant | undefined);
|
|
19
|
+
get ticket(): Maintenance_Ticket;
|
|
20
|
+
set ticket(value: Maintenance_Ticket);
|
|
21
|
+
get title(): string | undefined;
|
|
22
|
+
set title(value: string | undefined);
|
|
23
|
+
get user(): _User;
|
|
24
|
+
set user(value: _User);
|
|
25
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Maintenance_Ticket_Title = void 0;
|
|
4
|
+
class Maintenance_Ticket_Title extends Parse.Object {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
super("OD3_Maintenance_Ticket_Title", data);
|
|
7
|
+
}
|
|
8
|
+
get tenant() {
|
|
9
|
+
return super.get("tenant");
|
|
10
|
+
}
|
|
11
|
+
set tenant(value) {
|
|
12
|
+
super.set("tenant", value);
|
|
13
|
+
}
|
|
14
|
+
get ticket() {
|
|
15
|
+
return super.get("ticket");
|
|
16
|
+
}
|
|
17
|
+
set ticket(value) {
|
|
18
|
+
super.set("ticket", value);
|
|
19
|
+
}
|
|
20
|
+
get title() {
|
|
21
|
+
return super.get("title");
|
|
22
|
+
}
|
|
23
|
+
set title(value) {
|
|
24
|
+
super.set("title", value);
|
|
25
|
+
}
|
|
26
|
+
get user() {
|
|
27
|
+
return super.get("user");
|
|
28
|
+
}
|
|
29
|
+
set user(value) {
|
|
30
|
+
super.set("user", value);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.Maintenance_Ticket_Title = Maintenance_Ticket_Title;
|
|
34
|
+
Maintenance_Ticket_Title.className = "OD3_Maintenance_Ticket_Title";
|
|
35
|
+
Parse.Object.registerSubclass("OD3_Maintenance_Ticket_Title", Maintenance_Ticket_Title);
|
package/dist/types/index.d.ts
CHANGED
|
@@ -80,8 +80,6 @@ export { MIAAS_MDSEndpoint } from "./MIAAS_MDSEndpoint";
|
|
|
80
80
|
export type { MIAAS_MDSEndpointAttributes } from "./MIAAS_MDSEndpoint";
|
|
81
81
|
export { MailTemplate } from "./MailTemplate";
|
|
82
82
|
export type { MailTemplateAttributes } from "./MailTemplate";
|
|
83
|
-
export { Maintenance_Article } from "./Maintenance_Article";
|
|
84
|
-
export type { Maintenance_ArticleAttributes } from "./Maintenance_Article";
|
|
85
83
|
export { Maintenance_DailySchedule } from "./Maintenance_DailySchedule";
|
|
86
84
|
export type { Maintenance_DailyScheduleAttributes } from "./Maintenance_DailySchedule";
|
|
87
85
|
export { Maintenance_Downtime } from "./Maintenance_Downtime";
|
|
@@ -124,6 +122,8 @@ export { Maintenance_Source_File } from "./Maintenance_Source_File";
|
|
|
124
122
|
export type { Maintenance_Source_FileAttributes } from "./Maintenance_Source_File";
|
|
125
123
|
export { Maintenance_Ticket } from "./Maintenance_Ticket";
|
|
126
124
|
export type { Maintenance_TicketAttributes } from "./Maintenance_Ticket";
|
|
125
|
+
export { Maintenance_Ticket_Assignment } from "./Maintenance_Ticket_Assignment";
|
|
126
|
+
export type { Maintenance_Ticket_AssignmentAttributes } from "./Maintenance_Ticket_Assignment";
|
|
127
127
|
export { Maintenance_Ticket_Issuecategory } from "./Maintenance_Ticket_Issuecategory";
|
|
128
128
|
export type { Maintenance_Ticket_IssuecategoryAttributes } from "./Maintenance_Ticket_Issuecategory";
|
|
129
129
|
export { Maintenance_Ticket_Kanban_State } from "./Maintenance_Ticket_Kanban_State";
|
|
@@ -132,6 +132,8 @@ export { Maintenance_Ticket_Kanban_State_Current } from "./Maintenance_Ticket_Ka
|
|
|
132
132
|
export type { Maintenance_Ticket_Kanban_State_CurrentAttributes } from "./Maintenance_Ticket_Kanban_State_Current";
|
|
133
133
|
export { Maintenance_Ticket_Source } from "./Maintenance_Ticket_Source";
|
|
134
134
|
export type { Maintenance_Ticket_SourceAttributes } from "./Maintenance_Ticket_Source";
|
|
135
|
+
export { Maintenance_Ticket_Title } from "./Maintenance_Ticket_Title";
|
|
136
|
+
export type { Maintenance_Ticket_TitleAttributes } from "./Maintenance_Ticket_Title";
|
|
135
137
|
export { Monitoring_DataHierachies } from "./Monitoring_DataHierachies";
|
|
136
138
|
export type { Monitoring_DataHierachiesAttributes } from "./Monitoring_DataHierachies";
|
|
137
139
|
export { Monitoring_Jobs } from "./Monitoring_Jobs";
|
package/dist/types/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Maintenance_Kanban_State = exports.Maintenance_Item = exports.Maintenance_Issuecategory = exports.Maintenance_Frequency = exports.Maintenance_File = exports.Maintenance_Duedate = exports.Maintenance_Downtime = exports.Maintenance_DailySchedule = exports.
|
|
4
|
-
exports.WidgetPreset = exports.Widget = exports.WebPush = exports.VirtualKPI = exports.UserData = exports.TenantTrustedDomain = exports.TenantMeta = exports.Tenant = exports.SourceMeta = exports.Source = exports.Share = exports.Report = exports.Push = exports.Permission = exports.Notification = exports.NavigationItem = exports.NavigationGroup = exports.Monitoring_Slideshow = exports.Monitoring_ReportImage = exports.Monitoring_Jobs = exports.Monitoring_DataHierachies = exports.Maintenance_Ticket_Source = exports.Maintenance_Ticket_Kanban_State_Current = exports.Maintenance_Ticket_Kanban_State = exports.Maintenance_Ticket_Issuecategory = exports.Maintenance_Ticket = exports.Maintenance_Source_File = exports.Maintenance_SourceMeta = exports.Maintenance_Schedule_Step = exports.Maintenance_Schedule_Execution_Step = exports.Maintenance_Schedule_Execution = exports.Maintenance_Schedule = exports.Maintenance_Restriction = exports.Maintenance_Priority = exports.Maintenance_Order = exports.Maintenance_Message_Body = exports.Maintenance_Message =
|
|
3
|
+
exports.Maintenance_Media = exports.Maintenance_Kanban_State = exports.Maintenance_Item = exports.Maintenance_Issuecategory = exports.Maintenance_Frequency = exports.Maintenance_File = exports.Maintenance_Duedate = exports.Maintenance_Downtime = exports.Maintenance_DailySchedule = exports.MailTemplate = exports.MIAAS_MDSEndpoint = exports.Log = exports.Language = exports.Knowledge_Video = exports.Knowledge_DocumentPage = exports.Knowledge_Document = exports.Knowledge_ChatMessage = exports.Knowledge_Chat = exports.Knowledge_Category = exports.Knowledge_Article = exports.Group = exports.GTFS_Wheelchair_Boarding = exports.GTFS_Wheelchair_Accessible = exports.GTFS_Trip = exports.GTFS_Stop_Times = exports.GTFS_Stop = exports.GTFS_Route_Type = exports.GTFS_Route = exports.GTFS_Location_Type = exports.GTFS_Level = exports.GTFS_Direction = exports.GTFS_Calendar = exports.GTFS_Bikes_Allowed = exports.GTFS_Agency = exports.Dashboard = exports.Core_Token = exports.Core_Email = exports.Contact = exports.Config = exports.Company = exports.BDE_Unit = exports.BDE_Result = exports.BDE_Page = exports.BDE_ListEntry = exports.BDE_List = exports.BDE_Form = exports.Attachment = exports.AlarmWebhook = exports.AlarmAction = exports.Alarm = void 0;
|
|
4
|
+
exports.WidgetPreset = exports.Widget = exports.WebPush = exports.VirtualKPI = exports.UserData = exports.TenantTrustedDomain = exports.TenantMeta = exports.Tenant = exports.SourceMeta = exports.Source = exports.Share = exports.Report = exports.Push = exports.Permission = exports.Notification = exports.NavigationItem = exports.NavigationGroup = exports.Monitoring_Slideshow = exports.Monitoring_ReportImage = exports.Monitoring_Jobs = exports.Monitoring_DataHierachies = exports.Maintenance_Ticket_Title = exports.Maintenance_Ticket_Source = exports.Maintenance_Ticket_Kanban_State_Current = exports.Maintenance_Ticket_Kanban_State = exports.Maintenance_Ticket_Issuecategory = exports.Maintenance_Ticket_Assignment = exports.Maintenance_Ticket = exports.Maintenance_Source_File = exports.Maintenance_SourceMeta = exports.Maintenance_Schedule_Step = exports.Maintenance_Schedule_Execution_Step = exports.Maintenance_Schedule_Execution = exports.Maintenance_Schedule = exports.Maintenance_Restriction = exports.Maintenance_Priority = exports.Maintenance_Order = exports.Maintenance_Message_Body = exports.Maintenance_Message = void 0;
|
|
5
5
|
var Alarm_1 = require("./Alarm");
|
|
6
6
|
Object.defineProperty(exports, "Alarm", { enumerable: true, get: function () { return Alarm_1.Alarm; } });
|
|
7
7
|
var AlarmAction_1 = require("./AlarmAction");
|
|
@@ -84,8 +84,6 @@ var MIAAS_MDSEndpoint_1 = require("./MIAAS_MDSEndpoint");
|
|
|
84
84
|
Object.defineProperty(exports, "MIAAS_MDSEndpoint", { enumerable: true, get: function () { return MIAAS_MDSEndpoint_1.MIAAS_MDSEndpoint; } });
|
|
85
85
|
var MailTemplate_1 = require("./MailTemplate");
|
|
86
86
|
Object.defineProperty(exports, "MailTemplate", { enumerable: true, get: function () { return MailTemplate_1.MailTemplate; } });
|
|
87
|
-
var Maintenance_Article_1 = require("./Maintenance_Article");
|
|
88
|
-
Object.defineProperty(exports, "Maintenance_Article", { enumerable: true, get: function () { return Maintenance_Article_1.Maintenance_Article; } });
|
|
89
87
|
var Maintenance_DailySchedule_1 = require("./Maintenance_DailySchedule");
|
|
90
88
|
Object.defineProperty(exports, "Maintenance_DailySchedule", { enumerable: true, get: function () { return Maintenance_DailySchedule_1.Maintenance_DailySchedule; } });
|
|
91
89
|
var Maintenance_Downtime_1 = require("./Maintenance_Downtime");
|
|
@@ -128,6 +126,8 @@ var Maintenance_Source_File_1 = require("./Maintenance_Source_File");
|
|
|
128
126
|
Object.defineProperty(exports, "Maintenance_Source_File", { enumerable: true, get: function () { return Maintenance_Source_File_1.Maintenance_Source_File; } });
|
|
129
127
|
var Maintenance_Ticket_1 = require("./Maintenance_Ticket");
|
|
130
128
|
Object.defineProperty(exports, "Maintenance_Ticket", { enumerable: true, get: function () { return Maintenance_Ticket_1.Maintenance_Ticket; } });
|
|
129
|
+
var Maintenance_Ticket_Assignment_1 = require("./Maintenance_Ticket_Assignment");
|
|
130
|
+
Object.defineProperty(exports, "Maintenance_Ticket_Assignment", { enumerable: true, get: function () { return Maintenance_Ticket_Assignment_1.Maintenance_Ticket_Assignment; } });
|
|
131
131
|
var Maintenance_Ticket_Issuecategory_1 = require("./Maintenance_Ticket_Issuecategory");
|
|
132
132
|
Object.defineProperty(exports, "Maintenance_Ticket_Issuecategory", { enumerable: true, get: function () { return Maintenance_Ticket_Issuecategory_1.Maintenance_Ticket_Issuecategory; } });
|
|
133
133
|
var Maintenance_Ticket_Kanban_State_1 = require("./Maintenance_Ticket_Kanban_State");
|
|
@@ -136,6 +136,8 @@ var Maintenance_Ticket_Kanban_State_Current_1 = require("./Maintenance_Ticket_Ka
|
|
|
136
136
|
Object.defineProperty(exports, "Maintenance_Ticket_Kanban_State_Current", { enumerable: true, get: function () { return Maintenance_Ticket_Kanban_State_Current_1.Maintenance_Ticket_Kanban_State_Current; } });
|
|
137
137
|
var Maintenance_Ticket_Source_1 = require("./Maintenance_Ticket_Source");
|
|
138
138
|
Object.defineProperty(exports, "Maintenance_Ticket_Source", { enumerable: true, get: function () { return Maintenance_Ticket_Source_1.Maintenance_Ticket_Source; } });
|
|
139
|
+
var Maintenance_Ticket_Title_1 = require("./Maintenance_Ticket_Title");
|
|
140
|
+
Object.defineProperty(exports, "Maintenance_Ticket_Title", { enumerable: true, get: function () { return Maintenance_Ticket_Title_1.Maintenance_Ticket_Title; } });
|
|
139
141
|
var Monitoring_DataHierachies_1 = require("./Monitoring_DataHierachies");
|
|
140
142
|
Object.defineProperty(exports, "Monitoring_DataHierachies", { enumerable: true, get: function () { return Monitoring_DataHierachies_1.Monitoring_DataHierachies; } });
|
|
141
143
|
var Monitoring_Jobs_1 = require("./Monitoring_Jobs");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openinc/parse-server-opendash",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.55",
|
|
4
4
|
"description": "Parse Server Cloud Code for open.DASH",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"parse",
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
"schema-ts": "parse-server-schema typescript --prefix OD3_ --global-sdk ./src/types",
|
|
22
22
|
"typedoc": "typedoc --plugin typedoc-plugin-markdown --hideBreadcrumbs --out docs src/index.ts",
|
|
23
23
|
"predevstart": "cd /usr/src/app && pnpm config set strict-ssl false && echo 'Installing additional packages: ' ${OPENINC_PARSE_ADDITIONAL_PACKAGES} && pnpm install ${OPENINC_PARSE_ADDITIONAL_PACKAGES} && echo 'Fetching schema from parse' && pnpm parse-server-schema down --prefix OD3_ ./packages/schema/",
|
|
24
|
-
"devstart": "parse-server ./config.js"
|
|
24
|
+
"devstart": "parse-server ./config.js",
|
|
25
|
+
"featuremap": "node ./scripts/create-featuremap.js",
|
|
26
|
+
"hooks": "node ./scripts/create-hooks.js"
|
|
25
27
|
},
|
|
26
28
|
"dependencies": {
|
|
27
29
|
"@openinc/parse-server-schema": "^1.7.7",
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"fields": {
|
|
3
|
-
"
|
|
4
|
-
"type": "
|
|
3
|
+
"assignedRole": {
|
|
4
|
+
"type": "Pointer",
|
|
5
|
+
"targetClass": "_Role",
|
|
5
6
|
"required": false
|
|
6
7
|
},
|
|
7
|
-
"
|
|
8
|
-
"type": "
|
|
9
|
-
"targetClass": "
|
|
8
|
+
"assignedUser": {
|
|
9
|
+
"type": "Pointer",
|
|
10
|
+
"targetClass": "_User",
|
|
10
11
|
"required": false
|
|
11
12
|
},
|
|
12
|
-
"
|
|
13
|
-
"type": "
|
|
14
|
-
"required":
|
|
13
|
+
"batchStamp": {
|
|
14
|
+
"type": "Date",
|
|
15
|
+
"required": true
|
|
15
16
|
},
|
|
16
17
|
"tenant": {
|
|
17
18
|
"type": "Pointer",
|
|
@@ -21,34 +22,36 @@
|
|
|
21
22
|
"ticket": {
|
|
22
23
|
"type": "Pointer",
|
|
23
24
|
"targetClass": "{{PREFIX}}Maintenance_Ticket",
|
|
24
|
-
"required":
|
|
25
|
+
"required": false
|
|
25
26
|
},
|
|
26
27
|
"user": {
|
|
27
28
|
"type": "Pointer",
|
|
28
29
|
"targetClass": "_User",
|
|
29
|
-
"required":
|
|
30
|
+
"required": true
|
|
30
31
|
}
|
|
31
32
|
},
|
|
32
33
|
"classLevelPermissions": {
|
|
33
34
|
"find": {
|
|
34
|
-
"
|
|
35
|
+
"*": true
|
|
35
36
|
},
|
|
36
37
|
"count": {
|
|
37
|
-
"
|
|
38
|
+
"*": true
|
|
38
39
|
},
|
|
39
40
|
"get": {
|
|
40
|
-
"
|
|
41
|
+
"*": true
|
|
41
42
|
},
|
|
42
43
|
"create": {
|
|
43
|
-
"
|
|
44
|
+
"*": true
|
|
44
45
|
},
|
|
45
46
|
"update": {
|
|
46
|
-
"
|
|
47
|
+
"*": true
|
|
47
48
|
},
|
|
48
49
|
"delete": {
|
|
49
|
-
"
|
|
50
|
+
"*": true
|
|
51
|
+
},
|
|
52
|
+
"addField": {
|
|
53
|
+
"*": true
|
|
50
54
|
},
|
|
51
|
-
"addField": {},
|
|
52
55
|
"protectedFields": {
|
|
53
56
|
"*": []
|
|
54
57
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"fields": {
|
|
3
|
+
"tenant": {
|
|
4
|
+
"type": "Pointer",
|
|
5
|
+
"targetClass": "{{PREFIX}}Tenant",
|
|
6
|
+
"required": false
|
|
7
|
+
},
|
|
8
|
+
"ticket": {
|
|
9
|
+
"type": "Pointer",
|
|
10
|
+
"targetClass": "{{PREFIX}}Maintenance_Ticket",
|
|
11
|
+
"required": true
|
|
12
|
+
},
|
|
13
|
+
"title": {
|
|
14
|
+
"type": "String",
|
|
15
|
+
"required": false
|
|
16
|
+
},
|
|
17
|
+
"user": {
|
|
18
|
+
"type": "Pointer",
|
|
19
|
+
"targetClass": "_User",
|
|
20
|
+
"required": true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"classLevelPermissions": {
|
|
24
|
+
"find": {
|
|
25
|
+
"*": true
|
|
26
|
+
},
|
|
27
|
+
"count": {
|
|
28
|
+
"*": true
|
|
29
|
+
},
|
|
30
|
+
"get": {
|
|
31
|
+
"*": true
|
|
32
|
+
},
|
|
33
|
+
"create": {
|
|
34
|
+
"*": true
|
|
35
|
+
},
|
|
36
|
+
"update": {
|
|
37
|
+
"*": true
|
|
38
|
+
},
|
|
39
|
+
"delete": {
|
|
40
|
+
"*": true
|
|
41
|
+
},
|
|
42
|
+
"addField": {
|
|
43
|
+
"*": true
|
|
44
|
+
},
|
|
45
|
+
"protectedFields": {
|
|
46
|
+
"*": []
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { Maintenance_Media } from "./Maintenance_Media";
|
|
2
|
-
import type { Maintenance_Ticket } from "./Maintenance_Ticket";
|
|
3
|
-
import type { Tenant } from "./Tenant";
|
|
4
|
-
import type { _User } from "./_User";
|
|
5
|
-
export interface Maintenance_ArticleAttributes {
|
|
6
|
-
id: string;
|
|
7
|
-
objectId: string;
|
|
8
|
-
createdAt: Date;
|
|
9
|
-
updatedAt: Date;
|
|
10
|
-
body?: string;
|
|
11
|
-
media: Parse.Relation<Maintenance_Article, Maintenance_Media>;
|
|
12
|
-
subject?: string;
|
|
13
|
-
tenant?: Tenant;
|
|
14
|
-
ticket: Maintenance_Ticket;
|
|
15
|
-
user?: _User;
|
|
16
|
-
}
|
|
17
|
-
export declare class Maintenance_Article extends Parse.Object<Maintenance_ArticleAttributes> {
|
|
18
|
-
static className: string;
|
|
19
|
-
constructor(data?: Partial<Maintenance_ArticleAttributes>);
|
|
20
|
-
get body(): string | undefined;
|
|
21
|
-
set body(value: string | undefined);
|
|
22
|
-
get media(): Parse.Relation<Maintenance_Article, Maintenance_Media>;
|
|
23
|
-
get subject(): string | undefined;
|
|
24
|
-
set subject(value: string | undefined);
|
|
25
|
-
get tenant(): Tenant | undefined;
|
|
26
|
-
set tenant(value: Tenant | undefined);
|
|
27
|
-
get ticket(): Maintenance_Ticket;
|
|
28
|
-
set ticket(value: Maintenance_Ticket);
|
|
29
|
-
get user(): _User | undefined;
|
|
30
|
-
set user(value: _User | undefined);
|
|
31
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Maintenance_Article = void 0;
|
|
4
|
-
class Maintenance_Article extends Parse.Object {
|
|
5
|
-
constructor(data) {
|
|
6
|
-
super("OD3_Maintenance_Article", data);
|
|
7
|
-
}
|
|
8
|
-
get body() {
|
|
9
|
-
return super.get("body");
|
|
10
|
-
}
|
|
11
|
-
set body(value) {
|
|
12
|
-
super.set("body", value);
|
|
13
|
-
}
|
|
14
|
-
get media() {
|
|
15
|
-
return super.relation("media");
|
|
16
|
-
}
|
|
17
|
-
get subject() {
|
|
18
|
-
return super.get("subject");
|
|
19
|
-
}
|
|
20
|
-
set subject(value) {
|
|
21
|
-
super.set("subject", value);
|
|
22
|
-
}
|
|
23
|
-
get tenant() {
|
|
24
|
-
return super.get("tenant");
|
|
25
|
-
}
|
|
26
|
-
set tenant(value) {
|
|
27
|
-
super.set("tenant", value);
|
|
28
|
-
}
|
|
29
|
-
get ticket() {
|
|
30
|
-
return super.get("ticket");
|
|
31
|
-
}
|
|
32
|
-
set ticket(value) {
|
|
33
|
-
super.set("ticket", value);
|
|
34
|
-
}
|
|
35
|
-
get user() {
|
|
36
|
-
return super.get("user");
|
|
37
|
-
}
|
|
38
|
-
set user(value) {
|
|
39
|
-
super.set("user", value);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.Maintenance_Article = Maintenance_Article;
|
|
43
|
-
Maintenance_Article.className = "OD3_Maintenance_Article";
|
|
44
|
-
Parse.Object.registerSubclass("OD3_Maintenance_Article", Maintenance_Article);
|
|
File without changes
|