import type { BaseDocument } from './BaseDocument'

export type ContactInfo = {
  name?: string
  phone?: string
  email?: string
}

/**
 * Интерфейс для документа QR‑кода.
 * Представляет QR‑код, созданный пользователем, и информацию о привязанном объекте.
 */
export interface QRCodeDocument extends BaseDocument {
  /** Тип документа, всегда 'qr_code' */
  type: 'qr_code'

  /** Уникальный URL для настройки и взаимодействия */
  uri: string

  /** Ссылка на QR‑код */
  url: string

  /** Идентификатор пользователя, который создал QR‑код */
  // user_uuid: string

  /** Название объекта, для которого создан QR‑код, например "Мой автомобиль" */
  name: string

  messageDeliveryMethod: 'telegram' | 'webPushSubscription'

  /** Тип объекта, для которого создан QR‑код, например "car" */
  placement: 'car' | 'pet' | 'door' | 'store' | 'restaurant_table' | 'other'

  /** Доступные действия для гостей (например, ["send_message"]) */
  actions: string[]

  /** Предустановленное сообщение для гостей */
  predefinedMessages?: string[]

  contactInfo?: ContactInfo
}
