Skip to content

Commit

Permalink
feat: Decoder convertFromSnakeCase
Browse files Browse the repository at this point in the history
# Conflicts:
#	Sources/InfomaniakCore/Account/OrganisationAccount.swift
  • Loading branch information
Ambrdctr authored and PhilippeWeidmann committed Jul 12, 2024
1 parent 88e6366 commit cb9bf50
Show file tree
Hide file tree
Showing 11 changed files with 9 additions and 112 deletions.
15 changes: 0 additions & 15 deletions Sources/InfomaniakCore/Account/OrganisationAccount.swift
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,6 @@ public class OrganisationAccount: Codable, Equatable {
return name.initials
}

enum CodingKeys: String, CodingKey {
case id
case billingMailing = "billing_mailing"
case noAccess = "no_access"
case billing
case legalEntityType = "legal_entity_type"
case name
case mailing
case createdAt = "created_at"
case website
case type
case workspaceOnly = "workspace_only"
case logo
}

public static func == (lhs: OrganisationAccount, rhs: OrganisationAccount) -> Bool {
return lhs.id == rhs.id
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,4 @@ public struct UserAuthDevice: Codable {
public var updatedAt: Date
/// Date User auth device has been deleted
public var deletedAt: Date

private enum CodingKeys: String, CodingKey {
case id
case name
case lastConnexion = "last_connexion"
case userAgent = "user_agent"
case userIp = "user_ip"
case device
case createdAt = "created_at"
case updatedAt = "updated_at"
case deletedAt = "deleted_at"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,4 @@ public struct UserSecurity: Codable {
/// Double auth method
public var doubleAuthMethod: String
public var authDevices: [UserAuthDevice]?

private enum CodingKeys: String, CodingKey {
case otp
case sms
case smsPhone = "sms_phone"
case yubikey
case infomaniakApplication = "infomaniak_application"
case doubleAuth = "double_auth"
case remainingRescueCode = "remaining_rescue_code"
case lastLoginAt = "last_login_at"
case dateLastChangedPassword = "date_last_changed_password"
case doubleAuthMethod = "double_auth_method"
case authDevices = "auth_devices"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,4 @@ public struct UserConnection: Codable {
public var unsuccessfulRateLimit: Int
public var unsuccessfulNotification: Bool
public var successfulNotification: Bool

private enum CodingKeys: String, CodingKey {
case unsuccessfulLimit = "unsuccessful_limit"
case unsuccessfulRateLimit = "unsuccessful_rate_limit"
case unsuccessfulNotification = "unsuccessful_notification"
case successfulNotification = "successful_notification"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,4 @@ public struct UserCountry: Codable {
public var name: String
public var shortName: String
public var isEnabled: Bool

private enum CodingKeys: String, CodingKey {
case id
case name
case shortName = "short_name"
case isEnabled = "is_enabled"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,4 @@ public struct UserLanguage: Codable {
public var shortName: String
public var locale: String
public var shortLocale: String

private enum CodingKeys: String, CodingKey {
case id
case name
case shortName = "short_name"
case locale
case shortLocale = "short_locale"
}
}
9 changes: 0 additions & 9 deletions Sources/InfomaniakCore/Account/User/UserEmail.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,4 @@ public struct UserEmail: Codable {
public var reminder: Bool
public var checked: Bool
public var type: String

private enum CodingKeys: String, CodingKey {
case id
case email
case createdAt = "created_at"
case reminder
case checked
case type
}
}
9 changes: 0 additions & 9 deletions Sources/InfomaniakCore/Account/User/UserPhone.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,4 @@ public struct UserPhone: Codable {
public var reminder: Bool
public var checked: Bool
public var type: String

private enum CodingKeys: String, CodingKey {
case id
case phone
case createdAt = "created_at"
case reminder
case checked
case type
}
}
30 changes: 8 additions & 22 deletions Sources/InfomaniakCore/Account/User/UserProfile.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,35 +30,21 @@ public class UserProfile: Codable, InfomaniakUser {
public var phones: [UserPhone]
public var emails: [UserEmail]

private enum CodingKeys: String, CodingKey {
case id
case displayName = "display_name"
case firstName = "first_name"
case lastName = "last_name"
case email
case avatar
case login
case sessions
case preferences
case phones
case emails
}

private enum OldCodingKeys: String, CodingKey {
case id
case userId = "user_id"
case userId
case login
case email
case firstname
case lastname
case displayName = "display_name"
case displayName
case sms
case smsPhone = "sms_phone"
case doubleAuth = "double_auth"
case securityCheck = "security_check"
case emailValidate = "email_validate"
case emailReminderValidate = "email_reminder_validate"
case phoneReminderValidate = "phone_reminder_validate"
case smsPhone
case doubleAuth
case securityCheck
case emailValidate
case emailReminderValidate
case phoneReminderValidate
case avatar
case phones
case emails
Expand Down
9 changes: 0 additions & 9 deletions Sources/InfomaniakCore/Account/User/UserSession.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,4 @@ public struct UserSession: Codable {
public var location: String
public var ip: String
public var userAgent: String

private enum CodingKeys: String, CodingKey {
case browser
case lastAccessedAt = "last_accessed_at"
case device
case location
case ip
case userAgent = "user_agent"
}
}
1 change: 1 addition & 0 deletions Sources/InfomaniakCore/Networking/ApiFetcher.swift
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ open class ApiFetcher {
public static var decoder: JSONDecoder = {
let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .secondsSince1970
decoder.keyDecodingStrategy = .convertFromSnakeCase
return decoder
}()

Expand Down

0 comments on commit cb9bf50

Please sign in to comment.