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

100% Statements 39/39
100% Branches 0/0
100% Functions 0/0
100% Lines 39/39

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 401x 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 { IsBoolean, IsIn, IsNumber, IsOptional, IsString, Matches, ValidateIf } from 'class-validator';
 
import {
  COMPANY_CUSTOMIZATION_DEFAULT_PERIOD,
  type CompanyCustomization,
  type CompanyCustomizationDefaultPeriod,
} from '@amalia/tenants/companies/types';
 
export class CompanyCustomizationDto implements CompanyCustomization {
  @IsString()
  @IsOptional()
  public holdAndReleasePaymentDateLabel?: string;
 
  @IsString()
  @IsOptional()
  public holdAndReleaseForecastPaymentDateLabel?: string;
 
  @IsString()
  @IsOptional()
  public totalCommissionLabel?: string;
 
  @IsNumber()
  @IsOptional()
  public reportsPrecision?: number;
 
  @IsBoolean()
  @IsOptional()
  public readonly planAgreementsSharedWithManager?: boolean;
 
  @IsIn(COMPANY_CUSTOMIZATION_DEFAULT_PERIOD)
  @IsOptional()
  public readonly defaultPeriod?: CompanyCustomizationDefaultPeriod;
 
  @IsString()
  @IsOptional()
  @ValidateIf((o: CompanyCustomization) => !!o.primaryColor)
  @Matches(/^[0-9a-fA-F]{6}$/iu)
  public readonly primaryColor?: string;
}