@openinc/parse-server-opendash 3.15.0 → 3.17.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/getSourceMetaMap.d.ts +9 -0
- package/dist/features/openservice/functions/getSourceMetaMap.js +44 -0
- package/dist/features/openservice/index.d.ts +15 -14
- package/dist/features/openservice/index.js +29 -27
- package/dist/features/openservice/init.js +2 -1
- package/dist/features/openservice/schedules/mappings/reassignScheduleExecutions.d.ts +1 -0
- package/dist/features/openservice/schedules/mappings/reassignScheduleExecutions.js +31 -0
- package/dist/functions/openinc-openservice-get-sourcemeta-map.d.ts +1 -0
- package/dist/functions/openinc-openservice-get-sourcemeta-map.js +29 -0
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get all meta values and fields from a list of sources
|
|
3
|
+
* @param sources the sources to get the meta values and fields from
|
|
4
|
+
* @returns a Map<string, string[]> where the key is the meta field and the value is an array of meta values found for that key in all sources
|
|
5
|
+
*/
|
|
6
|
+
export declare function getSourceMetaMap(params: {
|
|
7
|
+
user: Parse.User;
|
|
8
|
+
sourceIds: string[];
|
|
9
|
+
}): Promise<Map<string, string[]>>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSourceMetaMap = getSourceMetaMap;
|
|
4
|
+
const types_1 = require("../../../types");
|
|
5
|
+
/**
|
|
6
|
+
* Get all meta values and fields from a list of sources
|
|
7
|
+
* @param sources the sources to get the meta values and fields from
|
|
8
|
+
* @returns a Map<string, string[]> where the key is the meta field and the value is an array of meta values found for that key in all sources
|
|
9
|
+
*/
|
|
10
|
+
async function getSourceMetaMap(params) {
|
|
11
|
+
const sessionToken = params.user?.getSessionToken();
|
|
12
|
+
if (!sessionToken) {
|
|
13
|
+
throw new Error("User is not authenticated");
|
|
14
|
+
}
|
|
15
|
+
if (!params.sourceIds || params.sourceIds.length === 0) {
|
|
16
|
+
throw new Error("No source IDs provided");
|
|
17
|
+
}
|
|
18
|
+
const metaMap = new Map(); // metaField => metaValue
|
|
19
|
+
const sources = await new Parse.Query(types_1.Source)
|
|
20
|
+
.limit(1000000)
|
|
21
|
+
.containedIn("objectId", params.sourceIds)
|
|
22
|
+
.include("meta")
|
|
23
|
+
.find({
|
|
24
|
+
sessionToken: sessionToken,
|
|
25
|
+
}); // Fetch the sources
|
|
26
|
+
sources.forEach((source) => {
|
|
27
|
+
if (!source.meta?.data)
|
|
28
|
+
return;
|
|
29
|
+
Object.keys(source.meta.data).forEach((metaField) => {
|
|
30
|
+
const existingMapValue = metaMap.get(metaField) || [];
|
|
31
|
+
const metaValue = source.meta ? source.meta.data[metaField] : undefined;
|
|
32
|
+
if (Array.isArray(metaValue)) {
|
|
33
|
+
metaValue
|
|
34
|
+
.filter(Boolean)
|
|
35
|
+
.forEach((value) => existingMapValue.push(value));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
existingMapValue.push(metaValue);
|
|
39
|
+
}
|
|
40
|
+
metaMap.set(metaField, existingMapValue);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
return metaMap;
|
|
44
|
+
}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
export { OpenserviceMessageTranslationKeys } from "./types/OpenserviceTranslationKeys";
|
|
2
|
-
export { TicketData } from "./types/TicketData";
|
|
3
1
|
export { FetchOptions } from "./types/FetchOptions";
|
|
4
2
|
export { Material } from "./types/Material";
|
|
5
3
|
export { MessageData } from "./types/MessageData";
|
|
4
|
+
export { OpenserviceMessageTranslationKeys } from "./types/OpenserviceTranslationKeys";
|
|
6
5
|
export { SaveValues } from "./types/SaveValues";
|
|
6
|
+
export { TicketData } from "./types/TicketData";
|
|
7
7
|
export { assignUsersAndRoles } from "./functions/assignUsersAndRoles";
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
8
|
+
export { getSourceMetaMap } from "./functions/getSourceMetaMap";
|
|
9
|
+
export { getTicketObject } from "./functions/getTicketObject";
|
|
10
|
+
export { saveDescription } from "./functions/saveDescription";
|
|
10
11
|
export { saveDowntime } from "./functions/saveDowntime";
|
|
11
|
-
export { saveRestriction } from "./functions/saveRestriction";
|
|
12
|
-
export { saveMaterial } from "./functions/saveMaterial";
|
|
13
|
-
export { saveTicketTitle } from "./functions/saveTicketTitle";
|
|
14
12
|
export { saveDuedate } from "./functions/saveDuedate";
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export { saveMessage } from "./functions/saveMessage";
|
|
19
|
-
export { saveDescription } from "./functions/saveDescription";
|
|
13
|
+
export { saveFrequency } from "./functions/saveFrequency";
|
|
14
|
+
export { saveDefaultIssueCategory, saveIssueCategory, } from "./functions/saveIssuecategory";
|
|
15
|
+
export { saveMaterial } from "./functions/saveMaterial";
|
|
20
16
|
export { saveMedia } from "./functions/saveMedia";
|
|
17
|
+
export { saveMessage } from "./functions/saveMessage";
|
|
18
|
+
export { savePriority } from "./functions/savePriority";
|
|
19
|
+
export { saveProject } from "./functions/saveProject";
|
|
20
|
+
export { saveRestriction } from "./functions/saveRestriction";
|
|
21
|
+
export { saveSource } from "./functions/saveSource";
|
|
22
|
+
export { saveDefaultState, saveState } from "./functions/saveState";
|
|
21
23
|
export { saveTicketMeta } from "./functions/saveTicketMeta";
|
|
22
|
-
export {
|
|
23
|
-
export { getTicketObject } from "./functions/getTicketObject";
|
|
24
|
+
export { saveTicketTitle } from "./functions/saveTicketTitle";
|
|
24
25
|
export { init } from "./init";
|
|
@@ -1,43 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.init = exports.
|
|
3
|
+
exports.init = exports.saveTicketTitle = exports.saveTicketMeta = exports.saveState = exports.saveDefaultState = exports.saveSource = exports.saveRestriction = exports.saveProject = exports.savePriority = exports.saveMessage = exports.saveMedia = exports.saveMaterial = exports.saveIssueCategory = exports.saveDefaultIssueCategory = exports.saveFrequency = exports.saveDuedate = exports.saveDowntime = exports.saveDescription = exports.getTicketObject = exports.getSourceMetaMap = exports.assignUsersAndRoles = exports.OpenserviceMessageTranslationKeys = void 0;
|
|
4
4
|
var OpenserviceTranslationKeys_1 = require("./types/OpenserviceTranslationKeys");
|
|
5
5
|
Object.defineProperty(exports, "OpenserviceMessageTranslationKeys", { enumerable: true, get: function () { return OpenserviceTranslationKeys_1.OpenserviceMessageTranslationKeys; } });
|
|
6
6
|
var assignUsersAndRoles_1 = require("./functions/assignUsersAndRoles");
|
|
7
7
|
Object.defineProperty(exports, "assignUsersAndRoles", { enumerable: true, get: function () { return assignUsersAndRoles_1.assignUsersAndRoles; } });
|
|
8
|
-
var
|
|
9
|
-
Object.defineProperty(exports, "
|
|
10
|
-
var
|
|
11
|
-
Object.defineProperty(exports, "
|
|
8
|
+
var getSourceMetaMap_1 = require("./functions/getSourceMetaMap");
|
|
9
|
+
Object.defineProperty(exports, "getSourceMetaMap", { enumerable: true, get: function () { return getSourceMetaMap_1.getSourceMetaMap; } });
|
|
10
|
+
var getTicketObject_1 = require("./functions/getTicketObject");
|
|
11
|
+
Object.defineProperty(exports, "getTicketObject", { enumerable: true, get: function () { return getTicketObject_1.getTicketObject; } });
|
|
12
|
+
var saveDescription_1 = require("./functions/saveDescription");
|
|
13
|
+
Object.defineProperty(exports, "saveDescription", { enumerable: true, get: function () { return saveDescription_1.saveDescription; } });
|
|
12
14
|
var saveDowntime_1 = require("./functions/saveDowntime");
|
|
13
15
|
Object.defineProperty(exports, "saveDowntime", { enumerable: true, get: function () { return saveDowntime_1.saveDowntime; } });
|
|
14
|
-
var saveRestriction_1 = require("./functions/saveRestriction");
|
|
15
|
-
Object.defineProperty(exports, "saveRestriction", { enumerable: true, get: function () { return saveRestriction_1.saveRestriction; } });
|
|
16
|
-
var saveMaterial_1 = require("./functions/saveMaterial");
|
|
17
|
-
Object.defineProperty(exports, "saveMaterial", { enumerable: true, get: function () { return saveMaterial_1.saveMaterial; } });
|
|
18
|
-
var saveTicketTitle_1 = require("./functions/saveTicketTitle");
|
|
19
|
-
Object.defineProperty(exports, "saveTicketTitle", { enumerable: true, get: function () { return saveTicketTitle_1.saveTicketTitle; } });
|
|
20
16
|
var saveDuedate_1 = require("./functions/saveDuedate");
|
|
21
17
|
Object.defineProperty(exports, "saveDuedate", { enumerable: true, get: function () { return saveDuedate_1.saveDuedate; } });
|
|
22
|
-
var
|
|
23
|
-
Object.defineProperty(exports, "
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
Object.defineProperty(exports, "
|
|
27
|
-
var
|
|
28
|
-
Object.defineProperty(exports, "
|
|
29
|
-
var saveMessage_1 = require("./functions/saveMessage");
|
|
30
|
-
Object.defineProperty(exports, "saveMessage", { enumerable: true, get: function () { return saveMessage_1.saveMessage; } });
|
|
31
|
-
var saveDescription_1 = require("./functions/saveDescription");
|
|
32
|
-
Object.defineProperty(exports, "saveDescription", { enumerable: true, get: function () { return saveDescription_1.saveDescription; } });
|
|
18
|
+
var saveFrequency_1 = require("./functions/saveFrequency");
|
|
19
|
+
Object.defineProperty(exports, "saveFrequency", { enumerable: true, get: function () { return saveFrequency_1.saveFrequency; } });
|
|
20
|
+
var saveIssuecategory_1 = require("./functions/saveIssuecategory");
|
|
21
|
+
Object.defineProperty(exports, "saveDefaultIssueCategory", { enumerable: true, get: function () { return saveIssuecategory_1.saveDefaultIssueCategory; } });
|
|
22
|
+
Object.defineProperty(exports, "saveIssueCategory", { enumerable: true, get: function () { return saveIssuecategory_1.saveIssueCategory; } });
|
|
23
|
+
var saveMaterial_1 = require("./functions/saveMaterial");
|
|
24
|
+
Object.defineProperty(exports, "saveMaterial", { enumerable: true, get: function () { return saveMaterial_1.saveMaterial; } });
|
|
33
25
|
var saveMedia_1 = require("./functions/saveMedia");
|
|
34
26
|
Object.defineProperty(exports, "saveMedia", { enumerable: true, get: function () { return saveMedia_1.saveMedia; } });
|
|
27
|
+
var saveMessage_1 = require("./functions/saveMessage");
|
|
28
|
+
Object.defineProperty(exports, "saveMessage", { enumerable: true, get: function () { return saveMessage_1.saveMessage; } });
|
|
29
|
+
var savePriority_1 = require("./functions/savePriority");
|
|
30
|
+
Object.defineProperty(exports, "savePriority", { enumerable: true, get: function () { return savePriority_1.savePriority; } });
|
|
31
|
+
var saveProject_1 = require("./functions/saveProject");
|
|
32
|
+
Object.defineProperty(exports, "saveProject", { enumerable: true, get: function () { return saveProject_1.saveProject; } });
|
|
33
|
+
var saveRestriction_1 = require("./functions/saveRestriction");
|
|
34
|
+
Object.defineProperty(exports, "saveRestriction", { enumerable: true, get: function () { return saveRestriction_1.saveRestriction; } });
|
|
35
|
+
var saveSource_1 = require("./functions/saveSource");
|
|
36
|
+
Object.defineProperty(exports, "saveSource", { enumerable: true, get: function () { return saveSource_1.saveSource; } });
|
|
37
|
+
var saveState_1 = require("./functions/saveState");
|
|
38
|
+
Object.defineProperty(exports, "saveDefaultState", { enumerable: true, get: function () { return saveState_1.saveDefaultState; } });
|
|
39
|
+
Object.defineProperty(exports, "saveState", { enumerable: true, get: function () { return saveState_1.saveState; } });
|
|
35
40
|
var saveTicketMeta_1 = require("./functions/saveTicketMeta");
|
|
36
41
|
Object.defineProperty(exports, "saveTicketMeta", { enumerable: true, get: function () { return saveTicketMeta_1.saveTicketMeta; } });
|
|
37
|
-
var
|
|
38
|
-
Object.defineProperty(exports, "
|
|
39
|
-
Object.defineProperty(exports, "saveDefaultIssueCategory", { enumerable: true, get: function () { return saveIssuecategory_1.saveDefaultIssueCategory; } });
|
|
40
|
-
var getTicketObject_1 = require("./functions/getTicketObject");
|
|
41
|
-
Object.defineProperty(exports, "getTicketObject", { enumerable: true, get: function () { return getTicketObject_1.getTicketObject; } });
|
|
42
|
+
var saveTicketTitle_1 = require("./functions/saveTicketTitle");
|
|
43
|
+
Object.defineProperty(exports, "saveTicketTitle", { enumerable: true, get: function () { return saveTicketTitle_1.saveTicketTitle; } });
|
|
42
44
|
var init_1 = require("./init");
|
|
43
45
|
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
|
|
@@ -4,6 +4,7 @@ exports.init = init;
|
|
|
4
4
|
const initIssuecategory_1 = require("./issuecategory/initIssuecategory");
|
|
5
5
|
const initKanbanStates_1 = require("./kanbanState/initKanbanStates");
|
|
6
6
|
const initMessages_1 = require("./messages/initMessages");
|
|
7
|
+
const reassignScheduleExecutions_1 = require("./schedules/mappings/reassignScheduleExecutions");
|
|
7
8
|
const initTicket_1 = require("./ticket/initTicket");
|
|
8
9
|
async function init() {
|
|
9
10
|
console.log("Initializing open.SERVICE feature...");
|
|
@@ -13,7 +14,7 @@ async function init() {
|
|
|
13
14
|
await (0, initKanbanStates_1.initCurrentTicketStates)();
|
|
14
15
|
await (0, initTicket_1.updateTicketDescription)();
|
|
15
16
|
await (0, initKanbanStates_1.initEnabledFlag)();
|
|
16
|
-
// await initScheduling();
|
|
17
17
|
await (0, initTicket_1.initTicketClass)();
|
|
18
|
+
await (0, reassignScheduleExecutions_1.reassignScheduleExecutions)();
|
|
18
19
|
console.log("open.SERVICE feature initialized.");
|
|
19
20
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function reassignScheduleExecutions(): Promise<void>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reassignScheduleExecutions = reassignScheduleExecutions;
|
|
4
|
+
const types_1 = require("../../../../types");
|
|
5
|
+
async function reassignScheduleExecutions() {
|
|
6
|
+
const executions = await new Parse.Query(types_1.Maintenance_Schedule_Execution)
|
|
7
|
+
.includeAll()
|
|
8
|
+
.limit(100000000)
|
|
9
|
+
.find({ useMasterKey: true });
|
|
10
|
+
for (const execution of executions) {
|
|
11
|
+
// Get the full execution object
|
|
12
|
+
const schedule = execution.get("schedule");
|
|
13
|
+
if (!schedule && execution.get("origin") && execution.get("source")) {
|
|
14
|
+
const matchingSchedule = await new Parse.Query(types_1.Maintenance_Schedule)
|
|
15
|
+
.equalTo("template", execution.get("origin"))
|
|
16
|
+
.equalTo("source", execution.get("source"))
|
|
17
|
+
.first({ useMasterKey: true });
|
|
18
|
+
if (matchingSchedule) {
|
|
19
|
+
await execution.save({ schedule: matchingSchedule }, { useMasterKey: true });
|
|
20
|
+
console.log(`Updated execution ${execution.id} with schedule ${matchingSchedule.id}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (schedule && (!execution.get("origin") || !execution.get("source"))) {
|
|
24
|
+
await execution.save({
|
|
25
|
+
origin: schedule.get("template"),
|
|
26
|
+
source: schedule.get("source"),
|
|
27
|
+
}, { useMasterKey: true });
|
|
28
|
+
console.log(`Updated execution ${execution.id} with origin/source from schedule`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function init(name: string): Promise<void>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.init = init;
|
|
4
|
+
const openservice_1 = require("../features/openservice");
|
|
5
|
+
async function init(name) {
|
|
6
|
+
Parse.Cloud.define(name, async function (request) {
|
|
7
|
+
try {
|
|
8
|
+
if (request.user === undefined) {
|
|
9
|
+
return { success: false, error: "User not provided!" };
|
|
10
|
+
}
|
|
11
|
+
const sourcemetamap = await (0, openservice_1.getSourceMetaMap)({
|
|
12
|
+
user: request.user,
|
|
13
|
+
sourceIds: request.params.sourceIds,
|
|
14
|
+
});
|
|
15
|
+
return {
|
|
16
|
+
success: true,
|
|
17
|
+
sourcemetamap: Object.fromEntries(sourcemetamap),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
return {
|
|
22
|
+
success: false,
|
|
23
|
+
error: error instanceof Error ? error.message : String(error),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}, {
|
|
27
|
+
requireUser: true,
|
|
28
|
+
});
|
|
29
|
+
}
|