/** * 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 { MessageSubject } from "./MessageSubject"; import { MessageBodyMarkdown } from "./MessageBodyMarkdown"; import { PaymentData } from "./PaymentData"; import { Timestamp } from "./Timestamp"; import * as t from "io-ts"; import { WithinRangeString } from "@pagopa/ts-commons/lib/strings"; import { FiscalCode as FiscalCodeT } from "@pagopa/ts-commons/lib/strings"; /** * Metadata needed to process medical prescriptions. */ // required attributes const MessageContentPrescription_dataR = t.interface({ nre: WithinRangeString(15, 16) }); // optional attributes const MessageContentPrescription_dataO = t.partial({ iup: WithinRangeString(1, 17), prescriber_fiscal_code: FiscalCodeT }); export const MessageContentPrescription_data = t.exact( t.intersection( [MessageContentPrescription_dataR, MessageContentPrescription_dataO], "MessageContentPrescription_data" ) ); export type MessageContentPrescription_data = t.TypeOf< typeof MessageContentPrescription_data >; /** * Paylod with access token to retrieve a EU Covid Certificate */ // required attributes const MessageContentEu_covid_certR = t.interface({ auth_code: t.string }); // optional attributes const MessageContentEu_covid_certO = t.partial({}); export const MessageContentEu_covid_cert = t.exact( t.intersection( [MessageContentEu_covid_certR, MessageContentEu_covid_certO], "MessageContentEu_covid_cert" ) ); export type MessageContentEu_covid_cert = t.TypeOf< typeof MessageContentEu_covid_cert >; // required attributes const MessageContentR = t.interface({ subject: MessageSubject, markdown: MessageBodyMarkdown }); // optional attributes const MessageContentO = t.partial({ payment_data: PaymentData, prescription_data: MessageContentPrescription_data, eu_covid_cert: MessageContentEu_covid_cert, due_date: Timestamp }); export const MessageContent = t.exact( t.intersection([MessageContentR, MessageContentO], "MessageContent") ); export type MessageContent = t.TypeOf;