package com.adealink.weparty.profile.data

import com.adealink.weparty.module.profile.data.UserInfo
import com.adealink.weparty.module.profile.data.UserNote
import com.adealink.weparty.module.room.data.RoomInfo
import com.google.gson.annotations.SerializedName

data class GetUserinfoReq(
    @SerializedName("userNos") val uids: List<String>
)

data class GetUserInfosRes(
    @SerializedName("list") val list: List<UserInfo>
)


data class UpdateMyUserInfoReq(
    @SerializedName("avatar") val avatar: String? = null,
    @SerializedName("nickname") val nickname: String? = null,
    @SerializedName("gender") val gender: Int? = null,
    @SerializedName("intro") val intro: String? = null,
    @SerializedName("birthday") val birthday: String? = null, //格式 yyyy-MM-dd
    @SerializedName("interestCateGores") val interests: List<String>? = null,
    @SerializedName("photos") val photos: List<String>? = null,
)

data class PlaymateCharmStarReq(
    @SerializedName("userNo") val uid: String,
    @SerializedName("star") val star: Float
)

data class UserOnlineReq(
    @SerializedName("userNos") val uids: List<String>
)

data class UserOnlineRes(
    @SerializedName("list") val list: List<UserOnlineData>
)

data class UserOnlineData(
    @SerializedName("userNo") val userNo: String,
    @SerializedName("online") val online: Boolean,
)


data class UserVoiceApplyReq(
    @SerializedName("voiceBar") val voiceBar: String,
    @SerializedName("voiceBarDuration") val duration: Int //单位:秒
)


data class SetUserNoteReq(
    @SerializedName("userNo") val uid: String,
    @SerializedName("note") val note: String,
)


data class GetUserNoteReq(
    @SerializedName("list") val uids: List<String>
)

data class GetUserNoteRes(
    @SerializedName("list") val list: List<UserNote>
)

data class GetUserLiveRoomReq(
    @SerializedName("id") val uid: String
)

data class GetUserLiveRoomRes(
    @SerializedName("room") val roomInfo: RoomInfo
)