import { HttpClient } from '@wix/sdk-types'; import { AllocateItemSetsOptions, AllocateItemSetsResponse, AllocateItemSetsResponseNonNullableFields, BulkCloneItemSetsResponse, BulkCloneItemSetsResponseNonNullableFields, BulkCreateItemsOptions, BulkCreateItemsResponse, BulkCreateItemsResponseNonNullableFields, BulkDeleteItemsByFilterOptions, BulkDeleteItemsByFilterResponse, BulkDeleteItemsByFilterResponseNonNullableFields, BulkDeleteItemsResponse, BulkDeleteItemsResponseNonNullableFields, BulkUpdateItemsOptions, BulkUpdateItemsResponse, BulkUpdateItemsResponseNonNullableFields, CloneItemsResponse, CloneItemsResponseNonNullableFields, CountItemsOptions, CountItemsResponse, CountItemsResponseNonNullableFields, Item, ItemNonNullableFields, ItemsQueryBuilder, ListItemsOptions, ListItemsResponse, ListItemsResponseNonNullableFields, UpdateItem, allocateItemSets as universalAllocateItemSets, bulkCloneItemSets as universalBulkCloneItemSets, bulkCreateItems as universalBulkCreateItems, bulkDeleteItems as universalBulkDeleteItems, bulkDeleteItemsByFilter as universalBulkDeleteItemsByFilter, bulkUpdateItems as universalBulkUpdateItems, cloneItems as universalCloneItems, countItems as universalCountItems, createItem as universalCreateItem, deleteItem as universalDeleteItem, getItem as universalGetItem, listItems as universalListItems, queryItems as universalQueryItems, updateItem as universalUpdateItem, } from './benefit-programs-v1-item-item.universal'; export const __metadata = { PACKAGE_NAME: '@wix/benefit-programs' }; export function createItem(httpClient: HttpClient): CreateItemSignature { return (item: Item) => universalCreateItem( item, // @ts-ignore { httpClient } ); } interface CreateItemSignature { /** * Create an item * @param - Item to be created * @returns Item that was created */ (item: Item): Promise; } export function bulkCreateItems( httpClient: HttpClient ): BulkCreateItemsSignature { return (items: Item[], options?: BulkCreateItemsOptions) => universalBulkCreateItems( items, options, // @ts-ignore { httpClient } ); } interface BulkCreateItemsSignature { /** * Adds items to the benefit * @param - Items to be added */ (items: Item[], options?: BulkCreateItemsOptions | undefined): Promise< BulkCreateItemsResponse & BulkCreateItemsResponseNonNullableFields >; } export function deleteItem(httpClient: HttpClient): DeleteItemSignature { return (itemId: string) => universalDeleteItem( itemId, // @ts-ignore { httpClient } ); } interface DeleteItemSignature { /** * Removes the item from the benefit * @param - Item id */ (itemId: string): Promise; } export function bulkDeleteItems( httpClient: HttpClient ): BulkDeleteItemsSignature { return (itemIds: string[]) => universalBulkDeleteItems( itemIds, // @ts-ignore { httpClient } ); } interface BulkDeleteItemsSignature { /** * Deletes the items * @param - Items to be deleted */ (itemIds: string[]): Promise< BulkDeleteItemsResponse & BulkDeleteItemsResponseNonNullableFields >; } export function bulkDeleteItemsByFilter( httpClient: HttpClient ): BulkDeleteItemsByFilterSignature { return (namespace: string, options?: BulkDeleteItemsByFilterOptions) => universalBulkDeleteItemsByFilter( namespace, options, // @ts-ignore { httpClient } ); } interface BulkDeleteItemsByFilterSignature { /** * Deletes the items by filter * @param - Namespace */ ( namespace: string, options?: BulkDeleteItemsByFilterOptions | undefined ): Promise< BulkDeleteItemsByFilterResponse & BulkDeleteItemsByFilterResponseNonNullableFields >; } export function updateItem(httpClient: HttpClient): UpdateItemSignature { return (_id: string | null, item: UpdateItem) => universalUpdateItem( _id, item, // @ts-ignore { httpClient } ); } interface UpdateItemSignature { /** * Update the Item, supports partial update * Pass the latest `revision` for a successful update * @param - Item identifier * @returns Item that was updated */ (_id: string | null, item: UpdateItem): Promise; } export function bulkUpdateItems( httpClient: HttpClient ): BulkUpdateItemsSignature { return (options?: BulkUpdateItemsOptions) => universalBulkUpdateItems( options, // @ts-ignore { httpClient } ); } interface BulkUpdateItemsSignature { /** * Update the Item, supports partial update * Pass the latest `revision` for a successful update */ (options?: BulkUpdateItemsOptions | undefined): Promise< BulkUpdateItemsResponse & BulkUpdateItemsResponseNonNullableFields >; } export function getItem(httpClient: HttpClient): GetItemSignature { return (itemId: string) => universalGetItem( itemId, // @ts-ignore { httpClient } ); } interface GetItemSignature { /** * Get a Benefit Item by id * @param - Id of the Item to retrieve * @returns The retrieved Item */ (itemId: string): Promise; } export function listItems(httpClient: HttpClient): ListItemsSignature { return (options?: ListItemsOptions) => universalListItems( options, // @ts-ignore { httpClient } ); } interface ListItemsSignature { /** * Get all items matching the filter */ (options?: ListItemsOptions | undefined): Promise< ListItemsResponse & ListItemsResponseNonNullableFields >; } export function queryItems(httpClient: HttpClient): QueryItemsSignature { return () => universalQueryItems( // @ts-ignore { httpClient } ); } interface QueryItemsSignature { /** * Query Items using [WQL - Wix Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) */ (): ItemsQueryBuilder; } export function countItems(httpClient: HttpClient): CountItemsSignature { return (options?: CountItemsOptions) => universalCountItems( options, // @ts-ignore { httpClient } ); } interface CountItemsSignature { /** * Used for counting items */ (options?: CountItemsOptions | undefined): Promise< CountItemsResponse & CountItemsResponseNonNullableFields >; } export function cloneItems(httpClient: HttpClient): CloneItemsSignature { return (itemSetId: string) => universalCloneItems( itemSetId, // @ts-ignore { httpClient } ); } interface CloneItemsSignature { /** * Clone the item set * @param - Id of the item set to be cloned */ (itemSetId: string): Promise< CloneItemsResponse & CloneItemsResponseNonNullableFields >; } export function bulkCloneItemSets( httpClient: HttpClient ): BulkCloneItemSetsSignature { return (itemSetIds: string[]) => universalBulkCloneItemSets( itemSetIds, // @ts-ignore { httpClient } ); } interface BulkCloneItemSetsSignature { /** * Clone the item set * @param - Id of the item sets to be cloned */ (itemSetIds: string[]): Promise< BulkCloneItemSetsResponse & BulkCloneItemSetsResponseNonNullableFields >; } export function allocateItemSets( httpClient: HttpClient ): AllocateItemSetsSignature { return (options?: AllocateItemSetsOptions) => universalAllocateItemSets( options, // @ts-ignore { httpClient } ); } interface AllocateItemSetsSignature { /** * Allocates the provided number of sets */ (options?: AllocateItemSetsOptions | undefined): Promise< AllocateItemSetsResponse & AllocateItemSetsResponseNonNullableFields >; } export { ActionEvent, AllocateItemSetsOptions, AllocateItemSetsRequest, AllocateItemSetsResponse, AllocateItemSetsResponseNonNullableFields, ApplicationError, BulkActionMetadata, BulkCloneItemSetsRequest, BulkCloneItemSetsResponse, BulkCloneItemSetsResponseNonNullableFields, BulkCloneItemSetsResult, BulkCreateItemsOptions, BulkCreateItemsRequest, BulkCreateItemsResponse, BulkCreateItemsResponseNonNullableFields, BulkDeleteItemsByFilterOptions, BulkDeleteItemsByFilterRequest, BulkDeleteItemsByFilterResponse, BulkDeleteItemsByFilterResponseNonNullableFields, BulkDeleteItemsRequest, BulkDeleteItemsResponse, BulkDeleteItemsResponseNonNullableFields, BulkItemResult, BulkUpdateItemsOptions, BulkUpdateItemsRequest, BulkUpdateItemsResponse, BulkUpdateItemsResponseNonNullableFields, ByItemSetIdAndReference, ByItemSetIdAndReferenceFilter, ByReference, ByReferenceFilter, CloneItemsRequest, CloneItemsResponse, CloneItemsResponseNonNullableFields, CountItemsOptions, CountItemsRequest, CountItemsResponse, CountItemsResponseNonNullableFields, CreateItemRequest, CreateItemResponse, CreateItemResponseNonNullableFields, CursorPaging, CursorPagingMetadata, CursorQuery, CursorQueryPagingMethodOneOf, Cursors, DeleteItemRequest, DeleteItemResponse, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, ExtendedFields, Filter, FilterFilterOneOf, GetItemRequest, GetItemResponse, GetItemResponseNonNullableFields, IdentificationData, IdentificationDataIdOneOf, Item, ItemMetadata, ItemNonNullableFields, ItemsCloned, ItemsQueryBuilder, ItemsQueryResult, ListItemsOptions, ListItemsRequest, ListItemsResponse, ListItemsResponseNonNullableFields, MaskedItem, MessageEnvelope, QueryItemsRequest, QueryItemsResponse, QueryItemsResponseNonNullableFields, RestoreInfo, SortOrder, Sorting, Type, UpdateItem, UpdateItemRequest, UpdateItemResponse, UpdateItemResponseNonNullableFields, WebhookIdentityType, } from './benefit-programs-v1-item-item.universal';