@plusscommunities/pluss-maintenance-aws 2.1.1 → 2.2.1-beta.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/createJob.js CHANGED
@@ -11,6 +11,7 @@ const getUserPreview = require("@plusscommunities/pluss-core-aws/helper/getUserP
11
11
  const publishActivity = require("@plusscommunities/pluss-core-aws/db/activity/publishActivity");
12
12
  const sendJobEmail = require("./sendJobEmail");
13
13
  const logAnalyticsActivity = require("@plusscommunities/pluss-core-aws/db/analytics/logAnalyticsActivity");
14
+ const { values } = require("./values.config");
14
15
 
15
16
  module.exports.createJob = (event, context, callback) => {
16
17
  init(config);
@@ -40,7 +41,7 @@ module.exports.createJob = (event, context, callback) => {
40
41
  if (data.userID !== "undefined" && user.id !== data.userID) {
41
42
  const canRequest = await validateMasterAuth(
42
43
  event,
43
- "maintenanceTracking",
44
+ values.permissionMaintenanceTracking,
44
45
  data.location
45
46
  );
46
47
  if (!canRequest) {
@@ -95,7 +96,7 @@ module.exports.createJob = (event, context, callback) => {
95
96
 
96
97
  logAnalyticsActivity(
97
98
  `Request`,
98
- "maintenancerequest",
99
+ values.entityKey,
99
100
  data.location,
100
101
  user,
101
102
  id
package/createJobType.js CHANGED
@@ -5,6 +5,7 @@ const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth
5
5
  const generateJsonResponse = require("@plusscommunities/pluss-core-aws/helper/generateJsonResponse");
6
6
  const createGuid = require("@plusscommunities/pluss-core-aws/helper/createGuid");
7
7
  const updateRef = require("@plusscommunities/pluss-core-aws/db/common/updateRef");
8
+ const { values } = require("./values.config");
8
9
 
9
10
  module.exports.createJobType = (event, context, callback) => {
10
11
  init(config);
@@ -17,43 +18,45 @@ module.exports.createJobType = (event, context, callback) => {
17
18
  );
18
19
  }
19
20
 
20
- validateMasterAuth(event, "maintenanceTypes").then((authorised) => {
21
- if (!authorised) {
22
- console.error("Authorization not valid");
23
- return callback(
24
- null,
25
- generateJsonResponse(422, {
26
- error: { message: "Admin - Create User - not authorized." },
27
- })
28
- );
29
- }
30
-
31
- const jobType = {
32
- id: createGuid().substring(0, 8),
33
- email: data.email,
34
- typeName: data.name,
35
- description: data.description,
36
- level: data.level,
37
- site: data.site,
38
- };
39
-
40
- updateRef("jobTypes", jobType)
41
- .then((result) => {
42
- return callback(
43
- null,
44
- generateJsonResponse(200, {
45
- success: true,
46
- jobType: result,
47
- })
48
- );
49
- })
50
- .catch((error) => {
21
+ validateMasterAuth(event, values.permissionMaintenanceTypes).then(
22
+ (authorised) => {
23
+ if (!authorised) {
24
+ console.error("Authorization not valid");
51
25
  return callback(
52
26
  null,
53
27
  generateJsonResponse(422, {
54
- error,
28
+ error: { message: "Admin - Create User - not authorized." },
55
29
  })
56
30
  );
57
- });
58
- });
31
+ }
32
+
33
+ const jobType = {
34
+ id: createGuid().substring(0, 8),
35
+ email: data.email,
36
+ typeName: data.name,
37
+ description: data.description,
38
+ level: data.level,
39
+ site: data.site,
40
+ };
41
+
42
+ updateRef(values.tableNameJobTypes, jobType)
43
+ .then((result) => {
44
+ return callback(
45
+ null,
46
+ generateJsonResponse(200, {
47
+ success: true,
48
+ jobType: result,
49
+ })
50
+ );
51
+ })
52
+ .catch((error) => {
53
+ return callback(
54
+ null,
55
+ generateJsonResponse(422, {
56
+ error,
57
+ })
58
+ );
59
+ });
60
+ }
61
+ );
59
62
  };
@@ -4,6 +4,7 @@ const uuid = require("uuid");
4
4
  const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuery");
5
5
  const updateRef = require("@plusscommunities/pluss-core-aws/db/common/updateRef");
6
6
  const { getConfig } = require("@plusscommunities/pluss-core-aws/config");
7
+ const { values } = require("../../values.config");
7
8
 
8
9
  module.exports = async (
9
10
  userID,
@@ -74,7 +75,7 @@ module.exports = async (
74
75
  ScanIndexForward: false,
75
76
  };
76
77
 
77
- const queryRes = await indexQuery("maintenance", jobNoQ);
78
+ const queryRes = await indexQuery(values.tableNameMaintenance, jobNoQ);
78
79
 
79
80
  if (!_.isEmpty(queryRes.Items)) {
80
81
  requestToSave.jobNo = queryRes.Items[0].jobNo + 1;
@@ -88,7 +89,7 @@ module.exports = async (
88
89
  Limit: 1,
89
90
  ScanIndexForward: false,
90
91
  };
91
- const { Items } = await indexQuery("maintenance", query);
92
+ const { Items } = await indexQuery(values.tableNameMaintenance, query);
92
93
  requestToSave.jobNo =
93
94
  !_.isEmpty(Items) && Items[0].jobId
94
95
  ? Number.parseInt(Items[0].jobId) + 1
@@ -97,6 +98,6 @@ module.exports = async (
97
98
  requestToSave.jobId = (requestToSave.jobNo || 0) + "";
98
99
  }
99
100
 
100
- await updateRef("maintenance", requestToSave);
101
+ await updateRef(values.tableNameMaintenance, requestToSave);
101
102
  return requestToSave.id;
102
103
  };
@@ -1,12 +1,13 @@
1
1
  const moment = require("moment");
2
2
  const editRef = require("@plusscommunities/pluss-core-aws/db/common/editRef");
3
+ const { values } = require("../../values.config");
3
4
 
4
5
  module.exports = (job) => {
5
6
  return new Promise((resolve, reject) => {
6
7
  job.lastActivity = moment.utc().toISOString();
7
8
  job.lastActivityUnix = moment.utc().valueOf();
8
9
 
9
- editRef("maintenance", "id", job.id, job)
10
+ editRef(values.tableNameMaintenance, "id", job.id, job)
10
11
  .then((result) => {
11
12
  resolve(result);
12
13
  })
@@ -1,4 +1,5 @@
1
1
  const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuery");
2
+ const { values } = require("../../values.config");
2
3
 
3
4
  module.exports = (site, typeName) => {
4
5
  return new Promise((resolve, reject) => {
@@ -13,7 +14,7 @@ module.exports = (site, typeName) => {
13
14
 
14
15
  console.log("running jobType email query");
15
16
  console.log(query);
16
- indexQuery("jobTypes", query)
17
+ indexQuery(values.tableNameJobTypes, query)
17
18
  .then((data) => {
18
19
  console.log("successful query");
19
20
  resolve(data.Items[0]);
package/deleteJob.js CHANGED
@@ -7,6 +7,7 @@ const getRef = require("@plusscommunities/pluss-core-aws/db/common/getRef");
7
7
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
8
8
  const publishActivity = require("@plusscommunities/pluss-core-aws/db/activity/publishActivity");
9
9
  const getUserPreviewFromReq = require("@plusscommunities/pluss-core-aws/helper/getUserPreviewFromReq");
10
+ const { values } = require("./values.config");
10
11
 
11
12
  module.exports.deleteJob = (event, context, callback) => {
12
13
  init(config);
@@ -20,46 +21,54 @@ module.exports.deleteJob = (event, context, callback) => {
20
21
  return;
21
22
  }
22
23
 
23
- validateMasterAuth(event, "maintenanceTracking").then((authorised) => {
24
- if (!authorised) {
25
- console.error("Authorization not valid");
26
- callback(
27
- null,
28
- generateJsonResponse(403, {
29
- error: {
30
- message: "Authorization not valid.",
31
- },
32
- })
33
- );
34
- return;
35
- }
36
-
37
- getRef("maintenance", "id", data.id).then((result) => {
38
- if (result.site !== data.site) {
39
- return callback(
24
+ validateMasterAuth(event, values.permissionMaintenanceTracking).then(
25
+ (authorised) => {
26
+ if (!authorised) {
27
+ console.error("Authorization not valid");
28
+ callback(
40
29
  null,
41
- generateJsonResponse(422, {
30
+ generateJsonResponse(403, {
42
31
  error: {
43
- message: "Incorrect site.",
32
+ message: "Authorization not valid.",
44
33
  },
45
34
  })
46
35
  );
36
+ return;
47
37
  }
48
- deleteRef("maintenance", "id", data.id)
49
- .then(() => {
50
- getUserPreviewFromReq(event).then((user) => {
51
- publishActivity("DeleteMaintenanceJob", data.site, data.id, user, {
52
- title: result.title,
53
- description: result.description,
38
+
39
+ getRef(values.tableNameMaintenance, "id", data.id).then((result) => {
40
+ if (result.site !== data.site) {
41
+ return callback(
42
+ null,
43
+ generateJsonResponse(422, {
44
+ error: {
45
+ message: "Incorrect site.",
46
+ },
47
+ })
48
+ );
49
+ }
50
+ deleteRef(values.tableNameMaintenance, "id", data.id)
51
+ .then(() => {
52
+ getUserPreviewFromReq(event).then((user) => {
53
+ publishActivity(
54
+ values.activityDeleteMaintenanceJob,
55
+ data.site,
56
+ data.id,
57
+ user,
58
+ {
59
+ title: result.title,
60
+ description: result.description,
61
+ }
62
+ );
54
63
  });
64
+ callback(null, generateJsonResponse(200, { success: true }));
65
+ return;
66
+ })
67
+ .catch((error) => {
68
+ callback(null, generateJsonResponse(422, { error }));
69
+ return;
55
70
  });
56
- callback(null, generateJsonResponse(200, { success: true }));
57
- return;
58
- })
59
- .catch((error) => {
60
- callback(null, generateJsonResponse(422, { error }));
61
- return;
62
- });
63
- });
64
- });
71
+ });
72
+ }
73
+ );
65
74
  };
package/deleteJobType.js CHANGED
@@ -5,6 +5,7 @@ const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth
5
5
  const generateJsonResponse = require("@plusscommunities/pluss-core-aws/helper/generateJsonResponse");
6
6
  const deleteRef = require("@plusscommunities/pluss-core-aws/db/common/deleteRef");
7
7
  const getRef = require("@plusscommunities/pluss-core-aws/db/common/getRef");
8
+ const { values } = require("./values.config");
8
9
 
9
10
  module.exports.deleteJobType = (event, context, callback) => {
10
11
  init(config);
@@ -17,35 +18,37 @@ module.exports.deleteJobType = (event, context, callback) => {
17
18
  );
18
19
  }
19
20
 
20
- validateMasterAuth(event, "maintenanceTypes").then((authorised) => {
21
- if (!authorised) {
22
- console.error("Authorization not valid");
23
- return callback(
24
- null,
25
- generateJsonResponse(422, {
26
- error: { message: "Admin - Create User - not authorized." },
27
- })
28
- );
29
- }
30
-
31
- getRef("jobTypes", "id", data.id).then((result) => {
32
- if (result.site !== data.site) {
21
+ validateMasterAuth(event, values.permissionMaintenanceTypes).then(
22
+ (authorised) => {
23
+ if (!authorised) {
24
+ console.error("Authorization not valid");
33
25
  return callback(
34
26
  null,
35
27
  generateJsonResponse(422, {
36
- error: {
37
- message: "Incorrect site.",
38
- },
28
+ error: { message: "Admin - Create User - not authorized." },
39
29
  })
40
30
  );
41
31
  }
42
- deleteRef("jobTypes", "id", data.id)
43
- .then(() => {
44
- return callback(null, generateJsonResponse(200, { success: true }));
45
- })
46
- .catch((error) => {
47
- return callback(null, generateJsonResponse(422, { error }));
48
- });
49
- });
50
- });
32
+
33
+ getRef(values.tableNameJobTypes, "id", data.id).then((result) => {
34
+ if (result.site !== data.site) {
35
+ return callback(
36
+ null,
37
+ generateJsonResponse(422, {
38
+ error: {
39
+ message: "Incorrect site.",
40
+ },
41
+ })
42
+ );
43
+ }
44
+ deleteRef(values.tableNameJobTypes, "id", data.id)
45
+ .then(() => {
46
+ return callback(null, generateJsonResponse(200, { success: true }));
47
+ })
48
+ .catch((error) => {
49
+ return callback(null, generateJsonResponse(422, { error }));
50
+ });
51
+ });
52
+ }
53
+ );
51
54
  };
package/editJob.js CHANGED
@@ -10,6 +10,7 @@ const editMaintenanceJob = require("./db/maintenance/editMaintenanceJob");
10
10
  const { getConfig } = require("@plusscommunities/pluss-core-aws/config");
11
11
  const hasRequestPermission = require("./requests/helper/hasRequestPermission");
12
12
  const getUserPreviewFromReq = require("@plusscommunities/pluss-core-aws/helper/getUserPreviewFromReq");
13
+ const { values } = require("./values.config");
13
14
 
14
15
  module.exports.editJob = (event, context, callback) => {
15
16
  init(config);
@@ -22,7 +23,7 @@ module.exports.editJob = (event, context, callback) => {
22
23
  );
23
24
  }
24
25
 
25
- getRef("maintenance", "id", data.job.id)
26
+ getRef(values.tableNameMaintenance, "id", data.job.id)
26
27
  .then((prevData) => {
27
28
  hasRequestPermission(event, prevData).then((authorised) => {
28
29
  if (!authorised) {
@@ -40,7 +41,7 @@ module.exports.editJob = (event, context, callback) => {
40
41
  if (!getConfig().maintenanceInstantComplete) {
41
42
  sendJobEmail(data.job, true);
42
43
  publishActivity(
43
- "EditMaintenanceJob",
44
+ values.activityEditMaintenanceJob,
44
45
  data.site,
45
46
  data.job.id,
46
47
  user,
package/editJobStatus.js CHANGED
@@ -11,13 +11,14 @@ const publishNotifications = require("@plusscommunities/pluss-core-aws/db/notifi
11
11
  const editMaintenanceJob = require("./db/maintenance/editMaintenanceJob");
12
12
  const logAnalyticsActivity = require("@plusscommunities/pluss-core-aws/db/analytics/logAnalyticsActivity");
13
13
  const hasRequestPermission = require("./requests/helper/hasRequestPermission");
14
+ const { values } = require("./values.config");
14
15
 
15
16
  module.exports.editJobStatus = async (event, context, callback) => {
16
17
  init(config);
17
18
  const data = getBody(event);
18
19
 
19
20
  try {
20
- const job = await getRef("maintenance", "id", data.id);
21
+ const job = await getRef(values.tableNameMaintenance, "id", data.id);
21
22
  const authorised = await hasRequestPermission(event, job);
22
23
  if (!authorised) {
23
24
  console.error("Authorization not valid");
@@ -45,7 +46,7 @@ module.exports.editJobStatus = async (event, context, callback) => {
45
46
 
46
47
  // Log activity & notify
47
48
  publishActivity(
48
- "MaintenanceJobStatusChanged",
49
+ values.activityMaintenanceJobStatusChanged,
49
50
  result.site,
50
51
  result.id,
51
52
  user,
@@ -55,7 +56,7 @@ module.exports.editJobStatus = async (event, context, callback) => {
55
56
  if (job.status === "Completed") {
56
57
  logAnalyticsActivity(
57
58
  `RequestCompleted`,
58
- "maintenancerequest",
59
+ values.entityKey,
59
60
  result.site,
60
61
  user,
61
62
  result.id
@@ -65,7 +66,7 @@ module.exports.editJobStatus = async (event, context, callback) => {
65
66
  if (result.userID) {
66
67
  publishNotifications(
67
68
  [result.userID],
68
- "MaintenanceJobStatusChanged",
69
+ values.activityMaintenanceJobStatusChanged,
69
70
  result.site,
70
71
  result.id,
71
72
  result,
package/editJobType.js CHANGED
@@ -5,6 +5,7 @@ const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth
5
5
  const generateJsonResponse = require("@plusscommunities/pluss-core-aws/helper/generateJsonResponse");
6
6
  const editRef = require("@plusscommunities/pluss-core-aws/db/common/editRef");
7
7
  const getRef = require("@plusscommunities/pluss-core-aws/db/common/getRef");
8
+ const { values } = require("./values.config");
8
9
 
9
10
  module.exports.editJobType = (event, context, callback) => {
10
11
  init(config);
@@ -17,55 +18,57 @@ module.exports.editJobType = (event, context, callback) => {
17
18
  );
18
19
  }
19
20
 
20
- validateMasterAuth(event, "maintenanceTypes").then((authorised) => {
21
- if (!authorised) {
22
- console.error("Authorization not valid");
23
- return callback(
24
- null,
25
- generateJsonResponse(422, {
26
- error: { message: "Admin - Create User - not authorized." },
27
- })
28
- );
29
- }
30
-
31
- const jobType = {
32
- id: data.id,
33
- email: data.email,
34
- typeName: data.name,
35
- description: data.description,
36
- level: data.level,
37
- site: data.site,
38
- };
39
-
40
- getRef("jobTypes", "id", data.id).then((result) => {
41
- if (result.site !== data.site) {
21
+ validateMasterAuth(event, values.permissionMaintenanceTypes).then(
22
+ (authorised) => {
23
+ if (!authorised) {
24
+ console.error("Authorization not valid");
42
25
  return callback(
43
26
  null,
44
27
  generateJsonResponse(422, {
45
- error: {
46
- message: "Incorrect site.",
47
- },
28
+ error: { message: "Admin - Create User - not authorized." },
48
29
  })
49
30
  );
50
31
  }
51
- editRef("jobTypes", "id", data.id, jobType)
52
- .then((result) => {
53
- return callback(
54
- null,
55
- generateJsonResponse(200, {
56
- success: true,
57
- jobType: result,
58
- })
59
- );
60
- })
61
- .catch((error) => {
32
+
33
+ const jobType = {
34
+ id: data.id,
35
+ email: data.email,
36
+ typeName: data.name,
37
+ description: data.description,
38
+ level: data.level,
39
+ site: data.site,
40
+ };
41
+
42
+ getRef(values.tableNameJobTypes, "id", data.id).then((result) => {
43
+ if (result.site !== data.site) {
62
44
  return callback(
63
45
  null,
64
46
  generateJsonResponse(422, {
65
- error,
47
+ error: {
48
+ message: "Incorrect site.",
49
+ },
66
50
  })
67
51
  );
68
- });
69
- });
70
- });
52
+ }
53
+ editRef(values.tableNameJobTypes, "id", data.id, jobType)
54
+ .then((result) => {
55
+ return callback(
56
+ null,
57
+ generateJsonResponse(200, {
58
+ success: true,
59
+ jobType: result,
60
+ })
61
+ );
62
+ })
63
+ .catch((error) => {
64
+ return callback(
65
+ null,
66
+ generateJsonResponse(422, {
67
+ error,
68
+ })
69
+ );
70
+ });
71
+ });
72
+ }
73
+ );
71
74
  };
package/editNote.js CHANGED
@@ -10,6 +10,7 @@ const updateRef = require("@plusscommunities/pluss-core-aws/db/common/updateRef"
10
10
  const publishActivity = require("@plusscommunities/pluss-core-aws/db/activity/publishActivity");
11
11
  const getUserPreviewFromReq = require("@plusscommunities/pluss-core-aws/helper/getUserPreviewFromReq");
12
12
  const hasRequestPermission = require("./requests/helper/hasRequestPermission");
13
+ const { values } = require("./values.config");
13
14
 
14
15
  module.exports.editNote = (event, context, callback) => {
15
16
  init(config);
@@ -50,7 +51,7 @@ module.exports.editNote = (event, context, callback) => {
50
51
  break;
51
52
  }
52
53
 
53
- getRef("maintenance", "id", data.id).then((job) => {
54
+ getRef(values.tableNameMaintenance, "id", data.id).then((job) => {
54
55
  hasRequestPermission(event, job)
55
56
  .then((authorised) => {
56
57
  if (!authorised) {
@@ -76,13 +77,13 @@ module.exports.editNote = (event, context, callback) => {
76
77
  Note: data.note,
77
78
  Attachments: data.attachments,
78
79
  });
79
- activityAction = "AddMaintenanceNote";
80
+ activityAction = values.activityAddMaintenanceNote;
80
81
  break;
81
82
  case "DeleteNote":
82
83
  job.Notes = _.filter(job.Notes, (n) => {
83
84
  return n.Id !== data.noteId;
84
85
  });
85
- activityAction = "DeleteMaintenanceNote";
86
+ activityAction = values.activityDeleteMaintenanceNote;
86
87
  break;
87
88
  case "EditNote":
88
89
  const note = _.find(job.Notes, (n) => {
@@ -98,12 +99,12 @@ module.exports.editNote = (event, context, callback) => {
98
99
  }
99
100
  note.Note = data.note;
100
101
  note.Attachments = data.attachments;
101
- activityAction = "EditMaintenanceNote";
102
+ activityAction = values.activityEditMaintenanceNote;
102
103
  break;
103
104
  default:
104
105
  break;
105
106
  }
106
- updateRef("maintenance", job).then((result) => {
107
+ updateRef(values.tableNameMaintenance, job).then((result) => {
107
108
  publishActivity(activityAction, result.site, result.id, user, {
108
109
  title: result.title,
109
110
  description: result.description,
package/feature.config.js CHANGED
@@ -1,20 +1,22 @@
1
+ const { values } = require("./values.config");
2
+
1
3
  exports.permissions = [
2
- "maintenanceTracking",
3
- "maintenanceAssignment",
4
- "maintenanceTypes",
4
+ values.permissionMaintenanceTracking,
5
+ values.permissionMaintenanceAssignment,
6
+ values.permissionMaintenanceTypes,
5
7
  ];
6
8
 
7
9
  exports.entity = {
8
- key: "maintenancerequest",
9
- permission: "maintenanceTracking",
10
- table: "maintenance",
10
+ key: values.entityKey,
11
+ permission: values.permissionMaintenanceTracking,
12
+ table: values.tableNameMaintenance,
11
13
  id: "id",
12
- webPath: "/requestsHub/jobDetails/:id",
13
- appPath: "requestDetail",
14
+ webPath: values.routeEntityPath,
15
+ appPath: values.screenMaintenanceDetail,
14
16
  };
15
17
 
16
18
  exports.serverless = {
17
- name: "maintenance",
19
+ name: values.serviceKey,
18
20
  apis: [
19
21
  {
20
22
  name: "getJobType",
@@ -150,7 +152,7 @@ exports.serverless = {
150
152
  function: "jobChanged",
151
153
  memorySize: 2048,
152
154
  timeout: 300,
153
- table: "maintenance",
155
+ table: values.tableKeyMaintenance,
154
156
  },
155
157
  ],
156
158
  schedules: [
@@ -173,8 +175,8 @@ exports.serverless = {
173
175
  ],
174
176
  tables: [
175
177
  {
176
- key: "jobtypes",
177
- name: "jobTypes",
178
+ key: values.tableKeyJobTypes,
179
+ name: values.tableNameJobTypes,
178
180
  attributes: [
179
181
  { name: "id", type: "S" },
180
182
  { name: "site", type: "S" },
@@ -192,8 +194,8 @@ exports.serverless = {
192
194
  ],
193
195
  },
194
196
  {
195
- key: "maintenance",
196
- name: "maintenance",
197
+ key: values.tableKeyMaintenance,
198
+ name: values.tableNameMaintenance,
197
199
  attributes: [
198
200
  { name: "id", type: "S" },
199
201
  { name: "site", type: "S" },
@@ -231,8 +233,8 @@ exports.serverless = {
231
233
  ],
232
234
  },
233
235
  {
234
- key: "supporttickets",
235
- name: "supporttickets",
236
+ key: values.tableKeySupportTickets,
237
+ name: values.tableNameSupportTickets,
236
238
  attributes: [
237
239
  { name: "Id", type: "S" },
238
240
  { name: "Site", type: "S" },
package/getJob.js CHANGED
@@ -7,6 +7,7 @@ const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuer
7
7
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
8
8
  const getSessionUser = require("@plusscommunities/pluss-core-aws/helper/auth/getSessionUser");
9
9
  const isValidAssignee = require("./requests/helper/isValidAssignee");
10
+ const { values } = require("./values.config");
10
11
 
11
12
  module.exports.getJob = async (event, context, callback) => {
12
13
  init(config);
@@ -32,16 +33,20 @@ module.exports.getJob = async (event, context, callback) => {
32
33
  ":jobId": data.jobId,
33
34
  },
34
35
  };
35
- const { Items } = await indexQuery("maintenance", query);
36
+ const { Items } = await indexQuery(values.tableNameMaintenance, query);
36
37
  result = Items[0];
37
38
  }
38
39
  if (!result)
39
- result = await getRef("maintenance", "id", data.id || data.jobId);
40
+ result = await getRef(
41
+ values.tableNameMaintenance,
42
+ "id",
43
+ data.id || data.jobId
44
+ );
40
45
 
41
46
  try {
42
47
  const authorised = await validateMasterAuth(
43
48
  event,
44
- "maintenanceTracking",
49
+ values.permissionMaintenanceTracking,
45
50
  result.site
46
51
  );
47
52
  const assignAuthorised = await isValidAssignee(
package/getJobType.js CHANGED
@@ -4,6 +4,7 @@ const { getBody } = require("@plusscommunities/pluss-core-aws/helper");
4
4
  const generateJsonResponse = require("@plusscommunities/pluss-core-aws/helper/generateJsonResponse");
5
5
  const getRef = require("@plusscommunities/pluss-core-aws/db/common/getRef");
6
6
  const validateSiteAccess = require("@plusscommunities/pluss-core-aws/helper/auth/validateSiteAccess");
7
+ const { values } = require("./values.config");
7
8
 
8
9
  module.exports.getJobType = (event, context, callback) => {
9
10
  init(config);
@@ -26,7 +27,7 @@ module.exports.getJobType = (event, context, callback) => {
26
27
  generateJsonResponse(422, { fail: true, error: "not authorised" })
27
28
  );
28
29
  }
29
- getRef("jobTypes", "id", data.typeId)
30
+ getRef(values.tableNameJobTypes, "id", data.typeId)
30
31
  .then((gweg) => {
31
32
  return callback(null, generateJsonResponse(200, gweg));
32
33
  })
package/getJobTypes.js CHANGED
@@ -7,6 +7,7 @@ const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuer
7
7
  const updateRef = require("@plusscommunities/pluss-core-aws/db/common/updateRef");
8
8
  const validateSiteAccess = require("@plusscommunities/pluss-core-aws/helper/auth/validateSiteAccess");
9
9
  const createGuid = require("@plusscommunities/pluss-core-aws/helper/createGuid");
10
+ const { values } = require("./values.config");
10
11
 
11
12
  module.exports.getJobTypes = (event, context, callback) => {
12
13
  init(config);
@@ -37,7 +38,7 @@ module.exports.getJobTypes = (event, context, callback) => {
37
38
  },
38
39
  };
39
40
 
40
- indexQuery("jobTypes", query)
41
+ indexQuery(values.tableNameJobTypes, query)
41
42
  .then((typeRes) => {
42
43
  if (!_.isEmpty(typeRes.Items)) {
43
44
  return callback(null, generateJsonResponse(200, typeRes.Items));
@@ -49,7 +50,7 @@ module.exports.getJobTypes = (event, context, callback) => {
49
50
  site: data.site,
50
51
  };
51
52
 
52
- updateRef("jobTypes", jobType).then(() => {
53
+ updateRef(values.tableNameJobTypes, jobType).then(() => {
53
54
  return callback(null, generateJsonResponse(200, [jobType]));
54
55
  });
55
56
  })
package/getJobs.js CHANGED
@@ -5,6 +5,7 @@ const generateJsonResponse = require("@plusscommunities/pluss-core-aws/helper/ge
5
5
  const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuery");
6
6
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
7
7
  const getSessionUser = require("@plusscommunities/pluss-core-aws/helper/auth/getSessionUser");
8
+ const { values } = require("./values.config");
8
9
 
9
10
  module.exports.getJobs = async (event, context, callback) => {
10
11
  init(config);
@@ -20,7 +21,10 @@ module.exports.getJobs = async (event, context, callback) => {
20
21
  }
21
22
 
22
23
  try {
23
- const authorised = await validateMasterAuth(event, "maintenanceTracking");
24
+ const authorised = await validateMasterAuth(
25
+ event,
26
+ values.permissionMaintenanceTracking
27
+ );
24
28
  const userId = authorised
25
29
  ? null
26
30
  : await getSessionUser(event.headers.authkey);
@@ -35,7 +39,7 @@ module.exports.getJobs = async (event, context, callback) => {
35
39
  };
36
40
 
37
41
  try {
38
- const res = await indexQuery("maintenance", query);
42
+ const res = await indexQuery(values.tableNameMaintenance, query);
39
43
  let jobs = userId
40
44
  ? res.Items.filter((job) => job.userID === userId)
41
45
  : res.Items;
@@ -9,6 +9,7 @@ const updateRef = require("@plusscommunities/pluss-core-aws/db/common/updateRef"
9
9
  const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuery");
10
10
  const publishNotifications = require("@plusscommunities/pluss-core-aws/db/notifications/publishNotifications");
11
11
  const getRef = require("@plusscommunities/pluss-core-aws/db/common/getRef");
12
+ const { values } = require("../../values.config");
12
13
 
13
14
  class ArchibusStrategy extends IntegrationStrategy {
14
15
  constructor(config) {
@@ -69,7 +70,7 @@ class ArchibusStrategy extends IntegrationStrategy {
69
70
  Host: this.host,
70
71
  },
71
72
  data: {
72
- prob_type: "1.ON-SITE|1. MAINTENANCE",
73
+ prob_type: "1.ON-SITE",
73
74
  requestor: "PLUSSDEV",
74
75
  description: `${request.title}${
75
76
  _.isEmpty(request.description) ? "" : `\n\n${request.description}`
@@ -98,7 +99,7 @@ class ArchibusStrategy extends IntegrationStrategy {
98
99
  });
99
100
 
100
101
  // Save the Archibus ID as the job number
101
- await editRef("maintenance", "id", request.id, {
102
+ await editRef(values.tableNameMaintenance, "id", request.id, {
102
103
  jobNo: response.data.wrId,
103
104
  jobId: response.data.wrId + "",
104
105
  });
@@ -124,7 +125,7 @@ class ArchibusStrategy extends IntegrationStrategy {
124
125
  log("Archibus:CreateRequest", "Error", e, logId);
125
126
 
126
127
  // trigger another attempt
127
- // editRef("maintenance", "id", request.id, {
128
+ // editRef(values.tableNameMaintenance, "id", request.id, {
128
129
  // ExtCreateRetry: moment().valueOf(),
129
130
  // });
130
131
  }
@@ -189,15 +190,24 @@ class ArchibusStrategy extends IntegrationStrategy {
189
190
  log("Archibus:RefreshFromSource", "UpdatedStatus", statusToUse, logId);
190
191
 
191
192
  if (statusToUse) {
192
- let plussRequest = await getRef("maintenance", "id", requestId);
193
+ let plussRequest = await getRef(
194
+ values.tableNameMaintenance,
195
+ "id",
196
+ requestId
197
+ );
193
198
  // check how the new status map to what is saved in Pluss
194
199
 
195
200
  if (statusToUse.Status !== plussRequest.status) {
196
201
  // save updated status
197
202
 
198
- plussRequest = await editRef("maintenance", "id", requestId, {
199
- status: statusToUse.Status,
200
- });
203
+ plussRequest = await editRef(
204
+ values.tableNameMaintenance,
205
+ "id",
206
+ requestId,
207
+ {
208
+ status: statusToUse.Status,
209
+ }
210
+ );
201
211
  log(
202
212
  "Archibus:RefreshFromSource",
203
213
  "SavedStatus",
@@ -390,7 +400,7 @@ class ArchibusStrategy extends IntegrationStrategy {
390
400
  IndexName: "CommentsEntityIdIndex",
391
401
  KeyConditionExpression: "EntityId = :groupId",
392
402
  ExpressionAttributeValues: {
393
- ":groupId": getRowId(request.id, "maintenance"),
403
+ ":groupId": getRowId(request.id, values.serviceKey),
394
404
  },
395
405
  };
396
406
 
package/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-aws",
3
- "version": "2.1.1",
3
+ "version": "2.2.1-beta.0",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -1743,7 +1743,7 @@
1743
1743
  "asynckit": {
1744
1744
  "version": "0.4.0",
1745
1745
  "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1746
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
1746
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
1747
1747
  },
1748
1748
  "available-typed-arrays": {
1749
1749
  "version": "1.0.7",
@@ -2578,7 +2578,7 @@
2578
2578
  "delayed-stream": {
2579
2579
  "version": "1.0.0",
2580
2580
  "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
2581
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
2581
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
2582
2582
  },
2583
2583
  "detect-newline": {
2584
2584
  "version": "3.1.0",
@@ -3076,7 +3076,7 @@
3076
3076
  "events": {
3077
3077
  "version": "1.1.1",
3078
3078
  "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
3079
- "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw=="
3079
+ "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
3080
3080
  },
3081
3081
  "execa": {
3082
3082
  "version": "5.1.1",
@@ -6648,7 +6648,7 @@
6648
6648
  "querystring": {
6649
6649
  "version": "0.2.0",
6650
6650
  "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
6651
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="
6651
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
6652
6652
  },
6653
6653
  "querystringify": {
6654
6654
  "version": "2.2.0",
@@ -6799,7 +6799,7 @@
6799
6799
  "sax": {
6800
6800
  "version": "1.2.1",
6801
6801
  "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
6802
- "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
6802
+ "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
6803
6803
  },
6804
6804
  "scmp": {
6805
6805
  "version": "2.1.0",
@@ -7299,7 +7299,7 @@
7299
7299
  "url": {
7300
7300
  "version": "0.10.3",
7301
7301
  "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
7302
- "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
7302
+ "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=",
7303
7303
  "requires": {
7304
7304
  "punycode": "1.3.2",
7305
7305
  "querystring": "0.2.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-aws",
3
- "version": "2.1.1",
3
+ "version": "2.2.1-beta.0",
4
4
  "description": "Extension package to enable maintenance on Pluss Communities Platform",
5
5
  "scripts": {
6
6
  "gc": "node ../../tools/gc ./",
@@ -12,6 +12,12 @@
12
12
  "betaupload:p": "npm run betapatch && npm run betaupload",
13
13
  "upload": "rm -rf .serverless && npm i && npm publish --access public",
14
14
  "upload:p": "npm run patch && npm run upload",
15
+ "copy:add": "run(){ ext=${1:-default}; test -f values.config.$ext.js || cp values.config.default.js values.config.$ext.js; }; run",
16
+ "copy:get": "echo $npm_package_name",
17
+ "copy:set": "run(){ target='\\@plusscommunities\\/pluss-maintenance-aws'; ext=${1:-default}; [ $ext == 'default' ] && replace=$target || replace=$target'-'$ext; echo 'Setting target to '$replace; test -f values.config.$ext.js && cp -f values.config.$ext.js values.config.js; sed -i '' -e 's/'$target'.*\"/'$replace'\"/g' package.json; }; run",
18
+ "copy:deploy": "for file in `ls ./values.config.*.js`; do dup=`echo $file | sed 's/.*values\\.config\\.\\(.*\\)\\.js/\\1/'`; npm run copy:set $dup; npm run deploy; done; npm run copy:set; npm run gs;",
19
+ "copy:betaupload": "npm run betapatch; for file in `ls ./values.config.*.js`; do dup=`echo $file | sed 's/.*values\\.config\\.\\(.*\\)\\.js/\\1/'`; npm run copy:set $dup; npm run betaupload; done; npm run copy:set;",
20
+ "copy:upload": "npm run patch; for file in `ls ./values.config.*.js`; do dup=`echo $file | sed 's/.*values\\.config\\.\\(.*\\)\\.js/\\1/'`; npm run copy:set $dup; npm run upload; done; npm run copy:set;",
15
21
  "test": "jest tests -i"
16
22
  },
17
23
  "author": "Thorbjorn Kappel Davis",
@@ -7,6 +7,7 @@ const isValidAssignee = require("./helper/isValidAssignee");
7
7
  const getUserPreview = require("@plusscommunities/pluss-core-aws/helper/getUserPreview");
8
8
  const { log } = require("@plusscommunities/pluss-core-aws/helper");
9
9
  const publishNotifications = require("@plusscommunities/pluss-core-aws/db/notifications/publishNotifications");
10
+ const { values } = require("../values.config");
10
11
 
11
12
  module.exports = async (event, data) => {
12
13
  const logId = log("assignRequest", "data", data);
@@ -17,14 +18,14 @@ module.exports = async (event, data) => {
17
18
  return { status: 422, data: { error: "Insufficient input" } };
18
19
  }
19
20
 
20
- const request = await getRef("maintenance", "id", data.id);
21
+ const request = await getRef(values.tableNameMaintenance, "id", data.id);
21
22
  log("assignRequest", "request", request, logId);
22
23
  log("assignRequest", "site", request.site, logId);
23
24
 
24
25
  // validate authorisation
25
26
  const valid = await validateMasterAuth(
26
27
  event,
27
- "maintenanceTracking",
28
+ values.permissionMaintenanceTracking,
28
29
  request.site
29
30
  );
30
31
  log("assignRequest", "valid", valid, logId);
@@ -63,7 +64,12 @@ module.exports = async (event, data) => {
63
64
 
64
65
  log("assignRequest", "changes", changes, logId);
65
66
 
66
- const result = await editRef("maintenance", "id", data.id, changes);
67
+ const result = await editRef(
68
+ values.tableNameMaintenance,
69
+ "id",
70
+ data.id,
71
+ changes
72
+ );
67
73
 
68
74
  log("assignRequest", "result", result, logId);
69
75
 
@@ -71,7 +77,7 @@ module.exports = async (event, data) => {
71
77
  if (user.id !== assignedUser.id) {
72
78
  await publishNotifications(
73
79
  [assignedUser.id],
74
- "MaintenanceJobAssigned",
80
+ values.notificationMaintenanceJobAssigned,
75
81
  result.site,
76
82
  result.id,
77
83
  result,
@@ -83,7 +89,7 @@ module.exports = async (event, data) => {
83
89
  if (request.AssigneeId && result.AssigneeId !== request.AssigneeId) {
84
90
  await publishNotifications(
85
91
  [request.AssigneeId],
86
- "MaintenanceJobUnassigned",
92
+ values.notificationMaintenanceJobUnassigned,
87
93
  result.site,
88
94
  result.id,
89
95
  result,
@@ -1,6 +1,7 @@
1
1
  const { log } = require("@plusscommunities/pluss-core-aws/helper");
2
2
  const getUsersByPermission = require("@plusscommunities/pluss-core-aws/helper/users/getUsersByPermission");
3
3
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
4
+ const { values } = require("../values.config");
4
5
 
5
6
  // Define the new function to get assignees
6
7
  module.exports = async (event) => {
@@ -9,12 +10,12 @@ module.exports = async (event) => {
9
10
 
10
11
  const isAdmin = await validateMasterAuth(
11
12
  event,
12
- "maintenanceTracking",
13
+ values.permissionMaintenanceTracking,
13
14
  qParams.site
14
15
  );
15
16
  const isAssignee = await validateMasterAuth(
16
17
  event,
17
- "maintenanceAssignment",
18
+ values.permissionMaintenanceAssignment,
18
19
  qParams.site
19
20
  );
20
21
 
@@ -26,8 +27,8 @@ module.exports = async (event) => {
26
27
 
27
28
  // get assignees
28
29
  const assignees = await getUsersByPermission(qParams.site, [
29
- "maintenanceTracking",
30
- "maintenanceAssignment",
30
+ values.permissionMaintenanceTracking,
31
+ values.permissionMaintenanceAssignment,
31
32
  ]);
32
33
 
33
34
  log("getAssignees", "AssigneesLength", assignees.length, logId);
@@ -3,6 +3,7 @@ const getSessionUserFromReqAuthKey = require("@plusscommunities/pluss-core-aws/h
3
3
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
4
4
  const validateSiteAccess = require("@plusscommunities/pluss-core-aws/helper/auth/validateSiteAccess");
5
5
  const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuery");
6
+ const { values } = require("../values.config");
6
7
 
7
8
  module.exports = async (event) => {
8
9
  const qParams = event.queryStringParameters;
@@ -24,14 +25,14 @@ module.exports = async (event) => {
24
25
  // check auth level to determine whether to fetch all requests or only matching requests
25
26
  const authorised = await validateMasterAuth(
26
27
  event,
27
- "maintenanceTracking",
28
+ values.permissionMaintenanceTracking,
28
29
  qParams.site
29
30
  );
30
31
  let assigneeTracking = false;
31
32
  if (!authorised) {
32
33
  assigneeTracking = await validateMasterAuth(
33
34
  event,
34
- "maintenanceAssignment",
35
+ values.permissionMaintenanceAssignment,
35
36
  qParams.site
36
37
  );
37
38
  }
@@ -68,7 +69,7 @@ module.exports = async (event) => {
68
69
  }
69
70
 
70
71
  // get jobs
71
- const result = await indexQuery("maintenance", query);
72
+ const result = await indexQuery(values.tableNameMaintenance, query);
72
73
  let jobs = result.Items;
73
74
 
74
75
  log("getRequests", "LastEvaluatedKey", result.LastEvaluatedKey, logId);
@@ -7,11 +7,12 @@
7
7
  */
8
8
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
9
9
  const isValidAssignee = require("./isValidAssignee");
10
+ const { values } = require("../../values.config");
10
11
 
11
12
  module.exports = async (event, job) => {
12
13
  const valid = await validateMasterAuth(
13
14
  event,
14
- "maintenanceTracking",
15
+ values.permissionMaintenanceTracking,
15
16
  job.site
16
17
  );
17
18
  if (valid) {
@@ -1,5 +1,6 @@
1
1
  const getSessionUserFromReqAuthKey = require("@plusscommunities/pluss-core-aws/helper/auth/getSessionUserFromReqAuthKey");
2
2
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
3
+ const { values } = require("../../values.config");
3
4
 
4
5
  /**
5
6
  * Checks whether the logged in user is the assignee as has the assignment permission for that site
@@ -9,7 +10,11 @@ const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth
9
10
  * @returns {Boolean} true if valid
10
11
  */
11
12
  module.exports = async (event, site, userId) => {
12
- const valid = await validateMasterAuth(event, "maintenanceAssignment", site);
13
+ const valid = await validateMasterAuth(
14
+ event,
15
+ values.permissionMaintenanceAssignment,
16
+ site
17
+ );
13
18
  if (!valid) {
14
19
  return false;
15
20
  }
package/sendJobEmail.js CHANGED
@@ -2,6 +2,7 @@ const _ = require("lodash");
2
2
  const getJobEmail = require("./db/maintenance/getJobEmail");
3
3
  const sendEmail = require("@plusscommunities/pluss-core-aws/helper/sendEmail");
4
4
  const getRef = require("@plusscommunities/pluss-core-aws/db/common/getRef");
5
+ const { values } = require("./values.config");
5
6
 
6
7
  module.exports = function (job, updated) {
7
8
  const whenEvs = job.isHome
@@ -14,9 +15,9 @@ module.exports = function (job, updated) {
14
15
 
15
16
  let htmlString = `
16
17
  <div>
17
- <p><b>Service Request ${job.id != null ? `#${job.id}` : ""}${
18
- updated ? "-DETAILS EDITED- " : " "
19
- }(${job.type}):</b> ${job.room}</p>
18
+ <p><b>${values.textJobEmailTitle} ${
19
+ job.id != null ? `#${job.id}` : ""
20
+ }${updated ? "-DETAILS EDITED- " : " "}(${job.type}):</b> ${job.room}</p>
20
21
  <div>
21
22
  <b>Title: </b>${job.title}
22
23
  </div>
@@ -51,9 +52,11 @@ module.exports = function (job, updated) {
51
52
  if (!_.isNil(job.images) || !_.isNil(job.image)) {
52
53
  htmlString = `
53
54
  <div>
54
- <p><b>Service Request ${job.id != null ? `#${job.id}` : ""}${
55
- updated ? "-DETAILS EDITED- " : " "
56
- }(${job.type}):</b> ${job.room}</p>
55
+ <p><b>${values.textJobEmailTitle} ${
56
+ job.id != null ? `#${job.id}` : ""
57
+ }${updated ? "-DETAILS EDITED- " : " "}(${job.type}):</b> ${
58
+ job.room
59
+ }</p>
57
60
  <div>
58
61
  <b>Title: </b>${job.title}
59
62
  </div>
@@ -105,9 +108,9 @@ module.exports = function (job, updated) {
105
108
 
106
109
  sendEmail(
107
110
  email,
108
- `Service Request #${job.id}${updated ? " -DETAILS EDITED" : ""}- (${
109
- job.type
110
- }) - ${job.room}`,
111
+ `${values.textJobEmailTitle} #${job.id}${
112
+ updated ? " -DETAILS EDITED" : ""
113
+ }- (${job.type}) - ${job.room}`,
111
114
  htmlString
112
115
  )
113
116
  .then((result) => {
@@ -0,0 +1,25 @@
1
+ const values = {
2
+ entityKey: "maintenancerequest",
3
+ serviceKey: "maintenance",
4
+ tableKeyJobTypes: "jobtypes",
5
+ tableKeyMaintenance: "maintenance",
6
+ tableKeySupportTickets: "supporttickets",
7
+ tableNameJobTypes: "jobTypes",
8
+ tableNameMaintenance: "maintenance",
9
+ tableNameSupportTickets: "supporttickets",
10
+ permissionMaintenanceTracking: "maintenanceTracking",
11
+ permissionMaintenanceAssignment: "maintenanceAssignment",
12
+ permissionMaintenanceTypes: "maintenanceTypes",
13
+ routeEntityPath: "/requestsHub/jobDetails/:id",
14
+ screenMaintenanceDetail: "requestDetail",
15
+ notificationMaintenanceJobAssigned: "MaintenanceJobAssigned",
16
+ notificationMaintenanceJobUnassigned: "MaintenanceJobUnassigned",
17
+ activityDeleteMaintenanceJob: "DeleteMaintenanceJob",
18
+ activityEditMaintenanceJob: "EditMaintenanceJob",
19
+ activityMaintenanceJobStatusChanged: "MaintenanceJobStatusChanged",
20
+ activityAddMaintenanceNote: "AddMaintenanceNote",
21
+ activityDeleteMaintenanceNote: "DeleteMaintenanceNote",
22
+ activityEditMaintenanceNote: "EditMaintenanceNote",
23
+ textJobEmailTitle: "Service Request",
24
+ };
25
+ exports.values = values;
@@ -0,0 +1,25 @@
1
+ const values = {
2
+ entityKey: "maintenancerequest",
3
+ serviceKey: "maintenance",
4
+ tableKeyJobTypes: "jobtypes",
5
+ tableKeyMaintenance: "maintenance",
6
+ tableKeySupportTickets: "supporttickets",
7
+ tableNameJobTypes: "jobTypes",
8
+ tableNameMaintenance: "maintenance",
9
+ tableNameSupportTickets: "supporttickets",
10
+ permissionMaintenanceTracking: "maintenanceTracking",
11
+ permissionMaintenanceAssignment: "maintenanceAssignment",
12
+ permissionMaintenanceTypes: "maintenanceTypes",
13
+ routeEntityPath: "/requestsHub/jobDetails/:id",
14
+ screenMaintenanceDetail: "requestDetail",
15
+ notificationMaintenanceJobAssigned: "MaintenanceJobAssigned",
16
+ notificationMaintenanceJobUnassigned: "MaintenanceJobUnassigned",
17
+ activityDeleteMaintenanceJob: "DeleteMaintenanceJob",
18
+ activityEditMaintenanceJob: "EditMaintenanceJob",
19
+ activityMaintenanceJobStatusChanged: "MaintenanceJobStatusChanged",
20
+ activityAddMaintenanceNote: "AddMaintenanceNote",
21
+ activityDeleteMaintenanceNote: "DeleteMaintenanceNote",
22
+ activityEditMaintenanceNote: "EditMaintenanceNote",
23
+ textJobEmailTitle: "Service Request",
24
+ };
25
+ exports.values = values;
@@ -0,0 +1,25 @@
1
+ const values = {
2
+ entityKey: "maintenancerequestA",
3
+ serviceKey: "maintenanceA",
4
+ tableKeyJobTypes: "jobtypesA",
5
+ tableKeyMaintenance: "maintenanceA",
6
+ tableKeySupportTickets: "supportticketsA",
7
+ tableNameJobTypes: "jobTypesA",
8
+ tableNameMaintenance: "maintenanceA",
9
+ tableNameSupportTickets: "supportticketsA",
10
+ permissionMaintenanceTracking: "maintenanceTrackingA",
11
+ permissionMaintenanceAssignment: "maintenanceAssignmentA",
12
+ permissionMaintenanceTypes: "maintenanceTypesA",
13
+ routeEntityPath: "/requestsHubA/jobDetails/:id",
14
+ screenMaintenanceDetail: "requestDetailA",
15
+ notificationMaintenanceJobAssigned: "MaintenanceJobAssignedA",
16
+ notificationMaintenanceJobUnassigned: "MaintenanceJobUnassignedA",
17
+ activityDeleteMaintenanceJob: "DeleteMaintenanceJobA",
18
+ activityEditMaintenanceJob: "EditMaintenanceJobA",
19
+ activityMaintenanceJobStatusChanged: "MaintenanceJobStatusChangedA",
20
+ activityAddMaintenanceNote: "AddMaintenanceNoteA",
21
+ activityDeleteMaintenanceNote: "DeleteMaintenanceNoteA",
22
+ activityEditMaintenanceNote: "EditMaintenanceNoteA",
23
+ textJobEmailTitle: "Service Request",
24
+ };
25
+ exports.values = values;
package/watchJobs.js CHANGED
@@ -8,6 +8,7 @@ const editRef = require("@plusscommunities/pluss-core-aws/db/common/editRef");
8
8
  const getRef = require("@plusscommunities/pluss-core-aws/db/common/getRef");
9
9
  const { getRowId, log } = require("@plusscommunities/pluss-core-aws/helper");
10
10
  const getUserPreview = require("@plusscommunities/pluss-core-aws/helper/getUserPreview");
11
+ const { values } = require("./values.config");
11
12
 
12
13
  const checkFixCompleted = async (job) => {
13
14
  const logId = log("checkFixCompleted", "Input", job.id);
@@ -35,7 +36,7 @@ const checkFixCompleted = async (job) => {
35
36
  // add old log
36
37
  await logAnalyticsActivity(
37
38
  "RequestCompleted",
38
- "maintenancerequest",
39
+ values.entityKey,
39
40
  job.site,
40
41
  user,
41
42
  job.id,
@@ -61,11 +62,7 @@ const fixActivityLog = async (job, startTime) => {
61
62
  }
62
63
 
63
64
  // check whether it's already been logged
64
- const exists = await checkActivityExists(
65
- job.id,
66
- "maintenancerequest",
67
- "Request"
68
- );
65
+ const exists = await checkActivityExists(job.id, values.entityKey, "Request");
69
66
  const logId = log("fixActivityLog", "exists", exists);
70
67
 
71
68
  if (!exists) {
@@ -74,7 +71,7 @@ const fixActivityLog = async (job, startTime) => {
74
71
  // add old log
75
72
  await logAnalyticsActivity(
76
73
  "Request",
77
- "maintenancerequest",
74
+ values.entityKey,
78
75
  job.site,
79
76
  user,
80
77
  job.id,
@@ -97,7 +94,7 @@ const fixActivityLog = async (job, startTime) => {
97
94
  }
98
95
 
99
96
  // update entry to show it's been logged
100
- await editRef("maintenance", "id", job.id, {
97
+ await editRef(values.tableNameMaintenance, "id", job.id, {
101
98
  ActivityLogged: true,
102
99
  });
103
100
 
@@ -121,7 +118,7 @@ const checkFixLog = async (startTime) => {
121
118
  }
122
119
 
123
120
  // Scans the DynamoDB table and fetch all items. The parameters describe which attributes to get.
124
- const items = await scanRefRecursive("maintenance", {
121
+ const items = await scanRefRecursive(values.tableNameMaintenance, {
125
122
  ProjectionExpression:
126
123
  "#id, site, createdTime, #status, lastActivity, history, ActivityLogged",
127
124
  ExpressionAttributeNames: {