diff --git a/Sources/Services/Feishu/FeishuModels.swift b/Sources/Services/Feishu/FeishuModels.swift index f99e18e..586f8cf 100644 --- a/Sources/Services/Feishu/FeishuModels.swift +++ b/Sources/Services/Feishu/FeishuModels.swift @@ -16,27 +16,16 @@ struct RecordListData: Decodable { struct RecordItem: Decodable { let recordId: String let fields: [String: JSONValue] - - enum CodingKeys: String, CodingKey { - case recordId = "record_id" - case fields - } } struct OAuthTokenData: Decodable { + // Note: decoder uses .convertFromSnakeCase, so JSON keys are auto-mapped: + // access_token→accessToken, token_type→tokenType, expires_in→expiresIn, etc. let accessToken: String let tokenType: String? let expiresIn: Int let refreshToken: String? let refreshExpiresIn: Int? - - enum CodingKeys: String, CodingKey { - case accessToken = "access_token" - case tokenType = "token_type" - case expiresIn = "expires_in" - case refreshToken = "refresh_token" - case refreshExpiresIn = "refresh_expires_in" - } } struct TenantAccessTokenData: Decodable { @@ -44,23 +33,12 @@ struct TenantAccessTokenData: Decodable { let msg: String let tenantAccessToken: String let expire: Int - - enum CodingKeys: String, CodingKey { - case code - case msg - case tenantAccessToken = "tenant_access_token" - case expire - } } struct UserInfoData: Decodable { let name: String? + // en_name → enName via .convertFromSnakeCase let enName: String? - - enum CodingKeys: String, CodingKey { - case name - case enName = "en_name" - } } enum JSONValue: Decodable {