all repos — caroster @ 160ca45e1ae4d372f4874247c43d192161bfe346

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

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

 1export default [
 2  ({ nexus, strapi }) => ({
 3    types: [
 4      nexus.extendType({
 5        type: "Mutation",
 6        definition(t) {
 7          t.field("createTravel", {
 8            type: "TravelEntityResponse",
 9            args: {
10              data: nexus.nonNull("TravelInput"),
11              createVehicle: "Boolean",
12            },
13          });
14        },
15      }),
16    ],
17    resolvers: {
18      Mutation: {
19        createTravel: {
20          async resolve(_root, args, context) {
21            const {
22              state: { user },
23            } = context;
24            const createdTravel = await strapi.entityService.create(
25              "api::travel.travel",
26              {
27                data: {
28                  ...args.data,
29                  user: user?.id,
30                },
31              }
32            );
33            return {
34              value: createdTravel,
35              info: { args, resourceUID: "api::travel.travel" },
36            };
37          },
38        },
39      },
40    },
41    resolversConfig: {
42      "Mutation.createTravel": {
43        auth: false,
44        policies: ["api::travel.check-creation"],
45      },
46      "Mutation.updateTravel": {
47        auth: false,
48        policies: ["api::travel.check-update"],
49      },
50      "Mutation.deleteTravel": {
51        auth: false,
52        policies: ["api::travel.check-deletion"],
53      },
54      "Travel.passengers": {
55        auth: false,
56      },
57      "Travel.user": {
58        auth: false,
59      },
60    },
61  }),
62];