@openinc/parse-server-opendash 3.7.0 → 3.9.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.
Files changed (43) hide show
  1. package/dist/features/openservice/functions/saveDescription.d.ts +4 -0
  2. package/dist/features/openservice/functions/saveDescription.js +7 -0
  3. package/dist/features/openservice/functions/saveMessage.js +0 -17
  4. package/dist/features/openservice/index.d.ts +2 -0
  5. package/dist/features/openservice/index.js +5 -1
  6. package/dist/features/openservice/init.d.ts +1 -0
  7. package/dist/features/openservice/init.js +17 -0
  8. package/dist/features/openservice/kanbanState/initKanbanStates.d.ts +6 -0
  9. package/dist/features/openservice/kanbanState/initKanbanStates.js +111 -0
  10. package/dist/features/openservice/messages/initMessages.d.ts +5 -0
  11. package/dist/features/openservice/messages/initMessages.js +455 -0
  12. package/dist/features/openservice/messages/removeLatestMessage.d.ts +7 -0
  13. package/dist/features/openservice/messages/removeLatestMessage.js +24 -0
  14. package/dist/features/openservice/schedules/initScheduling.d.ts +6 -0
  15. package/dist/features/openservice/schedules/initScheduling.js +123 -0
  16. package/dist/features/openservice/ticket/initTicket.d.ts +2 -0
  17. package/dist/features/openservice/ticket/initTicket.js +50 -0
  18. package/dist/features/openservice/types/SaveValues.d.ts +1 -0
  19. package/dist/features/permissions/services/registerPermissions.js +10 -7
  20. package/dist/features/permissions/types/Permissions.d.ts +2 -2
  21. package/dist/features/permissions/types/Permissions.js +18 -17
  22. package/dist/functions/openinc-openservice-save-ticket-data.js +3 -1
  23. package/dist/hooks/Maintenance_Downtime.js +2 -2
  24. package/dist/hooks/Maintenance_Duedate.js +2 -2
  25. package/dist/hooks/Maintenance_Frequency.js +2 -2
  26. package/dist/hooks/Maintenance_Kanban_State.js +0 -10
  27. package/dist/hooks/Maintenance_Message.d.ts +0 -7
  28. package/dist/hooks/Maintenance_Message.js +0 -495
  29. package/dist/hooks/Maintenance_Priority.js +2 -2
  30. package/dist/hooks/Maintenance_Restriction.js +3 -3
  31. package/dist/hooks/Maintenance_Schedule_Template.js +2 -116
  32. package/dist/hooks/Maintenance_Ticket.js +0 -26
  33. package/dist/hooks/Maintenance_Ticket_Issuecategory.js +2 -2
  34. package/dist/hooks/Maintenance_Ticket_Kanban_State.js +2 -2
  35. package/dist/hooks/Maintenance_Ticket_Kanban_State_Current.js +0 -98
  36. package/dist/hooks/Maintenance_Ticket_Material.js +2 -2
  37. package/dist/hooks/Maintenance_Ticket_Source.js +2 -2
  38. package/dist/hooks/Maintenance_Ticket_Title.js +2 -2
  39. package/dist/index.js +3 -0
  40. package/dist/types/Maintenance_Ticket.d.ts +1 -0
  41. package/package.json +1 -1
  42. package/schema/Maintenance_Ticket.json +4 -0
  43. package/schema/Maintenance_Ticket_FormConfig.json +5 -0
@@ -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;
@@ -5,6 +5,7 @@ exports.default = initPermissions;
5
5
  const __1 = require("..");
6
6
  const catchError_1 = require("../../../helper/catchError");
7
7
  const types_1 = require("../../../types");
8
+ const config_1 = require("../../config");
8
9
  /**
9
10
  * Returns all permissions defined in types/Permissions.ts as an array of Permission objects.
10
11
  * @returns all permissions
@@ -12,13 +13,15 @@ const types_1 = require("../../../types");
12
13
  function getAllPermissions() {
13
14
  const permissions = []; // stores all permissions
14
15
  for (const key in __1.Permissions) {
15
- // TODO: Check if the feature is enabled, if not, skip it
16
- // if (!isFeatureEnabled(key.toUpperCase())) {
17
- // continue;
18
- // }
16
+ // check if the feature is enabled, if not, skip it
17
+ if (!(0, config_1.isFeatureEnabled)(key.toUpperCase())) {
18
+ continue;
19
+ }
19
20
  // iterate over the objects / enums of the Permissions namespace
20
21
  if (Object.prototype.hasOwnProperty.call(__1.Permissions, key)) {
21
22
  const element = __1.Permissions[key]; // get the object / enum
23
+ console.log("[@openinc/parse-server-opendash] Registering permissions for feature: " +
24
+ key);
22
25
  const createdPermissions = createPermission(element); // create Permission objects recursively
23
26
  permissions.push(...createdPermissions);
24
27
  }
@@ -87,11 +90,11 @@ async function registerPermissions(tenant) {
87
90
  async function ensureDefaultAdminAccess(tenant) {
88
91
  console.log("[@openinc/parse-server-opendash] Ensure default admin access permissions");
89
92
  const [resultError, result] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Permission)
90
- .equalTo("key", __1.Permissions.OpenINCStack.adminoverview)
93
+ .equalTo("key", __1.Permissions.CORE.adminoverview)
91
94
  .equalTo("tenant", tenant)
92
95
  .first({ useMasterKey: true }));
93
96
  if (resultError) {
94
- console.error("[@openinc/parse-server-opendash] Error while checking permission", __1.Permissions.OpenINCStack.adminoverview, resultError);
97
+ console.error("[@openinc/parse-server-opendash] Error while checking permission", __1.Permissions.CORE.adminoverview, resultError);
95
98
  return;
96
99
  }
97
100
  if (result) {
@@ -104,7 +107,7 @@ async function ensureDefaultAdminAccess(tenant) {
104
107
  await result.save(null, { useMasterKey: true });
105
108
  }
106
109
  else {
107
- console.log("[@openinc/parse-server-opendash] Permission not found", __1.Permissions.OpenINCStack.adminoverview);
110
+ console.log("[@openinc/parse-server-opendash] Permission not found", __1.Permissions.CORE.adminoverview);
108
111
  }
109
112
  }
110
113
  /**
@@ -4,7 +4,7 @@
4
4
  * Adding new Permissions here requires the server to restart for registering those.
5
5
  */
6
6
  export declare namespace Permissions {
7
- enum Maintenance {
7
+ enum MAINTENANCE {
8
8
  ticket = "maintenance:can-create-ticket",
9
9
  schedule = "maintenance:can-create-schedule",
10
10
  message = "maintenance:can-create-message",
@@ -16,7 +16,7 @@ export declare namespace Permissions {
16
16
  monitoring = "maintenance:can-access-monitoring",
17
17
  kanban_view = "maintenance:can-update-kanban-view"
18
18
  }
19
- enum OpenINCStack {
19
+ enum CORE {
20
20
  adminoverview = "opendash:can-access-admin-overview"
21
21
  }
22
22
  }
@@ -9,27 +9,28 @@ exports.Permissions = void 0;
9
9
  var Permissions;
10
10
  (function (Permissions) {
11
11
  // needs to be exported for getAllPermissions() to work
12
- let Maintenance;
13
- (function (Maintenance) {
12
+ // make sure the enum names are called like the features in featuremap.json
13
+ let MAINTENANCE;
14
+ (function (MAINTENANCE) {
14
15
  // Create
15
- Maintenance["ticket"] = "maintenance:can-create-ticket";
16
- Maintenance["schedule"] = "maintenance:can-create-schedule";
17
- Maintenance["message"] = "maintenance:can-create-message";
18
- Maintenance["machinelog_ticket"] = "maintenance:can-create-machinelog-ticket";
19
- Maintenance["machinelog_schedule"] = "maintenance:can-create-machinelog-schedule";
20
- Maintenance["machinelog_message"] = "maintenance:can-create-machinelog-message";
16
+ MAINTENANCE["ticket"] = "maintenance:can-create-ticket";
17
+ MAINTENANCE["schedule"] = "maintenance:can-create-schedule";
18
+ MAINTENANCE["message"] = "maintenance:can-create-message";
19
+ MAINTENANCE["machinelog_ticket"] = "maintenance:can-create-machinelog-ticket";
20
+ MAINTENANCE["machinelog_schedule"] = "maintenance:can-create-machinelog-schedule";
21
+ MAINTENANCE["machinelog_message"] = "maintenance:can-create-machinelog-message";
21
22
  // Access
22
- Maintenance["global"] = "maintenance:can-access-global";
23
- Maintenance["monitor"] = "maintenance:can-access-monitor";
24
- Maintenance["monitoring"] = "maintenance:can-access-monitoring";
23
+ MAINTENANCE["global"] = "maintenance:can-access-global";
24
+ MAINTENANCE["monitor"] = "maintenance:can-access-monitor";
25
+ MAINTENANCE["monitoring"] = "maintenance:can-access-monitoring";
25
26
  // Update
26
- Maintenance["kanban_view"] = "maintenance:can-update-kanban-view";
27
- })(Maintenance = Permissions.Maintenance || (Permissions.Maintenance = {}));
28
- let OpenINCStack;
29
- (function (OpenINCStack) {
27
+ MAINTENANCE["kanban_view"] = "maintenance:can-update-kanban-view";
28
+ })(MAINTENANCE = Permissions.MAINTENANCE || (Permissions.MAINTENANCE = {}));
29
+ let CORE;
30
+ (function (CORE) {
30
31
  //Access
31
- OpenINCStack["adminoverview"] = "opendash:can-access-admin-overview";
32
- })(OpenINCStack = Permissions.OpenINCStack || (Permissions.OpenINCStack = {}));
32
+ CORE["adminoverview"] = "opendash:can-access-admin-overview";
33
+ })(CORE = Permissions.CORE || (Permissions.CORE = {}));
33
34
  // can also be used for nested permissions
34
35
  // Example:
35
36
  // export namespace TestPlugin {
@@ -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);
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.init = init;
4
4
  const __1 = require("..");
5
5
  const openservice_1 = require("../features/openservice");
6
+ const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
6
7
  const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data");
7
8
  const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
8
9
  const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
9
10
  const types_1 = require("../types");
10
- const Maintenance_Message_1 = require("./Maintenance_Message");
11
11
  const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DOWNTIME.TITLE;
12
12
  const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DOWNTIME.CONTENT;
13
13
  const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.DOWNTIME.TITLE;
@@ -25,7 +25,7 @@ async function init() {
25
25
  });
26
26
  // if an entry was removed, remove the message as well
27
27
  if (removedEntry)
28
- (0, Maintenance_Message_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
28
+ (0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
29
29
  });
30
30
  (0, __1.afterSaveHook)(types_1.Maintenance_Downtime, async (request) => {
31
31
  const { object, original, user } = request;
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.init = init;
4
4
  const __1 = require("..");
5
5
  const openservice_1 = require("../features/openservice");
6
+ const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
6
7
  const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data");
7
8
  const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
8
9
  const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
9
10
  const types_1 = require("../types");
10
- const Maintenance_Message_1 = require("./Maintenance_Message");
11
11
  const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DUEDATE.TITLE;
12
12
  const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.DUEDATE.CONTENT;
13
13
  const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.DUEDATE.TITLE;
@@ -25,7 +25,7 @@ async function init() {
25
25
  });
26
26
  // if an entry was removed, remove the message as well
27
27
  if (removedEntry)
28
- (0, Maintenance_Message_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
28
+ (0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
29
29
  });
30
30
  (0, __1.afterSaveHook)(types_1.Maintenance_Duedate, async (request) => {
31
31
  const { object, original, user } = request;
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.init = init;
4
4
  const __1 = require("..");
5
5
  const openservice_1 = require("../features/openservice");
6
+ const removeLatestMessage_1 = require("../features/openservice/messages/removeLatestMessage");
6
7
  const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data");
7
8
  const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data");
8
9
  const removeShorltyPreviousEntry_1 = require("../helper/removeShorltyPreviousEntry");
9
10
  const types_1 = require("../types");
10
- const Maintenance_Message_1 = require("./Maintenance_Message");
11
11
  const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.FREQUENCY.TITLE;
12
12
  const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.FREQUENCY.CONTENT;
13
13
  const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.FREQUENCY.TITLE;
@@ -25,7 +25,7 @@ async function init() {
25
25
  });
26
26
  // if an entry was removed, remove the message as well
27
27
  if (removedEntry)
28
- (0, Maintenance_Message_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
28
+ (0, removeLatestMessage_1.removeLatestMessage)(removedEntry, TRANSLATION_TITLE, TRANSLATION_CONTENT);
29
29
  });
30
30
  (0, __1.afterSaveHook)(types_1.Maintenance_Frequency, async (request) => {
31
31
  const { object, original, user } = request;
@@ -4,7 +4,6 @@ exports.init = init;
4
4
  const __1 = require("..");
5
5
  const types_1 = require("../types");
6
6
  async function init() {
7
- initEnabledFlag();
8
7
  (0, __1.beforeSaveHook)(types_1.Maintenance_Kanban_State, async (request) => {
9
8
  const { object, original, user } = request;
10
9
  await (0, __1.defaultHandler)(request);
@@ -16,12 +15,3 @@ async function init() {
16
15
  // TODO
17
16
  });
18
17
  }
19
- async function initEnabledFlag() {
20
- const objects = await new Parse.Query(types_1.Maintenance_Kanban_State)
21
- .limit(1000000000)
22
- .find({ useMasterKey: true });
23
- const promises = objects.map((object) => {
24
- object.save({ enabled: object.enabled === undefined ? true : object.enabled }, { useMasterKey: true });
25
- });
26
- await Promise.all(promises);
27
- }
@@ -1,8 +1 @@
1
1
  export declare function init(): Promise<void>;
2
- /**
3
- * Removes the latest message. as context the title and content are used (should be translation strings)
4
- * @param entry the entry to remove the message for
5
- * @param title translation string for the title
6
- * @param content translation string for the content
7
- */
8
- export declare function removeLatestMessage(entry: Parse.Object, title: string, content: string): Promise<boolean>;