import { CourierPaging } from './CourierPaging'; export interface CourierUserPreferences { items: CourierUserPreferencesTopic[]; paging: CourierPaging; } export interface CourierUserPreferencesTopic { defaultStatus: CourierUserPreferencesStatus; hasCustomRouting: boolean; customRouting: CourierUserPreferencesChannel[]; status: CourierUserPreferencesStatus; topicId: string; topicName: string; sectionName: string; sectionId: string; } export interface GetCourierUserPreferencesTopic { topic: CourierUserPreferencesTopic; } // Additional interfaces for CourierUserPreferencesStatus and CourierUserPreferencesChannel would be needed based on their definitions export enum CourierUserPreferencesStatus { OptedIn = 'OPTED_IN', OptedOut = 'OPTED_OUT', Required = 'REQUIRED', Unknown = 'UNKNOWN', } // Function to get the title of the enum value export function getCourierUserPreferencesStatusTitle( status: CourierUserPreferencesStatus ): string { switch (status) { case CourierUserPreferencesStatus.OptedIn: return 'Opted In'; case CourierUserPreferencesStatus.OptedOut: return 'Opted Out'; case CourierUserPreferencesStatus.Required: return 'Required'; case CourierUserPreferencesStatus.Unknown: return 'Unknown'; default: return 'Unknown'; } } export enum CourierUserPreferencesChannel { DirectMessage = 'direct_message', Inbox = 'inbox', Email = 'email', Push = 'push', Sms = 'sms', Webhook = 'webhook', Unknown = 'unknown', } // Function to get the title of the enum value export function getCourierUserPreferencesChannelTitle( channel: CourierUserPreferencesChannel ): string { switch (channel) { case CourierUserPreferencesChannel.DirectMessage: return 'In App Messages'; case CourierUserPreferencesChannel.Inbox: return 'Inbox'; case CourierUserPreferencesChannel.Email: return 'Emails'; case CourierUserPreferencesChannel.Push: return 'Push Notifications'; case CourierUserPreferencesChannel.Sms: return 'Text Messages'; case CourierUserPreferencesChannel.Webhook: return 'Webhooks'; case CourierUserPreferencesChannel.Unknown: return 'Unknown'; default: return 'Unknown'; } }