create-express-typescript-application
Version:
Create a new lightweight Express application with TypeScript
31 lines (23 loc) • 1.03 kB
text/typescript
import { Body, Controller, Delete, Get, Post, Put, Query, Route, Tags } from 'tsoa';
import { getAllUser, createUser, updateUser, deleteUser } from './user.service';
import { User } from '@prisma/client';
('User Permission')
('/api/user-permission')
export class UserPermissionController extends Controller {
('/get-all/')
public async getAllUser(): Promise<(User & { role: { role: string }[] })[]> {
return getAllUser()
}
('/create/')
public async createUser( () body: { email: string, roles: { role: string }[] }): Promise<User> {
return createUser({ email: body.email, roles: body.roles });
}
('/update/{id}/')
public async updateUser( ('id') id: string, () body: { email: string, roles: { role: string }[] }): Promise<User> {
return updateUser({ id: Number(id), email: body.email, roles: body.roles });
}
('/delete/{id}/')
public async deleteUser( ('id') id: string): Promise<User> {
return deleteUser({ id: Number(id) });
}
}