41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
import { verifyHostToken } from '../../../../../common/middlewares/jwt/authForHost';
|
|
import { APIGatewayProxyEvent, APIGatewayProxyResult } from 'aws-lambda';
|
|
import { prismaClient } from '../../../../../common/database/prisma.lambda.service';
|
|
import { safeHandler } from '../../../../../common/utils/handlers/safeHandler';
|
|
import ApiError from '../../../../../common/utils/helper/ApiError';
|
|
import { HostService } from '../../../services/host.service';
|
|
|
|
const pqqService = new HostService(prismaClient);
|
|
|
|
export const handler = safeHandler(async (event: APIGatewayProxyEvent): Promise<APIGatewayProxyResult> => {
|
|
try {
|
|
// 1) Auth
|
|
const token = event.headers['x-auth-token'] || event.headers['X-Auth-Token'];
|
|
if (!token) throw new ApiError(401, 'Missing token.');
|
|
const user = await verifyHostToken(token);
|
|
|
|
const activity_xid = event.queryStringParameters?.activity_xid
|
|
? Number(event.queryStringParameters.activity_xid)
|
|
: null;
|
|
|
|
await pqqService.submitpqqforreview(Number(activity_xid), Number(user.id))
|
|
|
|
return {
|
|
statusCode: 200,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"Access-Control-Allow-Origin": "*"
|
|
},
|
|
body: JSON.stringify({
|
|
success: true,
|
|
message: "Your PQQ has been submitted for review.",
|
|
data: null
|
|
})
|
|
};
|
|
|
|
} catch (error: any) {
|
|
console.error("❌ Error in submitPqqAnswer:", error);
|
|
throw error;
|
|
}
|
|
});
|