@3wks/generator-gae-node-nestjs
Version:
A generator for building nestjs apps on app engine node
42 lines (34 loc) • 1.14 kB
text/typescript
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';
('User')
export class UsersResolver {
constructor(private readonly userRepository: UserRepository, private readonly userService: UsersService) {}
('users')
async getUsers(_obj: {}, _args: {}, context: Context): Promise<ReadonlyArray<User>> {
const [users] = await this.userRepository.query(context);
return users;
}
('userById')
async getUserById(_obj: void, { id }: { id: string }, context: Context) {
return this.userRepository.get(context, id);
}
('admin')
()
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;
}
}