package ru.forbion.f7cloud.feature.mail

enum class MailComposeMode {
    NEW,
    REPLY,
    REPLY_ALL,
    FORWARD,
}

data class MailComposeLaunch(
    val username: String,
    val password: String,
    val serverUrl: String,
    val trustAllCerts: Boolean,
    val accountId: Int,
    val accountEmail: String,
    val accountName: String? = null,
    val mailboxId: Int? = null,
    val mode: MailComposeMode = MailComposeMode.NEW,
    val initialTo: String = "",
    val initialCc: String = "",
    val initialSubject: String = "",
    val initialBodyHtml: String = "",
    val showCcBcc: Boolean = false,
    val initialSendPreset: MailSendLaterPreset = MailSendLaterPreset.NOW,
    val initialCustomSendAtEpochSeconds: Long? = null,
)

data class MailRecipient(
    val email: String,
    val label: String = email,
)

enum class MailComposeAttachmentType {
    LOCAL,
    CLOUD,
}

data class MailComposeAttachment(
    val id: Int,
    val fileName: String,
    val mimeType: String,
    val type: MailComposeAttachmentType = MailComposeAttachmentType.LOCAL,
    val cloudPath: String? = null,
    val size: Long? = null,
)

enum class MailFilesPickMode {
    ATTACHMENT,
    SHARE_LINK,
}
