- Replace 4 duplicate meta DTOs (AuthResponseMetaDto, PortfolioResponseMetaDto, BrokerResponseMetaDto, ScreenerResponseMetaDto) with shared ApiResponseMeta - Wrap shares getShare() in ApiEnvelopePayload (was raw object, unlike bonds) - Remove unnecessary CacheModule import from securities module - Update portfolio controller nullDataEnvelopeSchema to use shared ApiResponseMeta - All 116 tests pass
54 lines
1.0 KiB
TypeScript
54 lines
1.0 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { ApiResponseMeta } from '../../../common/dto/api-response.dto';
|
|
|
|
class AuthUserDto {
|
|
@ApiProperty()
|
|
id!: number;
|
|
|
|
@ApiProperty()
|
|
email!: string;
|
|
|
|
@ApiProperty({ type: String, nullable: true })
|
|
name!: string | null;
|
|
|
|
@ApiProperty()
|
|
role!: string;
|
|
}
|
|
|
|
class AuthTokenDataDto {
|
|
@ApiProperty({ type: AuthUserDto })
|
|
user!: AuthUserDto;
|
|
|
|
@ApiProperty()
|
|
accessToken!: string;
|
|
}
|
|
|
|
class LogoutDataDto {
|
|
@ApiProperty()
|
|
message!: string;
|
|
}
|
|
|
|
export class AuthTokenResponseDto {
|
|
@ApiProperty({ type: AuthTokenDataDto })
|
|
data!: AuthTokenDataDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class AuthProfileResponseDto {
|
|
@ApiProperty({ type: AuthUserDto })
|
|
data!: AuthUserDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class AuthLogoutResponseDto {
|
|
@ApiProperty({ type: LogoutDataDto })
|
|
data!: LogoutDataDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|