all repos — caroster @ b665d19a2b5ab4e6c3f62c5344056a27ed78f486

[Octree] Group carpool to your event https://caroster.io

backend/src/graphql/vehicle/index.ts (view raw)

 1export default [
 2  ({ nexus, strapi }) => ({
 3    resolvers: {
 4      Mutation: {
 5        deleteVehicle: {
 6          async resolve(_root, args, context) {
 7            const { user } = context.state;
 8            const vehicle = await strapi.entityService.findOne(
 9              "api::vehicle.vehicle",
10              args.id,
11              { populate: ["user"] }
12            );
13
14            if (!vehicle) throw new Error("Vehicle not found");
15            else if (vehicle.user?.id !== user.id)
16              throw new Error("Not Authorized");
17
18            const deleteVehicle = await strapi.entityService.delete(
19              "api::vehicle.vehicle",
20              args.id
21            );
22
23            return {
24              value: deleteVehicle,
25              info: { args, resourceUID: "api::vehicle.vehicle" },
26            };
27          },
28        },
29      },
30    },
31  }),
32];