backend/src/api/passenger/policies/check-creation.ts (view raw)
1import { errors } from "@strapi/utils";
2
3export default async (policyContext, _config, { strapi }) => {
4 const user = policyContext.state.user;
5 const eventId = policyContext.args?.data?.event;
6 const event = await strapi.entityService.findOne("api::event.event", eventId);
7
8 if (!event) throw new errors.NotFoundError(`Event not found`);
9
10 if (event.enabled_modules?.includes("caroster-plus") && !user)
11 throw new errors.ForbiddenError();
12 else if (user) policyContext.args.data.user = user.id;
13};