import { APIGatewayProxyEvent, APIGatewayProxyResult, Context } from 'aws-lambda'; import { prismaClient } from '../../../common/database/prisma.lambda.service'; import { verifyMinglarAdminHostToken } from '../../../common/middlewares/jwt/authForMinglarAdminHost'; import { safeHandler } from '../../../common/utils/handlers/safeHandler'; import ApiError from '../../../common/utils/helper/ApiError'; import { PrePopulateService } from '../services/prepopulate.service'; const prePopulateService = new PrePopulateService(prismaClient); export const handler = safeHandler(async ( event: APIGatewayProxyEvent, context?: Context ): Promise => { // Extract token from headers const token = event.headers['x-auth-token'] || event.headers['X-Auth-Token'] if (!token) { throw new ApiError(400, 'This is a protected route. Please provide a valid token.'); } // Authenticate user using the shared authForHost function await verifyMinglarAdminHostToken(token); const result = await prePopulateService.getAllPrePopulateDataForAddActivity(); return { statusCode: 200, headers: { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', }, body: JSON.stringify({ success: true, message: 'Data retrieved successfully', data: result, }), }; });