/** * Do not edit this file it is auto-generated by io-utils / gen-api-models. * See https://github.com/pagopa/io-utils */ /* eslint-disable */ import { ServiceId } from "./ServiceId"; import { ServiceName } from "./ServiceName"; import { OrganizationName } from "./OrganizationName"; import { DepartmentName } from "./DepartmentName"; import { OrganizationFiscalCode } from "./OrganizationFiscalCode"; import { NotificationChannel } from "./NotificationChannel"; import { ServiceMetadata } from "./ServiceMetadata"; import * as t from "io-ts"; /** * A Service associated to an user's subscription. */ // required attributes const ServicePublicR = t.interface({ service_id: ServiceId, service_name: ServiceName, organization_name: OrganizationName, department_name: DepartmentName, organization_fiscal_code: OrganizationFiscalCode, version: t.Integer }); // optional attributes const ServicePublicO = t.partial({ available_notification_channels: t.readonlyArray( NotificationChannel, "array of NotificationChannel" ), service_metadata: ServiceMetadata }); export const ServicePublic = t.exact( t.intersection([ServicePublicR, ServicePublicO], "ServicePublic") ); export type ServicePublic = t.TypeOf;