Browse Source

Task/harden validation of sectors in asset profile endpoints (#7319)

* Harden validation of sectors

* Update changelog
pull/7320/head^2
Thomas Kaul 1 day ago
committed by GitHub
parent
commit
b7fc13e20a
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 2
      libs/common/src/lib/dtos/country.dto.ts
  3. 3
      libs/common/src/lib/dtos/create-asset-profile.dto.ts
  4. 2
      libs/common/src/lib/dtos/index.ts
  5. 11
      libs/common/src/lib/dtos/sector.dto.ts
  6. 3
      libs/common/src/lib/dtos/update-asset-profile.dto.ts

1
CHANGELOG.md

@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ### Changed
- Hardened the validation of the countries in the asset profile endpoints - Hardened the validation of the countries in the asset profile endpoints
- Hardened the validation of the sectors in the asset profile endpoints
- Rounded the value of the _Fear & Greed Index_ (market mood) in the twitter bot service - Rounded the value of the _Fear & Greed Index_ (market mood) in the twitter bot service
- Set the change detection strategy to `OnPush` in the _X-ray_ page - Set the change detection strategy to `OnPush` in the _X-ray_ page

2
libs/common/src/lib/dtos/country.dto.ts

@ -5,7 +5,7 @@ export class CountryDto {
code: string; code: string;
@IsNumber() @IsNumber()
@Min(0)
@Max(1) @Max(1)
@Min(0)
weight: number; weight: number;
} }

3
libs/common/src/lib/dtos/create-asset-profile.dto.ts

@ -13,6 +13,7 @@ import {
} from 'class-validator'; } from 'class-validator';
import { CountryDto } from './country.dto'; import { CountryDto } from './country.dto';
import { SectorDto } from './sector.dto';
export class CreateAssetProfileDto { export class CreateAssetProfileDto {
@IsEnum(AssetClass) @IsEnum(AssetClass)
@ -73,6 +74,8 @@ export class CreateAssetProfileDto {
@IsArray() @IsArray()
@IsOptional() @IsOptional()
@Type(() => SectorDto)
@ValidateNested({ each: true })
sectors?: Prisma.InputJsonArray; sectors?: Prisma.InputJsonArray;
@IsString() @IsString()

2
libs/common/src/lib/dtos/index.ts

@ -11,6 +11,7 @@ import { CreatePlatformDto } from './create-platform.dto';
import { CreateTagDto } from './create-tag.dto'; import { CreateTagDto } from './create-tag.dto';
import { CreateWatchlistItemDto } from './create-watchlist-item.dto'; import { CreateWatchlistItemDto } from './create-watchlist-item.dto';
import { DeleteOwnUserDto } from './delete-own-user.dto'; import { DeleteOwnUserDto } from './delete-own-user.dto';
import { SectorDto } from './sector.dto';
import { TransferBalanceDto } from './transfer-balance.dto'; import { TransferBalanceDto } from './transfer-balance.dto';
import { UpdateAccessDto } from './update-access.dto'; import { UpdateAccessDto } from './update-access.dto';
import { UpdateAccountDto } from './update-account.dto'; import { UpdateAccountDto } from './update-account.dto';
@ -39,6 +40,7 @@ export {
CreateTagDto, CreateTagDto,
CreateWatchlistItemDto, CreateWatchlistItemDto,
DeleteOwnUserDto, DeleteOwnUserDto,
SectorDto,
TransferBalanceDto, TransferBalanceDto,
UpdateAccessDto, UpdateAccessDto,
UpdateAccountDto, UpdateAccountDto,

11
libs/common/src/lib/dtos/sector.dto.ts

@ -0,0 +1,11 @@
import { IsNumber, IsString, Max, Min } from 'class-validator';
export class SectorDto {
@IsString()
name: string;
@IsNumber()
@Max(1)
@Min(0)
weight: number;
}

3
libs/common/src/lib/dtos/update-asset-profile.dto.ts

@ -20,6 +20,7 @@ import {
} from 'class-validator'; } from 'class-validator';
import { CountryDto } from './country.dto'; import { CountryDto } from './country.dto';
import { SectorDto } from './sector.dto';
export class UpdateAssetProfileDto { export class UpdateAssetProfileDto {
@IsEnum(AssetClass) @IsEnum(AssetClass)
@ -70,6 +71,8 @@ export class UpdateAssetProfileDto {
@IsArray() @IsArray()
@IsOptional() @IsOptional()
@Type(() => SectorDto)
@ValidateNested({ each: true })
sectors?: Prisma.InputJsonArray; sectors?: Prisma.InputJsonArray;
@IsOptional() @IsOptional()

Loading…
Cancel
Save