//
//  LiveRoomMember.swift
//  SodaLive
//
//  Created by klaus on 2023/08/14.
//

struct LiveRoomMember: Decodable, Hashable {
    let id: Int
    let nickname: String
    let profileImage: String
    let role: LiveRoomMemberRole
}

enum LiveRoomMemberRole: String, Decodable {
    case LISTENER, SPEAKER, MANAGER
}

enum LiveRoomProfileItemType: String {
    case MASTER, SPEAKER_TITLE, LISTENER_TITLE, USER
}

protocol LiveRoomProfileItem: Hashable {
    var type: LiveRoomProfileItemType { get set }
}

struct LiveRoomProfileItemSpeakerTitle: LiveRoomProfileItem {
    var type: LiveRoomProfileItemType = .SPEAKER_TITLE
}

struct LiveRoomProfileItemListenerTitle: LiveRoomProfileItem {
    var type: LiveRoomProfileItemType = .LISTENER_TITLE
}

struct LiveRoomProfileItemMaster: LiveRoomProfileItem {
    var type: LiveRoomProfileItemType = .MASTER
}

struct LiveRoomProfileItemUser: LiveRoomProfileItem {
    var type: LiveRoomProfileItemType = .USER
}
