Files
schedule-parser-next/src/dto/auth.dto.ts
n08i40k a6d88a457f Первый релиз.
Названия конечных точек теперь пишутся в нижнем регистре через знак минуса.

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

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

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

users.service.ts
- Добавлены методы "changeUsername" и "changeGroup", для смены имени пользователя и группы соответственно.
2024-09-15 15:40:13 +04:00

49 lines
1.1 KiB
TypeScript

import { ApiProperty, IntersectionType, PickType } from "@nestjs/swagger";
import { UserDto } from "./user.dto";
import { IsString } from "class-validator";
import { Expose } from "class-transformer";
// SignIn
export class SignInReqDto extends PickType(UserDto, ["username"]) {
@ApiProperty({
example: "my-password",
description: "Пароль в исходном виде",
})
@IsString()
password: string;
}
export class SignInResDto extends PickType(UserDto, ["id", "accessToken"]) {}
// SignUp
export class SignUpReqDto extends IntersectionType(
SignInReqDto,
PickType(UserDto, ["role", "group"]),
) {}
export class SignUpResDto extends SignInResDto {}
// Update token
export class UpdateTokenReqDto extends PickType(UserDto, ["accessToken"]) {}
export class UpdateTokenResDto extends UpdateTokenReqDto {}
// Update password
export class ChangePasswordReqDto {
@ApiProperty({
example: "my-old-password",
description: "Старый пароль",
})
@IsString()
@Expose()
oldPassword: string;
@ApiProperty({
example: "my-new-password",
description: "Новый пароль",
})
@IsString()
@Expose()
newPassword: string;
}