28 lines
703 B
TypeScript
28 lines
703 B
TypeScript
|
import { Controller, Get, Post, Request } from '@nestjs/common';
|
||
|
import { AuthService } from '../services/auth';
|
||
|
import { Responses } from 'dto';
|
||
|
|
||
|
@Controller('api/user')
|
||
|
export default class UserController {
|
||
|
constructor(private authService: AuthService) {}
|
||
|
|
||
|
@Get('info')
|
||
|
async getUserInfo(
|
||
|
@Request() req
|
||
|
): Promise<Responses.User.UserInfoResponse> {
|
||
|
return new Responses.User.UserInfoResponse(
|
||
|
req.user.name,
|
||
|
req.user.isGitlabUser,
|
||
|
this.authService.requiresTfa(req.user)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
@Post('delete')
|
||
|
async deleteUser(
|
||
|
@Request() req
|
||
|
): Promise<Responses.User.DeleteUserResponse> {
|
||
|
await this.authService.deleteUser(req.user);
|
||
|
return new Responses.User.DeleteUserResponse();
|
||
|
}
|
||
|
}
|