HM-109. Добавлена ручка для смены пароля
This commit is contained in:
@ -1,36 +1,39 @@
|
||||
import {Controller, Get, Req, Post, Options, Header, Delete, HttpCode, Put} from '@nestjs/common';
|
||||
|
||||
import { ApiResponse, ApiTags, ApiParam, ApiBody } from '@nestjs/swagger';
|
||||
import {ApiResponse, ApiTags, ApiParam, ApiBody} from '@nestjs/swagger';
|
||||
import {
|
||||
ALLOW_ORIGIN_ALL,
|
||||
ALLOW_METHOD,
|
||||
ALLOW_CREDENTIALS,
|
||||
CONTENT_LENGTH,
|
||||
ALLOW_HEADERS,
|
||||
USERS_CONTROLLER,
|
||||
ALLOW_ORIGIN_ALL,
|
||||
ALLOW_METHOD,
|
||||
ALLOW_CREDENTIALS,
|
||||
CONTENT_LENGTH,
|
||||
ALLOW_HEADERS,
|
||||
USERS_CONTROLLER,
|
||||
} from '../consts';
|
||||
import { UserService } from './users.service';
|
||||
import {UserService} from './users.service';
|
||||
import {
|
||||
UserResponse,
|
||||
CreateUserRequest,
|
||||
UpdateUserRequest,
|
||||
UpdateUserSelf,
|
||||
UserResponse,
|
||||
CreateUserRequest,
|
||||
UpdateUserRequest,
|
||||
UpdateUserSelf,
|
||||
ChangePasswordRequest,
|
||||
} from './users.schema';
|
||||
import { Request } from 'express';
|
||||
import {Request} from 'express';
|
||||
import {
|
||||
FIND_ALL_SUCCESS,
|
||||
FIND_ONE_SUCCESS,
|
||||
FIND_ONE_NOT_FOUND,
|
||||
CREATE_SUCCESS,
|
||||
CREATE_CONFLICT,
|
||||
CREATE_NOT_VALID,
|
||||
UPDATE_SUCCESS,
|
||||
UPDATE_NOT_FOUND,
|
||||
UPDATE_NOT_VALID,
|
||||
REMOVE_SUCCESS,
|
||||
REMOVE_NOT_FOUND,
|
||||
EDIT_ME_SUCCESS,
|
||||
EDIT_ME_NOT_VALID,
|
||||
FIND_ALL_SUCCESS,
|
||||
FIND_ONE_SUCCESS,
|
||||
FIND_ONE_NOT_FOUND,
|
||||
CREATE_SUCCESS,
|
||||
CREATE_CONFLICT,
|
||||
CREATE_NOT_VALID,
|
||||
UPDATE_SUCCESS,
|
||||
UPDATE_NOT_FOUND,
|
||||
UPDATE_NOT_VALID,
|
||||
REMOVE_SUCCESS,
|
||||
REMOVE_NOT_FOUND,
|
||||
EDIT_ME_SUCCESS,
|
||||
EDIT_ME_NOT_VALID,
|
||||
CHANGE_PASSWORD_SUCCESS,
|
||||
CHANGE_PASSWORD_NOT_VALID,
|
||||
} from './users.responses';
|
||||
import {AuthService} from 'src/auth/auth.service';
|
||||
|
||||
@ -78,6 +81,10 @@ export class UsersController {
|
||||
@Header(...ALLOW_ORIGIN_ALL)
|
||||
@ApiResponse(EDIT_ME_SUCCESS)
|
||||
@ApiResponse(EDIT_ME_NOT_VALID)
|
||||
@ApiBody({
|
||||
type: UpdateUserSelf,
|
||||
description: 'Объект обновления пользователя',
|
||||
})
|
||||
async findEdit(@Req() request: Request<null, UpdateUserSelf>): Promise<UserResponse> {
|
||||
await this.authService.checkRequest(request);
|
||||
|
||||
@ -128,6 +135,21 @@ export class UsersController {
|
||||
return await this.userService.removeOne(request.params.login);
|
||||
}
|
||||
|
||||
@Post('change-password')
|
||||
@Header(...ALLOW_ORIGIN_ALL)
|
||||
@ApiResponse(CHANGE_PASSWORD_SUCCESS)
|
||||
@ApiResponse(CHANGE_PASSWORD_NOT_VALID)
|
||||
@ApiBody({
|
||||
type: ChangePasswordRequest,
|
||||
description: 'Объект изменения пароля',
|
||||
})
|
||||
async changePassword(@Req() request: Request<null, {old_password: string, new_password: string}>): Promise<string> {
|
||||
await this.authService.checkRequest(request);
|
||||
|
||||
const {headers, body} = request;
|
||||
return await this.userService.changePassword(headers.authorization, body.old_password, body.new_password);
|
||||
}
|
||||
|
||||
@Options([
|
||||
'', 'search/:login', ':login', 'me', 'edit-me'
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user