package com.dmc.callcrm.network import com.google.gson.annotations.SerializedName // ---- register ---- data class RegisterRequest( @SerializedName("connect_code") val connectCode: String, val name: String, val mobile: String, val company: String, @SerializedName("employee_code") val employeeCode: String?, @SerializedName("model_name") val modelName: String?, @SerializedName("app_version") val appVersion: String?, @SerializedName("device_id") val deviceId: String, @SerializedName("sim_slot") val simSlot: Int?, @SerializedName("fcm_token") val fcmToken: String?, @SerializedName("app_secret") val appSecret: String ) data class RegisterResponse( val ok: Boolean, @SerializedName("employee_id") val employeeId: Long?, @SerializedName("api_token") val apiToken: String?, val error: String? ) // ---- sync ---- data class CallDto( val number: String, val name: String?, val type: Int, // Android CallLog.Calls TYPE constant val date: Long, // epoch millis val duration: Int, // seconds @SerializedName("sim_slot") val simSlot: Int?, val note: String?, @SerializedName("device_call_id") val deviceCallId: String? ) data class SyncRequest(val calls: List) data class SyncResponse( val ok: Boolean, val inserted: Int?, val duplicates: Int?, val error: String? ) // ---- recording upload ---- data class UploadResponse( val ok: Boolean, @SerializedName("recording_id") val recordingId: Long?, @SerializedName("matched_call_id") val matchedCallId: Long?, val duplicate: Boolean?, val error: String? ) // ---- note templates (Manage -> Call Note Templates on the dashboard) ---- data class NoteTemplate(val id: Long, val title: String, val body: String?) data class NoteTemplatesResponse( val ok: Boolean, val templates: List?, val error: String? ) // ---- message templates (Manage -> Message Templates on the dashboard) ---- data class MessageTemplate(val id: Long, val title: String, val body: String?, val tags: String?) data class MessageTemplatesResponse( val ok: Boolean, val templates: List?, val error: String? ) // ---- call note ---- data class CallNoteRequest( val number: String, val name: String?, val type: Int, val date: Long, // epoch millis val duration: Int, // seconds val note: String, @SerializedName("device_call_id") val deviceCallId: String? ) data class CallNoteResponse( val ok: Boolean, @SerializedName("call_id") val callId: Long?, val note: String?, val error: String? ) // ---- excluded numbers (Manage -> Exclude Phone Numbers) ---- data class ExcludedNumbersResponse( val ok: Boolean, val numbers: List?, val error: String? ) // ---- find recording ---- data class FindRecordingResponse( val ok: Boolean, val found: Boolean?, @SerializedName("recording_id") val recordingId: Long?, @SerializedName("duration_sec") val durationSec: Int?, val mime: String?, val error: String? )