package com.gh.gamecenter.entity

import com.gh.gamecenter.common.entity.LinkEntity
import com.google.gson.annotations.SerializedName

// 相关文档可见  https://gitlab.ghzs.com/halo/halo-api/wikis/push#%E6%B6%88%E6%81%AF%E6%8E%A8%E9%80%81
data class PushNotificationEntity(
    @SerializedName("display_type")
    var displayType: String = "",
    var extra: Extra? = null,
    @SerializedName("msg_id")
    var msgId: String = "",
    var body: Body? = null,
    @SerializedName("random_min")
    var randomMin: Int? = 0
) {

    data class Body(
        @SerializedName("after_open")
        var afterOpen: String? = "",
        @SerializedName("play_lights")
        var playLights: String? = "",
        var ticker: String? = "",
        @SerializedName("play_vibrate")
        var playVibrate: String? = "",
        var custom: String? = "",
        var text: String? = "",
        var title: String? = "",
        @SerializedName("play_sound")
        var playSound: String? = ""
    )

    data class Extra(var data: Data? = null)

    data class Data(
        @SerializedName("push_id")
        var pushId: String? = "",
        var condition: Condition? = null,
        @SerializedName("message_id")
        var messageId: String? = "",
        var link: LinkEntity? = null
    ) {

        data class Condition(
            @SerializedName("package")
            var packageName: String = "",
            var ghzs: Ghzs? = null
        )

        data class Ghzs(var channel: String? = "", var version: String? = "")
    }
}



