import { BaseFilterOptions, BaseSortableFilterOptions, PaginatedListIterator } from '../cardinal-sdk-ts.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { User } from '../model/User.mjs'; import { Enable2faRequest } from '../model/security/Enable2faRequest.mjs'; import { LoginIdentifier } from '../model/security/LoginIdentifier.mjs'; import { TokenWithGroup } from '../model/security/TokenWithGroup.mjs'; export interface UserInGroupApi { createUser(user: GroupScoped): Promise>; createUsers(users: Array>): Promise>>; getUser(groupId: string, userId: string): Promise | undefined>; getUsers(groupId: string, userIds: Array): Promise>>; modifyUser(user: GroupScoped): Promise>; modifyUsers(users: Array>): Promise>>; deleteUserById(userId: GroupScoped): Promise>; deleteUsersByIds(userIds: Array>): Promise>>; deleteUser(user: GroupScoped): Promise>; deleteUsers(users: Array>): Promise>>; purgeUserById(userId: GroupScoped): Promise; purgeUsersByIds(userIds: Array>): Promise>>; purgeUser(user: GroupScoped): Promise; purgeUsers(userIds: Array>): Promise>>; undeleteUserById(userId: GroupScoped): Promise>; undeleteUsersByIds(userIds: Array>): Promise>>; undeleteUser(user: GroupScoped): Promise>; undeleteUsers(users: Array>): Promise>>; filterUsersBy(groupId: string, filter: BaseFilterOptions): Promise>>; matchUsersBy(groupId: string, filter: BaseFilterOptions): Promise>; filterUsersBySorted(groupId: string, filter: BaseSortableFilterOptions): Promise>>; matchUsersBySorted(groupId: string, filter: BaseSortableFilterOptions): Promise>; /** * * In group equivalent of [UserApi.setUserRoles] */ setUserRoles(user: GroupScoped, rolesIds: Array): Promise>; /** * * In group equivalent of [UserApi.resetUserRoles] */ resetUserRoles(user: GroupScoped): Promise>; getToken(userIdentifier: string, groupId: string, key: string, options?: { token?: string | undefined; tokenValidity?: number | undefined; }): Promise; getTokenInAllGroups(userIdentifier: string, key: string, options?: { token?: string | undefined; tokenValidity?: number | undefined; }): Promise>; enable2faForUser(user: GroupScoped, request: Enable2faRequest): Promise; disable2faForUser(user: GroupScoped): Promise; createAdminUser(user: GroupScoped): Promise>; /** * * In group equivalent of [UserApi.modifyUserPassword] */ modifyUserPassword(groupId: string, userId: string, newPassword: string): Promise>; /** * * In group equivalent of [UserApi.modifyUserEmail] */ modifyUserEmail(groupId: string, userId: string, newEmail: string, previousEmail: string | undefined): Promise>; /** * * In group equivalent of [UserApi.modifyUserMobilePhone] */ modifyUserMobilePhone(groupId: string, userId: string, newMobilePhone: string, previousMobilePhone: string | undefined): Promise>; /** * * Defines if a user inherits the permission they have in their group in all the groups that are children of their group. * * @param user the user to update */ setUserInheritsPermissions(user: GroupScoped, value: boolean): Promise; setLoginIdentifiers(user: GroupScoped, identifier: LoginIdentifier, replaceExisting: boolean): Promise; }