mirror of
https://github.com/swissmakers/swiss-datashare.git
synced 2026-04-11 10:27:01 +02:00
43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
import {
|
|
Body,
|
|
Controller,
|
|
ForbiddenException,
|
|
HttpCode,
|
|
Post,
|
|
} from "@nestjs/common";
|
|
import { ConfigService } from "@nestjs/config";
|
|
|
|
import { AuthService } from "./auth.service";
|
|
import { AuthDTO } from "./dto/auth.dto";
|
|
import { AuthRegisterDTO } from "./dto/authRegister.dto";
|
|
import { RefreshAccessTokenDTO } from "./dto/refreshAccessToken.dto";
|
|
|
|
@Controller("auth")
|
|
export class AuthController {
|
|
constructor(
|
|
private authService: AuthService,
|
|
private config: ConfigService
|
|
) {}
|
|
|
|
@Post("signUp")
|
|
signUp(@Body() dto: AuthRegisterDTO) {
|
|
if (!this.config.get("ALLOW_REGISTRATION"))
|
|
throw new ForbiddenException("Registration is not allowed");
|
|
return this.authService.signUp(dto);
|
|
}
|
|
|
|
@Post("signIn")
|
|
signIn(@Body() dto: AuthDTO) {
|
|
return this.authService.signIn(dto);
|
|
}
|
|
|
|
@Post("token")
|
|
@HttpCode(200)
|
|
async refreshAccessToken(@Body() body: RefreshAccessTokenDTO) {
|
|
const accessToken = await this.authService.refreshAccessToken(
|
|
body.refreshToken
|
|
);
|
|
return { accessToken };
|
|
}
|
|
}
|