Skip to content

Commit fbe491d

Browse files
committed
Merge remote-tracking branch 'origin/1.5'
2 parents 7b700ad + 8017d84 commit fbe491d

File tree

1 file changed

+57
-63
lines changed
  • src/main/server/adapter/ce

1 file changed

+57
-63
lines changed

src/main/server/adapter/ce/pna.js

Lines changed: 57 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,6 @@ async function pnaEndpoint() {
1919
return "Unable to find framework: " + query["id"];
2020
}
2121

22-
if (this.params.methodType == "DELETE") {
23-
// Remove index file from Competency Explorer registry
24-
const result = await removeFromAws(query["id"]);
25-
return JSON.stringify(result);
26-
}
27-
2822
let match = framework["@id"].match('(.*)(\/data\/)(.*)');
2923
let ceasnEndpointFramework = match && match.length > 1 ? match[1] + "/ceasn/" : undefined;
3024

@@ -97,81 +91,81 @@ async function pnaEndpoint() {
9791

9892
async function uploadToAws(data, name) {
9993

100-
const { S3Client, PutObjectCommand, GetObjectCommand } = require("@aws-sdk/client-s3");
94+
const { S3Client, PutObjectCommand } = require("@aws-sdk/client-s3");
10195

96+
const AWS_REGION = process.env.AWS_REGION ? process.env.AWS_REGION : "";
10297
const AWS_BUCKET = process.env.AWS_BUCKET ? process.env.AWS_BUCKET : "";
10398
const AWS_ACCESS_KEY_ID = process.env.AWS_ACCESS_KEY_ID ? process.env.AWS_ACCESS_KEY_ID : "";
10499
const AWS_SECRET_ACCESS_KEY = process.env.AWS_SECRET_ACCESS_KEY ? process.env.AWS_SECRET_ACCESS_KEY : "";
100+
let success = false;
105101

106102
try {
103+
if (!name) {
104+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", 'No framework provided');
105+
return {
106+
framework: undefined,
107+
success: false
108+
};
109+
}
110+
if (!AWS_REGION) {
111+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", 'No AWS Region provided');
112+
return {
113+
framework: name,
114+
success: false
115+
};
116+
}
117+
if (!AWS_BUCKET) {
118+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", 'No AWS Bucket provided');
119+
return {
120+
framework: name,
121+
success: false
122+
};
123+
}
124+
if (!AWS_ACCESS_KEY_ID) {
125+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", 'No AWS Access key provided');
126+
return {
127+
framework: name,
128+
success: false
129+
};
130+
}
131+
if (!AWS_SECRET_ACCESS_KEY) {
132+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", 'No AWS Access secret provided');
133+
return {
134+
framework: name,
135+
success: false
136+
};
137+
}
107138
const s3 = new S3Client({
108139
credentials: {
109140
accessKeyId: AWS_ACCESS_KEY_ID,
110141
secretAccessKey: AWS_SECRET_ACCESS_KEY
111142
},
112-
region: "us-east-2",
143+
region: AWS_REGION,
113144
});
114145

115-
await s3.send(
116-
new PutObjectCommand({
117-
Bucket: AWS_BUCKET,
118-
Key: name,
119-
Body: data,
120-
ContentType: "application/json"
121-
})
122-
);
123-
124-
const { Body } = await s3.send(
125-
new GetObjectCommand({
126-
Bucket: AWS_BUCKET,
127-
Key: name
128-
})
129-
);
130-
131-
const receipt = await Body.transformToString();
132-
133-
return receipt;
134-
135-
} catch (err) {
136-
return {
137-
framework: name,
138-
error: err
139-
};
140-
}
141-
}
142-
143-
async function removeFromAws(name) {
144-
145-
const { S3Client, DeleteObjectCommand } = require("@aws-sdk/client-s3");
146-
147-
const AWS_BUCKET = process.env.AWS_BUCKET ? process.env.AWS_BUCKET : "";
148-
const AWS_ACCESS_KEY_ID = process.env.AWS_ACCESS_KEY_ID ? process.env.AWS_ACCESS_KEY_ID : "";
149-
const AWS_SECRET_ACCESS_KEY = process.env.AWS_SECRET_ACCESS_KEY ? process.env.AWS_SECRET_ACCESS_KEY : "";
150-
151-
try {
152-
const s3 = new S3Client({
153-
credentials: {
154-
accessKeyId: AWS_ACCESS_KEY_ID,
155-
secretAccessKey: AWS_SECRET_ACCESS_KEY
156-
},
157-
region: "us-east-2",
146+
const put = new PutObjectCommand({
147+
Bucket: AWS_BUCKET,
148+
Key: name,
149+
Body: data
150+
})
151+
await s3.send(put).then(() => {
152+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.INFO, "pnaUploadOk", name);
153+
success = true;
154+
}).catch((err) => {
155+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", name);
156+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", err);
157+
success = false;
158158
});
159-
160-
await s3.send(
161-
new DeleteObjectCommand({
162-
Bucket: AWS_BUCKET,
163-
Key: name
164-
})
165-
);
166-
167159
return {
168-
framework: name
169-
};
170-
160+
framework: name,
161+
success: success
162+
};
171163
} catch (err) {
164+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", name);
165+
global.auditLogger.report(global.auditLogger.LogCategory.ADAPTER, global.auditLogger.Severity.ERROR, "pnaUploadErr", err);
172166
return {
173167
framework: name,
174-
error: err
168+
success: false
175169
};
176170
}
177171
}

0 commit comments

Comments
 (0)