Первый релиз.

Названия конечных точек теперь пишутся в нижнем регистре через знак минуса.

У DTO добавлена пара недостающих примеров в документации.

Удалён неиспользуемый декоратор IsMap.

users.controller.ts
- Описана конечная точка "me".
- Добавлены конечные точки "change-username" и "change-group", для смены имени пользователя и группы соответственно.

users.service.ts
- Добавлены методы "changeUsername" и "changeGroup", для смены имени пользователя и группы соответственно.
This commit is contained in:
2024-09-15 15:40:13 +04:00
parent 9c7a87fc65
commit a6d88a457f
9 changed files with 179 additions and 61 deletions

View File

@@ -5,7 +5,10 @@ import { Expose } from "class-transformer";
// SignIn
export class SignInReqDto extends PickType(UserDto, ["username"]) {
@ApiProperty({ description: "Пароль в исходном виде" })
@ApiProperty({
example: "my-password",
description: "Пароль в исходном виде",
})
@IsString()
password: string;
}

View File

@@ -1,4 +1,4 @@
import { ApiProperty, OmitType } from "@nestjs/swagger";
import { ApiProperty, OmitType, PickType } from "@nestjs/swagger";
import {
IsEnum,
IsJWT,
@@ -16,7 +16,10 @@ export enum UserRoleDto {
}
export class UserDto {
@ApiProperty({ description: "Идентификатор (ObjectId)" })
@ApiProperty({
example: "66e1b7e255c5d5f1268cce90",
description: "Идентификатор (ObjectId)",
})
@IsMongoId()
@Expose()
id: string;
@@ -66,14 +69,20 @@ export class UserDto {
role: UserRoleDto;
}
export class ClientUserDto extends OmitType(UserDto, [
export class ClientUserResDto extends OmitType(UserDto, [
"password",
"salt",
"accessToken",
]) {
static fromUserDto(userDto: UserDto): ClientUserDto {
return plainToClass(ClientUserDto, userDto, {
static fromUserDto(userDto: UserDto): ClientUserResDto {
return plainToClass(ClientUserResDto, userDto, {
excludeExtraneousValues: true,
});
}
}
// changes
export class ChangeUsernameReqDto extends PickType(UserDto, ["username"]) {}
export class ChangeGroupReqDto extends PickType(UserDto, ["group"]) {}