/** * iCure Data Stack API Documentation * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2. * * OpenAPI spec version: v1 * * * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen.git * Do not edit the class manually. */ import { AuthenticationToken } from './AuthenticationToken'; import { Permission } from './Permission'; import { PropertyStub } from './PropertyStub'; import { Identifier } from './Identifier'; /** * This entity is a root level object. It represents an user that can log in to the iCure platform. It is serialized in JSON and saved in the underlying icure-base CouchDB database. */ export declare class User { constructor(json: JSON | any); /** * the Id of the user. We encourage using either a v4 UUID or a HL7 Id. */ id?: string; /** * the revision of the user in the database, used for conflict management / optimistic locking. */ rev?: string; identifier?: Array; /** * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called. */ deletionDate?: number; created?: number; /** * Last name of the user. This is the official last name that should be used for official administrative purposes. */ name?: string; /** * Extra properties for the user. Those properties are typed (see class Property) */ properties?: Array; /** * If permission to modify patient data is granted or revoked */ permissions?: Array; /** * Roles specified for the user */ roles?: Array; /** * Authorization source for user. 'Database', 'ldap' or 'token' */ type?: User.TypeEnum; /** * State of user's activeness: 'Active', 'Disabled' or 'Registering' */ status?: User.StatusEnum; /** * Username for this user. We encourage using an email address */ login?: string; /** * Hashed version of the password (BCrypt is used for hashing) */ passwordHash?: string; /** * Secret token used to verify 2fa */ secret?: string; /** * Whether the user has activated two factors authentication */ use2fa?: boolean; /** * id of the group (practice/hospital) the user is member of */ groupId?: string; /** * Id of the healthcare party if the user is a healthcare party. */ healthcarePartyId?: string; /** * Id of the patient if the user is a patient */ patientId?: string; /** * Id of the device if the user is a device */ deviceId?: string; /** * Delegations that are automatically generated client side when a new database object is created by this user */ autoDelegations?: { [key in User.AutoDelegationTagEnum]?: Array; }; /** * @deprecated use created instead * the timestamp (unix epoch in ms) of creation of the user, will be filled automatically if missing. Not enforced by the application server. */ createdDate?: number; /** * the timestamp (unix epoch in ms) of the latest validation of the terms of use of the application */ termsOfUseDate?: number; /** * email address of the user (used for token exchange or password recovery). */ email?: string; /** * mobile phone of the user (used for token exchange or password recovery). */ mobilePhone?: string; applicationTokens?: { [key: string]: string; }; /** * Encrypted and time-limited Authentication tokens used for inter-applications authentication */ authenticationTokens?: { [key: string]: AuthenticationToken; }; /** * System metadata for the user: this configuration is read only, and defined only when using the cloud version of iCure. */ systemMetadata?: User.SystemMetadata; } export declare namespace User { type TypeEnum = 'database' | 'ldap' | 'token'; const TypeEnum: { Database: TypeEnum; Ldap: TypeEnum; Token: TypeEnum; }; type StatusEnum = 'ACTIVE' | 'DISABLED' | 'REGISTERING'; const StatusEnum: { ACTIVE: StatusEnum; DISABLED: StatusEnum; REGISTERING: StatusEnum; }; type AutoDelegationTagEnum = 'all' | 'administrativeData' | 'generalInformation' | 'financialInformation' | 'medicalInformation' | 'sensitiveInformation' | 'confidentialInformation' | 'cdItemRisk' | 'cdItemFamilyRisk' | 'cdItemHealthcareelement' | 'cdItemHealthcareapproach' | 'cdItemAllergy' | 'cdItemDiagnosis' | 'cdItemLab' | 'cdItemResult' | 'cdItemParameter' | 'cdItemMedication' | 'cdItemTreatment' | 'cdItemVaccine'; const AutoDelegationTagEnum: { all: AutoDelegationTagEnum; administrativeData: AutoDelegationTagEnum; generalInformation: AutoDelegationTagEnum; financialInformation: AutoDelegationTagEnum; medicalInformation: AutoDelegationTagEnum; sensitiveInformation: AutoDelegationTagEnum; confidentialInformation: AutoDelegationTagEnum; cdItemRisk: AutoDelegationTagEnum; cdItemFamilyRisk: AutoDelegationTagEnum; cdItemHealthcareelement: AutoDelegationTagEnum; cdItemHealthcareapproach: AutoDelegationTagEnum; cdItemAllergy: AutoDelegationTagEnum; cdItemDiagnosis: AutoDelegationTagEnum; cdItemLab: AutoDelegationTagEnum; cdItemResult: AutoDelegationTagEnum; cdItemParameter: AutoDelegationTagEnum; cdItemMedication: AutoDelegationTagEnum; cdItemTreatment: AutoDelegationTagEnum; cdItemVaccine: AutoDelegationTagEnum; }; class SystemMetadata { constructor(json: JSON | any); /** * The roles of the user that the cloud environment recognizes */ roles?: string[]; /** * If the user is considered as an admin by the cloud environment */ isAdmin?: boolean; /** * True if the content of roles is inherited from the user's group configuration, false if the roles are defined specifically for the use */ inheritsRoles?: boolean; /** * Identifiers of the user available for login */ loginIdentifiers?: Identifier[]; } }