mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The projection these were generated from predated the compute migration, so they described /v1/visor — which the API serves at zero paths now. No /v1/visor path survives here.
776 lines
38 KiB
Swift
776 lines
38 KiB
Swift
//
|
|
// IamUser.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct IamUser: Sendable, Codable, ParameterConvertible, Hashable {
|
|
|
|
/** API credentials. AccessSecret / AccessSecretHash / the OAuth tokens are bearer material, so Mask blanks them and the handler's redact() strips them before responding. They carry real json tags because a field orm never saves is a field that silently vanishes. A presented secret is resolved through Key.AccessSecretDigest and nowhere else, so no credential is ISSUED into these columns: they hold what older rows left behind, and every writer that touches them clears them. */
|
|
public var accessKey: String?
|
|
public var accessSecret: String?
|
|
public var accessSecretHash: String?
|
|
public var accessToken: String?
|
|
public var address: [String]?
|
|
public var addresses: [IamAddress]?
|
|
public var adfs: String?
|
|
public var affiliation: String?
|
|
public var alipay: String?
|
|
public var amazon: String?
|
|
public var apple: String?
|
|
public var applicationScopes: [IamConsentRecord]?
|
|
public var auth0: String?
|
|
public var avatar: String?
|
|
public var avatarType: String?
|
|
public var azuread: String?
|
|
public var azureadb2c: String?
|
|
public var baidu: String?
|
|
/** Balance mirrors v1 for lossless migration but is authoritative in Commerce (billing.hanzo.ai), not here — do not write it from IAM. */
|
|
public var balance: Double?
|
|
public var balanceCredit: Double?
|
|
public var balanceCurrency: String?
|
|
public var battlenet: String?
|
|
public var bilibili: String?
|
|
public var bio: String?
|
|
public var birthday: String?
|
|
public var bitbucket: String?
|
|
public var box: String?
|
|
public var cart: [IamCartItem]?
|
|
public var cloudfoundry: String?
|
|
public var countryCode: String?
|
|
public var createdAt: Date?
|
|
/** Sign-in provenance. */
|
|
public var createdIp: String?
|
|
public var createdTime: String?
|
|
public var currency: String?
|
|
public var custom: String?
|
|
public var custom10: String?
|
|
public var custom2: String?
|
|
public var custom3: String?
|
|
public var custom4: String?
|
|
public var custom5: String?
|
|
public var custom6: String?
|
|
public var custom7: String?
|
|
public var custom8: String?
|
|
public var custom9: String?
|
|
public var dailymotion: String?
|
|
public var deezer: String?
|
|
public var deleted: Bool?
|
|
public var deletedTime: String?
|
|
public var digitalocean: String?
|
|
public var dingtalk: String?
|
|
public var discord: String?
|
|
/** Profile. */
|
|
public var displayName: String?
|
|
public var douyin: String?
|
|
public var dropbox: String?
|
|
public var education: String?
|
|
public var email: String?
|
|
public var emailVerified: Bool?
|
|
public var eveonline: String?
|
|
public var externalId: String?
|
|
public var faceIds: [IamFaceId]?
|
|
public var facebook: String?
|
|
public var firstName: String?
|
|
public var fitbit: String?
|
|
public var gender: String?
|
|
public var gitea: String?
|
|
public var gitee: String?
|
|
/** Linked federated-identity subjects, one column per connector (v1 parity). */
|
|
public var github: String?
|
|
public var gitlab: String?
|
|
public var google: String?
|
|
public var hash: String?
|
|
public var heroku: String?
|
|
public var homepage: String?
|
|
public var iam: String?
|
|
/** Id is the user's STABLE OPAQUE identifier — the value the OIDC `sub` claim carries. It is the v1 the legacy surface per-row UUID (e.g. \"e7d7fda0-4c53-4508-9d35-7ec892b7e5d7\"), migrated verbatim so a user's `sub` is byte-identical across the cutover: every live session, external reference, and the downstream money-path principal keyed on `sub` survive unchanged. A user minted natively in v2 is assigned a fresh UUID here on create, so the `sub` is ALWAYS a stable opaque id going forward — never the (Owner, Name) pair, which is mutable (a rename would otherwise silently reissue identity). It is distinct from the embedded orm.Model STORAGE KEY — the value the datastore locks and looks a row up by — which is NOT (Owner, Name) for every row: a MIGRATED legacy row is stamped \"owner/name\" (SetId in the migrator), but a v2-native users.Create'd row is NOT — Create allocates rather than pinning a key, so its storage key is a store-assigned surrogate id (a decimal string like \"17847909129933610000001\"). (Owner, Name) is therefore the natural/QUERY key (unique, indexed), not necessarily the storage key: resolve a row for a locked write by its REAL key (store.GetUserByName(...).Key().Encode(), which stamps both shapes — see internal/oidc updateUser), never by assuming \"owner/name\". This Id is a first-class, indexed DOMAIN field; its json tag \"id\" dominates the promoted orm.Model `Id_` (also \"id\") by shallower depth, so the persisted record's \"id\" is this UUID — exactly the v1 shape. A row that carries no Id (a not-yet-assigned pre-cutover user) falls back to the (Owner, Name) subject at mint; every other path resolves `sub`→user by Id. */
|
|
public var id: String?
|
|
public var idCard: String?
|
|
public var idCardType: String?
|
|
public var influxcloud: String?
|
|
public var infoflow: String?
|
|
public var instagram: String?
|
|
public var intercom: String?
|
|
public var invitation: String?
|
|
public var invitationCode: String?
|
|
public var ipWhitelist: String?
|
|
public var isAdmin: Bool?
|
|
/** State flags. */
|
|
public var isDefaultAvatar: Bool?
|
|
public var isDeleted: Bool?
|
|
public var isForbidden: Bool?
|
|
public var isOnline: Bool?
|
|
public var isVerified: Bool?
|
|
public var kakao: String?
|
|
public var karma: Int64?
|
|
public var kwai: String?
|
|
public var language: String?
|
|
public var lark: String?
|
|
public var lastChangePasswordTime: String?
|
|
public var lastName: String?
|
|
public var lastSigninIp: String?
|
|
public var lastSigninTime: String?
|
|
public var lastSigninWrongTime: String?
|
|
public var lastfm: String?
|
|
public var ldap: String?
|
|
public var line: String?
|
|
public var linkedin: String?
|
|
public var location: String?
|
|
public var mailru: String?
|
|
public var managedAccounts: [IamManagedAccount]?
|
|
public var meetup: String?
|
|
public var mfaAccounts: [IamMfaAccount]?
|
|
public var mfaEmailEnabled: Bool?
|
|
public var mfaItems: [IamMfaItem]?
|
|
public var mfaPhoneEnabled: Bool?
|
|
public var mfaPushEnabled: Bool?
|
|
public var mfaPushProvider: String?
|
|
public var mfaPushReceiver: String?
|
|
public var mfaRadiusEnabled: Bool?
|
|
public var mfaRadiusProvider: String?
|
|
public var mfaRadiusUsername: String?
|
|
public var mfaRememberDeadline: String?
|
|
/** MfaRememberDigest is the digest of the token held by the ONE browser the deadline above applies to. Without it the deadline is account-wide and \"don't ask again on this browser\" switches the second factor off everywhere. It is a digest, never the token, so a database dump yields nothing presentable — and it carries a REAL json tag because orm persists via json.Marshal, so `json:\"-\"` would never be stored (the trap PasswordHash documents above); Mask() strips it from every response instead. */
|
|
public var mfaRememberDigest: String?
|
|
public var microsoftonline: String?
|
|
public var multiFactorAuths: [IamMfaProps]?
|
|
public var name: String?
|
|
public var naver: String?
|
|
public var needUpdatePassword: Bool?
|
|
public var nextcloud: String?
|
|
public var okta: String?
|
|
public var onedrive: String?
|
|
public var originalRefreshToken: String?
|
|
public var originalToken: String?
|
|
public var oura: String?
|
|
/** Identity / tenancy. (Owner, Name) is the natural key. */
|
|
public var owner: String?
|
|
/** Credential material. PasswordHash is a one-way bcrypt digest and is verify-only. It MUST be persisted (orm serializes the entity to its JSON data column, so a json:\"-\" field would never be stored — that silently broke login), so it carries a real json tag; the users API redact() strips it (and every other secret) from every response. PasswordType and PasswordSalt describe the digest scheme so rows hashed under the legacy argon2id scheme can still be verified and lazily re-hashed to bcrypt. */
|
|
public var passwordHash: String?
|
|
public var passwordSalt: String?
|
|
public var passwordType: String?
|
|
public var patreon: String?
|
|
public var paypal: String?
|
|
public var permanentAvatar: String?
|
|
public var phone: String?
|
|
public var preHash: String?
|
|
public var preferredMfaType: String?
|
|
public var properties: [String: String]?
|
|
public var qq: String?
|
|
public var ranking: Int64?
|
|
public var realName: String?
|
|
public var recoveryCodes: [String]?
|
|
public var region: String?
|
|
public var registerSource: String?
|
|
public var registerType: String?
|
|
public var salesforce: String?
|
|
public var score: Int64?
|
|
public var shopify: String?
|
|
public var signinWrongTimes: Int64?
|
|
public var signupApplication: String?
|
|
public var slack: String?
|
|
public var soundcloud: String?
|
|
public var spotify: String?
|
|
public var steam: String?
|
|
public var strava: String?
|
|
public var stripe: String?
|
|
public var tag: String?
|
|
public var telegram: String?
|
|
public var tiktok: String?
|
|
public var title: String?
|
|
public var totpSecret: String?
|
|
public var tumblr: String?
|
|
public var twitch: String?
|
|
public var twitter: String?
|
|
public var type: String?
|
|
public var typetalk: String?
|
|
public var uber: String?
|
|
public var updatedAt: Date?
|
|
public var updatedTime: String?
|
|
public var verificationCode: String?
|
|
public var vk: String?
|
|
/** Multi-factor authentication. TotpSecret and RecoveryCodes are secret verify-only material — the handler strips them from every response. WebauthnCredentials is carried as raw JSON here for lossless migration; the typed passkey model is the sibling WebauthnCredential entity. */
|
|
public var webauthnCredentials: [JSONValue]?
|
|
public var wechat: String?
|
|
public var wecom: String?
|
|
public var weibo: String?
|
|
public var wepay: String?
|
|
public var xero: String?
|
|
public var yahoo: String?
|
|
public var yammer: String?
|
|
public var yandex: String?
|
|
public var zoom: String?
|
|
|
|
public init(accessKey: String? = nil, accessSecret: String? = nil, accessSecretHash: String? = nil, accessToken: String? = nil, address: [String]? = nil, addresses: [IamAddress]? = nil, adfs: String? = nil, affiliation: String? = nil, alipay: String? = nil, amazon: String? = nil, apple: String? = nil, applicationScopes: [IamConsentRecord]? = nil, auth0: String? = nil, avatar: String? = nil, avatarType: String? = nil, azuread: String? = nil, azureadb2c: String? = nil, baidu: String? = nil, balance: Double? = nil, balanceCredit: Double? = nil, balanceCurrency: String? = nil, battlenet: String? = nil, bilibili: String? = nil, bio: String? = nil, birthday: String? = nil, bitbucket: String? = nil, box: String? = nil, cart: [IamCartItem]? = nil, cloudfoundry: String? = nil, countryCode: String? = nil, createdAt: Date? = nil, createdIp: String? = nil, createdTime: String? = nil, currency: String? = nil, custom: String? = nil, custom10: String? = nil, custom2: String? = nil, custom3: String? = nil, custom4: String? = nil, custom5: String? = nil, custom6: String? = nil, custom7: String? = nil, custom8: String? = nil, custom9: String? = nil, dailymotion: String? = nil, deezer: String? = nil, deleted: Bool? = nil, deletedTime: String? = nil, digitalocean: String? = nil, dingtalk: String? = nil, discord: String? = nil, displayName: String? = nil, douyin: String? = nil, dropbox: String? = nil, education: String? = nil, email: String? = nil, emailVerified: Bool? = nil, eveonline: String? = nil, externalId: String? = nil, faceIds: [IamFaceId]? = nil, facebook: String? = nil, firstName: String? = nil, fitbit: String? = nil, gender: String? = nil, gitea: String? = nil, gitee: String? = nil, github: String? = nil, gitlab: String? = nil, google: String? = nil, hash: String? = nil, heroku: String? = nil, homepage: String? = nil, iam: String? = nil, id: String? = nil, idCard: String? = nil, idCardType: String? = nil, influxcloud: String? = nil, infoflow: String? = nil, instagram: String? = nil, intercom: String? = nil, invitation: String? = nil, invitationCode: String? = nil, ipWhitelist: String? = nil, isAdmin: Bool? = nil, isDefaultAvatar: Bool? = nil, isDeleted: Bool? = nil, isForbidden: Bool? = nil, isOnline: Bool? = nil, isVerified: Bool? = nil, kakao: String? = nil, karma: Int64? = nil, kwai: String? = nil, language: String? = nil, lark: String? = nil, lastChangePasswordTime: String? = nil, lastName: String? = nil, lastSigninIp: String? = nil, lastSigninTime: String? = nil, lastSigninWrongTime: String? = nil, lastfm: String? = nil, ldap: String? = nil, line: String? = nil, linkedin: String? = nil, location: String? = nil, mailru: String? = nil, managedAccounts: [IamManagedAccount]? = nil, meetup: String? = nil, mfaAccounts: [IamMfaAccount]? = nil, mfaEmailEnabled: Bool? = nil, mfaItems: [IamMfaItem]? = nil, mfaPhoneEnabled: Bool? = nil, mfaPushEnabled: Bool? = nil, mfaPushProvider: String? = nil, mfaPushReceiver: String? = nil, mfaRadiusEnabled: Bool? = nil, mfaRadiusProvider: String? = nil, mfaRadiusUsername: String? = nil, mfaRememberDeadline: String? = nil, mfaRememberDigest: String? = nil, microsoftonline: String? = nil, multiFactorAuths: [IamMfaProps]? = nil, name: String? = nil, naver: String? = nil, needUpdatePassword: Bool? = nil, nextcloud: String? = nil, okta: String? = nil, onedrive: String? = nil, originalRefreshToken: String? = nil, originalToken: String? = nil, oura: String? = nil, owner: String? = nil, passwordHash: String? = nil, passwordSalt: String? = nil, passwordType: String? = nil, patreon: String? = nil, paypal: String? = nil, permanentAvatar: String? = nil, phone: String? = nil, preHash: String? = nil, preferredMfaType: String? = nil, properties: [String: String]? = nil, qq: String? = nil, ranking: Int64? = nil, realName: String? = nil, recoveryCodes: [String]? = nil, region: String? = nil, registerSource: String? = nil, registerType: String? = nil, salesforce: String? = nil, score: Int64? = nil, shopify: String? = nil, signinWrongTimes: Int64? = nil, signupApplication: String? = nil, slack: String? = nil, soundcloud: String? = nil, spotify: String? = nil, steam: String? = nil, strava: String? = nil, stripe: String? = nil, tag: String? = nil, telegram: String? = nil, tiktok: String? = nil, title: String? = nil, totpSecret: String? = nil, tumblr: String? = nil, twitch: String? = nil, twitter: String? = nil, type: String? = nil, typetalk: String? = nil, uber: String? = nil, updatedAt: Date? = nil, updatedTime: String? = nil, verificationCode: String? = nil, vk: String? = nil, webauthnCredentials: [JSONValue]? = nil, wechat: String? = nil, wecom: String? = nil, weibo: String? = nil, wepay: String? = nil, xero: String? = nil, yahoo: String? = nil, yammer: String? = nil, yandex: String? = nil, zoom: String? = nil) {
|
|
self.accessKey = accessKey
|
|
self.accessSecret = accessSecret
|
|
self.accessSecretHash = accessSecretHash
|
|
self.accessToken = accessToken
|
|
self.address = address
|
|
self.addresses = addresses
|
|
self.adfs = adfs
|
|
self.affiliation = affiliation
|
|
self.alipay = alipay
|
|
self.amazon = amazon
|
|
self.apple = apple
|
|
self.applicationScopes = applicationScopes
|
|
self.auth0 = auth0
|
|
self.avatar = avatar
|
|
self.avatarType = avatarType
|
|
self.azuread = azuread
|
|
self.azureadb2c = azureadb2c
|
|
self.baidu = baidu
|
|
self.balance = balance
|
|
self.balanceCredit = balanceCredit
|
|
self.balanceCurrency = balanceCurrency
|
|
self.battlenet = battlenet
|
|
self.bilibili = bilibili
|
|
self.bio = bio
|
|
self.birthday = birthday
|
|
self.bitbucket = bitbucket
|
|
self.box = box
|
|
self.cart = cart
|
|
self.cloudfoundry = cloudfoundry
|
|
self.countryCode = countryCode
|
|
self.createdAt = createdAt
|
|
self.createdIp = createdIp
|
|
self.createdTime = createdTime
|
|
self.currency = currency
|
|
self.custom = custom
|
|
self.custom10 = custom10
|
|
self.custom2 = custom2
|
|
self.custom3 = custom3
|
|
self.custom4 = custom4
|
|
self.custom5 = custom5
|
|
self.custom6 = custom6
|
|
self.custom7 = custom7
|
|
self.custom8 = custom8
|
|
self.custom9 = custom9
|
|
self.dailymotion = dailymotion
|
|
self.deezer = deezer
|
|
self.deleted = deleted
|
|
self.deletedTime = deletedTime
|
|
self.digitalocean = digitalocean
|
|
self.dingtalk = dingtalk
|
|
self.discord = discord
|
|
self.displayName = displayName
|
|
self.douyin = douyin
|
|
self.dropbox = dropbox
|
|
self.education = education
|
|
self.email = email
|
|
self.emailVerified = emailVerified
|
|
self.eveonline = eveonline
|
|
self.externalId = externalId
|
|
self.faceIds = faceIds
|
|
self.facebook = facebook
|
|
self.firstName = firstName
|
|
self.fitbit = fitbit
|
|
self.gender = gender
|
|
self.gitea = gitea
|
|
self.gitee = gitee
|
|
self.github = github
|
|
self.gitlab = gitlab
|
|
self.google = google
|
|
self.hash = hash
|
|
self.heroku = heroku
|
|
self.homepage = homepage
|
|
self.iam = iam
|
|
self.id = id
|
|
self.idCard = idCard
|
|
self.idCardType = idCardType
|
|
self.influxcloud = influxcloud
|
|
self.infoflow = infoflow
|
|
self.instagram = instagram
|
|
self.intercom = intercom
|
|
self.invitation = invitation
|
|
self.invitationCode = invitationCode
|
|
self.ipWhitelist = ipWhitelist
|
|
self.isAdmin = isAdmin
|
|
self.isDefaultAvatar = isDefaultAvatar
|
|
self.isDeleted = isDeleted
|
|
self.isForbidden = isForbidden
|
|
self.isOnline = isOnline
|
|
self.isVerified = isVerified
|
|
self.kakao = kakao
|
|
self.karma = karma
|
|
self.kwai = kwai
|
|
self.language = language
|
|
self.lark = lark
|
|
self.lastChangePasswordTime = lastChangePasswordTime
|
|
self.lastName = lastName
|
|
self.lastSigninIp = lastSigninIp
|
|
self.lastSigninTime = lastSigninTime
|
|
self.lastSigninWrongTime = lastSigninWrongTime
|
|
self.lastfm = lastfm
|
|
self.ldap = ldap
|
|
self.line = line
|
|
self.linkedin = linkedin
|
|
self.location = location
|
|
self.mailru = mailru
|
|
self.managedAccounts = managedAccounts
|
|
self.meetup = meetup
|
|
self.mfaAccounts = mfaAccounts
|
|
self.mfaEmailEnabled = mfaEmailEnabled
|
|
self.mfaItems = mfaItems
|
|
self.mfaPhoneEnabled = mfaPhoneEnabled
|
|
self.mfaPushEnabled = mfaPushEnabled
|
|
self.mfaPushProvider = mfaPushProvider
|
|
self.mfaPushReceiver = mfaPushReceiver
|
|
self.mfaRadiusEnabled = mfaRadiusEnabled
|
|
self.mfaRadiusProvider = mfaRadiusProvider
|
|
self.mfaRadiusUsername = mfaRadiusUsername
|
|
self.mfaRememberDeadline = mfaRememberDeadline
|
|
self.mfaRememberDigest = mfaRememberDigest
|
|
self.microsoftonline = microsoftonline
|
|
self.multiFactorAuths = multiFactorAuths
|
|
self.name = name
|
|
self.naver = naver
|
|
self.needUpdatePassword = needUpdatePassword
|
|
self.nextcloud = nextcloud
|
|
self.okta = okta
|
|
self.onedrive = onedrive
|
|
self.originalRefreshToken = originalRefreshToken
|
|
self.originalToken = originalToken
|
|
self.oura = oura
|
|
self.owner = owner
|
|
self.passwordHash = passwordHash
|
|
self.passwordSalt = passwordSalt
|
|
self.passwordType = passwordType
|
|
self.patreon = patreon
|
|
self.paypal = paypal
|
|
self.permanentAvatar = permanentAvatar
|
|
self.phone = phone
|
|
self.preHash = preHash
|
|
self.preferredMfaType = preferredMfaType
|
|
self.properties = properties
|
|
self.qq = qq
|
|
self.ranking = ranking
|
|
self.realName = realName
|
|
self.recoveryCodes = recoveryCodes
|
|
self.region = region
|
|
self.registerSource = registerSource
|
|
self.registerType = registerType
|
|
self.salesforce = salesforce
|
|
self.score = score
|
|
self.shopify = shopify
|
|
self.signinWrongTimes = signinWrongTimes
|
|
self.signupApplication = signupApplication
|
|
self.slack = slack
|
|
self.soundcloud = soundcloud
|
|
self.spotify = spotify
|
|
self.steam = steam
|
|
self.strava = strava
|
|
self.stripe = stripe
|
|
self.tag = tag
|
|
self.telegram = telegram
|
|
self.tiktok = tiktok
|
|
self.title = title
|
|
self.totpSecret = totpSecret
|
|
self.tumblr = tumblr
|
|
self.twitch = twitch
|
|
self.twitter = twitter
|
|
self.type = type
|
|
self.typetalk = typetalk
|
|
self.uber = uber
|
|
self.updatedAt = updatedAt
|
|
self.updatedTime = updatedTime
|
|
self.verificationCode = verificationCode
|
|
self.vk = vk
|
|
self.webauthnCredentials = webauthnCredentials
|
|
self.wechat = wechat
|
|
self.wecom = wecom
|
|
self.weibo = weibo
|
|
self.wepay = wepay
|
|
self.xero = xero
|
|
self.yahoo = yahoo
|
|
self.yammer = yammer
|
|
self.yandex = yandex
|
|
self.zoom = zoom
|
|
}
|
|
|
|
public enum CodingKeys: String, CodingKey, CaseIterable {
|
|
case accessKey
|
|
case accessSecret
|
|
case accessSecretHash
|
|
case accessToken
|
|
case address
|
|
case addresses
|
|
case adfs
|
|
case affiliation
|
|
case alipay
|
|
case amazon
|
|
case apple
|
|
case applicationScopes
|
|
case auth0
|
|
case avatar
|
|
case avatarType
|
|
case azuread
|
|
case azureadb2c
|
|
case baidu
|
|
case balance
|
|
case balanceCredit
|
|
case balanceCurrency
|
|
case battlenet
|
|
case bilibili
|
|
case bio
|
|
case birthday
|
|
case bitbucket
|
|
case box
|
|
case cart
|
|
case cloudfoundry
|
|
case countryCode
|
|
case createdAt
|
|
case createdIp
|
|
case createdTime
|
|
case currency
|
|
case custom
|
|
case custom10
|
|
case custom2
|
|
case custom3
|
|
case custom4
|
|
case custom5
|
|
case custom6
|
|
case custom7
|
|
case custom8
|
|
case custom9
|
|
case dailymotion
|
|
case deezer
|
|
case deleted
|
|
case deletedTime
|
|
case digitalocean
|
|
case dingtalk
|
|
case discord
|
|
case displayName
|
|
case douyin
|
|
case dropbox
|
|
case education
|
|
case email
|
|
case emailVerified
|
|
case eveonline
|
|
case externalId
|
|
case faceIds
|
|
case facebook
|
|
case firstName
|
|
case fitbit
|
|
case gender
|
|
case gitea
|
|
case gitee
|
|
case github
|
|
case gitlab
|
|
case google
|
|
case hash
|
|
case heroku
|
|
case homepage
|
|
case iam
|
|
case id
|
|
case idCard
|
|
case idCardType
|
|
case influxcloud
|
|
case infoflow
|
|
case instagram
|
|
case intercom
|
|
case invitation
|
|
case invitationCode
|
|
case ipWhitelist
|
|
case isAdmin
|
|
case isDefaultAvatar
|
|
case isDeleted
|
|
case isForbidden
|
|
case isOnline
|
|
case isVerified
|
|
case kakao
|
|
case karma
|
|
case kwai
|
|
case language
|
|
case lark
|
|
case lastChangePasswordTime
|
|
case lastName
|
|
case lastSigninIp
|
|
case lastSigninTime
|
|
case lastSigninWrongTime
|
|
case lastfm
|
|
case ldap
|
|
case line
|
|
case linkedin
|
|
case location
|
|
case mailru
|
|
case managedAccounts
|
|
case meetup
|
|
case mfaAccounts
|
|
case mfaEmailEnabled
|
|
case mfaItems
|
|
case mfaPhoneEnabled
|
|
case mfaPushEnabled
|
|
case mfaPushProvider
|
|
case mfaPushReceiver
|
|
case mfaRadiusEnabled
|
|
case mfaRadiusProvider
|
|
case mfaRadiusUsername
|
|
case mfaRememberDeadline
|
|
case mfaRememberDigest
|
|
case microsoftonline
|
|
case multiFactorAuths
|
|
case name
|
|
case naver
|
|
case needUpdatePassword
|
|
case nextcloud
|
|
case okta
|
|
case onedrive
|
|
case originalRefreshToken
|
|
case originalToken
|
|
case oura
|
|
case owner
|
|
case passwordHash
|
|
case passwordSalt
|
|
case passwordType
|
|
case patreon
|
|
case paypal
|
|
case permanentAvatar
|
|
case phone
|
|
case preHash
|
|
case preferredMfaType
|
|
case properties
|
|
case qq
|
|
case ranking
|
|
case realName
|
|
case recoveryCodes
|
|
case region
|
|
case registerSource
|
|
case registerType
|
|
case salesforce
|
|
case score
|
|
case shopify
|
|
case signinWrongTimes
|
|
case signupApplication
|
|
case slack
|
|
case soundcloud
|
|
case spotify
|
|
case steam
|
|
case strava
|
|
case stripe
|
|
case tag
|
|
case telegram
|
|
case tiktok
|
|
case title
|
|
case totpSecret
|
|
case tumblr
|
|
case twitch
|
|
case twitter
|
|
case type
|
|
case typetalk
|
|
case uber
|
|
case updatedAt
|
|
case updatedTime
|
|
case verificationCode
|
|
case vk
|
|
case webauthnCredentials
|
|
case wechat
|
|
case wecom
|
|
case weibo
|
|
case wepay
|
|
case xero
|
|
case yahoo
|
|
case yammer
|
|
case yandex
|
|
case zoom
|
|
}
|
|
|
|
// Encodable protocol methods
|
|
|
|
public func encode(to encoder: Encoder) throws {
|
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
try container.encodeIfPresent(accessKey, forKey: .accessKey)
|
|
try container.encodeIfPresent(accessSecret, forKey: .accessSecret)
|
|
try container.encodeIfPresent(accessSecretHash, forKey: .accessSecretHash)
|
|
try container.encodeIfPresent(accessToken, forKey: .accessToken)
|
|
try container.encodeIfPresent(address, forKey: .address)
|
|
try container.encodeIfPresent(addresses, forKey: .addresses)
|
|
try container.encodeIfPresent(adfs, forKey: .adfs)
|
|
try container.encodeIfPresent(affiliation, forKey: .affiliation)
|
|
try container.encodeIfPresent(alipay, forKey: .alipay)
|
|
try container.encodeIfPresent(amazon, forKey: .amazon)
|
|
try container.encodeIfPresent(apple, forKey: .apple)
|
|
try container.encodeIfPresent(applicationScopes, forKey: .applicationScopes)
|
|
try container.encodeIfPresent(auth0, forKey: .auth0)
|
|
try container.encodeIfPresent(avatar, forKey: .avatar)
|
|
try container.encodeIfPresent(avatarType, forKey: .avatarType)
|
|
try container.encodeIfPresent(azuread, forKey: .azuread)
|
|
try container.encodeIfPresent(azureadb2c, forKey: .azureadb2c)
|
|
try container.encodeIfPresent(baidu, forKey: .baidu)
|
|
try container.encodeIfPresent(balance, forKey: .balance)
|
|
try container.encodeIfPresent(balanceCredit, forKey: .balanceCredit)
|
|
try container.encodeIfPresent(balanceCurrency, forKey: .balanceCurrency)
|
|
try container.encodeIfPresent(battlenet, forKey: .battlenet)
|
|
try container.encodeIfPresent(bilibili, forKey: .bilibili)
|
|
try container.encodeIfPresent(bio, forKey: .bio)
|
|
try container.encodeIfPresent(birthday, forKey: .birthday)
|
|
try container.encodeIfPresent(bitbucket, forKey: .bitbucket)
|
|
try container.encodeIfPresent(box, forKey: .box)
|
|
try container.encodeIfPresent(cart, forKey: .cart)
|
|
try container.encodeIfPresent(cloudfoundry, forKey: .cloudfoundry)
|
|
try container.encodeIfPresent(countryCode, forKey: .countryCode)
|
|
try container.encodeIfPresent(createdAt, forKey: .createdAt)
|
|
try container.encodeIfPresent(createdIp, forKey: .createdIp)
|
|
try container.encodeIfPresent(createdTime, forKey: .createdTime)
|
|
try container.encodeIfPresent(currency, forKey: .currency)
|
|
try container.encodeIfPresent(custom, forKey: .custom)
|
|
try container.encodeIfPresent(custom10, forKey: .custom10)
|
|
try container.encodeIfPresent(custom2, forKey: .custom2)
|
|
try container.encodeIfPresent(custom3, forKey: .custom3)
|
|
try container.encodeIfPresent(custom4, forKey: .custom4)
|
|
try container.encodeIfPresent(custom5, forKey: .custom5)
|
|
try container.encodeIfPresent(custom6, forKey: .custom6)
|
|
try container.encodeIfPresent(custom7, forKey: .custom7)
|
|
try container.encodeIfPresent(custom8, forKey: .custom8)
|
|
try container.encodeIfPresent(custom9, forKey: .custom9)
|
|
try container.encodeIfPresent(dailymotion, forKey: .dailymotion)
|
|
try container.encodeIfPresent(deezer, forKey: .deezer)
|
|
try container.encodeIfPresent(deleted, forKey: .deleted)
|
|
try container.encodeIfPresent(deletedTime, forKey: .deletedTime)
|
|
try container.encodeIfPresent(digitalocean, forKey: .digitalocean)
|
|
try container.encodeIfPresent(dingtalk, forKey: .dingtalk)
|
|
try container.encodeIfPresent(discord, forKey: .discord)
|
|
try container.encodeIfPresent(displayName, forKey: .displayName)
|
|
try container.encodeIfPresent(douyin, forKey: .douyin)
|
|
try container.encodeIfPresent(dropbox, forKey: .dropbox)
|
|
try container.encodeIfPresent(education, forKey: .education)
|
|
try container.encodeIfPresent(email, forKey: .email)
|
|
try container.encodeIfPresent(emailVerified, forKey: .emailVerified)
|
|
try container.encodeIfPresent(eveonline, forKey: .eveonline)
|
|
try container.encodeIfPresent(externalId, forKey: .externalId)
|
|
try container.encodeIfPresent(faceIds, forKey: .faceIds)
|
|
try container.encodeIfPresent(facebook, forKey: .facebook)
|
|
try container.encodeIfPresent(firstName, forKey: .firstName)
|
|
try container.encodeIfPresent(fitbit, forKey: .fitbit)
|
|
try container.encodeIfPresent(gender, forKey: .gender)
|
|
try container.encodeIfPresent(gitea, forKey: .gitea)
|
|
try container.encodeIfPresent(gitee, forKey: .gitee)
|
|
try container.encodeIfPresent(github, forKey: .github)
|
|
try container.encodeIfPresent(gitlab, forKey: .gitlab)
|
|
try container.encodeIfPresent(google, forKey: .google)
|
|
try container.encodeIfPresent(hash, forKey: .hash)
|
|
try container.encodeIfPresent(heroku, forKey: .heroku)
|
|
try container.encodeIfPresent(homepage, forKey: .homepage)
|
|
try container.encodeIfPresent(iam, forKey: .iam)
|
|
try container.encodeIfPresent(id, forKey: .id)
|
|
try container.encodeIfPresent(idCard, forKey: .idCard)
|
|
try container.encodeIfPresent(idCardType, forKey: .idCardType)
|
|
try container.encodeIfPresent(influxcloud, forKey: .influxcloud)
|
|
try container.encodeIfPresent(infoflow, forKey: .infoflow)
|
|
try container.encodeIfPresent(instagram, forKey: .instagram)
|
|
try container.encodeIfPresent(intercom, forKey: .intercom)
|
|
try container.encodeIfPresent(invitation, forKey: .invitation)
|
|
try container.encodeIfPresent(invitationCode, forKey: .invitationCode)
|
|
try container.encodeIfPresent(ipWhitelist, forKey: .ipWhitelist)
|
|
try container.encodeIfPresent(isAdmin, forKey: .isAdmin)
|
|
try container.encodeIfPresent(isDefaultAvatar, forKey: .isDefaultAvatar)
|
|
try container.encodeIfPresent(isDeleted, forKey: .isDeleted)
|
|
try container.encodeIfPresent(isForbidden, forKey: .isForbidden)
|
|
try container.encodeIfPresent(isOnline, forKey: .isOnline)
|
|
try container.encodeIfPresent(isVerified, forKey: .isVerified)
|
|
try container.encodeIfPresent(kakao, forKey: .kakao)
|
|
try container.encodeIfPresent(karma, forKey: .karma)
|
|
try container.encodeIfPresent(kwai, forKey: .kwai)
|
|
try container.encodeIfPresent(language, forKey: .language)
|
|
try container.encodeIfPresent(lark, forKey: .lark)
|
|
try container.encodeIfPresent(lastChangePasswordTime, forKey: .lastChangePasswordTime)
|
|
try container.encodeIfPresent(lastName, forKey: .lastName)
|
|
try container.encodeIfPresent(lastSigninIp, forKey: .lastSigninIp)
|
|
try container.encodeIfPresent(lastSigninTime, forKey: .lastSigninTime)
|
|
try container.encodeIfPresent(lastSigninWrongTime, forKey: .lastSigninWrongTime)
|
|
try container.encodeIfPresent(lastfm, forKey: .lastfm)
|
|
try container.encodeIfPresent(ldap, forKey: .ldap)
|
|
try container.encodeIfPresent(line, forKey: .line)
|
|
try container.encodeIfPresent(linkedin, forKey: .linkedin)
|
|
try container.encodeIfPresent(location, forKey: .location)
|
|
try container.encodeIfPresent(mailru, forKey: .mailru)
|
|
try container.encodeIfPresent(managedAccounts, forKey: .managedAccounts)
|
|
try container.encodeIfPresent(meetup, forKey: .meetup)
|
|
try container.encodeIfPresent(mfaAccounts, forKey: .mfaAccounts)
|
|
try container.encodeIfPresent(mfaEmailEnabled, forKey: .mfaEmailEnabled)
|
|
try container.encodeIfPresent(mfaItems, forKey: .mfaItems)
|
|
try container.encodeIfPresent(mfaPhoneEnabled, forKey: .mfaPhoneEnabled)
|
|
try container.encodeIfPresent(mfaPushEnabled, forKey: .mfaPushEnabled)
|
|
try container.encodeIfPresent(mfaPushProvider, forKey: .mfaPushProvider)
|
|
try container.encodeIfPresent(mfaPushReceiver, forKey: .mfaPushReceiver)
|
|
try container.encodeIfPresent(mfaRadiusEnabled, forKey: .mfaRadiusEnabled)
|
|
try container.encodeIfPresent(mfaRadiusProvider, forKey: .mfaRadiusProvider)
|
|
try container.encodeIfPresent(mfaRadiusUsername, forKey: .mfaRadiusUsername)
|
|
try container.encodeIfPresent(mfaRememberDeadline, forKey: .mfaRememberDeadline)
|
|
try container.encodeIfPresent(mfaRememberDigest, forKey: .mfaRememberDigest)
|
|
try container.encodeIfPresent(microsoftonline, forKey: .microsoftonline)
|
|
try container.encodeIfPresent(multiFactorAuths, forKey: .multiFactorAuths)
|
|
try container.encodeIfPresent(name, forKey: .name)
|
|
try container.encodeIfPresent(naver, forKey: .naver)
|
|
try container.encodeIfPresent(needUpdatePassword, forKey: .needUpdatePassword)
|
|
try container.encodeIfPresent(nextcloud, forKey: .nextcloud)
|
|
try container.encodeIfPresent(okta, forKey: .okta)
|
|
try container.encodeIfPresent(onedrive, forKey: .onedrive)
|
|
try container.encodeIfPresent(originalRefreshToken, forKey: .originalRefreshToken)
|
|
try container.encodeIfPresent(originalToken, forKey: .originalToken)
|
|
try container.encodeIfPresent(oura, forKey: .oura)
|
|
try container.encodeIfPresent(owner, forKey: .owner)
|
|
try container.encodeIfPresent(passwordHash, forKey: .passwordHash)
|
|
try container.encodeIfPresent(passwordSalt, forKey: .passwordSalt)
|
|
try container.encodeIfPresent(passwordType, forKey: .passwordType)
|
|
try container.encodeIfPresent(patreon, forKey: .patreon)
|
|
try container.encodeIfPresent(paypal, forKey: .paypal)
|
|
try container.encodeIfPresent(permanentAvatar, forKey: .permanentAvatar)
|
|
try container.encodeIfPresent(phone, forKey: .phone)
|
|
try container.encodeIfPresent(preHash, forKey: .preHash)
|
|
try container.encodeIfPresent(preferredMfaType, forKey: .preferredMfaType)
|
|
try container.encodeIfPresent(properties, forKey: .properties)
|
|
try container.encodeIfPresent(qq, forKey: .qq)
|
|
try container.encodeIfPresent(ranking, forKey: .ranking)
|
|
try container.encodeIfPresent(realName, forKey: .realName)
|
|
try container.encodeIfPresent(recoveryCodes, forKey: .recoveryCodes)
|
|
try container.encodeIfPresent(region, forKey: .region)
|
|
try container.encodeIfPresent(registerSource, forKey: .registerSource)
|
|
try container.encodeIfPresent(registerType, forKey: .registerType)
|
|
try container.encodeIfPresent(salesforce, forKey: .salesforce)
|
|
try container.encodeIfPresent(score, forKey: .score)
|
|
try container.encodeIfPresent(shopify, forKey: .shopify)
|
|
try container.encodeIfPresent(signinWrongTimes, forKey: .signinWrongTimes)
|
|
try container.encodeIfPresent(signupApplication, forKey: .signupApplication)
|
|
try container.encodeIfPresent(slack, forKey: .slack)
|
|
try container.encodeIfPresent(soundcloud, forKey: .soundcloud)
|
|
try container.encodeIfPresent(spotify, forKey: .spotify)
|
|
try container.encodeIfPresent(steam, forKey: .steam)
|
|
try container.encodeIfPresent(strava, forKey: .strava)
|
|
try container.encodeIfPresent(stripe, forKey: .stripe)
|
|
try container.encodeIfPresent(tag, forKey: .tag)
|
|
try container.encodeIfPresent(telegram, forKey: .telegram)
|
|
try container.encodeIfPresent(tiktok, forKey: .tiktok)
|
|
try container.encodeIfPresent(title, forKey: .title)
|
|
try container.encodeIfPresent(totpSecret, forKey: .totpSecret)
|
|
try container.encodeIfPresent(tumblr, forKey: .tumblr)
|
|
try container.encodeIfPresent(twitch, forKey: .twitch)
|
|
try container.encodeIfPresent(twitter, forKey: .twitter)
|
|
try container.encodeIfPresent(type, forKey: .type)
|
|
try container.encodeIfPresent(typetalk, forKey: .typetalk)
|
|
try container.encodeIfPresent(uber, forKey: .uber)
|
|
try container.encodeIfPresent(updatedAt, forKey: .updatedAt)
|
|
try container.encodeIfPresent(updatedTime, forKey: .updatedTime)
|
|
try container.encodeIfPresent(verificationCode, forKey: .verificationCode)
|
|
try container.encodeIfPresent(vk, forKey: .vk)
|
|
try container.encodeIfPresent(webauthnCredentials, forKey: .webauthnCredentials)
|
|
try container.encodeIfPresent(wechat, forKey: .wechat)
|
|
try container.encodeIfPresent(wecom, forKey: .wecom)
|
|
try container.encodeIfPresent(weibo, forKey: .weibo)
|
|
try container.encodeIfPresent(wepay, forKey: .wepay)
|
|
try container.encodeIfPresent(xero, forKey: .xero)
|
|
try container.encodeIfPresent(yahoo, forKey: .yahoo)
|
|
try container.encodeIfPresent(yammer, forKey: .yammer)
|
|
try container.encodeIfPresent(yandex, forKey: .yandex)
|
|
try container.encodeIfPresent(zoom, forKey: .zoom)
|
|
}
|
|
}
|
|
|
|
|
|
@available(iOS 13, tvOS 13, watchOS 6, macOS 10.15, *)
|
|
extension IamUser: Identifiable {}
|