@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.
- package/db/maintenance/addMaintenanceJob.js +46 -50
- package/feature.config.js +8 -0
- package/getJob.js +18 -2
- package/getJobs.js +4 -1
- package/package-lock.json +4 -4
- package/package.json +2 -2
|
@@ -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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
68
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
17
|
-
"resolved": "https://registry.npmjs.org/@plusscommunities/pluss-core-aws/-/pluss-core-aws-1.
|
|
18
|
-
"integrity": "sha512-
|
|
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.
|
|
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.
|
|
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",
|