import { IdObjectSkeletonInterface, PagedResult } from '../api/ApiTypes'; import { ConnectorServerStatusInterface, SystemObjectPatchOperationInterface, SystemStatusInterface } from '../api/IdmSystemApi'; import { State } from '../shared/State'; import { ObjectTypeSkeleton } from './ConnectorOps'; export type IdmSystem = { /** * Test connector servers * @returns {Promise} a promise that resolves to an array of ConnectorServerStatusInterface objects */ testConnectorServers(): Promise; /** * Read available systems/connectors status * @returns {Promise} a promise resolving to an array of system status objects */ readAvailableSystems(): Promise; /** * Read system/connector status * @returns {Promise} a promise resolving to a system status object */ readSystemStatus(systemName: string): Promise; /** * Authenticate a system object using username and password (pass-through authentication) * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {string} username system object username * @param {string} password system object password * @returns {Promise} a promise resolving to an IdObjectSkeletonInterface object containing only the _id */ authenticateSystemObject(systemName: string, systemObjectType: string, username: string, password: string): Promise; /** * Run system script * @param {string} systemName name of system/connector * @param {string} scriptName name of script * @returns {Promise} a promise resolving to a status object */ runSystemScript(systemName: string, scriptName: string): Promise; /** * Query all system object ids * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {number} pageSize page size (default value: 1000) * @param {string} pageCookie paged results cookie * @returns {Promise>} a promise resolving to an array of IdObjectSkeletonInterface objects */ queryAllSystemObjectIds(systemName: string, systemObjectType: string, pageSize?: number, pageCookie?: string): Promise>; /** * Query system objects using a search filter * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {string} filter search filter * @param {string[]} fields array of fields to return * @param {number} pageSize page size (default value: 1000) * @param {string} pageCookie paged results cookie * @returns {Promise>} a promise resolving to an array of IdObjectSkeletonInterface objects */ querySystemObjects(systemName: string, systemObjectType: string, filter: string, fields?: string[], pageSize?: number, pageCookie?: string): Promise>; /** * Read system object * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {string} systemObjectId id of system object * @param {string[]} fields array of fields to return (default: `['*']`) * @returns {Promise} a promise resolving to an IdObjectSkeletonInterface object */ readSystemObject(systemName: string, systemObjectType: string, systemObjectId: string, fields?: string[]): Promise; /** * Create system object * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {IdObjectSkeletonInterface} systemObjectData system object data * @returns {Promise} a promise resolving to an IdObjectSkeletonInterface object */ createSystemObject(systemName: string, systemObjectType: string, systemObjectData: IdObjectSkeletonInterface): Promise; /** * Update or create system object * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {string} systemObjectId id of system object * @param {IdObjectSkeletonInterface} systemObjectData system object data * @param {boolean} failIfExists fail if object exists (default value: false) * @returns {Promise} a promise resolving to an IdObjectSkeletonInterface object */ updateSystemObject(systemName: string, systemObjectType: string, systemObjectId: string, systemObjectData: IdObjectSkeletonInterface, failIfExists?: boolean): Promise; /** * Partially update system object through a collection of patch operations. * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {string} systemObjectId id of system object * @param {SystemObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object * @returns {Promise} a promise resolving to an IdObjectSkeletonInterface object */ updateSystemObjectProperties(systemName: string, systemObjectType: string, systemObjectId: string, operations: SystemObjectPatchOperationInterface[]): Promise; /** * Delete system object * @param {string} systemName name of system/connector * @param {string} systemObjectType type of system object * @param {string} systemObjectId id of system object * @returns {Promise} a promise resolving to an IdObjectSkeletonInterface object */ deleteSystemObject(systemName: string, systemObjectType: string, systemObjectId: string): Promise; /** * Read system schema * @param {string} systemName name of system/connector * @returns {Promise>} a promise resolving to a map of Record */ readSystemSchema(systemName: string): Promise>; }; declare const _default: (state: State) => IdmSystem; export default _default; /** * Test connector servers * @returns {Promise} a promise that resolves to an array of ConnectorServerStatusInterface objects */ export declare function testConnectorServers({ state, }: { state: State; }): Promise; export declare function readAvailableSystems({ state, }: { state: State; }): Promise; export declare function readSystemStatus({ systemName, state, }: { systemName: string; state: State; }): Promise; export declare function authenticateSystemObject({ systemName, systemObjectType, username, password, state, }: { systemName: string; systemObjectType: string; username: string; password: string; state: State; }): Promise; export declare function runSystemScript({ systemName, scriptName, state, }: { systemName: string; scriptName: string; state: State; }): Promise; export declare function queryAllSystemObjectIds({ systemName, systemObjectType, pageSize, pageCookie, state, }: { systemName: string; systemObjectType: string; pageSize?: number; pageCookie?: string; state: State; }): Promise>; export declare function querySystemObjects({ systemName, systemObjectType, filter, fields, pageSize, pageCookie, state, }: { systemName: string; systemObjectType: string; filter: string; fields?: string[]; pageSize?: number; pageCookie?: string; state: State; }): Promise>; export declare function readSystemObject({ systemName, systemObjectType, systemObjectId, fields, state, }: { systemName: string; systemObjectType: string; systemObjectId: string; fields?: string[]; state: State; }): Promise; export declare function createSystemObject({ systemName, systemObjectType, systemObjectData, state, }: { systemName: string; systemObjectType: string; systemObjectData: IdObjectSkeletonInterface; state: State; }): Promise; export declare function updateSystemObject({ systemName, systemObjectType, systemObjectId, systemObjectData, failIfExists, state, }: { systemName: string; systemObjectType: string; systemObjectId: string; systemObjectData: IdObjectSkeletonInterface; failIfExists?: boolean; state: State; }): Promise; export declare function updateSystemObjectProperties({ systemName, systemObjectType, systemObjectId, operations, state, }: { systemName: string; systemObjectType: string; systemObjectId: string; operations: SystemObjectPatchOperationInterface[]; state: State; }): Promise; export declare function deleteSystemObject({ systemName, systemObjectType, systemObjectId, state, }: { systemName: string; systemObjectType: string; systemObjectId: string; state: State; }): Promise; export declare function readSystemSchema({ systemName, state, }: { systemName: string; state: State; }): Promise>; //# sourceMappingURL=IdmSystemOps.d.ts.map