@plusscommunities/pluss-maintenance-aws 1.1.5 → 1.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.
@@ -1,10 +1,11 @@
1
1
  const moment = require("moment");
2
2
  const _ = require("lodash");
3
3
  const uuid = require("uuid");
4
+ const getTableCount = require("@plusscommunities/pluss-core-aws/db/common/getTableCount");
4
5
  const updateRef = require("@plusscommunities/pluss-core-aws/db/common/updateRef");
5
6
  const { getConfig } = require("@plusscommunities/pluss-core-aws/config");
6
7
 
7
- module.exports = (
8
+ module.exports = async (
8
9
  userID,
9
10
  userName,
10
11
  user,
@@ -19,57 +20,52 @@ module.exports = (
19
20
  location,
20
21
  audience
21
22
  ) => {
22
- return new Promise((resolve, reject) => {
23
- const requestToSave = {
24
- userID,
25
- userName,
26
- userProfilePic: user ? user.profilePic : null,
27
- phone,
28
- room,
29
- title,
30
- description,
31
- type,
32
- isHome,
33
- homeText,
34
- images,
35
- site: location,
36
- audience,
37
- };
23
+ const requestToSave = {
24
+ userID,
25
+ userName,
26
+ userProfilePic: user ? user.profilePic : null,
27
+ phone,
28
+ room,
29
+ title,
30
+ description,
31
+ type,
32
+ isHome,
33
+ homeText,
34
+ images,
35
+ site: location,
36
+ audience,
37
+ };
38
38
 
39
- if (requestToSave.images) {
40
- const thumbSource = Array.isArray(requestToSave.images)
41
- ? requestToSave.images[0]
42
- : requestToSave.images;
43
- if (thumbSource) {
44
- requestToSave.thumbnail = thumbSource
45
- .replace("/general1400/", "/general300/")
46
- .replace("/uploads1400/", "/uploads300/");
47
- }
39
+ if (requestToSave.images) {
40
+ const thumbSource = Array.isArray(requestToSave.images)
41
+ ? requestToSave.images[0]
42
+ : requestToSave.images;
43
+ if (thumbSource) {
44
+ requestToSave.thumbnail = thumbSource
45
+ .replace("/general1400/", "/general300/")
46
+ .replace("/uploads1400/", "/uploads300/");
48
47
  }
49
- if (_.isEmpty(requestToSave.audience)) {
50
- requestToSave.audience = [];
51
- }
52
- requestToSave.status = getConfig().maintenanceInstantComplete
53
- ? "Completed"
54
- : "Unassigned";
55
- requestToSave.history = [
56
- {
57
- timestamp: moment.utc().valueOf(),
58
- status: requestToSave.status,
59
- user,
60
- },
61
- ];
48
+ }
49
+ if (_.isEmpty(requestToSave.audience)) {
50
+ requestToSave.audience = [];
51
+ }
52
+ requestToSave.status = getConfig().maintenanceInstantComplete
53
+ ? "Completed"
54
+ : "Unassigned";
55
+ requestToSave.history = [
56
+ {
57
+ timestamp: moment.utc().valueOf(),
58
+ status: requestToSave.status,
59
+ user,
60
+ },
61
+ ];
62
62
 
63
- requestToSave.id = uuid.v1();
64
- requestToSave.createdTime = moment.utc().toISOString();
65
- requestToSave.createdUnix = moment.utc().valueOf();
63
+ requestToSave.id = uuid.v1();
64
+ requestToSave.createdTime = moment.utc().toISOString();
65
+ requestToSave.createdUnix = moment.utc().valueOf();
66
+ const result = await getTableCount("maintenance");
67
+ requestToSave.jobId = ++result.Count + "";
66
68
 
67
- updateRef("maintenance", requestToSave)
68
- .then(() => {
69
- resolve(requestToSave.id);
70
- })
71
- .catch((error) => {
72
- reject(error);
73
- });
74
- });
69
+ await updateRef("maintenance", requestToSave);
70
+ return requestToSave.id;
75
71
  };
package/feature.config.js CHANGED
@@ -194,6 +194,7 @@ exports.serverless = {
194
194
  attributes: [
195
195
  { name: "id", type: "S" },
196
196
  { name: "site", type: "S" },
197
+ { name: "jobId", type: "S" },
197
198
  ],
198
199
  id: "id",
199
200
  indexes: [
@@ -201,6 +202,13 @@ exports.serverless = {
201
202
  name: "MaintenanceSiteIndex",
202
203
  keys: [{ name: "site", type: "HASH" }],
203
204
  },
205
+ {
206
+ name: "MaintenanceSiteJobIdIndex",
207
+ keys: [
208
+ { name: "site", type: "HASH" },
209
+ { name: "jobId", type: "RANGE" },
210
+ ],
211
+ },
204
212
  ],
205
213
  },
206
214
  {
package/getJob.js CHANGED
@@ -3,6 +3,7 @@ const { init } = require("@plusscommunities/pluss-core-aws/config");
3
3
  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
+ const indexQuery = require("@plusscommunities/pluss-core-aws/db/common/indexQuery");
6
7
  const validateMasterAuth = require("@plusscommunities/pluss-core-aws/helper/auth/validateMasterAuth");
7
8
  const getSessionUser = require("@plusscommunities/pluss-core-aws/helper/auth/getSessionUser");
8
9
 
@@ -10,7 +11,7 @@ module.exports.getJob = async (event, context, callback) => {
10
11
  init(config);
11
12
  const data = getBody(event);
12
13
 
13
- if (!data.site || !data.jobId) {
14
+ if (!data.site || (!data.id && !data.jobId)) {
14
15
  return callback(
15
16
  null,
16
17
  generateJsonResponse(422, {
@@ -20,7 +21,22 @@ module.exports.getJob = async (event, context, callback) => {
20
21
  }
21
22
 
22
23
  try {
23
- const result = await getRef("maintenance", "id", data.jobId);
24
+ let result = null;
25
+ if (data.jobId) {
26
+ const query = {
27
+ IndexName: "MaintenanceSiteJobIdIndex",
28
+ KeyConditionExpression: "site = :site and jobId = :jobId",
29
+ ExpressionAttributeValues: {
30
+ ":site": data.site,
31
+ ":jobId": data.jobId,
32
+ },
33
+ };
34
+ const { Items } = await indexQuery("maintenance", query);
35
+ result = Items[0];
36
+ }
37
+ if (!result)
38
+ result = await getRef("maintenance", "id", data.id || data.jobId);
39
+
24
40
  try {
25
41
  const authorised = await validateMasterAuth(
26
42
  event,
package/getJobs.js CHANGED
@@ -36,9 +36,12 @@ module.exports.getJobs = async (event, context, callback) => {
36
36
 
37
37
  try {
38
38
  const res = await indexQuery("maintenance", query);
39
- const jobs = userId
39
+ let jobs = userId
40
40
  ? res.Items.filter((job) => job.userID === userId)
41
41
  : res.Items;
42
+ if (data.status)
43
+ jobs = jobs.filter((j) => data.status.includes(j.status));
44
+ if (data.type) jobs = jobs.filter((j) => data.type.includes(j.type));
42
45
  console.log("jobs", jobs);
43
46
  return callback(null, generateJsonResponse(200, jobs));
44
47
  } catch (error1) {
package/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-aws",
3
- "version": "1.1.5",
3
+ "version": "1.2.1-beta.0",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -13,9 +13,9 @@
13
13
  }
14
14
  },
15
15
  "@plusscommunities/pluss-core-aws": {
16
- "version": "1.5.16",
17
- "resolved": "https://registry.npmjs.org/@plusscommunities/pluss-core-aws/-/pluss-core-aws-1.5.16.tgz",
18
- "integrity": "sha512-A4LTjsOuD7rUFV1i/aa3I4YzJqyz3EGOwVIwDgxgbzbQ3VDYpExKchhz9OcAHvL4XT/7Hy4X7jKMTubJMAH/CQ==",
16
+ "version": "1.6.1-beta.0",
17
+ "resolved": "https://registry.npmjs.org/@plusscommunities/pluss-core-aws/-/pluss-core-aws-1.6.1-beta.0.tgz",
18
+ "integrity": "sha512-xWi2i1nJKGLeu6U0HYR9wWaEwgATBdNioVE123d4a54rxJzNzOnvWxtTHCzTRKc87WaEonbnQWLxjQ4Ipp4wJg==",
19
19
  "requires": {
20
20
  "@aws/dynamodb-auto-marshaller": "^0.7.1",
21
21
  "amazon-cognito-identity-js": "^2.0.19",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plusscommunities/pluss-maintenance-aws",
3
- "version": "1.1.5",
3
+ "version": "1.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 ./",
@@ -17,7 +17,7 @@
17
17
  "license": "ISC",
18
18
  "dependencies": {
19
19
  "@aws/dynamodb-auto-marshaller": "^0.7.1",
20
- "@plusscommunities/pluss-core-aws": "1.5.16",
20
+ "@plusscommunities/pluss-core-aws": "1.6.1-beta.0",
21
21
  "amazon-cognito-identity-js": "^2.0.19",
22
22
  "axios": "^0.18.0",
23
23
  "expo-server-sdk": "^3.0.1",