package com.example.modifier.http.response

import com.example.modifier.serializer.LocalDateTimeSerializer
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonElement
import java.time.LocalDateTime

@Serializable
data class RcsNumberResponse(
    val id: Long,
    @Serializable(with = LocalDateTimeSerializer::class)
    val createdAt: LocalDateTime,
    @Serializable(with = LocalDateTimeSerializer::class)
    val expiryTime: LocalDateTime,
    val from: String,
    val mcc: String,
    val mnc: String,
    val areaCode: String,
    val country: String,
    val number: String,
    val message: String?,
    val status: String,
    val extra: JsonElement,
    val deviceId: String?,
    val carrierId: String,
    val carrierName: String,
) {
    companion object {
        const val STATUS_PENDING = "pending"
        const val STATUS_SUCCESS = "success"
        const val STATUS_EXPIRED = "expired"
        const val STATUS_ERROR = "error"
    }
}