import { Attr } from 'ts-framework' import { OperatorResponseDTO } from './operator' import { ProviderMobilityResponseDTO } from './provider-mobility' import { ProviderProductResponseDTO } from './provider-product' import { ProviderTeamMemberResponseDTO } from './provider-team-member' export class CreateProviderDTO { @Attr({ type: String }) name: string @Attr({ type: String }) description: string @Attr({ type: Boolean, optional: true }) isIntegration?: boolean @Attr({ type: String, optional: true }) logoUrl?: string } export class UpdateProviderDTO { @Attr({ type: String }) id: string @Attr({ type: String }) name: string @Attr({ type: String }) description: string @Attr({ type: Boolean, optional: true }) isIntegration?: boolean @Attr({ type: String, optional: true }) logoUrl?: string } export class CompactProviderResponseDTO { name: string logoUrl: string } export class ProviderDTO { @Attr({ type: String }) id: string @Attr({ type: String }) providerProductIds: string[] } export class ManyProviderDTO { @Attr({ type: ProviderDTO }) providers: ProviderDTO[] } export class ProviderResponseDTO { id: string name: string description: string isIntegration: boolean logoUrl: string products?: ProductResponseDTO[] mobilities?: ProviderMobilityResponseDTO[] providerTeamMembers?: ProviderTeamMemberResponseDTO[] operators?: OperatorResponseDTO[] } export class ProductResponseDTO { id: string deactivationDate: Date description: string name: string integrationId: string pricingId: string providerId: string serviceLevelId: string }