import type { Service } from '../services/types' import type { User } from '../users/types' export type ServiceEventReasonCategory = 'service_connection' | 'service_block_message' export type ServiceConnectionReason = | 'waiting_qr_code' | 'connected_elsewhere' | 'device_offline' | 'archived' | 'shutdown' | 'connected' | 'unknown' export type ServiceBlockMessageReason = | 'enabled_block_message_rules_active' | 'disabled_block_message_rules_active' | 'enabled_unblock_by_receive_message' | 'disabled_unblock_by_receive_message' export type ServiceEvent = { id: string online: boolean | null reason: ServiceConnectionReason | ServiceBlockMessageReason | null reasonCategory: ServiceEventReasonCategory | null startedAt: string | null endedAt: string | null accountId: string serviceId: string userId: string | null createdAt: string updatedAt: string // relationships service?: Service user?: User | null } export type ServiceEventRelationships = 'service' | 'user' export type CreateServiceEventPayload = { online: boolean reason: ServiceConnectionReason | ServiceBlockMessageReason reasonCategory: ServiceEventReasonCategory serviceId: string startedAt?: string endedAt?: string } export type UpdateServiceEventPayload = { online?: boolean endedAt?: string | null }