All files / libs/tenants/companies/core/src/lib/dto updateCompany.dto.ts

100% Statements 42/42
0% Branches 0/3
100% Functions 0/0
100% Lines 42/42

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 431x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { ApiProperty } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { IsEnum, IsNotEmpty, IsOptional, ValidateNested } from 'class-validator';
 
import { CurrencySymbolsEnum } from '@amalia/ext/iso-4217';
import { PeriodFrequencyEnum } from '@amalia/payout-definition/periods/types';
import { CompanyStatus, type Company, type CompanyCustomization } from '@amalia/tenants/companies/types';
 
import { CompanyCustomizationDto } from './companyCustomization.dto';
 
export class UpdateCompanyDto implements Partial<Company> {
  @ApiProperty()
  @IsOptional()
  @IsNotEmpty()
  public readonly name?: string;
 
  @ApiProperty({ enum: PeriodFrequencyEnum, default: PeriodFrequencyEnum.month })
  @IsOptional()
  @IsEnum(PeriodFrequencyEnum)
  public readonly statementFrequency?: PeriodFrequencyEnum;
 
  @ApiProperty({ enum: CurrencySymbolsEnum, default: 'EUR' })
  @IsOptional()
  @IsEnum(CurrencySymbolsEnum)
  public readonly currency?: CurrencySymbolsEnum;
 
  @ApiProperty({ enum: CurrencySymbolsEnum, example: [], type: 'array' })
  @IsOptional()
  @IsEnum(CurrencySymbolsEnum, { each: true })
  public readonly symbols?: CurrencySymbolsEnum[];
 
  @ApiProperty({ enum: CompanyStatus })
  @IsOptional()
  @IsEnum(CompanyStatus, { each: true })
  public readonly status?: CompanyStatus;
 
  @ApiProperty({ default: false })
  @ValidateNested()
  @IsOptional()
  @Type(() => CompanyCustomizationDto)
  public readonly customization?: CompanyCustomization;
}