@contiva/sap-integration-suite-client
Version:
SAP Cloud Platform Integration API Client
377 lines (376 loc) • 15.5 kB
TypeScript
/**
* 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>;
}