UNPKG

@rockcarver/frodo-lib

Version:

A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.

187 lines 7.36 kB
import { UserConfigSkeleton, UserGroupSkeleton, UserSkeleton } from '../api/UserApi'; import { State } from '../shared/State'; import { ExportMetaData } from './OpsTypes'; export type User = { /** * Create an empty user export template * @returns {UserExportInterface} an empty user export template */ createUserExportTemplate(): UserExportInterface; /** * Read user by id * @param {string} userId User id * @returns {Promise<UserSkeleton>} a promise that resolves to a user object */ readUser(userId: string): Promise<UserSkeleton>; /** * Read all users. * @returns {Promise<UserSkeleton[]>} a promise that resolves to an array of user objects */ readUsers(): Promise<UserSkeleton[]>; /** * Export a single user by id. The response can be saved to file as is. * @param {string} userId User id * @returns {Promise<UserExportInterface>} Promise resolving to a UserExportInterface object. */ exportUser(userId: string): Promise<UserExportInterface>; /** * Export all users. The response can be saved to file as is. * @returns {Promise<UserExportInterface>} Promise resolving to a UserExportInterface object. */ exportUsers(): Promise<UserExportInterface>; /** * Create an empty user group export template * @returns {UserGroupExportInterface} an empty user group export template */ createUserGroupExportTemplate(): UserGroupExportInterface; /** * Read user group by id * @param {string} groupId Group id * @returns {Promise<UserGroupSkeleton>} a promise that resolves to a user group object */ readUserGroup(groupId: string): Promise<UserGroupSkeleton>; /** * Read all user groups. * @returns {Promise<UserGroupSkeleton[]>} a promise that resolves to an array of user group objects */ readUserGroups(): Promise<UserGroupSkeleton[]>; /** * Export a single user group by id. The response can be saved to file as is. * @param {string} groupId Group id * @returns {Promise<UserGroupExportInterface>} Promise resolving to a UserGroupExportInterface object. */ exportUserGroup(groupId: string): Promise<UserGroupExportInterface>; /** * Export all user groups. The response can be saved to file as is. * @returns {Promise<UserGroupExportInterface>} Promise resolving to a UserGroupExportInterface object. */ exportUserGroups(): Promise<UserGroupExportInterface>; /** * Import users and their config * @param {UserExportInterface} importData user import data * @param {string} userId Optional user id. If supplied, only the user of that id is imported. * @returns {Promise<UserExportSkeleton[]>} the imported users */ importUsers(importData: UserExportInterface, userId?: string): Promise<UserExportSkeleton[]>; /** * Import user groups * @param {UserGroupExportInterface} importData user group import data * @param {string} groupId Optional user group id. If supplied, only the group of that id is imported. * @returns {Promise<UserGroupSkeleton[]>} the imported user groups */ importUserGroups(importData: UserGroupExportInterface, groupId?: string): Promise<UserGroupSkeleton[]>; }; declare const _default: (state: State) => User; export default _default; export type UserExportSkeleton = UserSkeleton & { config: UserConfigSkeleton; }; export interface UserExportInterface { meta?: ExportMetaData; user: Record<string, UserExportSkeleton>; } export interface UserGroupExportInterface { meta?: ExportMetaData; userGroup: Record<string, UserGroupSkeleton>; } /** * Create an empty user export template * @returns {UserExportInterface} an empty user export template */ export declare function createUserExportTemplate({ state, }: { state: State; }): UserExportInterface; /** * Read user by id * @param {string} userId User id * @returns {Promise<UserSkeleton>} a promise that resolves to a user object */ export declare function readUser({ userId, state, }: { userId: string; state: State; }): Promise<UserSkeleton>; /** * Read all users. * @returns {Promise<UserSkeleton[]>} a promise that resolves to an array of user objects */ export declare function readUsers({ state, }: { state: State; }): Promise<UserSkeleton[]>; /** * Export a single user by id. The response can be saved to file as is. * @param {string} userId User id * @returns {Promise<UserExportInterface>} Promise resolving to a UserExportInterface object. */ export declare function exportUser({ userId, state, }: { userId: string; state: State; }): Promise<UserExportInterface>; /** * Export all users. The response can be saved to file as is. * @returns {Promise<UserExportInterface>} Promise resolving to a UserExportInterface object. */ export declare function exportUsers({ state, }: { state: State; }): Promise<UserExportInterface>; /** * Create an empty user group export template * @returns {UserGroupExportInterface} an empty user group export template */ export declare function createUserGroupExportTemplate({ state, }: { state: State; }): UserGroupExportInterface; /** * Read user group by id * @param {string} groupId User group id * @returns {Promise<UserGroupSkeleton>} a promise that resolves to a user group object */ export declare function readUserGroup({ groupId, state, }: { groupId: string; state: State; }): Promise<UserGroupSkeleton>; /** * Read all user groups. * @returns {Promise<UserGroupSkeleton[]>} a promise that resolves to an array of user group objects */ export declare function readUserGroups({ state, }: { state: State; }): Promise<UserGroupSkeleton[]>; /** * Export a single user group by id. The response can be saved to file as is. * @param {string} groupId User group id * @returns {Promise<UserGroupExportInterface>} Promise resolving to a UserGroupExportInterface object. */ export declare function exportUserGroup({ groupId, state, }: { groupId: string; state: State; }): Promise<UserGroupExportInterface>; /** * Export all user groups. The response can be saved to file as is. * @returns {Promise<UserGroupExportInterface>} Promise resolving to a UserGroupExportInterface object. */ export declare function exportUserGroups({ state, }: { state: State; }): Promise<UserGroupExportInterface>; /** * Import users and their config * @param {UserExportInterface} importData user import data * @param {string} userId Optional user id. If supplied, only the user of that id is imported. * @returns {Promise<UserExportSkeleton[]>} the imported users */ export declare function importUsers({ importData, userId, state, }: { importData: UserExportInterface; userId?: string; state: State; }): Promise<UserExportSkeleton[]>; /** * Import user groups * @param {UserGroupExportInterface} importData user group import data * @param {string} groupId Optional user group id. If supplied, only the group of that id is imported. * @returns {Promise<UserGroupSkeleton[]>} the imported user groups */ export declare function importUserGroups({ importData, groupId, state, }: { importData: UserGroupExportInterface; groupId?: string; state: State; }): Promise<UserGroupSkeleton[]>; //# sourceMappingURL=UserOps.d.ts.map