//
// UserItem.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//

import Foundation



public struct UserItem: Codable {

    /** Unique identifier for the user */
    public var _id: Int64
    /** Username [Since v4.13.0] */
    public var userName: String?
    /** User first name */
    public var firstName: String
    /** User last name */
    public var lastName: String
    /** Determines if  user is locked */
    public var isLocked: Bool
    /** User has manageable rooms */
    public var hasManageableRooms: Bool
    /** Avatar UUID [Since v4.11.0] */
    public var avatarUuid: String?
    /** List of user roles */
    public var userRoles: RoleList
    /** Creation date */
    public var createdAt: Date?
    /** Last successful logon date */
    public var lastLoginSuccessAt: Date?
    /** Expiration date */
    public var expireAt: Date?
    /** User has generated private key. Possible if client-side encryption is active for this customer */
    public var isEncryptionEnabled: Bool?
    /** User attributes */
    public var userAttributes: UserAttributes?
    /** Email */
    public var email: String?
    /** Phone number */
    public var phone: String?
    /** The id of the users Home Room **/
    public var homeRoomId: Int64?
    
    /** [Deprecated since v4.18.0]
     Job title */
    public var title: String?
    /** [Deprecated since 4.13.0]
     User login name */
    public var login: String
    /** [Deprecated since v4.12.0]
     Gender */
    public var gender: Gender?
    
    public enum Gender: String, Codable {
        case m = "m"
        case f = "f"
        case n = "n"
    }

    public enum CodingKeys: String, CodingKey { 
        case _id = "id"
        case userName
        case login
        case firstName
        case lastName
        case isLocked
        case hasManageableRooms
        case avatarUuid
        case userRoles
        case title
        case gender
        case createdAt
        case lastLoginSuccessAt
        case expireAt
        case isEncryptionEnabled
        case userAttributes
        case email
        case phone
        case homeRoomId
    }


}

