UNPKG

@contiva/sap-integration-suite-client

Version:
377 lines (376 loc) 15.5 kB
/** * SAP Partner Directory Client * * This file contains a client class for interacting with the * Partner Directory API of SAP Cloud Integration. This API allows management * of partner information, parameters, and authorized users in B2B scenarios. * * @module sap-integration-suite-client/partner-directory */ import { Api as PartnerDirectoryApi, ComSapHciApiAlternativePartner, ComSapHciApiAlternativePartnerCreate, ComSapHciApiAlternativePartnerUpdate, ComSapHciApiAuthorizedUser, ComSapHciApiAuthorizedUserCreate, ComSapHciApiAuthorizedUserUpdate, ComSapHciApiBinaryParameter, ComSapHciApiBinaryParameterCreate, ComSapHciApiBinaryParameterUpdate, ComSapHciApiPartner, ComSapHciApiStringParameter, ComSapHciApiStringParameterCreate, ComSapHciApiStringParameterUpdate, ComSapHciApiUserCredentialParameter, ComSapHciApiUserCredentialParameterCreate } from '../types/sap.PartnerDirectory'; /** * SAP Partner Directory Client * * Provides simplified access to the Partner Directory API. */ export declare class PartnerDirectoryClient { private api; private normalizer; /** * Creates a new PartnerDirectoryClient * * @param {PartnerDirectoryApi<unknown>} api - The underlying API instance */ constructor(api: PartnerDirectoryApi<unknown>); /** * Retrieves all alternative partners. * * @param {Object} options Optional parameters for the request * @param {number} [options.top] Maximum number of entries to return * @param {number} [options.skip] Number of entries to skip * @param {string} [options.filter] OData filter expression * @returns {Promise<ComSapHciApiAlternativePartner[]>} Promise resolving to a list of alternative partners * * @example * const altPartners = await client.getAlternativePartners({ top: 100 }); */ getAlternativePartners(options?: { top?: number; skip?: number; filter?: string; }): Promise<ComSapHciApiAlternativePartner[]>; /** * Retrieves a specific alternative partner by its composite key. * * @param {string} hexagency The hexadecimal agency value * @param {string} hexscheme The hexadecimal scheme value * @param {string} hexid The hexadecimal ID value * @returns {Promise<ComSapHciApiAlternativePartner | undefined>} Promise resolving to the alternative partner * * @example * const altPartner = await client.getAlternativePartnerById('agency', 'scheme', 'id'); */ getAlternativePartnerById(hexagency: string, hexscheme: string, hexid: string): Promise<ComSapHciApiAlternativePartner | undefined>; /** * Creates a new alternative partner. * * @param {ComSapHciApiAlternativePartnerCreate} partnerData The alternative partner data to create * @returns {Promise<ComSapHciApiAlternativePartner>} Promise resolving to the created alternative partner * * @example * const newPartner = await client.createAlternativePartner({ * Agency: 'MyAgency', * Scheme: 'MyScheme', * Id: 'MyId', * Pid: 'PartnerId' * }); */ createAlternativePartner(partnerData: ComSapHciApiAlternativePartnerCreate): Promise<ComSapHciApiAlternativePartner>; /** * Updates an existing alternative partner. * * @param {string} hexagency The hexadecimal agency value * @param {string} hexscheme The hexadecimal scheme value * @param {string} hexid The hexadecimal ID value * @param {ComSapHciApiAlternativePartnerUpdate} partnerData The alternative partner data to update * @returns {Promise<void>} Promise resolving when the update is complete * * @example * await client.updateAlternativePartner('agency', 'scheme', 'id', { * Pid: 'NewPartnerId' * }); */ updateAlternativePartner(hexagency: string, hexscheme: string, hexid: string, partnerData: ComSapHciApiAlternativePartnerUpdate): Promise<void>; /** * Deletes an alternative partner. * * @param {string} hexagency The hexadecimal agency value * @param {string} hexscheme The hexadecimal scheme value * @param {string} hexid The hexadecimal ID value * @returns {Promise<void>} Promise resolving when the deletion is complete * * @example * await client.deleteAlternativePartner('agency', 'scheme', 'id'); */ deleteAlternativePartner(hexagency: string, hexscheme: string, hexid: string): Promise<void>; /** * Retrieves all authorized users. * * @param {Object} options Optional parameters for the request * @param {number} [options.top] Maximum number of entries to return * @param {number} [options.skip] Number of entries to skip * @param {string} [options.filter] OData filter expression * @returns {Promise<ComSapHciApiAuthorizedUser[]>} Promise resolving to a list of authorized users * * @example * const users = await client.getAuthorizedUsers(); */ getAuthorizedUsers(options?: { top?: number; skip?: number; filter?: string; }): Promise<ComSapHciApiAuthorizedUser[]>; /** * Retrieves a specific authorized user by username. * * @param {string} user The username * @returns {Promise<ComSapHciApiAuthorizedUser | undefined>} Promise resolving to the authorized user * * @example * const user = await client.getAuthorizedUserById('username'); */ getAuthorizedUserById(user: string): Promise<ComSapHciApiAuthorizedUser | undefined>; /** * Creates a new authorized user. * * @param {ComSapHciApiAuthorizedUserCreate} userData The authorized user data to create * @returns {Promise<ComSapHciApiAuthorizedUser>} Promise resolving to the created authorized user * * @example * const newUser = await client.createAuthorizedUser({ * User: 'username', * Type: 'User' * }); */ createAuthorizedUser(userData: ComSapHciApiAuthorizedUserCreate): Promise<ComSapHciApiAuthorizedUser>; /** * Updates an existing authorized user. * * @param {string} user The username * @param {ComSapHciApiAuthorizedUserUpdate} userData The authorized user data to update * @returns {Promise<void>} Promise resolving when the update is complete * * @example * await client.updateAuthorizedUser('username', { * Type: 'Administrator' * }); */ updateAuthorizedUser(user: string, userData: ComSapHciApiAuthorizedUserUpdate): Promise<void>; /** * Deletes an authorized user. * * @param {string} user The username * @returns {Promise<void>} Promise resolving when the deletion is complete * * @example * await client.deleteAuthorizedUser('username'); */ deleteAuthorizedUser(user: string): Promise<void>; /** * Retrieves all partners. * * @returns {Promise<ComSapHciApiPartner[]>} Promise resolving to a list of partners * * @example * const partners = await client.getPartners(); */ getPartners(): Promise<ComSapHciApiPartner[]>; /** * Retrieves a specific partner by ID by filtering all partners. * * @param {string} pid The partner ID * @returns {Promise<ComSapHciApiPartner | undefined>} Promise resolving to the partner * * @example * const partner = await client.getPartnerById('partner-id'); */ getPartnerById(pid: string): Promise<ComSapHciApiPartner | undefined>; /** * Deletes a partner. * * @param {string} pid The partner ID * @returns {Promise<void>} Promise resolving when the deletion is complete * * @example * await client.deletePartner('partner-id'); */ deletePartner(pid: string): Promise<void>; /** * Retrieves all string parameters. * * @param {Object} options Optional parameters for the request * @param {number} [options.top] Maximum number of entries to return * @param {number} [options.skip] Number of entries to skip * @param {string} [options.filter] OData filter expression * @returns {Promise<ComSapHciApiStringParameter[]>} Promise resolving to a list of string parameters * * @example * const params = await client.getStringParameters({ filter: "Pid eq 'partner-id'" }); */ getStringParameters(options?: { top?: number; skip?: number; filter?: string; }): Promise<ComSapHciApiStringParameter[]>; /** * Retrieves a specific string parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @returns {Promise<ComSapHciApiStringParameter | undefined>} Promise resolving to the string parameter * * @example * const param = await client.getStringParameterById('partner-id', 'param-id'); */ getStringParameterById(pid: string, id: string): Promise<ComSapHciApiStringParameter | undefined>; /** * Creates a new string parameter. * * @param {ComSapHciApiStringParameterCreate} paramData The string parameter data to create * @returns {Promise<ComSapHciApiStringParameter>} Promise resolving to the created string parameter * * @example * const newParam = await client.createStringParameter({ * Pid: 'partner-id', * Id: 'param-id', * Value: 'param-value' * }); */ createStringParameter(paramData: ComSapHciApiStringParameterCreate): Promise<ComSapHciApiStringParameter>; /** * Updates an existing string parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @param {ComSapHciApiStringParameterUpdate} paramData The string parameter data to update * @returns {Promise<void>} Promise resolving when the update is complete * * @example * await client.updateStringParameter('partner-id', 'param-id', { * Value: 'new-value' * }); */ updateStringParameter(pid: string, id: string, paramData: ComSapHciApiStringParameterUpdate): Promise<void>; /** * Deletes a string parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @returns {Promise<void>} Promise resolving when the deletion is complete * * @example * await client.deleteStringParameter('partner-id', 'param-id'); */ deleteStringParameter(pid: string, id: string): Promise<void>; /** * Retrieves all binary parameters. * * @param {Object} options Optional parameters for the request * @param {number} [options.top] Maximum number of entries to return * @param {number} [options.skip] Number of entries to skip * @param {string} [options.filter] OData filter expression * @returns {Promise<ComSapHciApiBinaryParameter[]>} Promise resolving to a list of binary parameters * * @example * const params = await client.getBinaryParameters({ filter: "Pid eq 'partner-id'" }); */ getBinaryParameters(options?: { top?: number; skip?: number; filter?: string; }): Promise<ComSapHciApiBinaryParameter[]>; /** * Retrieves a specific binary parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @returns {Promise<ComSapHciApiBinaryParameter | undefined>} Promise resolving to the binary parameter * * @example * const param = await client.getBinaryParameterById('partner-id', 'param-id'); */ getBinaryParameterById(pid: string, id: string): Promise<ComSapHciApiBinaryParameter | undefined>; /** * Creates a new binary parameter. * * @param {ComSapHciApiBinaryParameterCreate} paramData The binary parameter data to create * @returns {Promise<ComSapHciApiBinaryParameter>} Promise resolving to the created binary parameter * * @example * const newParam = await client.createBinaryParameter({ * Pid: 'partner-id', * Id: 'param-id', * ContentType: 'application/octet-stream', * Value: 'base64-encoded-content' * }); */ createBinaryParameter(paramData: ComSapHciApiBinaryParameterCreate): Promise<ComSapHciApiBinaryParameter>; /** * Updates an existing binary parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @param {ComSapHciApiBinaryParameterUpdate} paramData The binary parameter data to update * @returns {Promise<void>} Promise resolving when the update is complete * * @example * await client.updateBinaryParameter('partner-id', 'param-id', { * Value: 'new-base64-encoded-content' * }); */ updateBinaryParameter(pid: string, id: string, paramData: ComSapHciApiBinaryParameterUpdate): Promise<void>; /** * Deletes a binary parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @returns {Promise<void>} Promise resolving when the deletion is complete * * @example * await client.deleteBinaryParameter('partner-id', 'param-id'); */ deleteBinaryParameter(pid: string, id: string): Promise<void>; /** * Retrieves all user credential parameters. * * @param {string} filter OData filter expression (required, e.g., "Pid eq 'partner-id'") * @returns {Promise<ComSapHciApiUserCredentialParameter[]>} Promise resolving to a list of user credential parameters * * @example * const params = await client.getUserCredentialParameters("Pid eq 'partner-id'"); */ getUserCredentialParameters(filter: string): Promise<ComSapHciApiUserCredentialParameter[]>; /** * Retrieves a specific user credential parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @returns {Promise<ComSapHciApiUserCredentialParameter | undefined>} Promise resolving to the user credential parameter * * @example * const param = await client.getUserCredentialParameterById('partner-id', 'param-id'); */ getUserCredentialParameterById(pid: string, id: string): Promise<ComSapHciApiUserCredentialParameter | undefined>; /** * Creates a new user credential parameter. * * @param {ComSapHciApiUserCredentialParameterCreate} paramData The user credential parameter data to create * @returns {Promise<ComSapHciApiUserCredentialParameter>} Promise resolving to the created user credential parameter * * @example * const newParam = await client.createUserCredentialParameter({ * Pid: 'partner-id', * Id: 'param-id', * User: 'username', * Password: 'password' * }); */ createUserCredentialParameter(paramData: ComSapHciApiUserCredentialParameterCreate): Promise<ComSapHciApiUserCredentialParameter>; /** * Deletes a user credential parameter. * * @param {string} pid The partner ID * @param {string} id The parameter ID * @returns {Promise<void>} Promise resolving when the deletion is complete * * @example * await client.deleteUserCredentialParameter('partner-id', 'param-id'); */ deleteUserCredentialParameter(pid: string, id: string): Promise<void>; /** * Returns the underlying API instance for advanced usage. * * @returns {PartnerDirectoryApi<unknown>} The underlying API instance */ getApi(): PartnerDirectoryApi<unknown>; }