//
//  S3Models.swift

//
//  Created by Leon on 2025/7/21.
//

struct S3AuthData: Codable {
    let securityToken: String?
    let accessKeyId: String?
    /// us-west-2
    let region: String?
    /// https://hhb.crushlevel.ai/dev/main/headImage/1952268491211472898/17545311197577575.jpeg
    let urlPath: String?
    let requestId: String? // 更Swift化的类型替代NSObject
    /// crushthem1
    let bucket: String
    /// dev/main/headImage/1952268491211472898/17545311197577575.jpeg
    let path: String
    /// crushthem1.s3.us-west-2.amazonaws.com
    let endPoint: String?
    let accessKeySecret: String?
    /// String: "Thu Aug 07 10:00:24 CST 2025"
    let expiration: String?
    /// 17545311197577575.jpeg
    let fileName: String
}

enum BucketS3Enum: String {
    case UNKNOW // 未知
    case ROLE
    case ALBUM
    case HEAD_IMAGE
    case IM_IMG
    case SOUND
    /// 新bucket，此bucket的path类似: dev/main/sound/0/*, urlPath也是类似，需要自己替换文件名
    case SOUND_PATH
}

enum SuffixS3Enum: String {
    case jpeg = "jpeg"
    case png = "png"
    case gif = "gif"
    case mp3 = "mp3"
}
