HM-98. Описаны все ошибки api для swagger'a
This commit is contained in:
@ -1,10 +1,29 @@
|
||||
import {Controller, Req, Post, Options, Header, HttpCode} from '@nestjs/common';
|
||||
|
||||
import {ApiResponse, ApiTags, ApiBody} from '@nestjs/swagger';
|
||||
import {ALLOW_ORIGIN_ALL, ALLOW_METHOD, ALLOW_CREDENTIALS, CONTENT_LENGTH, ALLOW_HEADERS, AUTH_CONTROLLER} from '../consts';
|
||||
import {UserService} from '../users/users.service';
|
||||
import {AuthRequest, TokenResponse, RefreshAuthRequest, CheckAuthTokenRequest} from '../users/users.schema';
|
||||
import {Request} from 'express';
|
||||
import {
|
||||
ALLOW_ORIGIN_ALL,
|
||||
ALLOW_METHOD,
|
||||
ALLOW_CREDENTIALS,
|
||||
CONTENT_LENGTH,
|
||||
ALLOW_HEADERS,
|
||||
AUTH_CONTROLLER,
|
||||
} from '../consts';
|
||||
import { UserService } from '../users/users.service';
|
||||
import {
|
||||
AuthRequest,
|
||||
TokenResponse,
|
||||
RefreshAuthRequest,
|
||||
CheckAuthTokenRequest,
|
||||
} from '../users/users.schema';
|
||||
import { Request } from 'express';
|
||||
import {
|
||||
AUTH_SUCCESS,
|
||||
AUTH_BAD_REQUEST,
|
||||
REFRESH_AUTH_SUCCESS,
|
||||
REFRESH_AUTH_BAD_REQUEST,
|
||||
CHECK_AUTH_TOKEN,
|
||||
} from './auth.responses';
|
||||
|
||||
|
||||
@Controller(AUTH_CONTROLLER)
|
||||
@ -16,14 +35,11 @@ export class AuthController {
|
||||
|
||||
@Post()
|
||||
@Header(...ALLOW_ORIGIN_ALL)
|
||||
@ApiResponse({
|
||||
status: 201,
|
||||
description: 'Метод авторизации пользователя',
|
||||
type: TokenResponse,
|
||||
})
|
||||
@ApiResponse(AUTH_SUCCESS)
|
||||
@ApiResponse(AUTH_BAD_REQUEST)
|
||||
@ApiBody({
|
||||
type: AuthRequest,
|
||||
description: 'Ожидает логин и пароль пользователя для авторизации'
|
||||
description: 'Объект с логином и паролем пользователя для авторизации'
|
||||
})
|
||||
async authUser(@Req() request: Request<null, AuthRequest>): Promise<TokenResponse> {
|
||||
const host = request.headers.host;
|
||||
@ -33,11 +49,8 @@ export class AuthController {
|
||||
|
||||
@Post('refresh')
|
||||
@Header(...ALLOW_ORIGIN_ALL)
|
||||
@ApiResponse({
|
||||
status: 201,
|
||||
description: 'Метод обновления токенов',
|
||||
type: TokenResponse,
|
||||
})
|
||||
@ApiResponse(REFRESH_AUTH_SUCCESS)
|
||||
@ApiResponse(REFRESH_AUTH_BAD_REQUEST)
|
||||
@ApiBody({
|
||||
type: RefreshAuthRequest,
|
||||
description: 'Токен для сброса токенов'
|
||||
@ -50,18 +63,13 @@ export class AuthController {
|
||||
}
|
||||
|
||||
@Post('check')
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
description: 'Проверяет токен авторизации',
|
||||
type: Boolean,
|
||||
})
|
||||
@ApiResponse(CHECK_AUTH_TOKEN)
|
||||
@ApiBody({
|
||||
type: CheckAuthTokenRequest,
|
||||
description: 'Токен для проверки',
|
||||
})
|
||||
async checkAccessToken(@Req() request: Request<null, CheckAuthTokenRequest>): Promise<boolean> {
|
||||
const {access_token, host, agent} = request.body;
|
||||
console.log(request.headers)
|
||||
return this.userService.checkAccessToken(access_token, host, agent);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user