@openinc/parse-server-opendash 2.4.50 → 2.4.52

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.
@@ -39,7 +39,6 @@ async function initCurrentTicketStates() {
39
39
  console.error("Tenant or user is undefined for ticket", ticket.id);
40
40
  continue;
41
41
  }
42
- console.log("Creating entry for ticket", ticket.id);
43
42
  // if the ticket has a state, create an entry in the current ticket states table
44
43
  if (currentTicketState) {
45
44
  const newTicketState = new types_1.Maintenance_Ticket_Kanban_State_Current({
@@ -49,8 +48,12 @@ async function initCurrentTicketStates() {
49
48
  tenant: tenant,
50
49
  });
51
50
  const acl = new Parse.ACL();
51
+ acl.setPublicReadAccess(false);
52
+ acl.setPublicWriteAccess(false);
52
53
  acl.setRoleReadAccess("od-admin", true);
53
54
  acl.setRoleWriteAccess("od-admin", true);
55
+ acl.setReadAccess(user.id, true);
56
+ acl.setWriteAccess(user.id, true);
54
57
  acl.setRoleReadAccess(`od-tenant-user-${tenant.id}`, true);
55
58
  acl.setRoleWriteAccess(`od-tenant-user-${tenant.id}`, true);
56
59
  acl.setRoleReadAccess(`od-tenant-admin-${tenant.id}`, true);
@@ -71,6 +74,8 @@ async function initCurrentTicketStates() {
71
74
  user: user,
72
75
  });
73
76
  const acl = new Parse.ACL();
77
+ acl.setPublicReadAccess(false);
78
+ acl.setPublicWriteAccess(false);
74
79
  acl.setRoleReadAccess("od-admin", true);
75
80
  acl.setRoleWriteAccess("od-admin", true);
76
81
  acl.setReadAccess(user.id, true);
@@ -80,7 +85,28 @@ async function initCurrentTicketStates() {
80
85
  acl.setRoleReadAccess(`od-tenant-admin-${tenant.id}`, true);
81
86
  acl.setRoleWriteAccess(`od-tenant-admin-${tenant.id}`, true);
82
87
  newkanbanstate.setACL(acl);
83
- await newkanbanstate.save(null, { useMasterKey: true });
88
+ const savedkanbanstate = await newkanbanstate.save(null, {
89
+ useMasterKey: true,
90
+ });
91
+ const currentTicketState = await new Parse.Query(types_1.Maintenance_Ticket_Kanban_State_Current)
92
+ .equalTo("ticket", savedkanbanstate.get("ticket"))
93
+ .first({ useMasterKey: true });
94
+ // if the ticket is already in the current state table, update it
95
+ if (currentTicketState) {
96
+ currentTicketState.set("ticketState", savedkanbanstate);
97
+ currentTicketState.set("state", savedkanbanstate.get("state"));
98
+ await currentTicketState.save(null, { useMasterKey: true });
99
+ }
100
+ // if the ticket is not in the current state table, create a new entry
101
+ else {
102
+ const newTicketState = new types_1.Maintenance_Ticket_Kanban_State_Current({
103
+ ticket: savedkanbanstate.get("ticket"),
104
+ ticketState: savedkanbanstate,
105
+ state: savedkanbanstate.get("state"),
106
+ tenant: savedkanbanstate.get("tenant"),
107
+ });
108
+ await newTicketState.save(null, { useMasterKey: true });
109
+ }
84
110
  }
85
111
  }
86
112
  console.log("Current ticket states table initialized");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openinc/parse-server-opendash",
3
- "version": "2.4.50",
3
+ "version": "2.4.52",
4
4
  "description": "Parse Server Cloud Code for open.DASH",
5
5
  "keywords": [
6
6
  "parse",