UNPKG

@3wks/generator-gae-node-nestjs

Version:

A generator for building nestjs apps on app engine node

42 lines (34 loc) 1.14 kB
import { Resolver, Query, Mutation } from '@nestjs/graphql'; import { Context, Roles } from '@3wks/gae-node-nestjs'; import { UserRepository, User } from './users.repository'; import { UsersService } from './users.service'; @Resolver('User') export class UsersResolver { constructor(private readonly userRepository: UserRepository, private readonly userService: UsersService) {} @Query('users') async getUsers(_obj: {}, _args: {}, context: Context): Promise<ReadonlyArray<User>> { const [users] = await this.userRepository.query(context); return users; } @Query('userById') async getUserById(_obj: void, { id }: { id: string }, context: Context) { return this.userRepository.get(context, id); } @Roles('admin') @Mutation() async updateUser( _req: void, { id, name, roles, enabled }: { id: string; name: string; roles: string[]; enabled: boolean }, context: Context, ) { return await this.userService.update(context, id, { name, roles, enabled }); } avatar({ avatar }: User) { return { url: avatar, }; } roles({ roles = [] }: User) { return roles; } }