@wix/wix-data-items-common 1.0.305 → 1.0.307
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/PagingMetadata.js +4 -0
- package/dist/cjs/api/PagingMetadata.js.map +1 -0
- package/dist/cjs/api/WixDataAggregateOptionsBuilder.js +90 -0
- package/dist/cjs/api/WixDataAggregateOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataAggregateResponse.js +4 -0
- package/dist/cjs/api/WixDataAggregateResponse.js.map +1 -0
- package/dist/cjs/api/WixDataApi.js +100 -36
- package/dist/cjs/api/WixDataApi.js.map +1 -1
- package/dist/cjs/api/WixDataAsyncRemoveByFilterOptionsBuilder.js +43 -0
- package/dist/cjs/api/WixDataAsyncRemoveByFilterOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataBulkInsertOptionsBuilder.js +65 -0
- package/dist/cjs/api/WixDataBulkInsertOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataBulkPatchOptionsBuilder.js +60 -0
- package/dist/cjs/api/WixDataBulkPatchOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataBulkRemoveOptionsBuilder.js +60 -0
- package/dist/cjs/api/WixDataBulkRemoveOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataBulkSaveOptionsBuilder.js +60 -0
- package/dist/cjs/api/WixDataBulkSaveOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataBulkUpdateOptionsBuilder.js +65 -0
- package/dist/cjs/api/WixDataBulkUpdateOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataCountOptionsBuilder.js +70 -0
- package/dist/cjs/api/WixDataCountOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataDistinctOptionsBuilder.js +124 -0
- package/dist/cjs/api/WixDataDistinctOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataDistinctResponse.js +4 -0
- package/dist/cjs/api/WixDataDistinctResponse.js.map +1 -0
- package/dist/cjs/api/WixDataGetOptionsBuilder.js +93 -0
- package/dist/cjs/api/WixDataGetOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataInsertOptionsBuilder.js +65 -0
- package/dist/cjs/api/WixDataInsertOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataIsReferencedOptionsBuilder.js +38 -0
- package/dist/cjs/api/WixDataIsReferencedOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataPatch.js.map +1 -1
- package/dist/cjs/api/WixDataPatchOptionsBuilder.js +48 -0
- package/dist/cjs/api/WixDataPatchOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataQueryOptionsBuilder.js +90 -0
- package/dist/cjs/api/WixDataQueryOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataQueryReferencedItemsOptionsBuilder.js +127 -0
- package/dist/cjs/api/WixDataQueryReferencedItemsOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataQueryReferencedItemsResponse.js +4 -0
- package/dist/cjs/api/WixDataQueryReferencedItemsResponse.js.map +1 -0
- package/dist/cjs/api/WixDataQueryResponse.js +4 -0
- package/dist/cjs/api/WixDataQueryResponse.js.map +1 -0
- package/dist/cjs/api/WixDataRemoveOptionsBuilder.js +60 -0
- package/dist/cjs/api/WixDataRemoveOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataSaveOptionsBuilder.js +65 -0
- package/dist/cjs/api/WixDataSaveOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataSearchOptionsBuilder.js +50 -0
- package/dist/cjs/api/WixDataSearchOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/WixDataSearchResponse.js +4 -0
- package/dist/cjs/api/WixDataSearchResponse.js.map +1 -0
- package/dist/cjs/api/WixDataUpdateOptionsBuilder.js +70 -0
- package/dist/cjs/api/WixDataUpdateOptionsBuilder.js.map +1 -0
- package/dist/cjs/api/index.js +57 -3
- package/dist/cjs/api/index.js.map +1 -1
- package/dist/cjs/api/types.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/data-item-types.js.map +1 -1
- package/dist/esm/api/PagingMetadata.js +2 -0
- package/dist/esm/api/PagingMetadata.js.map +1 -0
- package/dist/esm/api/WixDataAggregateOptionsBuilder.js +61 -0
- package/dist/esm/api/WixDataAggregateOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataAggregateResponse.js +2 -0
- package/dist/esm/api/WixDataAggregateResponse.js.map +1 -0
- package/dist/esm/api/WixDataApi.js +102 -35
- package/dist/esm/api/WixDataApi.js.map +1 -1
- package/dist/esm/api/WixDataAsyncRemoveByFilterOptionsBuilder.js +28 -0
- package/dist/esm/api/WixDataAsyncRemoveByFilterOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataBulkInsertOptionsBuilder.js +40 -0
- package/dist/esm/api/WixDataBulkInsertOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataBulkPatchOptionsBuilder.js +37 -0
- package/dist/esm/api/WixDataBulkPatchOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataBulkRemoveOptionsBuilder.js +37 -0
- package/dist/esm/api/WixDataBulkRemoveOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataBulkSaveOptionsBuilder.js +37 -0
- package/dist/esm/api/WixDataBulkSaveOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataBulkUpdateOptionsBuilder.js +40 -0
- package/dist/esm/api/WixDataBulkUpdateOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataCountOptionsBuilder.js +43 -0
- package/dist/esm/api/WixDataCountOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataDistinctOptionsBuilder.js +77 -0
- package/dist/esm/api/WixDataDistinctOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataDistinctResponse.js +2 -0
- package/dist/esm/api/WixDataDistinctResponse.js.map +1 -0
- package/dist/esm/api/WixDataGetOptionsBuilder.js +62 -0
- package/dist/esm/api/WixDataGetOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataInsertOptionsBuilder.js +40 -0
- package/dist/esm/api/WixDataInsertOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataIsReferencedOptionsBuilder.js +25 -0
- package/dist/esm/api/WixDataIsReferencedOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataPatchOptionsBuilder.js +31 -0
- package/dist/esm/api/WixDataPatchOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataQueryOptionsBuilder.js +61 -0
- package/dist/esm/api/WixDataQueryOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataQueryReferencedItemsOptionsBuilder.js +78 -0
- package/dist/esm/api/WixDataQueryReferencedItemsOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataQueryReferencedItemsResponse.js +2 -0
- package/dist/esm/api/WixDataQueryReferencedItemsResponse.js.map +1 -0
- package/dist/esm/api/WixDataQueryResponse.js +2 -0
- package/dist/esm/api/WixDataQueryResponse.js.map +1 -0
- package/dist/esm/api/WixDataRemoveOptionsBuilder.js +37 -0
- package/dist/esm/api/WixDataRemoveOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataSaveOptionsBuilder.js +40 -0
- package/dist/esm/api/WixDataSaveOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataSearchOptionsBuilder.js +37 -0
- package/dist/esm/api/WixDataSearchOptionsBuilder.js.map +1 -0
- package/dist/esm/api/WixDataSearchResponse.js +2 -0
- package/dist/esm/api/WixDataSearchResponse.js.map +1 -0
- package/dist/esm/api/WixDataUpdateOptionsBuilder.js +43 -0
- package/dist/esm/api/WixDataUpdateOptionsBuilder.js.map +1 -0
- package/dist/esm/api/index.js +19 -0
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/types/data-item-types.js.map +1 -1
- package/dist/types/api/PagingMetadata.d.ts +25 -0
- package/dist/types/api/PagingMetadata.d.ts.map +1 -0
- package/dist/types/api/WixDataAggregateOptionsBuilder.d.ts +25 -0
- package/dist/types/api/WixDataAggregateOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataAggregateResponse.d.ts +8 -0
- package/dist/types/api/WixDataAggregateResponse.d.ts.map +1 -0
- package/dist/types/api/WixDataApi.d.ts +18 -12
- package/dist/types/api/WixDataApi.d.ts.map +1 -1
- package/dist/types/api/WixDataAsyncRemoveByFilterOptionsBuilder.d.ts +16 -0
- package/dist/types/api/WixDataAsyncRemoveByFilterOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataBulkInsertOptionsBuilder.d.ts +19 -0
- package/dist/types/api/WixDataBulkInsertOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataBulkPatchOptionsBuilder.d.ts +20 -0
- package/dist/types/api/WixDataBulkPatchOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataBulkRemoveOptionsBuilder.d.ts +19 -0
- package/dist/types/api/WixDataBulkRemoveOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataBulkSaveOptionsBuilder.d.ts +18 -0
- package/dist/types/api/WixDataBulkSaveOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataBulkUpdateOptionsBuilder.d.ts +20 -0
- package/dist/types/api/WixDataBulkUpdateOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataCountOptionsBuilder.d.ts +21 -0
- package/dist/types/api/WixDataCountOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataDistinctOptionsBuilder.d.ts +37 -0
- package/dist/types/api/WixDataDistinctOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataDistinctResponse.d.ts +8 -0
- package/dist/types/api/WixDataDistinctResponse.d.ts.map +1 -0
- package/dist/types/api/WixDataGetOptionsBuilder.d.ts +25 -0
- package/dist/types/api/WixDataGetOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataInsertOptionsBuilder.d.ts +19 -0
- package/dist/types/api/WixDataInsertOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataIsReferencedOptionsBuilder.d.ts +15 -0
- package/dist/types/api/WixDataIsReferencedOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataPatch.d.ts +3 -4
- package/dist/types/api/WixDataPatch.d.ts.map +1 -1
- package/dist/types/api/WixDataPatchOptionsBuilder.d.ts +19 -0
- package/dist/types/api/WixDataPatchOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataQueryOptionsBuilder.d.ts +25 -0
- package/dist/types/api/WixDataQueryOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataQueryReferencedItemsOptionsBuilder.d.ts +36 -0
- package/dist/types/api/WixDataQueryReferencedItemsOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataQueryReferencedItemsResponse.d.ts +23 -0
- package/dist/types/api/WixDataQueryReferencedItemsResponse.d.ts.map +1 -0
- package/dist/types/api/WixDataQueryResponse.d.ts +9 -0
- package/dist/types/api/WixDataQueryResponse.d.ts.map +1 -0
- package/dist/types/api/WixDataRemoveOptionsBuilder.d.ts +19 -0
- package/dist/types/api/WixDataRemoveOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataSaveOptionsBuilder.d.ts +19 -0
- package/dist/types/api/WixDataSaveOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataSearchOptionsBuilder.d.ts +19 -0
- package/dist/types/api/WixDataSearchOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/WixDataSearchResponse.d.ts +9 -0
- package/dist/types/api/WixDataSearchResponse.d.ts.map +1 -0
- package/dist/types/api/WixDataUpdateOptionsBuilder.d.ts +21 -0
- package/dist/types/api/WixDataUpdateOptionsBuilder.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +46 -2
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/types.d.ts +153 -14
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/data-item-types.d.ts +3 -1
- package/dist/types/types/data-item-types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","apiTypes","_interopRequireWildcard","_utils","_common","_WixDataQueryImpl","_WixDataResultImpl","_WixDataAggregateImpl","_ApiClient","_WixDataPatchImpl","_WixDataSearchImpl","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createFilter","filter","anyFilter","getFilterModel","model","_e","filterTree","createExplicitFilter","wdeValidationError","messages","filterMustBeAnObject","isObject","WixDataApi","constructor","clientFactory","allowGet","environment","gridAppId","tracer","_defineProperty2","withArgs","args","collectionName","options","apiValidator","arity","validateAndReject","trace","env","client","truncateDataItems","dataCollectionId","toOptions","itemId","_options$includeField","dataItem","getDataItem","dataItemId","toReadOptions","fields","includeReferences","includeFieldGroups","length","catch","recover","ItemDoesNotExistCode","toDataItem","item","warnAboutBrokenFields","insertDataItem","id","_id","data","toInsertOptions","saveDataItem","toSaveOptions","updateDataItem","toUpdateOptions","removeDataItem","toRemoveOptions","fieldModification","action","ACTION","SET_FIELD","fieldPath","setFieldOptions","value","REMOVE_FIELD","INCREMENT_FIELD","incrementFieldOptions","APPEND_TO_ARRAY","appendToArrayOptions","REMOVE_FROM_ARRAY","removeFromArrayOptions","apiFilter","WixDataPatchByFilterImpl","onRun","_args","patchParams","fieldModifications","map","toFieldModificationApi","jobId","asyncPatchDataItemsByFilter","toAsyncByFilterOptions","asyncRemoveDataItemsByFilter","isNonEmptyString","status","successCount","getAsyncJobStatus","cursor","limit","fetch","cursorOrOffset","dataItems","pagingMetadata","queryDataItems","query","toPaging","items","paging","WixDataResultImpl","limitNumber","skipNumber","results","aggregateDataItems","unwrapAggregationId","pipeline","request","aggregatePipelineDataItems","fieldName","_options$paging","_options$cursorPaging","_options$paging2","_options$cursorPaging2","cursorPaging","offset","returnTotalCount","field","distinctValues","queryDistinctValues","isOffset","order","readOptions","totalCount","countDataItems","itemIds","bulkRemoveOptions","bulkRemoveDataItems","dataItemIds","toBulkResult","bulkInsertOptions","appId","runBulkSave","overrideExisting","bulkUpdateOptions","bulkUpdateDataItems","toBulkUpdateOptions","current","queryReferencedDataItems","onlyReferencedItems","holdingItem","relationshipAttribute","referenceParameter","referringItemId","referringItemFieldName","SortOrder","ASC","DESC","undefined","skip","refsOrAttr","leftOrOpts","right","refs","opts","argc","rights","asArray","relationshipName","left","references","bulkInsertDataItemReferences","dataItemReferences","referencedItemId","referenceParameters","replaceDataItemReferences","newReferencedItemIds","referenceRemoveParameters","bulkRemoveDataItemReferences","isReferenced","isReferencedDataItem","consistentRead","ApiClient","wixData","filterBuilder","patch","arguments","executeDirectPatch","WixDataPatchImpl","result","patchDataItem","toPatchOptions","apiFieldModifications","bulkPatch","executeDirectBulkPatch","WixDataBulkPatchImpl","bulkPatchDataItems","patches","queryRequest","executeDirectQuery","ensureValidQuery","invalidArgs","queryValidations","queryInvalid","WixDataQueryImpl","onCount","params","invalidArguments","validateAndReturn","onDistinct","_toSort$find","toSort","orderBy","find","onFind","projectedFields","sort","included","randomSortOptions","sortMode","SortMode","RANDOM","randomOptions","seed","fieldGroups","_request$paging","_request$cursorPaging","_request$paging2","_request$cursorPaging2","_options$includeRefer","validationErrors","s","inc","_options$includeField2","search","searchRequest","executeDirectSearch","WixDataSearchImpl","expression","queryText","fuzzy","isFuzzy","mode","searchMode","searchDataItems","_request$paging3","_request$cursorPaging3","_request$paging4","_request$cursorPaging4","_options$includeRefer2","_request$sort","aggregate","aggregatePipeline","WixDataAggregateImpl","aggregateValidations","aggregateInvalid","toOperation","itemFieldName","initialFilter","aggregation","groupingFields","groupBy","operations","aggregates","a","resultFieldName","name","average","avg","min","max","sum","itemCount","count","finalFilter","havingTree","saveReferences","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","suppressHooks","draftsOptions","showDrafts","conditionOptions","condition","includeReferencedItems","res","appOptions","entries","every","kv","language","publishPluginOptions","includeDraftItems","fieldOrder","providerOrValue","code","error","_details","Error","details","applicationError","Promise","resolve","reject","hasFieldWithDollar","hasField","key","startsWith","hasFieldWithDot","includes","console","warn","errors","flatMap","_r$itemMetadata","_r$itemMetadata2","_r$itemMetadata$error","itemMetadata","success","fieldViolations","BulkError","description","originalIndex","_r$itemMetadata3","inserted","BulkActionType","INSERT","updated","UPDATE","PATCH","removed","DELETE","skipped","insertedItemIds","_r$itemMetadata4","updatedItemIds","_r$itemMetadata5","removedItemIds","_r$itemMetadata6","rest","keys","notEmpty","xOrXs","isArray","commonApiValidator"],"sources":["../../../src/api/WixDataApi.ts"],"sourcesContent":["import {\n apiValidator as commonApiValidator,\n messages,\n BulkError,\n wdeValidationError,\n} from '../errors'\nimport { HttpApiClientFactory } from '../types'\nimport * as apiTypes from '../types/data-item-types'\n\nimport { hasField, isObject, isArray } from '../utils'\nimport { filterBuilder } from './common'\nimport {\n Provider,\n WixDataAggregateOptions,\n WixDataBulkResult,\n WixDataItem,\n WixDataItemOrId,\n WixDataOptions,\n WixDataInsertOptions,\n WixDataRemoveOptions,\n WixDataQueryReferencedOptions,\n WixDataCountOptions,\n WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WithIncludeFieldGroupsOption,\n WixDataReference,\n WixDataUpdateOptions,\n WixDataBulkUpdateOptions,\n WixDataSaveOptions,\n WixDataQueryRequest,\n WixDataDirectQueryOptions,\n WixDataDistinctOptions,\n WixDataSearchRequest,\n WixDataDirectSearchOptions,\n WixDataBulkInsertOptions,\n WixDataBulkSaveOptions,\n WixDataAsyncByFilterOptions,\n WixDataAsyncJob,\n WixDataAsyncJobStatus,\n WixDataFilterInput,\n} from './types'\nimport { QueryParams, WixDataQueryImpl } from './impl/WixDataQueryImpl'\nimport { WixDataQuery } from './WixDataQuery'\nimport { WixDataResultImpl, PageFetcher } from './impl/WixDataResultImpl'\nimport { WixDataAggregateImpl } from './impl/WixDataAggregateImpl'\nimport { ApiClient } from './ApiClient'\nimport {\n WixDataPatch,\n WixDataBulkPatch,\n WixDataPatchByFilter,\n WixDataBulkPatchOptions,\n WixDataPatchOptions,\n} from './WixDataPatch'\nimport { FieldModification } from './FieldModification'\nimport { WixDataAggregate } from './WixDataAggregate'\nimport { WixDataFilter } from './WixDataFilter'\nimport { WixDataResult } from './WixDataResult'\nimport {\n WixDataBulkPatchImpl,\n WixDataPatchByFilterImpl,\n WixDataPatchImpl,\n} from './impl/WixDataPatchImpl'\nimport { WixDataSearch } from './WixDataSearch'\nimport { WixDataSearchImpl } from './impl/WixDataSearchImpl'\n\nfunction createFilter(filter: WixDataFilter): Record<string, any> {\n if (filter == null) {\n return {}\n }\n const anyFilter = filter as any\n if (typeof anyFilter.getFilterModel === 'function') {\n try {\n const model = anyFilter.getFilterModel()\n if (model != null) {\n return model\n }\n } catch (_e) {\n // fall back below\n }\n }\n if (anyFilter.filterTree != null) {\n return anyFilter.filterTree as Record<string, any>\n }\n return {}\n}\n\nfunction createExplicitFilter(filter: WixDataFilterInput): Record<string, any> {\n if (filter == null) {\n throw wdeValidationError(messages.filterMustBeAnObject())\n }\n\n const anyFilter = filter as any\n if (typeof anyFilter.getFilterModel === 'function') {\n return anyFilter.getFilterModel() ?? {}\n }\n if (anyFilter.filterTree != null) {\n return anyFilter.filterTree as Record<string, any>\n }\n if (isObject(filter)) {\n return filter as Record<string, any>\n }\n\n throw wdeValidationError(messages.filterMustBeAnObject())\n}\n\ntype ProvidedOpt<T> = T | undefined | Provider<T | undefined>\ntype TraceWith = (\n label: string,\n opts?: object\n) => <T>(fn: () => Promise<T>) => Promise<T>\n\nexport class WixDataApi {\n private client: ApiClient\n\n constructor(\n clientFactory: HttpApiClientFactory<any>,\n allowGet: boolean,\n private readonly environment?: apiTypes.Environment,\n private readonly gridAppId?: ProvidedOpt<string>,\n private readonly tracer?: TraceWith\n ) {\n this.client = new ApiClient(clientFactory, allowGet)\n }\n\n get wixData(): WixDataApi {\n return this\n }\n\n get filter(): WixDataFilter {\n return filterBuilder()\n }\n\n // NOTE sort method for builder is not implemented\n\n truncate = withArgs(\n async (\n args,\n collectionName: string,\n options?: WixDataOptions\n ): Promise<void> => {\n await apiValidator()\n .arity('truncate', args, 1, 2)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n return this.trace('truncate', { collectionName })(async (env) => {\n await this.client.truncateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toOptions(options),\n })\n })\n }\n )\n\n // --- single-item methods ---\n\n get = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataReadWithProjectionOptions & WithIncludeFieldGroupsOption\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('get', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('get', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .getDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toReadOptions(options),\n fields: options?.fields,\n includeReferences: options?.includeReferences,\n ...(options?.includeFieldGroups?.length\n ? { includeFieldGroups: options.includeFieldGroups }\n : {}),\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n insert = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataUpdateOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('insert', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n warnAboutBrokenFields(item)\n\n return this.trace('insert', { collectionName })(async (env) => {\n const { dataItem } = await this.client.insertDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toInsertOptions(options),\n })\n\n return toDataItem(dataItem!)\n })\n }\n )\n\n save = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataSaveOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('save', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('save', { collectionName })(async (env) => {\n const { dataItem } = await this.client.saveDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toSaveOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n update = withArgs(\n async (\n args,\n collectionName: string,\n item: WixDataItem,\n options?: WixDataUpdateOptions\n ) => {\n await apiValidator()\n .arity('update', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('update', { collectionName })(async (env) => {\n const { dataItem } = await this.client.updateDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n remove = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataRemoveOptions\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('remove', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('remove', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .removeDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toRemoveOptions(options),\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n private toFieldModificationApi = (\n fieldModification: FieldModification\n ): apiTypes.FieldModification => {\n switch (fieldModification.action) {\n case 'SET_FIELD':\n return {\n action: apiTypes.ACTION.SET_FIELD,\n fieldPath: fieldModification.fieldPath,\n setFieldOptions: {\n value: fieldModification.value,\n },\n }\n case 'REMOVE_FIELD':\n return {\n action: apiTypes.ACTION.REMOVE_FIELD,\n fieldPath: fieldModification.fieldPath,\n }\n case 'INCREMENT_FIELD':\n return {\n action: apiTypes.ACTION.INCREMENT_FIELD,\n fieldPath: fieldModification.fieldPath,\n incrementFieldOptions: {\n value: fieldModification.value,\n },\n }\n case 'APPEND_TO_ARRAY':\n return {\n action: apiTypes.ACTION.APPEND_TO_ARRAY,\n fieldPath: fieldModification.fieldPath,\n appendToArrayOptions: {\n value: fieldModification.value,\n },\n }\n case 'REMOVE_FROM_ARRAY':\n return {\n action: apiTypes.ACTION.REMOVE_FROM_ARRAY,\n fieldPath: fieldModification.fieldPath,\n removeFromArrayOptions: {\n value: fieldModification.value,\n },\n }\n }\n }\n\n /**\n * Returns a patch builder for the specified collection and item.\n * @param collectionName - Name of the collection containing the item to patch.\n * @param itemId - ID of the item to patch.\n * @returns A `WixDataPatch` builder object.\n */\n patch(collectionName: string, itemId: string): WixDataPatch\n\n /**\n * Executes a patch directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection containing the item to patch.\n * @param itemId - ID of the item to patch.\n * @param fieldModifications - Field modifications to apply to the item.\n * @param options - Additional options for the patch operation.\n * @returns Promise that resolves to the patched item, or `null` if no item was returned.\n */\n patch<Item = WixDataItem>(\n collectionName: string,\n itemId: string,\n fieldModifications?: FieldModification[],\n options?: WixDataPatchOptions\n ): Promise<Item | null>\n\n patch<Item = WixDataItem>(\n collectionName: string,\n itemId: string,\n fieldModifications?: FieldModification[],\n options?: WixDataPatchOptions\n ): WixDataPatch | Promise<Item | null> {\n if (arguments.length >= 3) {\n return this.executeDirectPatch<Item>(\n collectionName,\n itemId,\n fieldModifications,\n options\n )\n }\n\n return new WixDataPatchImpl({\n collectionName,\n itemId,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('patch', { collectionName })(async (env) => {\n const result = await this.client.patchDataItem({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patch: {\n dataItemId: patchParams.itemId,\n fieldModifications,\n },\n ...toPatchOptions(options),\n })\n\n return result.dataItem ? toDataItem(result.dataItem) : null\n })\n },\n })\n }\n\n private async executeDirectPatch<Item = WixDataItem>(\n collectionName: string,\n itemId: string,\n fieldModifications: FieldModification[] | undefined,\n options?: WixDataPatchOptions\n ): Promise<Item | null> {\n const apiFieldModifications = fieldModifications?.map(\n this.toFieldModificationApi\n )\n\n return this.trace('patch', { collectionName })(async (env) => {\n const result = await this.client.patchDataItem({\n ...env,\n dataCollectionId: collectionName,\n patch: {\n dataItemId: itemId,\n fieldModifications: apiFieldModifications,\n },\n ...toPatchOptions(options),\n })\n\n return result.dataItem ? (toDataItem(result.dataItem) as Item) : null\n })\n }\n\n bulkPatch(collectionName: string, itemIds: string[]): WixDataBulkPatch\n\n /**\n * Executes a bulk patch directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection containing the items to patch.\n * @param itemIds - IDs of the items to patch.\n * @param fieldModifications - Field modifications to apply to the items.\n * @param options - Additional options for the bulk patch operation.\n * @returns Promise that resolves to bulk operation results.\n */\n bulkPatch(\n collectionName: string,\n itemIds: string[],\n fieldModifications?: FieldModification[],\n options?: WixDataBulkPatchOptions\n ): Promise<WixDataBulkResult>\n\n bulkPatch(\n collectionName: string,\n itemIds: string[],\n fieldModifications?: FieldModification[],\n options?: WixDataBulkPatchOptions\n ): WixDataBulkPatch | Promise<WixDataBulkResult> {\n if (arguments.length >= 3) {\n return this.executeDirectBulkPatch(\n collectionName,\n itemIds,\n fieldModifications,\n options\n )\n }\n\n return new WixDataBulkPatchImpl({\n collectionName,\n itemIds,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('bulkPatch', { collectionName })(async (env) => {\n const { results } = await this.client.bulkPatchDataItems({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patches: patchParams.itemIds.map((itemId) => ({\n dataItemId: itemId,\n fieldModifications,\n })),\n ...toPatchOptions(options),\n })\n\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n },\n })\n }\n\n private async executeDirectBulkPatch(\n collectionName: string,\n itemIds: string[],\n fieldModifications: FieldModification[] | undefined,\n options?: WixDataBulkPatchOptions\n ): Promise<WixDataBulkResult> {\n const apiFieldModifications = fieldModifications?.map(\n this.toFieldModificationApi\n )\n\n return this.trace('bulkPatch', { collectionName })(async (env) => {\n const { results } = await this.client.bulkPatchDataItems({\n ...env,\n dataCollectionId: collectionName,\n patches: itemIds.map((itemId) => ({\n dataItemId: itemId,\n fieldModifications: apiFieldModifications,\n })),\n ...toPatchOptions(options),\n })\n\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n }\n\n asyncPatchByFilter = (\n collectionName: string,\n filter: WixDataFilterInput\n ): WixDataPatchByFilter => {\n const apiFilter = createExplicitFilter(filter)\n\n return new WixDataPatchByFilterImpl({\n collectionName,\n filter: apiFilter,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('asyncPatchByFilter', { collectionName })(\n async (env) => {\n const { jobId } = await this.client.asyncPatchDataItemsByFilter({\n ...env,\n dataCollectionId: patchParams.collectionName,\n filter: patchParams.filter,\n fieldModifications,\n ...toAsyncByFilterOptions(options),\n })\n\n return { jobId: jobId! }\n }\n )\n },\n })\n }\n\n asyncRemoveByFilter = withArgs(\n async (\n args,\n collectionName: string,\n filter: WixDataFilterInput,\n options?: WixDataAsyncByFilterOptions\n ): Promise<WixDataAsyncJob> => {\n await apiValidator()\n .arity('asyncRemoveByFilter', args, 2, 3)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n const apiFilter = createExplicitFilter(filter)\n\n return this.trace('asyncRemoveByFilter', { collectionName })(\n async (env) => {\n const { jobId } = await this.client.asyncRemoveDataItemsByFilter({\n ...env,\n dataCollectionId: collectionName,\n filter: apiFilter,\n ...toAsyncByFilterOptions(options),\n })\n\n return { jobId: jobId! }\n }\n )\n }\n )\n\n getAsyncJobStatus = withArgs(\n async (args, jobId: string): Promise<WixDataAsyncJobStatus> => {\n await apiValidator()\n .arity('getAsyncJobStatus', args, 1, 1)\n .isNonEmptyString(jobId, 'jobId')\n .validateAndReject()\n\n const { status, successCount } = await this.client.getAsyncJobStatus({\n jobId,\n })\n\n return { status, successCount }\n }\n )\n\n // --- query, count, distinct ---\n\n /**\n * Returns a query builder for the specified collection.\n * @param collectionName - Name of the collection to query.\n * @returns A `WixDataQuery` builder object.\n */\n query(collectionName: string): WixDataQuery\n\n /**\n * Executes a query directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection to query.\n * @param queryRequest - Query parameters including filter, sort, paging, and fields.\n * @param options - Additional options including includeReferences.\n * @returns Promise that resolves to the query results.\n */\n query<Item = WixDataItem>(\n collectionName: string,\n queryRequest: WixDataQueryRequest,\n options?: WixDataDirectQueryOptions\n ): Promise<WixDataResult<Item>>\n\n query<Item = WixDataItem>(\n collectionName: string,\n queryRequest?: WixDataQueryRequest,\n options?: WixDataDirectQueryOptions\n ): WixDataQuery | Promise<WixDataResult<Item>> {\n // Direct query execution mode\n if (queryRequest !== undefined) {\n return this.executeDirectQuery<Item>(\n collectionName,\n queryRequest,\n options\n )\n }\n\n // Builder mode\n const ensureValidQuery = (invalidArgs: string[]) => {\n if (invalidArgs.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, invalidArgs)\n )\n }\n }\n\n return new WixDataQueryImpl({\n collectionName,\n onCount: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('count', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n return this.trace('count', { collectionName })(async (env) => {\n const { totalCount } = await this.client.countDataItems({\n ...env,\n dataCollectionId: collectionName,\n filter: params.filterTree,\n ...toReadOptions(options),\n })\n return totalCount!\n })\n },\n onDistinct: async (args, params, field, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('distinct', args, 1, 2)\n .fieldName(field)\n .options(options)\n .validateAndReturn(),\n ])\n\n const order = toSort(params.orderBy).find(\n (o) => o.fieldName === field\n )?.order\n\n const fetch: PageFetcher<any> = (cursorOrOffset, returnTotalCount) =>\n this.trace('distinct', { collectionName, field })(async (env) => {\n const { distinctValues, pagingMetadata } =\n await this.client.queryDistinctValues({\n ...env,\n dataCollectionId: collectionName,\n ...toReadOptions(options),\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n fieldName: field,\n filter: params.filterTree,\n order,\n returnTotalCount,\n }\n : {}),\n })\n return [distinctValues!, pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n onFind: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('find', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n fields: params.projectedFields,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n filter: params.filterTree,\n sort: toSort(params.orderBy),\n }\n : {}),\n },\n includeReferences: params.included,\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset) ? { returnTotalCount } : {}),\n ...(params.randomSortOptions\n ? {\n sortMode: apiTypes.SortMode.RANDOM,\n randomOptions: { seed: params.randomSortOptions.seed },\n }\n : {}),\n ...(params.fieldGroups.length > 0\n ? { includeFieldGroups: params.fieldGroups }\n : {}),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n private async executeDirectQuery<Item = WixDataItem>(\n collectionName: string,\n request: WixDataQueryRequest,\n options?: WixDataDirectQueryOptions\n ): Promise<WixDataResult<Item>> {\n const validationErrors = apiValidator()\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn()\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, validationErrors)\n )\n }\n\n const limit = request.paging?.limit ?? request.cursorPaging?.limit\n const offset = request.paging?.offset ?? 0\n const cursor = request.cursorPaging?.cursor\n const sort: QueryParams['orderBy'] = (request.sort ?? []).map((s) => ({\n [s.fieldName]: s.order === 'DESC' ? 'desc' : 'asc',\n }))\n const includeReferences = options?.includeReferences?.map((inc) => ({\n field: inc.field,\n limit: inc.limit,\n }))\n\n const fetch: PageFetcher<Item> = (cursorOrOffset, returnTotalCount) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } = await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n fields: request.fields,\n ...toPaging(limit, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n filter: request.filter,\n sort: toSort(sort),\n }\n : {}),\n },\n includeReferences,\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset) ? { returnTotalCount } : {}),\n ...(options?.includeFieldGroups?.length\n ? { includeFieldGroups: options.includeFieldGroups }\n : {}),\n })\n return [dataItems!.map(toDataItem) as Item[], pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n cursor ?? offset,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl<Item>(items, paging, fetch, {\n collectionName,\n limitNumber: limit,\n skipNumber: offset,\n })\n }\n\n /**\n * Returns a search builder for the specified collection.\n * @param collectionName - Name of the collection to search.\n * @returns A `WixDataSearch` builder object.\n */\n search(collectionName: string): WixDataSearch\n\n /**\n * Executes a search directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection to search.\n * @param searchRequest - Search parameters including expression, filter, sort, and paging.\n * @param options - Additional options including referencedItemOptions.\n * @returns Promise that resolves to the search results.\n */\n search(\n collectionName: string,\n searchRequest: WixDataSearchRequest,\n options?: WixDataDirectSearchOptions\n ): Promise<WixDataResult>\n\n search(\n collectionName: string,\n searchRequest?: WixDataSearchRequest,\n options?: WixDataDirectSearchOptions\n ): WixDataSearch | Promise<WixDataResult> {\n if (searchRequest !== undefined) {\n return this.executeDirectSearch(collectionName, searchRequest, options)\n }\n\n const ensureValidQuery = (invalidArgs: string[]) => {\n if (invalidArgs.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, invalidArgs)\n )\n }\n }\n\n return new WixDataSearchImpl({\n collectionName,\n onRun: async (\n params,\n options?: WixDataReadOptions\n ): Promise<WixDataResult> => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn(),\n ])\n\n const expression = params.queryText\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('search', { collectionName, expression })(async (env) => {\n const request: apiTypes.SearchDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n search: {\n filter: params.filterTree,\n sort: toSort(params.orderBy),\n fields: params.projectedFields,\n search: {\n expression: params.queryText,\n fuzzy: params.isFuzzy,\n mode: params.searchMode,\n },\n ...toPaging(params.limitNumber, cursorOrOffset),\n },\n includeReferences: params.included,\n ...toReadOptions(options),\n }\n\n const { dataItems, pagingMetadata } =\n await this.client.searchDataItems(request)\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(params.skipNumber)\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n private async executeDirectSearch(\n collectionName: string,\n request: WixDataSearchRequest,\n options?: WixDataDirectSearchOptions\n ): Promise<WixDataResult> {\n const validationErrors = apiValidator()\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn()\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, validationErrors)\n )\n }\n\n const limit = request.paging?.limit ?? request.cursorPaging?.limit\n const offset = request.paging?.offset ?? 0\n const cursor = request.cursorPaging?.cursor\n const includeReferences = options?.includeReferences?.map((inc) => ({\n field: inc.field,\n limit: inc.limit,\n }))\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('search', { collectionName, search: request.search })(\n async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.searchDataItems({\n ...env,\n dataCollectionId: collectionName,\n search: {\n fields: request.fields,\n filter: request.filter,\n sort: request.sort?.map((s) => ({\n fieldName: s.fieldName,\n order: s.order as any,\n })),\n search: request.search as apiTypes.SearchDetails,\n ...toPaging(limit, cursorOrOffset),\n },\n includeReferences,\n ...toReadOptions(options),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n }\n )\n\n const [items, paging] = await fetch(cursor ?? offset)\n\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: limit,\n skipNumber: offset,\n })\n }\n\n // NOTE find method is not implemented\n\n fetch = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('fetch', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n ...toPaging(limit, cursorOrOffset),\n },\n ...toReadOptions(options),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(cursor)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n collectionName,\n skipNumber: 0,\n })\n }\n )\n\n // --- aggregate ---\n\n aggregate(collectionName: string): WixDataAggregate\n\n /**\n * Executes an aggregation pipeline directly on a data collection.\n * @internal\n * @param collectionName - Name of the collection to run the aggregation on.\n * @param pipeline - Aggregation pipeline with stages and paging.\n * @param options - Options for running the aggregation.\n * @returns Promise that resolves to the aggregation results.\n */\n aggregate(\n collectionName: string,\n pipeline: apiTypes.AggregationPipeline,\n options?: WixDataAggregateOptions\n ): Promise<apiTypes.AggregatePipelineDataItemsResponse>\n\n aggregate(\n collectionName: string,\n pipeline?: apiTypes.AggregationPipeline,\n options?: WixDataAggregateOptions\n ): WixDataAggregate | Promise<apiTypes.AggregatePipelineDataItemsResponse> {\n if (pipeline !== undefined) {\n return this.aggregatePipeline(collectionName, pipeline, options)\n }\n\n return new WixDataAggregateImpl({\n collectionName,\n onRun: async (args, params, options) => {\n const validationErrors = [\n ...params.invalidArguments,\n ...apiValidator()\n .arity('run', args, 0, 1)\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn(),\n ]\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.aggregateValidations.aggregateInvalid(\n collectionName,\n validationErrors\n )\n )\n }\n\n const fetch: PageFetcher<Record<string, any>> = (\n cursorOrOffset,\n returnTotalCount\n ) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const toOperation = (field?: string) =>\n field ? { itemFieldName: field } : undefined\n\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset)\n ? {\n initialFilter: params.filterTree,\n aggregation: {\n groupingFields: params.groupBy,\n operations: params.aggregates.map((a) => ({\n resultFieldName: a.name,\n average: toOperation(a.avg),\n min: toOperation(a.min),\n max: toOperation(a.max),\n sum: toOperation(a.sum),\n itemCount: a.count ? {} : undefined,\n })),\n },\n finalFilter: params.havingTree,\n sort: toSort(params.orderBy),\n returnTotalCount,\n }\n : {}),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n fetchAggregate = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ) => {\n await apiValidator()\n .arity('fetchAggregate', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher<Record<string, any>> = (cursorOrOffset) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(limit, cursorOrOffset),\n ...toReadOptions(options),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor, true)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n skipNumber: 0,\n collectionName,\n })\n }\n )\n\n aggregatePipeline = withArgs(\n async (\n args,\n collectionName: string,\n pipeline: apiTypes.AggregationPipeline,\n options?: WixDataAggregateOptions\n ): Promise<apiTypes.AggregatePipelineDataItemsResponse> => {\n await apiValidator()\n .arity('aggregatePipeline', args, 2, 3)\n .collectionName(collectionName)\n .validateAndReject()\n\n return this.trace('aggregatePipeline', { collectionName })(\n async (env) => {\n const request: apiTypes.AggregatePipelineDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n pipeline,\n ...options,\n }\n\n return this.client.aggregatePipelineDataItems(request)\n }\n )\n }\n )\n\n distinct = withArgs(\n async (\n args,\n collectionName: string,\n fieldName: string,\n options?: WixDataDistinctOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('distinct', args, 2, 3)\n .collectionName(collectionName)\n .fieldName(fieldName)\n .options(options)\n .validateAndReject()\n\n const limit = options?.paging?.limit ?? options?.cursorPaging?.limit\n const offset = options?.paging?.offset ?? 0\n const cursor = options?.cursorPaging?.cursor\n\n const fetch: PageFetcher<any> = (cursorOrOffset, returnTotalCount) =>\n this.trace('distinct', { collectionName, field: fieldName })(\n async (env) => {\n const { distinctValues, pagingMetadata } =\n await this.client.queryDistinctValues({\n ...env,\n dataCollectionId: collectionName,\n ...toReadOptions(options),\n ...toPaging(limit, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n fieldName,\n filter: options?.filter,\n order: options?.order,\n returnTotalCount,\n }\n : {}),\n })\n return [distinctValues!, pagingMetadata!]\n }\n )\n\n const [items, paging] = await fetch(\n cursor ?? offset,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: limit,\n skipNumber: offset,\n })\n }\n )\n\n /** @internal */\n count = withArgs(\n async (\n args,\n collectionName: string,\n options?: WixDataCountOptions\n ): Promise<number> => {\n await apiValidator()\n .arity('count', args, 1, 2)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n const { filter, ...readOptions } = options ?? {}\n\n return this.trace('count', { collectionName })(async (env) => {\n const { totalCount } = await this.client.countDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...(filter ? { filter } : {}),\n ...toReadOptions(readOptions),\n })\n return totalCount!\n })\n }\n )\n\n // --- bulk methods ---\n\n bulkRemove = withArgs(\n async (\n args,\n collectionName: string,\n itemIds: string[],\n options?: WixDataOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkRemove', args, 2, 3)\n .collectionName(collectionName)\n .itemIds(itemIds, collectionName)\n .bulkRemoveOptions(options)\n .validateAndReject()\n\n return this.trace('bulkRemove', { collectionName })(async (env) => {\n const { results } = await this.client.bulkRemoveDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItemIds: itemIds,\n ...toRemoveOptions(options as any),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n }\n )\n\n private async runBulkSave(\n env: { environment?: apiTypes.Environment; appId?: string },\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataBulkSaveOptions,\n overrideExisting: boolean = true\n ): Promise<WixDataBulkResult> {\n const request: apiTypes.BulkInsertDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toOptions(options),\n saveReferences: options?.saveReferences,\n }\n const { results } = await (overrideExisting\n ? this.client.bulkSaveDataItems(request)\n : this.client.bulkInsertDataItems(request))\n const ignoreCodes = overrideExisting ? [] : ['WDE0074']\n return toBulkResult(items, results!, ignoreCodes)\n }\n\n bulkInsert = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataBulkInsertOptions & { overrideExisting?: boolean }\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkInsert', args, 2, 3)\n .items(items, collectionName)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .validateAndReject()\n\n return this.trace('bulkInsert', { collectionName, options })(\n async (appId) =>\n this.runBulkSave(\n appId,\n collectionName,\n items,\n options,\n options?.overrideExisting ?? false\n )\n )\n }\n )\n\n bulkSave = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataBulkSaveOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkSave', args, 2, 3)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkSave', { collectionName })(async (env) =>\n this.runBulkSave(env, collectionName, items, options)\n )\n }\n )\n\n bulkUpdate = withArgs(\n async (\n args,\n collectionName: string,\n items: WixDataItem[],\n options?: WixDataBulkUpdateOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkUpdate', args, 2, 3)\n .bulkUpdateOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkUpdate', { collectionName })(async (env) => {\n const { results } = await this.client.bulkUpdateDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toBulkUpdateOptions(options),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(items, results!, ['WDE0073'])\n })\n }\n )\n\n // --- references ---\n\n fetchReferenced = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadWithProjectionOptions\n ): Promise<WixDataResult<WixDataItem | string>> => {\n await apiValidator()\n .arity('fetchReferenced', args, 2, 4)\n .isNonEmptyString(cursor, 'cursor')\n .collectionName(collectionName)\n .validateAndReject()\n\n const fetch: PageFetcher<WixDataItem | string> = (current) =>\n this.trace('fetchReferenced', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(limit, current),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor)\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: limit,\n skipNumber: 0,\n })\n }\n )\n\n queryReferenced = withArgs(\n async (\n args,\n collectionName: string,\n holdingItem: WixDataItemOrId,\n relationshipAttribute: string,\n options?: WixDataQueryReferencedOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('queryReferenced', args, 3, 4)\n .collectionName(collectionName)\n .referenceParameter(holdingItem)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n const id = itemId(holdingItem)\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('queryReferenced', {\n collectionName,\n itemId: id,\n options,\n relationshipAttribute,\n })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(options?.limit ?? 50, cursorOrOffset),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n ...(isOffset(cursorOrOffset)\n ? {\n referringItemId: id,\n referringItemFieldName: relationshipAttribute,\n order:\n options?.order === 'asc'\n ? apiTypes.SortOrder.ASC\n : options?.order === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined,\n returnTotalCount,\n }\n : {}),\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n options?.skip ?? 0,\n options?.returnTotalCount\n )\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: options?.limit ?? 50,\n skipNumber: options?.skip ?? 0,\n })\n }\n )\n\n insertReference: {\n // overload with array of references\n (\n collectionName: string,\n refs: WixDataReference[],\n options?: WixDataOptions\n ): Promise<void>\n // overload with separate left and right(s)\n (\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void>\n } = withArgs(\n async (\n args,\n collectionName: string,\n refsOrAttr: any,\n leftOrOpts?: any,\n right?: any,\n options?: any\n ) => {\n let refs: WixDataReference[]\n let opts: WixDataOptions\n let argc: [number, number]\n\n if (typeof refsOrAttr === 'string') {\n const rights: WixDataItemOrId[] = asArray(right)\n refs = rights.map((r) => ({\n relationshipName: refsOrAttr,\n left: leftOrOpts as WixDataItemOrId,\n right: r,\n }))\n opts = options\n argc = [4, 5]\n } else {\n refs = refsOrAttr\n opts = leftOrOpts\n argc = [2, 3]\n }\n await apiValidator()\n .arity('insertReference', args, ...argc)\n .collectionName(collectionName)\n .references(refs)\n .options(opts)\n .validateAndReject()\n\n await this.trace('insertReference', { collectionName })(async (env) =>\n this.client.bulkInsertDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: refs.map((r) => ({\n referringItemFieldName: r.relationshipName,\n referringItemId: itemId(r.left),\n referencedItemId: itemId(r.right),\n })),\n ...toOptions(opts),\n })\n )\n }\n )\n\n replaceReferences = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void> => {\n const rights = asArray(right)\n await apiValidator()\n .arity('replaceReferences', args, 4, 5)\n .collectionName(collectionName)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .referenceParameter(left)\n .referenceParameters(rights)\n .options(options)\n .validateAndReject()\n\n await this.trace('replaceReferences', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.replaceDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n newReferencedItemIds: rights.map(itemId),\n ...toOptions(options),\n })\n )\n }\n )\n\n removeReference = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ) => {\n const rights = asArray(right)\n await apiValidator()\n .arity('removeReference', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceRemoveParameters(rights)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n await this.trace('removeReference', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.bulkRemoveDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: rights.map((r) => ({\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(r),\n })),\n ...toOptions(options),\n })\n )\n }\n )\n\n isReferenced = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId,\n options?: WixDataReadOptions\n ): Promise<boolean> => {\n await apiValidator()\n .arity('isReferenced', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceParameter(right)\n .options(options)\n .validateAndReject()\n\n return this.trace('isReferenced', {\n collectionName,\n relationshipAttribute,\n })(async (env) => {\n const { isReferenced } = await this.client.isReferencedDataItem({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(right),\n ...toReadOptions(options),\n consistentRead: options?.consistentRead,\n })\n return isReferenced!\n })\n }\n )\n\n private trace(\n action: string,\n opts: object\n ): <R>(\n fn: (env: {\n environment?: apiTypes.Environment\n appId?: string\n }) => Promise<R>\n ) => Promise<R> {\n return async (fn) => {\n const gridAppId = await get(this.gridAppId)\n const env = { appId: gridAppId, environment: this.environment }\n if (this.tracer) {\n return this.tracer(`WixDataApi.${action}`, {\n ...opts,\n gridAppId,\n environment: this.environment,\n })(() => fn(env))\n }\n return fn(env)\n }\n }\n}\n\nfunction withArgs<Args extends any[], R>(\n fn: (all: IArguments, ...args: Args) => R\n): (...args: Args) => R {\n return function (...args) {\n return fn(arguments, ...args)\n }\n}\n\nfunction toPatchOptions(options?: WixDataPatchOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n ...draftsOptions(options?.showDrafts),\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toAsyncByFilterOptions(options?: WixDataAsyncByFilterOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n ...draftsOptions(options?.showDrafts),\n }\n}\n\nfunction toInsertOptions(options?: WixDataInsertOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n saveReferences: options?.saveReferences,\n }\n}\n\nfunction toSaveOptions(options?: WixDataSaveOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n saveReferences: options?.saveReferences,\n }\n}\n\nfunction toUpdateOptions(options?: WixDataUpdateOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n saveReferences: options?.saveReferences,\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toBulkUpdateOptions(options?: WixDataBulkUpdateOptions) {\n return {\n ...toOptions(options),\n saveReferences: options?.saveReferences,\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toOptions(opts?: WixDataOptions) {\n if (!opts) {\n return undefined\n }\n const res = {\n suppressHooks: opts.suppressHooks,\n appOptions: opts.appOptions,\n ...draftsOptions(opts?.showDrafts),\n }\n if (Object.entries(res).every((kv) => kv[1] === undefined)) {\n return undefined\n }\n return res\n}\n\nfunction toReadOptions(options?: WixDataReadOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n appOptions: options?.appOptions,\n ...draftsOptions(options?.showDrafts),\n consistentRead: options?.consistentRead,\n language: options?.language,\n }\n}\n\nfunction conditionOptions(condition?: WixDataFilter) {\n return condition != undefined\n ? {\n condition: {\n filter: createFilter(condition),\n },\n }\n : { condition: undefined }\n}\n\nfunction toRemoveOptions(options?: WixDataRemoveOptions) {\n return {\n ...toOptions(options),\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction draftsOptions(showDrafts?: boolean) {\n return showDrafts !== undefined\n ? { publishPluginOptions: { includeDraftItems: showDrafts } }\n : {}\n}\n\nfunction toDataItem(item: apiTypes.DataItem): WixDataItem {\n return item.data as WixDataItem\n}\n\nfunction toPaging(limit: number | undefined, cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'string'\n ? {\n cursorPaging: {\n limit,\n cursor: cursorOrOffset,\n },\n }\n : limit !== undefined || cursorOrOffset > 0\n ? {\n paging: {\n limit,\n offset: cursorOrOffset,\n },\n }\n : {}\n}\n\nfunction toSort(orderBy: QueryParams['orderBy']): apiTypes.Sorting[] {\n return orderBy.map((fieldOrder) => {\n const [[fieldName, sort]] = Object.entries(fieldOrder)\n const order =\n sort === 'asc'\n ? apiTypes.SortOrder.ASC\n : sort === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined\n return { fieldName, order }\n })\n}\n\nasync function get<T>(providerOrValue: T | Provider<T>): Promise<T> {\n if (typeof (providerOrValue as any)?.get === 'function') {\n return (providerOrValue as Provider<T>).get()\n }\n return providerOrValue as T\n}\n\nfunction recover<T>(code: string, value: T): (error: unknown) => Promise<T> {\n return (error) => {\n if (\n error instanceof Error &&\n (error as any)?.details?.applicationError?.code === code\n ) {\n return Promise.resolve(value)\n }\n return Promise.reject(error)\n }\n}\n\nfunction warnAboutBrokenFields(item: Partial<WixDataItem>) {\n const hasFieldWithDollar = hasField(item, (key) => key.startsWith('$'))\n const hasFieldWithDot = hasField(item, (key) => key.includes('.'))\n if (hasFieldWithDollar) {\n console.error(\n \"Data inserted contains field name prefixed with symbol '$'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n if (hasFieldWithDot) {\n console.warn(\n \"Data inserted contains field name containing symbol '.'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n}\n\nfunction toBulkResult(\n request: any[],\n results: apiTypes.BulkDataItemResult[],\n ignoreCodes: string[] = []\n): WixDataBulkResult {\n const errors = results.flatMap((r) => {\n if (r.itemMetadata?.success || !r.itemMetadata?.error) {\n return []\n }\n if (ignoreCodes.includes(r.itemMetadata.error.code ?? '')) {\n return []\n }\n const fieldViolations = r.itemMetadata.error.data?.fieldViolations\n return [\n new BulkError(\n r.itemMetadata.error.description!,\n r.itemMetadata.error.code!,\n request[r.itemMetadata.originalIndex!],\n 'BulkError',\n r.itemMetadata.originalIndex!,\n fieldViolations\n ),\n ]\n })\n const success = results.filter((r) => r.itemMetadata?.success)\n const inserted = success.filter(\n (r) => r.action === apiTypes.BulkActionType.INSERT\n )\n const updated = success.filter(\n (r) =>\n r.action === apiTypes.BulkActionType.UPDATE ||\n r.action === apiTypes.BulkActionType.PATCH\n )\n const removed = success.filter(\n (r) => r.action === apiTypes.BulkActionType.DELETE\n )\n return {\n inserted: inserted.length,\n updated: updated.length,\n removed: removed.length,\n skipped: request.length - errors.length - success.length,\n errors,\n insertedItemIds: inserted.map((r) => r.itemMetadata?.id!),\n updatedItemIds: updated.map((r) => r.itemMetadata?.id!),\n removedItemIds: removed.map((r) => r.itemMetadata?.id!),\n }\n}\n\nfunction unwrapAggregationId(\n items: Record<string, any>[]\n): Record<string, any>[] {\n // When grouping by one field WixDataService returns value on _id field directly, DataItemService wraps it in an object, i.e.\n // grouping by surname returns {_id: 'Simpson'} in WixDataService vs {_id: {surname: 'Simpson'}} in DataItemService\n // When grouping by more fields, values are kept wrapped.\n return items.map((item) => {\n const id = item._id\n if (isObject(id)) {\n const [key, ...rest] = Object.keys(id)\n if (rest.length === 0) {\n item._id = id[key]\n return item\n }\n }\n return item\n })\n}\n\nfunction onlyReferencedItems(\n results: apiTypes.ReferencedResult[]\n): WixDataItem[] {\n return results\n .map((result) => result.dataItem)\n .filter(notEmpty)\n .map(toDataItem)\n}\n\nfunction notEmpty<T>(value: T | null | undefined): value is T {\n return value != null\n}\n\nfunction itemId(item: WixDataItemOrId): string {\n return typeof item === 'string' ? item : item._id\n}\n\nfunction asArray<T>(xOrXs: T | T[]): T[] {\n return isArray(xOrXs) ? (xOrXs as T[]) : [xOrXs as T]\n}\n\nfunction isOffset(cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'number'\n}\n\nconst ItemDoesNotExistCode = 'WDE0073'\n\nfunction apiValidator() {\n return commonApiValidator(wdeValidationError)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_errors","require","apiTypes","_interopRequireWildcard","_utils","_common","_WixDataQueryImpl","_WixDataResultImpl","_WixDataAggregateImpl","_ApiClient","_WixDataPatchImpl","_WixDataSearchImpl","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createFilter","filter","anyFilter","getFilterModel","model","_e","filterTree","isObject","createExplicitFilter","wdeValidationError","messages","filterMustBeAnObject","WixDataApi","constructor","clientFactory","allowGet","environment","gridAppId","tracer","_defineProperty2","withArgs","args","collectionName","options","apiValidator","arity","validateAndReject","trace","env","client","truncateDataItems","dataCollectionId","toOptions","itemId","_options$includeField","dataItem","getDataItem","dataItemId","toReadOptions","fields","includeReferences","includeFieldGroups","length","catch","recover","ItemDoesNotExistCode","toDataItem","item","warnAboutBrokenFields","insertDataItem","id","_id","data","toInsertOptions","saveDataItem","toSaveOptions","updateDataItem","toUpdateOptions","removeDataItem","toRemoveOptions","fieldModification","action","ACTION","SET_FIELD","fieldPath","setFieldOptions","value","REMOVE_FIELD","INCREMENT_FIELD","incrementFieldOptions","APPEND_TO_ARRAY","appendToArrayOptions","REMOVE_FROM_ARRAY","removeFromArrayOptions","apiFilter","WixDataPatchByFilterImpl","onRun","_args","patchParams","fieldModifications","map","toFieldModificationApi","jobId","asyncPatchDataItemsByFilter","toAsyncByFilterOptions","asyncRemoveDataItemsByFilter","toAsyncRemoveByFilterOptions","isNonEmptyString","status","successCount","getAsyncJobStatus","cursor","limit","fetch","cursorOrOffset","dataItems","pagingMetadata","queryDataItems","query","toPaging","items","paging","WixDataResultImpl","limitNumber","skipNumber","results","aggregateDataItems","unwrapAggregationId","pipeline","request","aggregatePipelineDataItems","fieldName","_options$paging","_options$cursorPaging","_options$paging2","_options$cursorPaging2","cursorPaging","offset","field","distinctValues","queryDistinctValues","undefined","order","returnTotalCount","values","readOptions","totalCount","countDataItems","itemIds","bulkRemoveOptions","bulkRemoveDataItems","dataItemIds","toBulkResult","bulkInsertOptions","appId","runBulkSave","overrideExisting","bulkUpdateOptions","bulkUpdateDataItems","toBulkUpdateOptions","current","queryReferencedDataItems","onlyReferencedItems","holdingItem","relationshipAttribute","referenceParameter","isOffset","referringItemId","referringItemFieldName","SortOrder","ASC","DESC","skip","referringItem","referenceParameters","asArray","referringItemIds","toReferencedResults","refsOrAttr","leftOrOpts","right","refs","opts","argc","rights","relationshipName","left","references","bulkInsertDataItemReferences","dataItemReferences","referencedItemId","replaceDataItemReferences","newReferencedItemIds","referenceRemoveParameters","bulkRemoveDataItemReferences","isReferenced","isReferencedDataItem","consistentRead","ApiClient","wixData","filterBuilder","patch","arguments","executeDirectPatch","WixDataPatchImpl","result","patchDataItem","toPatchOptions","apiFieldModifications","bulkPatch","executeDirectBulkPatch","WixDataBulkPatchImpl","bulkPatchDataItems","patches","toBulkPatchOptions","queryRequest","executeDirectQuery","ensureValidQuery","invalidArgs","queryValidations","queryInvalid","WixDataQueryImpl","onCount","params","invalidArguments","validateAndReturn","onDistinct","_toSort$find","toSort","orderBy","find","onFind","projectedFields","sort","included","randomSortOptions","sortMode","SortMode","RANDOM","randomOptions","seed","fieldGroups","_request$paging","_request$cursorPaging","_request$paging2","_request$cursorPaging2","_options$includeRefer","validationErrors","s","inc","_options$includeField2","search","searchRequest","executeDirectSearch","WixDataSearchImpl","expression","queryText","fuzzy","isFuzzy","mode","searchMode","searchDataItems","_request$paging3","_request$cursorPaging3","_request$paging4","_request$cursorPaging4","_options$includeRefer2","_request$sort","aggregate","executeDirectAggregate","WixDataAggregateImpl","aggregateValidations","aggregateInvalid","toOperation","itemFieldName","initialFilter","aggregation","groupingFields","groupBy","operations","aggregates","a","resultFieldName","name","average","avg","min","max","sum","itemCount","count","finalFilter","havingTree","aggregatePipeline","saveReferences","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","suppressHooks","draftsOptions","showDrafts","conditionOptions","condition","toAsyncOptions","includeReferencedItems","res","appOptions","entries","every","kv","language","publishPluginOptions","includeDraftItems","fieldOrder","providerOrValue","code","error","_details","Error","details","applicationError","Promise","resolve","reject","hasFieldWithDollar","hasField","key","startsWith","hasFieldWithDot","includes","console","warn","errors","flatMap","_r$itemMetadata","_r$itemMetadata2","_r$itemMetadata$error","itemMetadata","success","fieldViolations","BulkError","description","originalIndex","_r$itemMetadata3","inserted","BulkActionType","INSERT","updated","UPDATE","PATCH","removed","DELETE","skipped","insertedItemIds","_r$itemMetadata4","updatedItemIds","_r$itemMetadata5","removedItemIds","_r$itemMetadata6","rest","keys","notEmpty","wireResult","unresolvedReference","referencedResult","unauthorized","xOrXs","isArray","commonApiValidator"],"sources":["../../../src/api/WixDataApi.ts"],"sourcesContent":["import {\n apiValidator as commonApiValidator,\n messages,\n BulkError,\n wdeValidationError,\n} from '../errors'\nimport { HttpApiClientFactory } from '../types'\nimport * as apiTypes from '../types/data-item-types'\n\nimport { hasField, isObject, isArray } from '../utils'\nimport { filterBuilder } from './common'\nimport {\n BaseOptions,\n Provider,\n WixDataAggregateOptions,\n WixDataBulkResult,\n WixDataItem,\n WixDataItemOrId,\n WixDataOptions,\n WixDataInsertOptions,\n WixDataRemoveOptions,\n WixDataQueryReferencedOptions,\n WixDataQueryReferencedItemsOptions,\n WixDataCountOptions,\n WixDataIsReferencedOptions,\n WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WixDataGetOptions,\n WixDataReference,\n WixDataUpdateOptions,\n WixDataBulkUpdateOptions,\n WixDataBulkRemoveOptions,\n WixDataSaveOptions,\n WixDataQueryRequest,\n WixDataQueryOptions,\n WixDataDistinctOptions,\n WixDataSearchRequest,\n WixDataSearchOptions,\n WixDataBulkInsertOptions,\n WixDataBulkSaveOptions,\n WixDataAsyncByFilterOptions,\n WixDataAsyncRemoveByFilterOptions,\n WixDataAsyncJob,\n WixDataAsyncJobStatus,\n WixDataFilterInput,\n} from './types'\nimport { QueryParams, WixDataQueryImpl } from './impl/WixDataQueryImpl'\nimport { WixDataQuery } from './WixDataQuery'\nimport { WixDataResultImpl, PageFetcher } from './impl/WixDataResultImpl'\nimport { WixDataAggregateImpl } from './impl/WixDataAggregateImpl'\nimport { ApiClient } from './ApiClient'\nimport {\n WixDataPatch,\n WixDataBulkPatch,\n WixDataPatchByFilter,\n WixDataBulkPatchOptions,\n WixDataPatchOptions,\n} from './WixDataPatch'\nimport { WixDataQueryResponse } from './WixDataQueryResponse'\nimport { WixDataSearchResponse } from './WixDataSearchResponse'\nimport { WixDataAggregateResponse } from './WixDataAggregateResponse'\nimport { WixDataDistinctResponse } from './WixDataDistinctResponse'\nimport { WixDataQueryReferencedItemsResponse } from './WixDataQueryReferencedItemsResponse'\nimport { FieldModification } from './FieldModification'\nimport { WixDataAggregate } from './WixDataAggregate'\nimport { WixDataFilter } from './WixDataFilter'\nimport { WixDataResult } from './WixDataResult'\nimport {\n WixDataBulkPatchImpl,\n WixDataPatchByFilterImpl,\n WixDataPatchImpl,\n} from './impl/WixDataPatchImpl'\nimport { WixDataSearch } from './WixDataSearch'\nimport { WixDataSearchImpl } from './impl/WixDataSearchImpl'\n\nfunction createFilter(filter: WixDataFilterInput): Record<string, any> {\n if (filter == null) {\n return {}\n }\n const anyFilter = filter as any\n if (typeof anyFilter.getFilterModel === 'function') {\n try {\n const model = anyFilter.getFilterModel()\n if (model != null) {\n return model\n }\n } catch (_e) {\n // fall back below\n }\n }\n if (anyFilter.filterTree != null) {\n return anyFilter.filterTree as Record<string, any>\n }\n if (isObject(filter)) {\n return filter as Record<string, any>\n }\n return {}\n}\n\nfunction createExplicitFilter(filter: WixDataFilterInput): Record<string, any> {\n if (filter == null) {\n throw wdeValidationError(messages.filterMustBeAnObject())\n }\n\n const anyFilter = filter as any\n if (typeof anyFilter.getFilterModel === 'function') {\n return anyFilter.getFilterModel() ?? {}\n }\n if (anyFilter.filterTree != null) {\n return anyFilter.filterTree as Record<string, any>\n }\n if (isObject(filter)) {\n return filter as Record<string, any>\n }\n\n throw wdeValidationError(messages.filterMustBeAnObject())\n}\n\ntype ProvidedOpt<T> = T | undefined | Provider<T | undefined>\ntype TraceWith = (\n label: string,\n opts?: object\n) => <T>(fn: () => Promise<T>) => Promise<T>\ntype QueryReferencedItems = <Item = WixDataItem>(\n collectionName: string,\n referringItem: WixDataItemOrId | WixDataItemOrId[],\n referringItemFieldName: string,\n options?: WixDataQueryReferencedItemsOptions\n) => Promise<WixDataQueryReferencedItemsResponse<Item>>\n\nexport class WixDataApi {\n private client: ApiClient\n\n constructor(\n clientFactory: HttpApiClientFactory<any>,\n allowGet: boolean,\n private readonly environment?: apiTypes.Environment,\n private readonly gridAppId?: ProvidedOpt<string>,\n private readonly tracer?: TraceWith\n ) {\n this.client = new ApiClient(clientFactory, allowGet)\n }\n\n get wixData(): WixDataApi {\n return this\n }\n\n get filter(): WixDataFilter {\n return filterBuilder()\n }\n\n // NOTE sort method for builder is not implemented\n\n truncate = withArgs(\n async (\n args,\n collectionName: string,\n options?: WixDataOptions\n ): Promise<void> => {\n await apiValidator()\n .arity('truncate', args, 1, 2)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n return this.trace('truncate', { collectionName })(async (env) => {\n await this.client.truncateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toOptions(options),\n })\n })\n }\n )\n\n // --- single-item methods ---\n\n get = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataGetOptions\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('get', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('get', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .getDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toReadOptions(options),\n fields: options?.fields,\n includeReferences: options?.includeReferences,\n ...(options?.includeFieldGroups?.length\n ? { includeFieldGroups: options.includeFieldGroups }\n : {}),\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n insert = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataUpdateOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('insert', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n warnAboutBrokenFields(item)\n\n return this.trace('insert', { collectionName })(async (env) => {\n const { dataItem } = await this.client.insertDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toInsertOptions(options),\n })\n\n return toDataItem(dataItem!)\n })\n }\n )\n\n save = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataSaveOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('save', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('save', { collectionName })(async (env) => {\n const { dataItem } = await this.client.saveDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toSaveOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n update = withArgs(\n async (\n args,\n collectionName: string,\n item: WixDataItem,\n options?: WixDataUpdateOptions\n ) => {\n await apiValidator()\n .arity('update', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('update', { collectionName })(async (env) => {\n const { dataItem } = await this.client.updateDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n remove = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataRemoveOptions\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('remove', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('remove', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .removeDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toRemoveOptions(options),\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n private toFieldModificationApi = (\n fieldModification: FieldModification\n ): apiTypes.FieldModification => {\n switch (fieldModification.action) {\n case 'SET_FIELD':\n return {\n action: apiTypes.ACTION.SET_FIELD,\n fieldPath: fieldModification.fieldPath,\n setFieldOptions: {\n value: fieldModification.value,\n },\n }\n case 'REMOVE_FIELD':\n return {\n action: apiTypes.ACTION.REMOVE_FIELD,\n fieldPath: fieldModification.fieldPath,\n }\n case 'INCREMENT_FIELD':\n return {\n action: apiTypes.ACTION.INCREMENT_FIELD,\n fieldPath: fieldModification.fieldPath,\n incrementFieldOptions: {\n value: fieldModification.value,\n },\n }\n case 'APPEND_TO_ARRAY':\n return {\n action: apiTypes.ACTION.APPEND_TO_ARRAY,\n fieldPath: fieldModification.fieldPath,\n appendToArrayOptions: {\n value: fieldModification.value,\n },\n }\n case 'REMOVE_FROM_ARRAY':\n return {\n action: apiTypes.ACTION.REMOVE_FROM_ARRAY,\n fieldPath: fieldModification.fieldPath,\n removeFromArrayOptions: {\n value: fieldModification.value,\n },\n }\n }\n }\n\n /**\n * Returns a patch builder for the specified collection and item.\n * @param collectionName - Name of the collection containing the item to patch.\n * @param itemId - ID of the item to patch.\n * @returns A `WixDataPatch` builder object.\n */\n patch(collectionName: string, itemId: string): WixDataPatch\n\n /**\n * Executes a patch directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection containing the item to patch.\n * @param itemId - ID of the item to patch.\n * @param fieldModifications - Field modifications to apply to the item.\n * @param options - Additional options for the patch operation.\n * @returns Promise that resolves to the patched item, or `null` if no item was returned.\n */\n patch<Item = WixDataItem>(\n collectionName: string,\n itemId: string,\n fieldModifications?: FieldModification[],\n options?: WixDataPatchOptions\n ): Promise<Item | null>\n\n patch<Item = WixDataItem>(\n collectionName: string,\n itemId: string,\n fieldModifications?: FieldModification[],\n options?: WixDataPatchOptions\n ): WixDataPatch | Promise<Item | null> {\n if (arguments.length >= 3) {\n return this.executeDirectPatch<Item>(\n collectionName,\n itemId,\n fieldModifications,\n options\n )\n }\n\n return new WixDataPatchImpl({\n collectionName,\n itemId,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('patch', { collectionName })(async (env) => {\n const result = await this.client.patchDataItem({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patch: {\n dataItemId: patchParams.itemId,\n fieldModifications,\n },\n ...toPatchOptions(options),\n })\n\n return result.dataItem ? toDataItem(result.dataItem) : null\n })\n },\n })\n }\n\n private async executeDirectPatch<Item = WixDataItem>(\n collectionName: string,\n itemId: string,\n fieldModifications: FieldModification[] | undefined,\n options?: WixDataPatchOptions\n ): Promise<Item | null> {\n const apiFieldModifications = fieldModifications?.map(\n this.toFieldModificationApi\n )\n\n return this.trace('patch', { collectionName })(async (env) => {\n const result = await this.client.patchDataItem({\n ...env,\n dataCollectionId: collectionName,\n patch: {\n dataItemId: itemId,\n fieldModifications: apiFieldModifications,\n },\n ...toPatchOptions(options),\n })\n\n return result.dataItem ? (toDataItem(result.dataItem) as Item) : null\n })\n }\n\n bulkPatch(collectionName: string, itemIds: string[]): WixDataBulkPatch\n\n /**\n * Executes a bulk patch directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection containing the items to patch.\n * @param itemIds - IDs of the items to patch.\n * @param fieldModifications - Field modifications to apply to the items.\n * @param options - Additional options for the bulk patch operation.\n * @returns Promise that resolves to bulk operation results.\n */\n bulkPatch(\n collectionName: string,\n itemIds: string[],\n fieldModifications?: FieldModification[],\n options?: WixDataBulkPatchOptions\n ): Promise<WixDataBulkResult>\n\n bulkPatch(\n collectionName: string,\n itemIds: string[],\n fieldModifications?: FieldModification[],\n options?: WixDataBulkPatchOptions\n ): WixDataBulkPatch | Promise<WixDataBulkResult> {\n if (arguments.length >= 3) {\n return this.executeDirectBulkPatch(\n collectionName,\n itemIds,\n fieldModifications,\n options\n )\n }\n\n return new WixDataBulkPatchImpl({\n collectionName,\n itemIds,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('bulkPatch', { collectionName })(async (env) => {\n const { results } = await this.client.bulkPatchDataItems({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patches: patchParams.itemIds.map((itemId) => ({\n dataItemId: itemId,\n fieldModifications,\n })),\n ...toBulkPatchOptions(options),\n })\n\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n },\n })\n }\n\n private async executeDirectBulkPatch(\n collectionName: string,\n itemIds: string[],\n fieldModifications: FieldModification[] | undefined,\n options?: WixDataBulkPatchOptions\n ): Promise<WixDataBulkResult> {\n const apiFieldModifications = fieldModifications?.map(\n this.toFieldModificationApi\n )\n\n return this.trace('bulkPatch', { collectionName })(async (env) => {\n const { results } = await this.client.bulkPatchDataItems({\n ...env,\n dataCollectionId: collectionName,\n patches: itemIds.map((itemId) => ({\n dataItemId: itemId,\n fieldModifications: apiFieldModifications,\n })),\n ...toBulkPatchOptions(options),\n })\n\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n }\n\n asyncPatchByFilter = (\n collectionName: string,\n filter: WixDataFilterInput\n ): WixDataPatchByFilter => {\n const apiFilter = createExplicitFilter(filter)\n\n return new WixDataPatchByFilterImpl({\n collectionName,\n filter: apiFilter,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('asyncPatchByFilter', { collectionName })(\n async (env) => {\n const { jobId } = await this.client.asyncPatchDataItemsByFilter({\n ...env,\n dataCollectionId: patchParams.collectionName,\n filter: patchParams.filter,\n fieldModifications,\n ...toAsyncByFilterOptions(options),\n })\n\n return { jobId: jobId! }\n }\n )\n },\n })\n }\n\n asyncRemoveByFilter = withArgs(\n async (\n args,\n collectionName: string,\n filter: WixDataFilterInput,\n options?: WixDataAsyncRemoveByFilterOptions\n ): Promise<WixDataAsyncJob> => {\n await apiValidator()\n .arity('asyncRemoveByFilter', args, 2, 3)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n const apiFilter = createExplicitFilter(filter)\n\n return this.trace('asyncRemoveByFilter', { collectionName })(\n async (env) => {\n const { jobId } = await this.client.asyncRemoveDataItemsByFilter({\n ...env,\n dataCollectionId: collectionName,\n filter: apiFilter,\n ...toAsyncRemoveByFilterOptions(options),\n })\n\n return { jobId: jobId! }\n }\n )\n }\n )\n\n getAsyncJobStatus = withArgs(\n async (args, jobId: string): Promise<WixDataAsyncJobStatus> => {\n await apiValidator()\n .arity('getAsyncJobStatus', args, 1, 1)\n .isNonEmptyString(jobId, 'jobId')\n .validateAndReject()\n\n const { status, successCount } = await this.client.getAsyncJobStatus({\n jobId,\n })\n\n return { status, successCount }\n }\n )\n\n // --- query, count, distinct ---\n\n /**\n * Returns a query builder for the specified collection.\n * @param collectionName - Name of the collection to query.\n * @returns A `WixDataQuery` builder object.\n */\n query(collectionName: string): WixDataQuery\n\n /**\n * Executes a query directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection to query.\n * @param queryRequest - Query parameters including filter, sort, paging, and fields.\n * @param options - Additional options including includeReferences.\n * @returns Promise that resolves to the query results.\n */\n query<Item = WixDataItem>(\n collectionName: string,\n queryRequest: WixDataQueryRequest,\n options?: WixDataQueryOptions\n ): Promise<WixDataQueryResponse<Item>>\n\n query<Item = WixDataItem>(\n collectionName: string,\n queryRequest?: WixDataQueryRequest,\n options?: WixDataQueryOptions\n ): WixDataQuery | Promise<WixDataQueryResponse<Item>> {\n // Direct query execution mode\n if (queryRequest !== undefined) {\n return this.executeDirectQuery<Item>(\n collectionName,\n queryRequest,\n options\n )\n }\n\n // Builder mode\n const ensureValidQuery = (invalidArgs: string[]) => {\n if (invalidArgs.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, invalidArgs)\n )\n }\n }\n\n return new WixDataQueryImpl({\n collectionName,\n onCount: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('count', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n return this.trace('count', { collectionName })(async (env) => {\n const { totalCount } = await this.client.countDataItems({\n ...env,\n dataCollectionId: collectionName,\n filter: params.filterTree,\n ...toReadOptions(options),\n })\n return totalCount!\n })\n },\n onDistinct: async (args, params, field, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('distinct', args, 1, 2)\n .fieldName(field)\n .options(options)\n .validateAndReturn(),\n ])\n\n const order = toSort(params.orderBy).find(\n (o) => o.fieldName === field\n )?.order\n\n const fetch: PageFetcher<any> = (cursorOrOffset, returnTotalCount) =>\n this.trace('distinct', { collectionName, field })(async (env) => {\n const { distinctValues, pagingMetadata } =\n await this.client.queryDistinctValues({\n ...env,\n dataCollectionId: collectionName,\n ...toReadOptions(options),\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n fieldName: field,\n filter: params.filterTree,\n order,\n returnTotalCount,\n }\n : {}),\n })\n return [distinctValues!, pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n onFind: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('find', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n fields: params.projectedFields,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n filter: params.filterTree,\n sort: toSort(params.orderBy),\n }\n : {}),\n },\n includeReferences: params.included,\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset) ? { returnTotalCount } : {}),\n ...(params.randomSortOptions\n ? {\n sortMode: apiTypes.SortMode.RANDOM,\n randomOptions: { seed: params.randomSortOptions.seed },\n }\n : {}),\n ...(params.fieldGroups.length > 0\n ? { includeFieldGroups: params.fieldGroups }\n : {}),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n private async executeDirectQuery<Item = WixDataItem>(\n collectionName: string,\n request: WixDataQueryRequest,\n options?: WixDataQueryOptions\n ): Promise<WixDataQueryResponse<Item>> {\n const validationErrors = apiValidator()\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn()\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, validationErrors)\n )\n }\n\n const limit = request.paging?.limit ?? request.cursorPaging?.limit\n const offset = request.paging?.offset ?? 0\n const cursor = request.cursorPaging?.cursor\n const sort: QueryParams['orderBy'] = (request.sort ?? []).map((s) => ({\n [s.fieldName]: s.order === 'DESC' ? 'desc' : 'asc',\n }))\n const includeReferences = options?.includeReferences?.map((inc) => ({\n field: inc.field,\n limit: inc.limit,\n }))\n\n return this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } = await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n fields: request.fields,\n ...toPaging(limit, cursor ?? offset),\n ...(cursor === undefined\n ? {\n filter: request.filter,\n sort: toSort(sort),\n }\n : {}),\n },\n includeReferences,\n ...toReadOptions(options),\n ...(cursor === undefined\n ? { returnTotalCount: options?.returnTotalCount }\n : {}),\n ...(options?.includeFieldGroups?.length\n ? { includeFieldGroups: options.includeFieldGroups }\n : {}),\n })\n\n return {\n items: dataItems!.map(toDataItem) as Item[],\n pagingMetadata: pagingMetadata!,\n }\n })\n }\n\n /**\n * Returns a search builder for the specified collection.\n * @param collectionName - Name of the collection to search.\n * @returns A `WixDataSearch` builder object.\n */\n search(collectionName: string): WixDataSearch\n\n /**\n * Executes a search directly without using the builder pattern.\n * @internal\n * @param collectionName - Name of the collection to search.\n * @param searchRequest - Search parameters including expression, filter, sort, and paging.\n * @param options - Additional options including referencedItemOptions.\n * @returns Promise that resolves to the search results.\n */\n search<Item = WixDataItem>(\n collectionName: string,\n searchRequest: WixDataSearchRequest,\n options?: WixDataSearchOptions\n ): Promise<WixDataSearchResponse<Item>>\n\n search<Item = WixDataItem>(\n collectionName: string,\n searchRequest?: WixDataSearchRequest,\n options?: WixDataSearchOptions\n ): WixDataSearch | Promise<WixDataSearchResponse<Item>> {\n if (searchRequest !== undefined) {\n return this.executeDirectSearch<Item>(\n collectionName,\n searchRequest,\n options\n )\n }\n\n const ensureValidQuery = (invalidArgs: string[]) => {\n if (invalidArgs.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, invalidArgs)\n )\n }\n }\n\n return new WixDataSearchImpl({\n collectionName,\n onRun: async (\n params,\n options?: WixDataReadOptions\n ): Promise<WixDataResult> => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn(),\n ])\n\n const expression = params.queryText\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('search', { collectionName, expression })(async (env) => {\n const request: apiTypes.SearchDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n search: {\n filter: params.filterTree,\n sort: toSort(params.orderBy),\n fields: params.projectedFields,\n search: {\n expression: params.queryText,\n fuzzy: params.isFuzzy,\n mode: params.searchMode,\n },\n ...toPaging(params.limitNumber, cursorOrOffset),\n },\n includeReferences: params.included,\n ...toReadOptions(options),\n }\n\n const { dataItems, pagingMetadata } =\n await this.client.searchDataItems(request)\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(params.skipNumber)\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n private async executeDirectSearch<Item = WixDataItem>(\n collectionName: string,\n request: WixDataSearchRequest,\n options?: WixDataSearchOptions\n ): Promise<WixDataSearchResponse<Item>> {\n const validationErrors = apiValidator()\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn()\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, validationErrors)\n )\n }\n\n const limit = request.paging?.limit ?? request.cursorPaging?.limit\n const offset = request.paging?.offset ?? 0\n const cursor = request.cursorPaging?.cursor\n const includeReferences = options?.includeReferences?.map((inc) => ({\n field: inc.field,\n limit: inc.limit,\n }))\n\n return this.trace('search', { collectionName, search: request.search })(\n async (env) => {\n const { dataItems, pagingMetadata } = await this.client.searchDataItems(\n {\n ...env,\n dataCollectionId: collectionName,\n search: {\n fields: request.fields,\n filter: request.filter,\n sort: request.sort?.map((s) => ({\n fieldName: s.fieldName,\n order: s.order as any,\n })),\n search: request.search as apiTypes.SearchDetails,\n ...toPaging(limit, cursor ?? offset),\n },\n includeReferences,\n ...toReadOptions(options),\n }\n )\n\n return {\n items: dataItems!.map(toDataItem) as Item[],\n pagingMetadata: pagingMetadata!,\n }\n }\n )\n }\n\n // NOTE find method is not implemented\n\n fetch = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('fetch', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n ...toPaging(limit, cursorOrOffset),\n },\n ...toReadOptions(options),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(cursor)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n collectionName,\n skipNumber: 0,\n })\n }\n )\n\n // --- aggregate ---\n\n aggregate(collectionName: string): WixDataAggregate\n\n /**\n * Executes an aggregation pipeline directly on a data collection.\n * @internal\n * @param collectionName - Name of the collection to run the aggregation on.\n * @param pipeline - Aggregation pipeline with stages and paging.\n * @param options - Options for running the aggregation.\n * @returns Promise that resolves to the aggregation results.\n */\n aggregate<Result = Record<string, any>>(\n collectionName: string,\n pipeline: apiTypes.AggregationPipeline,\n options?: WixDataAggregateOptions\n ): Promise<WixDataAggregateResponse<Result>>\n\n aggregate<Result = Record<string, any>>(\n collectionName: string,\n pipeline?: apiTypes.AggregationPipeline,\n options?: WixDataAggregateOptions\n ): WixDataAggregate | Promise<WixDataAggregateResponse<Result>> {\n if (pipeline !== undefined) {\n return this.executeDirectAggregate<Result>(\n collectionName,\n pipeline,\n options\n )\n }\n\n return new WixDataAggregateImpl({\n collectionName,\n onRun: async (args, params, options) => {\n const validationErrors = [\n ...params.invalidArguments,\n ...apiValidator()\n .arity('run', args, 0, 1)\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn(),\n ]\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.aggregateValidations.aggregateInvalid(\n collectionName,\n validationErrors\n )\n )\n }\n\n const fetch: PageFetcher<Record<string, any>> = (\n cursorOrOffset,\n returnTotalCount\n ) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const toOperation = (field?: string) =>\n field ? { itemFieldName: field } : undefined\n\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset)\n ? {\n initialFilter: params.filterTree,\n aggregation: {\n groupingFields: params.groupBy,\n operations: params.aggregates.map((a) => ({\n resultFieldName: a.name,\n average: toOperation(a.avg),\n min: toOperation(a.min),\n max: toOperation(a.max),\n sum: toOperation(a.sum),\n itemCount: a.count ? {} : undefined,\n })),\n },\n finalFilter: params.havingTree,\n sort: toSort(params.orderBy),\n returnTotalCount,\n }\n : {}),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n fetchAggregate = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ) => {\n await apiValidator()\n .arity('fetchAggregate', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher<Record<string, any>> = (cursorOrOffset) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(limit, cursorOrOffset),\n ...toReadOptions(options),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor, true)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n skipNumber: 0,\n collectionName,\n })\n }\n )\n\n private async executeDirectAggregate<Result = Record<string, any>>(\n collectionName: string,\n pipeline: apiTypes.AggregationPipeline,\n options?: WixDataAggregateOptions\n ): Promise<WixDataAggregateResponse<Result>> {\n const { results, pagingMetadata } = await this.aggregatePipeline(\n collectionName,\n pipeline,\n options\n )\n\n return {\n results: results as Result[],\n pagingMetadata: pagingMetadata!,\n }\n }\n\n aggregatePipeline = withArgs(\n async (\n args,\n collectionName: string,\n pipeline: apiTypes.AggregationPipeline,\n options?: WixDataAggregateOptions\n ): Promise<apiTypes.AggregatePipelineDataItemsResponse> => {\n await apiValidator()\n .arity('aggregatePipeline', args, 2, 3)\n .collectionName(collectionName)\n .validateAndReject()\n\n return this.trace('aggregatePipeline', { collectionName })(\n async (env) => {\n const request: apiTypes.AggregatePipelineDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n pipeline,\n ...options,\n }\n\n return this.client.aggregatePipelineDataItems(request)\n }\n )\n }\n )\n\n distinct = withArgs(\n async (\n args,\n collectionName: string,\n fieldName: string,\n options?: WixDataDistinctOptions\n ): Promise<WixDataDistinctResponse> => {\n await apiValidator()\n .arity('distinct', args, 2, 3)\n .collectionName(collectionName)\n .fieldName(fieldName)\n .options(options)\n .validateAndReject()\n\n const limit = options?.paging?.limit ?? options?.cursorPaging?.limit\n const offset = options?.paging?.offset ?? 0\n const cursor = options?.cursorPaging?.cursor\n\n return this.trace('distinct', { collectionName, field: fieldName })(\n async (env) => {\n const { distinctValues, pagingMetadata } =\n await this.client.queryDistinctValues({\n ...env,\n dataCollectionId: collectionName,\n ...toReadOptions(options),\n ...toPaging(limit, cursor ?? offset),\n ...(cursor === undefined\n ? {\n fieldName,\n filter: options?.filter,\n order: options?.order,\n returnTotalCount: options?.returnTotalCount,\n }\n : {}),\n })\n\n return {\n values: distinctValues!,\n pagingMetadata: pagingMetadata!,\n }\n }\n )\n }\n )\n\n /** @internal */\n count = withArgs(\n async (\n args,\n collectionName: string,\n options?: WixDataCountOptions\n ): Promise<number> => {\n await apiValidator()\n .arity('count', args, 1, 2)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n const { filter, ...readOptions } = options ?? {}\n\n return this.trace('count', { collectionName })(async (env) => {\n const { totalCount } = await this.client.countDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...(filter ? { filter } : {}),\n ...toReadOptions(readOptions),\n })\n return totalCount!\n })\n }\n )\n\n // --- bulk methods ---\n\n bulkRemove = withArgs(\n async (\n args,\n collectionName: string,\n itemIds: string[],\n options?: WixDataBulkRemoveOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkRemove', args, 2, 3)\n .collectionName(collectionName)\n .itemIds(itemIds, collectionName)\n .bulkRemoveOptions(options)\n .validateAndReject()\n\n return this.trace('bulkRemove', { collectionName })(async (env) => {\n const { results } = await this.client.bulkRemoveDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItemIds: itemIds,\n ...toRemoveOptions(options),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n }\n )\n\n private async runBulkSave(\n env: { environment?: apiTypes.Environment; appId?: string },\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataBulkSaveOptions,\n overrideExisting: boolean = true\n ): Promise<WixDataBulkResult> {\n const request: apiTypes.BulkInsertDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toOptions(options),\n saveReferences: options?.saveReferences,\n }\n const { results } = await (overrideExisting\n ? this.client.bulkSaveDataItems(request)\n : this.client.bulkInsertDataItems(request))\n const ignoreCodes = overrideExisting ? [] : ['WDE0074']\n return toBulkResult(items, results!, ignoreCodes)\n }\n\n bulkInsert = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataBulkInsertOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkInsert', args, 2, 3)\n .items(items, collectionName)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .validateAndReject()\n\n return this.trace('bulkInsert', { collectionName, options })(\n async (appId) =>\n this.runBulkSave(\n appId,\n collectionName,\n items,\n options,\n options?.overrideExisting ?? false\n )\n )\n }\n )\n\n bulkSave = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataBulkSaveOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkSave', args, 2, 3)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkSave', { collectionName })(async (env) =>\n this.runBulkSave(env, collectionName, items, options)\n )\n }\n )\n\n bulkUpdate = withArgs(\n async (\n args,\n collectionName: string,\n items: WixDataItem[],\n options?: WixDataBulkUpdateOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkUpdate', args, 2, 3)\n .bulkUpdateOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkUpdate', { collectionName })(async (env) => {\n const { results } = await this.client.bulkUpdateDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toBulkUpdateOptions(options),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(items, results!, ['WDE0073'])\n })\n }\n )\n\n // --- references ---\n\n fetchReferenced = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadWithProjectionOptions\n ): Promise<WixDataResult<WixDataItem | string>> => {\n await apiValidator()\n .arity('fetchReferenced', args, 2, 4)\n .isNonEmptyString(cursor, 'cursor')\n .collectionName(collectionName)\n .validateAndReject()\n\n const fetch: PageFetcher<WixDataItem | string> = (current) =>\n this.trace('fetchReferenced', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(limit, current),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor)\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: limit,\n skipNumber: 0,\n })\n }\n )\n\n queryReferenced = withArgs(\n async (\n args,\n collectionName: string,\n holdingItem: WixDataItemOrId,\n relationshipAttribute: string,\n options?: WixDataQueryReferencedOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('queryReferenced', args, 3, 4)\n .collectionName(collectionName)\n .referenceParameter(holdingItem)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n const id = itemId(holdingItem)\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('queryReferenced', {\n collectionName,\n itemId: id,\n options,\n relationshipAttribute,\n })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(options?.limit ?? 50, cursorOrOffset),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n ...(isOffset(cursorOrOffset)\n ? {\n referringItemId: id,\n referringItemFieldName: relationshipAttribute,\n order:\n options?.order === 'asc'\n ? apiTypes.SortOrder.ASC\n : options?.order === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined,\n returnTotalCount,\n }\n : {}),\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n options?.skip ?? 0,\n options?.returnTotalCount\n )\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: options?.limit ?? 50,\n skipNumber: options?.skip ?? 0,\n })\n }\n )\n\n queryReferencedItems: QueryReferencedItems = withArgs(\n async (\n args,\n collectionName: string,\n referringItem: WixDataItemOrId | WixDataItemOrId[],\n referringItemFieldName: string,\n options?: WixDataQueryReferencedItemsOptions\n ): Promise<WixDataQueryReferencedItemsResponse<any>> => {\n await apiValidator()\n .arity('queryReferencedItems', args, 3, 4)\n .collectionName(collectionName)\n .referenceParameters(asArray(referringItem))\n .isNonEmptyString(referringItemFieldName, 'referringItemFieldName')\n .options(options)\n .validateAndReject()\n\n const referringItemIds = asArray(referringItem).map(itemId)\n return this.trace('queryReferencedItems', {\n collectionName,\n referringItemIds,\n options,\n referringItemFieldName,\n })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n referringItemIds,\n referringItemFieldName,\n order: options?.order,\n paging: options?.paging,\n cursorPaging: options?.cursorPaging,\n fields: options?.fields,\n returnTotalCount: options?.returnTotalCount,\n })\n\n return {\n results: toReferencedResults(results ?? []),\n pagingMetadata: pagingMetadata!,\n }\n })\n }\n )\n\n insertReference: {\n // overload with array of references\n (\n collectionName: string,\n refs: WixDataReference[],\n options?: WixDataOptions\n ): Promise<void>\n // overload with separate left and right(s)\n (\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void>\n } = withArgs(\n async (\n args,\n collectionName: string,\n refsOrAttr: any,\n leftOrOpts?: any,\n right?: any,\n options?: any\n ) => {\n let refs: WixDataReference[]\n let opts: WixDataOptions\n let argc: [number, number]\n\n if (typeof refsOrAttr === 'string') {\n const rights: WixDataItemOrId[] = asArray(right)\n refs = rights.map((r) => ({\n relationshipName: refsOrAttr,\n left: leftOrOpts as WixDataItemOrId,\n right: r,\n }))\n opts = options\n argc = [4, 5]\n } else {\n refs = refsOrAttr\n opts = leftOrOpts\n argc = [2, 3]\n }\n await apiValidator()\n .arity('insertReference', args, ...argc)\n .collectionName(collectionName)\n .references(refs)\n .options(opts)\n .validateAndReject()\n\n await this.trace('insertReference', { collectionName })(async (env) =>\n this.client.bulkInsertDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: refs.map((r) => ({\n referringItemFieldName: r.relationshipName,\n referringItemId: itemId(r.left),\n referencedItemId: itemId(r.right),\n })),\n ...toOptions(opts),\n })\n )\n }\n )\n\n replaceReferences = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void> => {\n const rights = asArray(right)\n await apiValidator()\n .arity('replaceReferences', args, 4, 5)\n .collectionName(collectionName)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .referenceParameter(left)\n .referenceParameters(rights)\n .options(options)\n .validateAndReject()\n\n await this.trace('replaceReferences', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.replaceDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n newReferencedItemIds: rights.map(itemId),\n ...toOptions(options),\n })\n )\n }\n )\n\n removeReference = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ) => {\n const rights = asArray(right)\n await apiValidator()\n .arity('removeReference', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceRemoveParameters(rights)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n await this.trace('removeReference', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.bulkRemoveDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: rights.map((r) => ({\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(r),\n })),\n ...toOptions(options),\n })\n )\n }\n )\n\n isReferenced = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId,\n options?: WixDataIsReferencedOptions\n ): Promise<boolean> => {\n await apiValidator()\n .arity('isReferenced', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceParameter(right)\n .options(options)\n .validateAndReject()\n\n return this.trace('isReferenced', {\n collectionName,\n relationshipAttribute,\n })(async (env) => {\n const { isReferenced } = await this.client.isReferencedDataItem({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(right),\n ...toReadOptions(options),\n consistentRead: options?.consistentRead,\n })\n return isReferenced!\n })\n }\n )\n\n private trace(\n action: string,\n opts: object\n ): <R>(\n fn: (env: {\n environment?: apiTypes.Environment\n appId?: string\n }) => Promise<R>\n ) => Promise<R> {\n return async (fn) => {\n const gridAppId = await get(this.gridAppId)\n const env = { appId: gridAppId, environment: this.environment }\n if (this.tracer) {\n return this.tracer(`WixDataApi.${action}`, {\n ...opts,\n gridAppId,\n environment: this.environment,\n })(() => fn(env))\n }\n return fn(env)\n }\n }\n}\n\nfunction withArgs<Args extends any[], R>(\n fn: (all: IArguments, ...args: Args) => R\n): (...args: Args) => R {\n return function (...args) {\n return fn(arguments, ...args)\n }\n}\n\nfunction toPatchOptions(options?: WixDataPatchOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n ...draftsOptions(options?.showDrafts),\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toBulkPatchOptions(options?: WixDataBulkPatchOptions) {\n return {\n ...toOptions(options),\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toAsyncByFilterOptions(options?: WixDataAsyncByFilterOptions) {\n return toAsyncOptions(options)\n}\n\nfunction toAsyncRemoveByFilterOptions(\n options?: WixDataAsyncRemoveByFilterOptions\n) {\n return toAsyncOptions(options)\n}\n\nfunction toAsyncOptions(options?: BaseOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n ...draftsOptions(options?.showDrafts),\n }\n}\n\nfunction toInsertOptions(options?: WixDataInsertOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n saveReferences: options?.saveReferences,\n }\n}\n\nfunction toSaveOptions(options?: WixDataSaveOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n saveReferences: options?.saveReferences,\n }\n}\n\nfunction toUpdateOptions(options?: WixDataUpdateOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n saveReferences: options?.saveReferences,\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toBulkUpdateOptions(options?: WixDataBulkUpdateOptions) {\n return {\n ...toOptions(options),\n saveReferences: options?.saveReferences,\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toOptions(opts?: WixDataOptions) {\n if (!opts) {\n return undefined\n }\n const res = {\n suppressHooks: opts.suppressHooks,\n appOptions: opts.appOptions,\n ...draftsOptions(opts?.showDrafts),\n }\n if (Object.entries(res).every((kv) => kv[1] === undefined)) {\n return undefined\n }\n return res\n}\n\nfunction toReadOptions(options?: WixDataReadOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n appOptions: options?.appOptions,\n ...draftsOptions(options?.showDrafts),\n consistentRead: options?.consistentRead,\n language: options?.language,\n }\n}\n\nfunction conditionOptions(condition?: WixDataFilterInput) {\n return condition != undefined\n ? {\n condition: {\n filter: createFilter(condition),\n },\n }\n : { condition: undefined }\n}\n\nfunction toRemoveOptions(options?: WixDataRemoveOptions) {\n return {\n ...toOptions(options),\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction draftsOptions(showDrafts?: boolean) {\n return showDrafts !== undefined\n ? { publishPluginOptions: { includeDraftItems: showDrafts } }\n : {}\n}\n\nfunction toDataItem(item: apiTypes.DataItem): WixDataItem {\n return item.data as WixDataItem\n}\n\nfunction toPaging(limit: number | undefined, cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'string'\n ? {\n cursorPaging: {\n limit,\n cursor: cursorOrOffset,\n },\n }\n : limit !== undefined || cursorOrOffset > 0\n ? {\n paging: {\n limit,\n offset: cursorOrOffset,\n },\n }\n : {}\n}\n\nfunction toSort(orderBy: QueryParams['orderBy']): apiTypes.Sorting[] {\n return orderBy.map((fieldOrder) => {\n const [[fieldName, sort]] = Object.entries(fieldOrder)\n const order =\n sort === 'asc'\n ? apiTypes.SortOrder.ASC\n : sort === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined\n return { fieldName, order }\n })\n}\n\nasync function get<T>(providerOrValue: T | Provider<T>): Promise<T> {\n if (typeof (providerOrValue as any)?.get === 'function') {\n return (providerOrValue as Provider<T>).get()\n }\n return providerOrValue as T\n}\n\nfunction recover<T>(code: string, value: T): (error: unknown) => Promise<T> {\n return (error) => {\n if (\n error instanceof Error &&\n (error as any)?.details?.applicationError?.code === code\n ) {\n return Promise.resolve(value)\n }\n return Promise.reject(error)\n }\n}\n\nfunction warnAboutBrokenFields(item: Partial<WixDataItem>) {\n const hasFieldWithDollar = hasField(item, (key) => key.startsWith('$'))\n const hasFieldWithDot = hasField(item, (key) => key.includes('.'))\n if (hasFieldWithDollar) {\n console.error(\n \"Data inserted contains field name prefixed with symbol '$'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n if (hasFieldWithDot) {\n console.warn(\n \"Data inserted contains field name containing symbol '.'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n}\n\nfunction toBulkResult(\n request: any[],\n results: apiTypes.BulkDataItemResult[],\n ignoreCodes: string[] = []\n): WixDataBulkResult {\n const errors = results.flatMap((r) => {\n if (r.itemMetadata?.success || !r.itemMetadata?.error) {\n return []\n }\n if (ignoreCodes.includes(r.itemMetadata.error.code ?? '')) {\n return []\n }\n const fieldViolations = r.itemMetadata.error.data?.fieldViolations\n return [\n new BulkError(\n r.itemMetadata.error.description!,\n r.itemMetadata.error.code!,\n request[r.itemMetadata.originalIndex!],\n 'BulkError',\n r.itemMetadata.originalIndex!,\n fieldViolations\n ),\n ]\n })\n const success = results.filter((r) => r.itemMetadata?.success)\n const inserted = success.filter(\n (r) => r.action === apiTypes.BulkActionType.INSERT\n )\n const updated = success.filter(\n (r) =>\n r.action === apiTypes.BulkActionType.UPDATE ||\n r.action === apiTypes.BulkActionType.PATCH\n )\n const removed = success.filter(\n (r) => r.action === apiTypes.BulkActionType.DELETE\n )\n return {\n inserted: inserted.length,\n updated: updated.length,\n removed: removed.length,\n skipped: request.length - errors.length - success.length,\n errors,\n insertedItemIds: inserted.map((r) => r.itemMetadata?.id!),\n updatedItemIds: updated.map((r) => r.itemMetadata?.id!),\n removedItemIds: removed.map((r) => r.itemMetadata?.id!),\n }\n}\n\nfunction unwrapAggregationId(\n items: Record<string, any>[]\n): Record<string, any>[] {\n // When grouping by one field WixDataService returns value on _id field directly, DataItemService wraps it in an object, i.e.\n // grouping by surname returns {_id: 'Simpson'} in WixDataService vs {_id: {surname: 'Simpson'}} in DataItemService\n // When grouping by more fields, values are kept wrapped.\n return items.map((item) => {\n const id = item._id\n if (isObject(id)) {\n const [key, ...rest] = Object.keys(id)\n if (rest.length === 0) {\n item._id = id[key]\n return item\n }\n }\n return item\n })\n}\n\nfunction onlyReferencedItems(\n results: apiTypes.ReferencedResult[]\n): WixDataItem[] {\n return results\n .map((result) => result.dataItem)\n .filter(notEmpty)\n .map(toDataItem)\n}\n\nfunction toReferencedResults<Item>(\n results: apiTypes.ReferencedResult[]\n): WixDataQueryReferencedItemsResponse<Item>['results'] {\n return results.map((result) => {\n const wireResult = result as any\n const unresolvedReference = wireResult.unresolvedReference\n const referencedResult: WixDataQueryReferencedItemsResponse<Item>['results'][number] =\n {\n referringItemId:\n wireResult.referringItemId ?? unresolvedReference?.referringItemId,\n }\n\n if (result.dataItem) {\n referencedResult.item = toDataItem(result.dataItem) as Item\n } else {\n referencedResult.unresolvedReference = {\n referencedItemId: unresolvedReference?.referencedItemId,\n unauthorized: unresolvedReference?.unauthorized ?? false,\n }\n }\n\n return referencedResult\n })\n}\n\nfunction notEmpty<T>(value: T | null | undefined): value is T {\n return value != null\n}\n\nfunction itemId(item: WixDataItemOrId): string {\n return typeof item === 'string' ? item : item._id\n}\n\nfunction asArray<T>(xOrXs: T | T[]): T[] {\n return isArray(xOrXs) ? (xOrXs as T[]) : [xOrXs as T]\n}\n\nfunction isOffset(cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'number'\n}\n\nconst ItemDoesNotExistCode = 'WDE0073'\n\nfunction apiValidator() {\n return commonApiValidator(wdeValidationError)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.AsyncRemoveByFilterOptionsBuilder = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* WixData async remove by filter options builder.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
class WixDataAsyncRemoveByFilterOptionsBuilderImpl {
|
|
11
|
+
constructor(options = {}) {
|
|
12
|
+
this.options = options;
|
|
13
|
+
}
|
|
14
|
+
withSuppressHooks(value) {
|
|
15
|
+
return this.copy({
|
|
16
|
+
suppressHooks: value
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
withShowDrafts(value) {
|
|
20
|
+
return this.copy({
|
|
21
|
+
showDrafts: value
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
build() {
|
|
25
|
+
return {
|
|
26
|
+
...this.options
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
copy(options) {
|
|
30
|
+
return new WixDataAsyncRemoveByFilterOptionsBuilderImpl({
|
|
31
|
+
...this.options,
|
|
32
|
+
...options
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new WixData async remove by filter options builder.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
const AsyncRemoveByFilterOptionsBuilder = () => new WixDataAsyncRemoveByFilterOptionsBuilderImpl();
|
|
42
|
+
exports.AsyncRemoveByFilterOptionsBuilder = AsyncRemoveByFilterOptionsBuilder;
|
|
43
|
+
//# sourceMappingURL=WixDataAsyncRemoveByFilterOptionsBuilder.js.map
|