/** * 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 { TimeToLiveSeconds } from "./TimeToLiveSeconds"; import { MessageContent } from "./MessageContent"; import { FiscalCode } from "./FiscalCode"; import { withDefault } from "@pagopa/ts-commons/lib/types"; import * as t from "io-ts"; import { EmailAddress } from "./EmailAddress"; import { enumType } from "@pagopa/ts-commons/lib/types"; export enum Feature_level_typeEnum { "STANDARD" = "STANDARD", "ADVANCED" = "ADVANCED" } type FeatureLevelTypeBase = t.TypeOf; const FeatureLevelTypeBase = enumType( Feature_level_typeEnum, "feature_level_type" ); /** * Default addresses for notifying the recipient of the message in case * no address for the related channel is set in his profile. */ // required attributes const NewMessageDefault_addressesR = t.interface({}); // optional attributes const NewMessageDefault_addressesO = t.partial({ email: EmailAddress }); export const NewMessageDefault_addresses = t.exact( t.intersection( [NewMessageDefault_addressesR, NewMessageDefault_addressesO], "NewMessageDefault_addresses" ) ); export type NewMessageDefault_addresses = t.TypeOf< typeof NewMessageDefault_addresses >; // required attributes const NewMessageR = t.interface({ content: MessageContent }); // optional attributes const NewMessageO = t.partial({ time_to_live: TimeToLiveSeconds, default_addresses: NewMessageDefault_addresses, fiscal_code: FiscalCode, feature_level_type: withDefault( FeatureLevelTypeBase, "STANDARD" as FeatureLevelTypeBase ) }); export const NewMessage = t.exact( t.intersection([NewMessageR, NewMessageO], "NewMessage") ); export type NewMessage = t.TypeOf;