//
//  ResGetMessages.swift
//  Sailassist
//
//  Created by 三浦薫巳 on 2023/11/14.
//

import Foundation

enum ChatMode: Int {
    case normal = 0
    case warningProgress = 1
}

struct ResGetMessages: Codable {
    var mode: Int   // 0:通常 , 1:Warning中
    var messages: [ChatMessage]?
    var users: [ChatUser]?
}

struct ChatMessage: Codable {
    var shipId: Int
    var messageId: String   //各メッセージ固有ID
    var type: Int           //0:テキスト , 1:スタンプ , 2:画像
    var time: String        //投稿日時
    var location: Int       //1:Shore , 2:Ship
    var from: String?       //投稿者名
    var fromId: String?     //ユーザーID
    var mode: Int           // 0:通常 , 1:Warning中
    var message: String?    //テキスト時：テキスト , 画像時:サムネイルのUri
    var stampId: Int        //スタンプ番号 0:Fire～
    var viewer: [Viewer] = []    //閲覧者情報
}

struct Viewer: Codable {
    var time: String        //確認日時
    var location: Int       //1:Shore , 2:Ship
    var id: String?         //ユーザーID
    var name: String?       //ユーザー名
}

struct ChatUser: Codable {
    var time: String        //最終アクセス日時
    var location: Int       //1:Shore , 2:Ship
    var id: String?         //ログイン時のデバイスID
    var name: String?       //ユーザー名
}
