code update recorded at: 26/03/25 11:26:26

This commit is contained in:
Kajal Thakur 2025-03-26 11:26:26 +00:00
commit 9f9e294f31

84
handler.js Normal file
View File

@ -0,0 +1,84 @@
// BOILER_CODE_START
import crypto from 'crypto'
class EventNotSupportedException extends Error {
constructor(message) {
super(message);
this.name = 'EventNotSupportedException';
this.statusCode = 451;
this.message = message;
}
}
class InvalidEventPayloadException extends Error {
constructor(message) {
super(message);
this.statusCode = 452;
this.name = 'InvalidEventPayloadException';
this.message = message;
}
}
class RetryErrorException extends Error {
constructor(message) {
super(message);
this.statusCode = 453;
this.name = 'RetryErrorException';
this.message = message;
}
}
function generateSha256Hash(input) {
return crypto.createHash('sha256').update(input).digest('hex');
}
export const handler = async (req, res) => {
try {
const obj = req.body;
modifyObj(obj);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(obj));
} catch (error) {
console.error(error);
const statusCode = error.statusCode || 500;
res.statusCode = statusCode;
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(statusCode === 500
? { message: error.message }
: { name: error.name, message: error.message, statusCode }));
}
};
// BOILER_CODE_END
function modifyObj(obj) {
// Check if 'properties.index' exists
if (obj.properties?.index) {
// Add a new key to indicate transformation
obj.properties.transformationStatus = "success";
}
//else {
// throw new Error("'properties.index' is required but missing...");
// }
return obj;
}
/*
Exceptions available:
throw new EventNotSupportedException('your message here');
throw new InvalidEventobjException('your message here');
throw new RetryErrorException('your message here');
Method for generating 256 hash code for a String:
let hashOfAString = generateSha256Hash(input);
*/