typescript-express-starter
Version:
Quick and Easy TypeScript Express Starter
48 lines (42 loc) • 1.37 kB
text/typescript
import { Arg, Mutation, Query, Resolver } from 'type-graphql';
import { CreateUserDto, UpdateUserDto } from '@dtos/users.dto';
import { UserRepository } from '@repositories/users.repository';
import { User } from '@typedefs/users.type';
()
export class UserResolver extends UserRepository {
(() => [User], {
description: 'User find list',
})
async getUsers(): Promise<User[]> {
const users: User[] = await this.userFindAll();
return users;
}
(() => User, {
description: 'User find by id',
})
async getUserById(('userId') userId: number): Promise<User> {
const user: User = await this.userFindById(userId);
return user;
}
(() => User, {
description: 'User create',
})
async createUser(('userData') userData: CreateUserDto): Promise<User> {
const user: User = await this.userCreate(userData);
return user;
}
(() => User, {
description: 'User update',
})
async updateUser(('userId') userId: number, ('userData') userData: UpdateUserDto): Promise<User> {
const user: User = await this.userUpdate(userId, userData);
return user;
}
(() => User, {
description: 'User delete',
})
async deleteUser(('userId') userId: number): Promise<User> {
const user: User = await this.userDelete(userId);
return user;
}
}