@openinc/parse-server-opendash 3.7.0 → 3.8.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.
@@ -0,0 +1,4 @@
1
+ import { Maintenance_Ticket } from "../../../types";
2
+ import { FetchOptions } from "../types/FetchOptions";
3
+ import { SaveValues } from "../types/SaveValues";
4
+ export declare function saveDescription(ticket: Maintenance_Ticket, data: SaveValues, fetchOptions: FetchOptions): Promise<void>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.saveDescription = saveDescription;
4
+ async function saveDescription(ticket, data, fetchOptions) {
5
+ ticket.set("description", data.description);
6
+ await ticket.save(null, fetchOptions);
7
+ }
@@ -3,23 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.saveMessage = saveMessage;
4
4
  const types_1 = require("../../../types");
5
5
  async function saveMessage(ticket, message, fetchOptions, values) {
6
- if (values.existingTicketId &&
7
- message.title === "maintenance:ticket.update.message.title") {
8
- const description = await new Parse.Query(types_1.Maintenance_Message)
9
- .equalTo("referencedObjectId", ticket.id)
10
- .equalTo("classname", types_1.Maintenance_Ticket.className)
11
- .equalTo("title", "maintenance:ticket.create.database.subject.1")
12
- .first(fetchOptions);
13
- if (description) {
14
- // dont do anything when description is the same
15
- if (description.content === message.description)
16
- return;
17
- // update description
18
- description.set("content", message.description);
19
- await description.save(null, fetchOptions);
20
- return;
21
- }
22
- }
23
6
  // create new message log
24
7
  await new types_1.Maintenance_Message({
25
8
  content: message.description,
@@ -16,7 +16,9 @@ export { saveState, saveDefaultState } from "./functions/saveState";
16
16
  export { saveSource } from "./functions/saveSource";
17
17
  export { saveProject } from "./functions/saveProject";
18
18
  export { saveMessage } from "./functions/saveMessage";
19
+ export { saveDescription } from "./functions/saveDescription";
19
20
  export { saveMedia } from "./functions/saveMedia";
20
21
  export { saveTicketMeta } from "./functions/saveTicketMeta";
21
22
  export { saveIssueCategory, saveDefaultIssueCategory, } from "./functions/saveIssuecategory";
22
23
  export { getTicketObject } from "./functions/getTicketObject";
24
+ export { init } from "./init";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTicketObject = exports.saveDefaultIssueCategory = exports.saveIssueCategory = exports.saveTicketMeta = exports.saveMedia = exports.saveMessage = exports.saveProject = exports.saveSource = exports.saveDefaultState = exports.saveState = exports.saveDuedate = exports.saveTicketTitle = exports.saveMaterial = exports.saveRestriction = exports.saveDowntime = exports.saveFrequency = exports.savePriority = exports.assignUsersAndRoles = exports.OpenserviceMessageTranslationKeys = void 0;
3
+ exports.init = exports.getTicketObject = exports.saveDefaultIssueCategory = exports.saveIssueCategory = exports.saveTicketMeta = exports.saveMedia = exports.saveDescription = exports.saveMessage = exports.saveProject = exports.saveSource = exports.saveDefaultState = exports.saveState = exports.saveDuedate = exports.saveTicketTitle = exports.saveMaterial = exports.saveRestriction = exports.saveDowntime = exports.saveFrequency = exports.savePriority = 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");
@@ -28,6 +28,8 @@ var saveProject_1 = require("./functions/saveProject");
28
28
  Object.defineProperty(exports, "saveProject", { enumerable: true, get: function () { return saveProject_1.saveProject; } });
29
29
  var saveMessage_1 = require("./functions/saveMessage");
30
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; } });
31
33
  var saveMedia_1 = require("./functions/saveMedia");
32
34
  Object.defineProperty(exports, "saveMedia", { enumerable: true, get: function () { return saveMedia_1.saveMedia; } });
33
35
  var saveTicketMeta_1 = require("./functions/saveTicketMeta");
@@ -37,3 +39,5 @@ Object.defineProperty(exports, "saveIssueCategory", { enumerable: true, get: fun
37
39
  Object.defineProperty(exports, "saveDefaultIssueCategory", { enumerable: true, get: function () { return saveIssuecategory_1.saveDefaultIssueCategory; } });
38
40
  var getTicketObject_1 = require("./functions/getTicketObject");
39
41
  Object.defineProperty(exports, "getTicketObject", { enumerable: true, get: function () { return getTicketObject_1.getTicketObject; } });
42
+ var init_1 = require("./init");
43
+ Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
@@ -0,0 +1 @@
1
+ export declare function init(): Promise<void>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.init = init;
4
+ const types_1 = require("../../types");
5
+ async function init() {
6
+ console.log("open.SERVICE feature initialized.");
7
+ while (true) {
8
+ const query = new Parse.Query(types_1.Maintenance_Ticket).doesNotExist("description");
9
+ query.limit(1000);
10
+ const tickets = await query.find({ useMasterKey: true });
11
+ if (tickets.length === 0)
12
+ break;
13
+ const allCreationMessages = await new Parse.Query(types_1.Maintenance_Message)
14
+ .equalTo("classname", types_1.Maintenance_Ticket.className)
15
+ .equalTo("title", "maintenance:ticket.create.database.subject.1")
16
+ .containedIn("referencedObjectId", tickets.map((ticket) => ticket.id))
17
+ .limit(1000000)
18
+ .find({ useMasterKey: true });
19
+ for (const ticket of tickets) {
20
+ const foundMessage = allCreationMessages.find((message) => message.get("referencedObjectId") === ticket.id);
21
+ ticket.set("description", foundMessage?.get("content") ?? " ");
22
+ }
23
+ await Parse.Object.saveAll(tickets, { useMasterKey: true });
24
+ }
25
+ }
@@ -8,6 +8,7 @@ export type SaveValues = {
8
8
  end: Date;
9
9
  };
10
10
  title?: string;
11
+ description?: string;
11
12
  message?: MessageField;
12
13
  source?: string;
13
14
  issuecategory?: string;
@@ -70,6 +70,8 @@ async function saveTicketData(data, user) {
70
70
  await (0, openservice_1.assignUsersAndRoles)(ticket, data.assignedTo, fetchOptions, user);
71
71
  if (data.title)
72
72
  await (0, openservice_1.saveTicketTitle)(ticket, fetchOptions);
73
+ if (data.description)
74
+ await (0, openservice_1.saveDescription)(ticket, data, fetchOptions);
73
75
  if (data.meta)
74
76
  await (0, openservice_1.saveTicketMeta)(ticket, data.meta, fetchOptions);
75
77
  if (data.duedate)
@@ -166,7 +168,7 @@ async function saveTicketData(data, user) {
166
168
  owticketobj.state = fetchedSavedState;
167
169
  }
168
170
  }
169
- if (data.media)
171
+ if (data.media && data.media.length > 0)
170
172
  await (0, openservice_1.saveMedia)(ticket, data.media, fetchOptions);
171
173
  if (data.material)
172
174
  await (0, openservice_1.saveMaterial)(ticket, data.material, fetchOptions);
package/dist/index.js CHANGED
@@ -36,6 +36,7 @@ const createRandomPassword_1 = require("./helper/createRandomPassword");
36
36
  const Core_Email_1 = require("./hooks/Core_Email");
37
37
  const _init_2 = require("./hooks/_init");
38
38
  const types_1 = require("./types");
39
+ const openservice_1 = require("./features/openservice");
39
40
  var Core_Email_2 = require("./hooks/Core_Email");
40
41
  Object.defineProperty(exports, "sendSimpleEmail", { enumerable: true, get: function () { return Core_Email_2.sendSimpleEmail; } });
41
42
  Object.defineProperty(exports, "sendTemplateEmail", { enumerable: true, get: function () { return Core_Email_2.sendTemplateEmail; } });
@@ -73,6 +74,7 @@ async function init() {
73
74
  await (0, permissions_1.initPermissions)();
74
75
  await (0, notifications_1.initNotifications)();
75
76
  await (0, settings_1.initUserSettings)();
77
+ await (0, openservice_1.init)();
76
78
  }
77
79
  async function initTranslations() {
78
80
  // try {
@@ -10,6 +10,7 @@ export interface Maintenance_TicketAttributes {
10
10
  assignedroles: Parse.Relation<Maintenance_Ticket, _Role>;
11
11
  assignedusers: Parse.Relation<Maintenance_Ticket, _User>;
12
12
  enabled: boolean;
13
+ description?: string;
13
14
  latestPriorityValue?: number;
14
15
  meta?: any;
15
16
  project?: Maintenance_Project;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openinc/parse-server-opendash",
3
- "version": "3.7.0",
3
+ "version": "3.8.0",
4
4
  "description": "Parse Server Cloud Code for open.INC Stack.",
5
5
  "packageManager": "pnpm@10.11.0",
6
6
  "keywords": [
@@ -10,6 +10,10 @@
10
10
  "targetClass": "_User",
11
11
  "required": false
12
12
  },
13
+ "description": {
14
+ "type": "String",
15
+ "required": false
16
+ },
13
17
  "enabled": {
14
18
  "type": "Boolean",
15
19
  "required": false,
@@ -4,6 +4,11 @@
4
4
  "type": "Object",
5
5
  "required": true
6
6
  },
7
+ "roles": {
8
+ "type": "Relation",
9
+ "targetClass": "_Role",
10
+ "required": false
11
+ },
7
12
  "tenant": {
8
13
  "type": "Pointer",
9
14
  "targetClass": "{{PREFIX}}Tenant",