Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | 1x 10x 10x 2x 8x 8x 7x 5x 2x 1x 1x 1x | import { APIGatewayEvent } from "aws-lambda";
import { checkIdentifierUsage } from "libs/api/package/checkIdentifierUsage";
import { response } from "libs/handler-lib";
import { nonAuthenticatedMiddy } from "./middleware/handlers";
/**
* Handler for checking identifier usage
* GET /checkIdentifierUsage?id={identifier}
*
* Returns:
* - 200: {"inUse": false} if identifier is available
* - 200: {"inUse": true, "system": "<origin>"} if identifier is in use
* - 400: Error if id parameter is missing
* - 500: Error on internal server error
*/
export const checkIdentifierUsageHandler = async (event: APIGatewayEvent) => {
const identifier = event.queryStringParameters?.id;
if (!identifier) {
return response(
{
statusCode: 400,
body: { message: "Missing required parameter: id" },
},
{ disableCors: false },
);
}
try {
const result = await checkIdentifierUsage(identifier);
if (result.exists) {
return response(
{
statusCode: 200,
body: {
inUse: true,
system: result.origin,
},
},
{ disableCors: false },
);
}
return response(
{
statusCode: 200,
body: {
inUse: false,
},
},
{ disableCors: false },
);
} catch (error) {
console.error("Error in checkIdentifierUsage:", error);
return response(
{
statusCode: 500,
body: { message: "Internal server error" },
},
{ disableCors: false },
);
}
};
export const handler = nonAuthenticatedMiddy({
opensearch: true,
body: false,
}).handler(checkIdentifierUsageHandler);
|