package com.crm.chat.data.model

// Request models for chat creation
data class CreatePersonalChatRequest(
    val providerId: Long,
    val companionId: Long
)

data class CreateGroupChatRequest(
    val providerId: Long,
    val participantIds: List<Long>,
    val title: String,
    val entityId: Long? = null
)

data class CreateExternalChatRequest(
    val title: String,
    val entityId: Long? = null,
    val externalUser: ChatUserExternal? = null
)

// External user data class
data class ChatUserExternal(
    val externalId: String,
    val firstName: String? = null,
    val lastName: String? = null,
    val avatarUrl: String? = null,
    val phone: String? = null,
    val email: String? = null,
    val link: String? = null
)

// Request models for chat management
data class UpdateGroupChatRequest(
    val title: String,
    val participantIds: List<Long>? = null
)

data class CreateContactLeadRequest(
    val contactName: String,
    val leadName: String? = null,
    val responsibleUserId: Long? = null
)

// Request models for message management
data class UpdateMessageRequest(
    val text: String
)

data class MarkMessagesReadRequest(
    val messageIds: List<Long>
)

// Response models
data class EntityInfo(
    val id: Long,
    val type: String,
    val name: String
)
