UNPKG

ordercloud-javascript-sdk

Version:

The offical Javascript SDK for the Ordercloud ecommerce API

183 lines (182 loc) 12.2 kB
import { ListPage } from '../models/ListPage'; import { Searchable } from '../models/Searchable'; import { Sortable } from '../models/Sortable'; import { Filters } from '../models/Filters'; import { User } from '../models/User'; import { ImpersonateTokenRequest } from '../models/ImpersonateTokenRequest'; import { AccessToken } from '../models/AccessToken'; import { UserOrderMoveOption } from '../models/UserOrderMoveOption'; import { PartialDeep } from '../models/PartialDeep'; import { RequiredDeep } from '../models/RequiredDeep'; import { RequestOptions } from '../models/RequestOptions'; declare class Users { private impersonating; /** * @ignore * not part of public api, don't include in generated docs */ constructor(); /** * List users * Check out the {@link https://ordercloud.io/api-reference/buyer/users/list|api docs} for more info * * @param buyerID ID of the buyer. * @param listOptions.userGroupID ID of the user group. * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ List<TUser extends User>(buyerID: string, listOptions?: { userGroupID?: string; search?: string; searchOn?: Searchable<'Users.List'>; sortBy?: Sortable<'Users.List'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TUser>>>; /** * Create a user * Check out the {@link https://ordercloud.io/api-reference/buyer/users/create|api docs} for more info * * @param buyerID ID of the buyer. * @param user Required fields: Username, FirstName, LastName, Email, Active * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Create<TUser extends User>(buyerID: string, user: User, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>; /** * Retrieve a user * Check out the {@link https://ordercloud.io/api-reference/buyer/users/get|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Get<TUser extends User>(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>; /** * Create or update a user If an object with the same ID already exists, it will be overwritten. * Check out the {@link https://ordercloud.io/api-reference/buyer/users/save|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param user Required fields: Username, FirstName, LastName, Email, Active * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Save<TUser extends User>(buyerID: string, userID: string, user: User, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>; /** * Delete a user * Check out the {@link https://ordercloud.io/api-reference/buyer/users/delete|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Delete(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<void>; /** * Partially update a user * Check out the {@link https://ordercloud.io/api-reference/buyer/users/patch|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param user * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Patch<TUser extends User>(buyerID: string, userID: string, user: PartialDeep<User>, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>; /** * Retrieve a user access token * Check out the {@link https://ordercloud.io/api-reference/buyer/users/get-access-token|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param impersonateTokenRequest Required fields: ClientID, Roles * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ GetAccessToken<TAccessToken extends AccessToken>(buyerID: string, userID: string, impersonateTokenRequest: ImpersonateTokenRequest, requestOptions?: RequestOptions): Promise<RequiredDeep<TAccessToken>>; /** * Move a user to a different buyer * Check out the {@link https://ordercloud.io/api-reference/buyer/users/move|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param newBuyerID ID of the new buyer. * @param listOptions.orders Orders of the user. Possible values: None, Unsubmitted, All. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Move<TUser extends User>(buyerID: string, userID: string, newBuyerID: string, listOptions?: { orders?: UserOrderMoveOption; }, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>; /** * Revoke a user tokens Revokes all security tokens of specified buyer user. * Check out the {@link https://ordercloud.io/api-reference/buyer/users/revoke-user-tokens|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ RevokeUserTokens(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<void>; /** * Unlock a user account * Check out the {@link https://ordercloud.io/api-reference/buyer/users/unlock-user-account|api docs} for more info * * @param buyerID ID of the buyer. * @param userID ID of the user. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ UnlockUserAccount(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<void>; /** * List user across buyers * Check out the {@link https://ordercloud.io/api-reference/buyer/users/list-across-buyers|api docs} for more info * * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ ListAcrossBuyers<TUser extends User>(listOptions?: { search?: string; searchOn?: Searchable<'Users.ListAcrossBuyers'>; sortBy?: Sortable<'Users.ListAcrossBuyers'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TUser>>>; /** * @description * enables impersonation by calling the subsequent method with the stored impersonation token * * @example * Users.As().List() // lists Users using the impersonated users' token */ As(): this; } declare const _default: Users; export default _default;