@rockcarver/frodo-lib
Version:
A library to manage ForgeRock Identity Cloud tenants, ForgeOps deployments, and classic deployments.
187 lines • 7.36 kB
TypeScript
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