typescript-express-starter
Version:
Quick and Easy TypeScript Express Starter
52 lines (45 loc) • 1.91 kB
text/typescript
import { Controller, Param, Body, Get, Post, Put, Delete, HttpCode, UseBefore } from 'routing-controllers';
import { OpenAPI } from 'routing-controllers-openapi';
import { Container } from 'typedi';
import { CreateUserDto } from '@dtos/users.dto';
import { User } from '@interfaces/users.interface';
import { ValidationMiddleware } from '@middlewares/validation.middleware';
import { UserService } from '@services/users.service';
export class UserController {
public path = '/users'
public user = Container.get(UserService);
async getUsers() {
const findAllUsersData: User[] = await this.user.findAllUser();
return { data: findAllUsersData, message: 'findAll' };
}
async getUserById( userId: number) {
const findOneUserData: User = await this.user.findUserById(userId);
return { data: findOneUserData, message: 'findOne' };
}
async createUser( userData: User) {
const createUserData: User = await this.user.createUser(userData);
return { data: createUserData, message: 'created' };
}
async updateUser( userId: number, userData: User) {
const updateUserData: User[] = await this.user.updateUser(userId, userData);
return { data: updateUserData, message: 'updated' };
}
async deleteUser( userId: number) {
const deleteUserData: User[] = await this.user.deleteUser(userId);
return { data: deleteUserData, message: 'deleted' };
}
}