Skip to content

Commit

Permalink
Updated helpers and doc
Browse files Browse the repository at this point in the history
  • Loading branch information
andresWeitzel committed Jun 27, 2023
1 parent efe9c64 commit 5263177
Show file tree
Hide file tree
Showing 15 changed files with 222 additions and 219 deletions.
115 changes: 42 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,38 +260,30 @@ npm start

<br>

### 2.1.1) Subir un objeto al bucket
#### Request
### 2.1.1) Subir un objeto al bucket s3
#### Request | Code snippet
``` postman
- Método : POST
- Url : {{base_url}}/dev/upload-object
- Headers:
- Content-Type : application/json
- Authorization : {{bearer_token}}
- x-api-key : {{x-api-key}}
- Body :
{
"type":"image",
"format":"JPG",
"description":"1000 × 1261 png",
"url":"https://www.bing.com/images/search?view=detailV2&ccid=Tf4BFI68&id=D66EF5BFB7DA0A645A70240C32CB8664E8F8BF09&thid=OIP.Tf4BFI6846neirVSebC0vAHaEi&mediaurl=https%3a%2f%2flogos-download.com%2fwp-content%2fuploads%2f2016%2f09%2fNode_logo_NodeJS.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.4dfe01148ebce3a9de8ab55279b0b4bc%3frik%3dCb%252f46GSGyzIMJA%26pid%3dImgRaw%26r%3d0&exph=3061&expw=5000&q=jpg+nodejs&simid=608055434302923247&FORM=IRPRST&ck=2FF3D39CAEF945F20B996CF6042F88A6&selectedIndex=1&ajaxhist=0&ajaxserp=0"
}
curl --location 'http://localhost:4000/dev/upload-object' \
--header 'x-api-key: f98d8cd98h73s204e3456998ecl9427j' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--data '{
"type":"image",
"format":"png",
"description":"5000 × 3061 png",
"url":"https://www.bing.com/images/search?view=detailV2&ccid=Tf4BFI68&id=D66EF5BFB7DA0A645A70240C32CB8664E8F8BF09&thid=OIP.Tf4BFI6846neirVSebC0vAHaEi&mediaurl=https%3a%2f%2flogos-download.com%2fwp-content%2fuploads%2f2016%2f09%2fNode_logo_NodeJS.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.4dfe01148ebce3a9de8ab55279b0b4bc%3frik%3dCb%252f46GSGyzIMJA%26pid%3dImgRaw%26r%3d0&exph=3061&expw=5000&q=jpg+nodejs&simid=608055434302923247&FORM=IRPRST&ck=2FF3D39CAEF945F20B996CF6042F88A6&selectedIndex=1&ajaxhist=0&ajaxserp=0"
}'
```

#### Response
``` postman
{
"message": {
"type": "image",
"format": "JPG",
"description": "1000 × 1261 png",
"format": "png",
"description": "5000 × 3061 png",
"url": "https://www.bing.com/images/search?view=detailV2&ccid=Tf4BFI68&id=D66EF5BFB7DA0A645A70240C32CB8664E8F8BF09&thid=OIP.Tf4BFI6846neirVSebC0vAHaEi&mediaurl=https%3a%2f%2flogos-download.com%2fwp-content%2fuploads%2f2016%2f09%2fNode_logo_NodeJS.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.4dfe01148ebce3a9de8ab55279b0b4bc%3frik%3dCb%252f46GSGyzIMJA%26pid%3dImgRaw%26r%3d0&exph=3061&expw=5000&q=jpg+nodejs&simid=608055434302923247&FORM=IRPRST&ck=2FF3D39CAEF945F20B996CF6042F88A6&selectedIndex=1&ajaxhist=0&ajaxserp=0",
"uuid": 103053674
"uuid": 104851112
}
}
```
Expand All @@ -300,22 +292,14 @@ npm start

<br>

### 2.1.2) Obtener un objeto del bucket
#### Request
### 2.1.2) Obtener un objeto del bucket según su uuuid
#### Request | Code snippet
``` postman
- Método : GET
- Url : {{base_url}}/dev/get-object/{uuid}
- Headers:
- Content-Type : application/json
- Authorization : {{bearer_token}}
- x-api-key : {{x-api-key}}
- Body :
NULL
curl --location 'http://localhost:4000/dev/get-object/103053674' \
--header 'x-api-key: f98d8cd98h73s204e3456998ecl9427j' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--data ''
```

#### Response
Expand All @@ -335,25 +319,19 @@ npm start

<br>

### 2.1.3) Actualizar un objeto del bucket
#### Request
### 2.1.3) Actualizar un objeto del bucket s3
#### Request | Code snippet
``` postman
- Método : PUT
- Url : {{base_url}}/dev/edit-object/{uuid}
- Headers:
- Content-Type : application/json
- Authorization : {{bearer_token}}
- x-api-key : {{x-api-key}}
- Body :
{
curl --location --request PUT 'http://localhost:4000/dev/edit-object/104851112' \
--header 'x-api-key: f98d8cd98h73s204e3456998ecl9427j' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'Content-Type: application/json' \
--data '{
"type":"image",
"format":"png",
"description":"EDITED",
"format":"jpg",
"description":"1200 × 1201 png",
"url":"https://www.bing.com/images/search?view=detailV2&ccid=Tf4BFI68&id=D66EF5BFB7DA0A645A70240C32CB8664E8F8BF09&thid=OIP.Tf4BFI6846neirVSebC0vAHaEi& mediaurl=https%3a%2f%2flogos-download.com%2fwp-content%2fuploads%2f2016%2f09%2fNode_logo_NodeJS.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.4dfe01148ebce3a9de8ab55279b0b4bc%3frik%3dCb%252f46GSGyzIMJA%26pid%3dImgRaw%26r%3d0&exph=3061&expw=5000&q=jpg+nodejs&simid=608055434302923247&FORM=IRPRST&ck=2FF3D39CAEF945F20B996CF6042F88A6&selectedIndex=1&ajaxhist=0&ajaxserp=0"
}
}'
```

Expand All @@ -362,10 +340,10 @@ npm start
{
"message": {
"type": "image",
"format": "JPG",
"description": "1000 × 1261 png",
"url": "https://www.bing.com/images/search?view=detailV2&ccid=Tf4BFI68&id=D66EF5BFB7DA0A645A70240C32CB8664E8F8BF09&thid=OIP.Tf4BFI6846neirVSebC0vAHaEi&mediaurl=https%3a%2f%2flogos-download.com%2fwp-content%2fuploads%2f2016%2f09%2fNode_logo_NodeJS.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.4dfe01148ebce3a9de8ab55279b0b4bc%3frik%3dCb%252f46GSGyzIMJA%26pid%3dImgRaw%26r%3d0&exph=3061&expw=5000&q=jpg+nodejs&simid=608055434302923247&FORM=IRPRST&ck=2FF3D39CAEF945F20B996CF6042F88A6&selectedIndex=1&ajaxhist=0&ajaxserp=0",
"uuid": 103053674
"format": "jpg",
"description": "1200 × 1201 png",
"url": "https://www.bing.com/images/search?view=detailV2&ccid=Tf4BFI68&id=D66EF5BFB7DA0A645A70240C32CB8664E8F8BF09&thid=OIP.Tf4BFI6846neirVSebC0vAHaEi& mediaurl=https%3a%2f%2flogos-download.com%2fwp-content%2fuploads%2f2016%2f09%2fNode_logo_NodeJS.png&cdnurl=https%3a%2f%2fth.bing.com%2fth%2fid%2fR.4dfe01148ebce3a9de8ab55279b0b4bc%3frik%3dCb%252f46GSGyzIMJA%26pid%3dImgRaw%26r%3d0&exph=3061&expw=5000&q=jpg+nodejs&simid=608055434302923247&FORM=IRPRST&ck=2FF3D39CAEF945F20B996CF6042F88A6&selectedIndex=1&ajaxhist=0&ajaxserp=0",
"uuid": 104851112
}
}
```
Expand All @@ -375,27 +353,18 @@ npm start
<br>

### 2.1.4) Eliminar un objeto del bucket
#### Request
#### Request | Code snippet
``` postman
- Método : DELETE
- Url : {{base_url}}/dev/delete-object/{uuid}
- Headers:
- Content-Type : application/json
- Authorization : {{bearer_token}}
- x-api-key : {{x-api-key}}
- Body :
NULL
curl --location --request DELETE 'http://localhost:4000/dev/delete-object/104851112' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
--header 'x-api-key: f98d8cd98h73s204e3456998ecl9427j' \
--header 'Content-Type: application/json'
```

#### Response
``` postman
{
"message": "Removed object with uuid 103053674 successfully."
"message": "Removed object with uuid 104851112 successfully."
}
```

Expand Down
32 changes: 17 additions & 15 deletions src/controllers/deleteObject.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

"use strict";
//Enums
const {
statusCode
Expand Down Expand Up @@ -34,32 +34,34 @@ const {


//Const/Vars
let eventBody;
let eventHeaders;
let jsonInit;
let validateReqParams;
let validateAuth;
let validateBodyAddObject;
let obj;
let indexObj;
let uuidInput;
let bucketContent;
let bucketContentResult;
let msg;
let code;

/**
* @description Function to edit an object according to its uuid from the s3 repository
* @description Function to delete an object according to its uuid from the s3 repository
* @param {Object} event Object type
* @returns a body response with http code and message
*/
module.exports.handler = async (event) => {
try {
//Init
jsonInit = [];
bodyObj = null;
obj = null;
bucketContent = null;
uuidInput = null;
indexObj = null;
bucketContentResult = null;
msg = null;
code = null;



//-- start with validation Headers ---
eventHeaders = await event.headers;

Expand Down Expand Up @@ -88,7 +90,7 @@ const {

await initBucketIfEmpty();

let uuidInput = parseInt(await event.pathParameters.uuid);
uuidInput = parseInt(await event.pathParameters.uuid);

bucketContent = await readBucket();

Expand All @@ -102,7 +104,7 @@ const {

bucketContent = await formatToJson(bucketContent);

let indexObj = await bucketContent.indexOf(obj);
indexObj = await bucketContent.indexOf(obj);

//Remove the object with the entered uuid
await bucketContent.splice(indexObj, 1);
Expand Down Expand Up @@ -130,11 +132,11 @@ const {


} catch (error) {
console.log(error);
return await bodyResponse(
statusCode.INTERNAL_SERVER_ERROR,
"An unexpected error has occurred. Try again"
);
code = statusCode.INTERNAL_SERVER_ERROR;
msg = `Error in DELETE OBJECT lambda. Caused by ${error}. Stack error type : ${error.stack}`;
console.error(msg);

return await requestResult(code, msg);
}

}
30 changes: 19 additions & 11 deletions src/controllers/editObject.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
"use strict";
//Enums
const {
statusCode
Expand Down Expand Up @@ -38,13 +39,17 @@ const {
//Const/Vars
let eventBody;
let eventHeaders;
let jsonInit;
let bucketContent;
let validateReqParams;
let validateAuth;
let validateBodyAddObject;
let obj;
let uuidInput;
let newObject;
let indexObj;
let newObjectResult;
let msg;
let code;

/**
* @description edit an object in s3 bucket based on its uuid
Expand All @@ -54,10 +59,13 @@ let newObject;
module.exports.handler = async (event) => {
try {
//Init
jsonInit = [];
bodyObj = null;
bucketContent = null;
uuidInput = null;
indexObj = null;
newObjectResult = null;
obj = null;
msg = null;
code = null;


//-- start with validation Headers ---
Expand Down Expand Up @@ -102,7 +110,7 @@ module.exports.handler = async (event) => {

await initBucketIfEmpty();

let uuidInput = parseInt(await event.pathParameters.uuid);
uuidInput = parseInt(await event.pathParameters.uuid);

bucketContent = await readBucket();

Expand All @@ -118,7 +126,7 @@ module.exports.handler = async (event) => {

bucketContent = await formatToJson(bucketContent);

let indexObj = await bucketContent.indexOf(obj);
indexObj = await bucketContent.indexOf(obj);

//Remove the object with the entered uuid
await bucketContent.splice(indexObj, 1);
Expand All @@ -132,7 +140,7 @@ module.exports.handler = async (event) => {
//convert json to string format to save if is not a string format
newObject = await formatToString(bucketContent);

let newObjectResult = await appendBucket(newObject);
newObjectResult = await appendBucket(newObject);

//-- end with bucket operations ---

Expand All @@ -153,11 +161,11 @@ module.exports.handler = async (event) => {


} catch (error) {
console.log(error);
return await bodyResponse(
statusCode.INTERNAL_SERVER_ERROR,
"An unexpected error has occurred. Try again"
);
code = statusCode.INTERNAL_SERVER_ERROR;
msg = `Error in EDIT OBJECT lambda. Caused by ${error}. Stack error type : ${error.stack}`;
console.error(msg);

return await requestResult(code, msg);
}

}
Loading

0 comments on commit 5263177

Please sign in to comment.