2022-08-25 13:27:47 +02:00
|
|
|
import { Controller, Get, Post, Request } from '@nestjs/common';
|
2022-08-25 19:59:53 +02:00
|
|
|
import { AuthService } from 'services/auth';
|
2022-08-25 23:42:12 +02:00
|
|
|
import { Responses } from '../../dto';
|
2022-08-25 13:27:47 +02:00
|
|
|
|
|
|
|
@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();
|
|
|
|
}
|
|
|
|
}
|