/** * 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 { EmailAddress } from "./EmailAddress"; import { ServicePreferencesSettings } from "./ServicePreferencesSettings"; import { BlockedInboxOrChannels } from "./BlockedInboxOrChannels"; import { PreferredLanguages } from "./PreferredLanguages"; import { IsInboxEnabled } from "./IsInboxEnabled"; import { AcceptedTosVersion } from "./AcceptedTosVersion"; import { IsWebhookEnabled } from "./IsWebhookEnabled"; import { IsEmailEnabled } from "./IsEmailEnabled"; import { ReminderStatus } from "./ReminderStatus"; import { AppVersion } from "./AppVersion"; import { PushNotificationsContentType } from "./PushNotificationsContentType"; import * as t from "io-ts"; /** * Describes the citizen's profile. * Used for profile update. */ // required attributes const ProfileR = t.interface({ version: t.Integer }); // optional attributes const ProfileO = t.partial({ email: EmailAddress, service_preferences_settings: ServicePreferencesSettings, blocked_inbox_or_channels: BlockedInboxOrChannels, preferred_languages: PreferredLanguages, is_inbox_enabled: IsInboxEnabled, accepted_tos_version: AcceptedTosVersion, is_webhook_enabled: IsWebhookEnabled, is_email_enabled: IsEmailEnabled, reminder_status: ReminderStatus, last_app_version: AppVersion, push_notifications_content_type: PushNotificationsContentType }); export const Profile = t.exact(t.intersection([ProfileR, ProfileO], "Profile")); export type Profile = t.TypeOf;