UNPKG

@kazion/create-app

Version:

A cli tool to help you get started with graphql and rest api's with typescript

47 lines (42 loc) 1.07 kB
import { User } from '@prisma/client'; import { Args, ID, OK, ResolverHandler } from '~/types'; import { UserService } from '~/modules/users/user.service'; import { pubsub } from '~/lib/pubsub'; export const meHandler: ResolverHandler<Promise<User | null>> = async ( __, _, ctx, ) => { return ctx.user; }; export const userHandler: ResolverHandler<Promise<User | null>> = async ( _, args: Args<{}, ID>, { prisma }, ) => { const user = await UserService.getUserById(prisma, args?.id as ID); return user; }; export const updateUserHandler: ResolverHandler<Promise<OK>> = async ( _: any, args: Partial<Args<User, ID>>, { prisma }, ) => { try { await UserService.updateUser(prisma, args.id!, args.input!); return { ok: true }; } catch (error) { throw error; } }; export const inviteUserHandler: ResolverHandler<Promise<OK>> = async ( _: any, args: Partial<Args<User, ID>>, ) => { try { pubsub.publish('USER_INVITE', { userInvite: args.input }); return { ok: true }; } catch (error) { throw error; } };