42 lines
		
	
	
		
			959 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			959 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  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
 | 
						|
}
 |