@wix/wix-data-items-common 1.0.289 → 1.0.291

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.
@@ -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","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","actionOptions","REMOVE_FIELD","INCREMENT_FIELD","incrementFieldOptions","APPEND_TO_ARRAY","appendToArrayOptions","REMOVE_FROM_ARRAY","removeFromArrayOptions","Error","WixDataPatchImpl","onRun","_args","patchParams","fieldModifications","map","toFieldModificationApi","result","patchDataItem","patch","toPatchOptions","itemIds","WixDataBulkPatchImpl","results","bulkPatchDataItems","patches","toBulkResult","ensureValidQuery","invalidArgs","wdeValidationError","messages","queryValidations","queryInvalid","WixDataSearchImpl","params","invalidArguments","validateAndReturn","expression","queryText","fetch","cursorOrOffset","request","search","sort","toSort","orderBy","projectedFields","fuzzy","isFuzzy","mode","searchMode","toPaging","limitNumber","included","dataItems","pagingMetadata","searchDataItems","items","paging","skipNumber","WixDataResultImpl","cursor","limit","isNonEmptyString","queryDataItems","query","WixDataAggregateImpl","validationErrors","aggregateValidations","aggregateInvalid","returnTotalCount","toOperation","field","itemFieldName","undefined","aggregateDataItems","isOffset","initialFilter","aggregation","groupingFields","groupBy","operations","aggregates","a","resultFieldName","name","average","avg","min","max","sum","itemCount","count","finalFilter","havingTree","unwrapAggregationId","pipeline","aggregatePipelineDataItems","fieldName","_options$paging","_options$cursorPaging","_options$paging2","_options$cursorPaging2","cursorPaging","offset","distinctValues","queryDistinctValues","order","readOptions","totalCount","countDataItems","bulkRemoveOptions","bulkRemoveDataItems","dataItemIds","bulkInsertOptions","appId","runBulkSave","overrideExisting","bulkUpdateOptions","bulkUpdateDataItems","toBulkUpdateOptions","current","queryReferencedDataItems","onlyReferencedItems","holdingItem","relationshipAttribute","referenceParameter","referringItemId","referringItemFieldName","SortOrder","ASC","DESC","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","queryRequest","executeDirectQuery","WixDataQueryImpl","onCount","onDistinct","_toSort$find","find","onFind","randomSortOptions","sortMode","SortMode","RANDOM","randomOptions","seed","fieldGroups","_request$paging","_request$cursorPaging","_request$paging2","_request$cursorPaging2","_options$includeRefer","s","inc","_options$includeField2","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","arguments","suppressHooks","draftsOptions","showDrafts","conditionOptions","condition","includeReferencedItems","res","appOptions","entries","every","kv","language","publishPluginOptions","includeDraftItems","fieldOrder","providerOrValue","code","error","_details","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","isObject","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 WixDataPatchOptions,\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} 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 FieldModification,\n WixDataBulkPatch,\n} from './WixDataPatch'\nimport { WixDataAggregate } from './WixDataAggregate'\nimport { WixDataFilter } from './WixDataFilter'\nimport { WixDataResult } from './WixDataResult'\nimport { WixDataBulkPatchImpl, WixDataPatchImpl } 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\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 = (fieldModification: 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.actionOptions,\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.actionOptions,\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.actionOptions,\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.actionOptions,\n },\n }\n default:\n throw new Error('Invalid patch action')\n }\n }\n\n patch = (collectionName: string, itemId: string): WixDataPatch => {\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 bulkPatch = (collectionName: string, itemIds: string[]): WixDataBulkPatch => {\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 // --- 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 extends WixDataItem = WixDataItem>(\n collectionName: string,\n queryRequest: WixDataQueryRequest,\n options?: WixDataDirectQueryOptions\n ): Promise<WixDataResult<Item>>\n\n query<Item extends WixDataItem = 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 extends WixDataItem = 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 search = (collectionName: string): WixDataSearch => {\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 // 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 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?: WixDataOptions,\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 }\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?: WixDataOptions & { 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?: WixDataOptions\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 toInsertOptions(options?: WixDataInsertOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n }\n}\n\nfunction toSaveOptions(options?: WixDataSaveOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n }\n}\n\nfunction toUpdateOptions(options?: WixDataUpdateOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toBulkUpdateOptions(options?: WixDataBulkUpdateOptions) {\n return {\n ...toOptions(options),\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","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","actionOptions","REMOVE_FIELD","INCREMENT_FIELD","incrementFieldOptions","APPEND_TO_ARRAY","appendToArrayOptions","REMOVE_FROM_ARRAY","removeFromArrayOptions","Error","WixDataPatchImpl","onRun","_args","patchParams","fieldModifications","map","toFieldModificationApi","result","patchDataItem","patch","toPatchOptions","itemIds","WixDataBulkPatchImpl","results","bulkPatchDataItems","patches","toBulkResult","cursor","limit","isNonEmptyString","fetch","cursorOrOffset","dataItems","pagingMetadata","queryDataItems","query","toPaging","items","paging","WixDataResultImpl","limitNumber","skipNumber","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","bulkRemoveOptions","bulkRemoveDataItems","dataItemIds","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","queryRequest","executeDirectQuery","ensureValidQuery","invalidArgs","wdeValidationError","messages","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","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","arguments","suppressHooks","draftsOptions","showDrafts","conditionOptions","condition","includeReferencedItems","res","appOptions","entries","every","kv","language","publishPluginOptions","includeDraftItems","fieldOrder","providerOrValue","code","error","_details","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","isObject","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 WixDataPatchOptions,\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} 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 FieldModification,\n WixDataBulkPatch,\n} from './WixDataPatch'\nimport { WixDataAggregate } from './WixDataAggregate'\nimport { WixDataFilter } from './WixDataFilter'\nimport { WixDataResult } from './WixDataResult'\nimport { WixDataBulkPatchImpl, WixDataPatchImpl } 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\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 = (fieldModification: 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.actionOptions,\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.actionOptions,\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.actionOptions,\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.actionOptions,\n },\n }\n default:\n throw new Error('Invalid patch action')\n }\n }\n\n patch = (collectionName: string, itemId: string): WixDataPatch => {\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 bulkPatch = (collectionName: string, itemIds: string[]): WixDataBulkPatch => {\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 // --- 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 extends WixDataItem = WixDataItem>(\n collectionName: string,\n queryRequest: WixDataQueryRequest,\n options?: WixDataDirectQueryOptions\n ): Promise<WixDataResult<Item>>\n\n query<Item extends WixDataItem = 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 extends WixDataItem = 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, expression: request.expression })(\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: {\n expression: request.expression,\n fuzzy: request.fuzzy,\n mode: request.mode as any,\n },\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?: WixDataOptions,\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 }\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?: WixDataOptions & { 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?: WixDataOptions\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 toInsertOptions(options?: WixDataInsertOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n }\n}\n\nfunction toSaveOptions(options?: WixDataSaveOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n }\n}\n\nfunction toUpdateOptions(options?: WixDataUpdateOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n ...conditionOptions(options?.condition),\n }\n}\n\nfunction toBulkUpdateOptions(options?: WixDataBulkUpdateOptions) {\n return {\n ...toOptions(options),\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,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.stages = exports.pipelineBuilder = exports.expressions = exports.WixDataUpdateOptions = exports.WixDataSearch = exports.WixDataSaveOptions = exports.WixDataResult = exports.WixDataRemoveOptions = exports.WixDataReference = exports.WixDataReadWithProjectionOptions = exports.WixDataReadOptions = exports.WixDataQuerySpec = exports.WixDataQueryRequest = exports.WixDataQueryReferencedOptions = exports.WixDataQueryOptions = exports.WixDataQueryBuilder = exports.WixDataQuery = exports.WixDataPatchOptions = exports.WixDataPatch = exports.WixDataOptions = exports.WixDataItem = exports.WixDataInsertOptions = exports.WixDataGetOptions = exports.WixDataFilter = exports.WixDataDistinctOptions = exports.WixDataDirectQueryOptions = exports.WixDataCountOptions = exports.WixDataBulkUpdateOptions = exports.WixDataBulkResult = exports.WixDataBulkRemoveOptions = exports.WixDataBulkPatchOptions = exports.WixDataBulkPatch = exports.WixDataBulkError = exports.WixDataApi = exports.WixDataAggregatePipelineStages = exports.WixDataAggregatePipelineExpressions = exports.WixDataAggregateOptions = exports.WixDataAggregate = exports.WithIncludeFieldGroupsOption = exports.UnwindStage = exports.ToUpperExpression = exports.ToLowerExpression = exports.TextExpression = exports.SumExpression = exports.SubtractExpression = exports.SubstringExpression = exports.StringifyExpression = exports.SortStage = exports.Sort = exports.SkipStage = exports.QueryValidator = exports.QueryBuilder = exports.QueryBase = exports.ProjectStage = exports.PipelineStage = exports.PipelineBuilder = exports.ObjectToArrayStage = exports.NumericExpression = exports.MultiplyExpression = exports.ModExpression = exports.LimitStage = exports.LengthExpression = exports.GroupStage = exports.FloorExpression = exports.FilterStage = exports.Filter = exports.FieldExpression = exports.DivideExpression = exports.ConcatExpression = exports.CeilExpression = exports.AddExpression = exports.AbsExpression = void 0;
4
+ exports.stages = exports.pipelineBuilder = exports.expressions = exports.WixDataUpdateOptions = exports.WixDataSearchRequest = exports.WixDataSearch = exports.WixDataSaveOptions = exports.WixDataResult = exports.WixDataRemoveOptions = exports.WixDataReference = exports.WixDataReadWithProjectionOptions = exports.WixDataReadOptions = exports.WixDataQuerySpec = exports.WixDataQueryRequest = exports.WixDataQueryReferencedOptions = exports.WixDataQueryOptions = exports.WixDataQueryBuilder = exports.WixDataQuery = exports.WixDataPatchOptions = exports.WixDataPatch = exports.WixDataOptions = exports.WixDataItem = exports.WixDataInsertOptions = exports.WixDataGetOptions = exports.WixDataFilter = exports.WixDataDistinctOptions = exports.WixDataDirectSearchOptions = exports.WixDataDirectQueryOptions = exports.WixDataCountOptions = exports.WixDataBulkUpdateOptions = exports.WixDataBulkResult = exports.WixDataBulkRemoveOptions = exports.WixDataBulkPatchOptions = exports.WixDataBulkPatch = exports.WixDataBulkError = exports.WixDataApi = exports.WixDataAggregatePipelineStages = exports.WixDataAggregatePipelineExpressions = exports.WixDataAggregateOptions = exports.WixDataAggregate = exports.WithIncludeFieldGroupsOption = exports.UnwindStage = exports.ToUpperExpression = exports.ToLowerExpression = exports.TextExpression = exports.SumExpression = exports.SubtractExpression = exports.SubstringExpression = exports.StringifyExpression = exports.SortStage = exports.Sort = exports.SkipStage = exports.QueryValidator = exports.QueryBuilder = exports.QueryBase = exports.ProjectStage = exports.PipelineStage = exports.PipelineBuilder = exports.ObjectToArrayStage = exports.NumericExpression = exports.MultiplyExpression = exports.ModExpression = exports.LimitStage = exports.LengthExpression = exports.GroupStage = exports.FloorExpression = exports.FilterStage = exports.Filter = exports.FieldExpression = exports.DivideExpression = exports.ConcatExpression = exports.CeilExpression = exports.AddExpression = exports.AbsExpression = void 0;
5
5
  var _WixDataQuery = require("./WixDataQuery");
6
6
  exports.WixDataQuery = _WixDataQuery.WixDataQuery;
7
7
  var _WixDataSearch = require("./WixDataSearch");
@@ -47,6 +47,8 @@ exports.WixDataAggregateOptions = _types.WixDataAggregateOptions;
47
47
  exports.WixDataRemoveOptions = _types.WixDataRemoveOptions;
48
48
  exports.WixDataDistinctOptions = _types.WixDataDistinctOptions;
49
49
  exports.WixDataCountOptions = _types.WixDataCountOptions;
50
+ exports.WixDataSearchRequest = _types.WixDataSearchRequest;
51
+ exports.WixDataDirectSearchOptions = _types.WixDataDirectSearchOptions;
50
52
  var _stages = require("./stages/stages");
51
53
  exports.stages = _stages.stages;
52
54
  exports.PipelineStage = _stages.PipelineStage;
@@ -1 +1 @@
1
- {"version":3,"names":["_WixDataQuery","require","exports","WixDataQuery","_WixDataSearch","WixDataSearch","_WixDataApi","WixDataApi","_WixDataResult","WixDataResult","_QueryValidator","QueryValidator","_WixDataAggregate","WixDataAggregate","_QueryBase","QueryBase","_WixDataPatch","WixDataPatch","WixDataBulkPatch","_WixDataFilter","WixDataFilter","_types","WixDataOptions","WixDataReadOptions","WixDataReadWithProjectionOptions","WithIncludeFieldGroupsOption","WixDataGetOptions","WixDataUpdateOptions","WixDataPatchOptions","WixDataQueryOptions","WixDataDirectQueryOptions","WixDataQueryRequest","WixDataQuerySpec","WixDataItem","WixDataReference","WixDataBulkError","WixDataSaveOptions","WixDataBulkPatchOptions","WixDataBulkUpdateOptions","WixDataBulkRemoveOptions","WixDataInsertOptions","WixDataBulkResult","WixDataQueryReferencedOptions","WixDataAggregateOptions","WixDataRemoveOptions","WixDataDistinctOptions","WixDataCountOptions","_stages","stages","PipelineStage","WixDataAggregatePipelineStages","_FilterStage","FilterStage","_ProjectStage","ProjectStage","_GroupStage","GroupStage","_UnwindStage","UnwindStage","_SortStage","SortStage","_LimitStage","LimitStage","_SkipStage","SkipStage","_ObjectToArrayStage","ObjectToArrayStage","_PipelineBuilder","PipelineBuilder","pipelineBuilder","_WixDataQueryBuilder","QueryBuilder","Sort","Filter","WixDataQueryBuilder","_expressions","expressions","WixDataAggregatePipelineExpressions","_Expression","FieldExpression","TextExpression","NumericExpression","AddExpression","SubtractExpression","MultiplyExpression","DivideExpression","SumExpression","AbsExpression","ModExpression","FloorExpression","CeilExpression","ConcatExpression","StringifyExpression","ToLowerExpression","ToUpperExpression","SubstringExpression","LengthExpression"],"sources":["../../../src/api/index.ts"],"sourcesContent":["export { WixDataQuery } from './WixDataQuery'\nexport { WixDataSearch } from './WixDataSearch'\nexport { WixDataApi } from './WixDataApi'\nexport { WixDataResult } from './WixDataResult'\nexport { QueryValidator } from './QueryValidator'\nexport { WixDataAggregate } from './WixDataAggregate'\nexport { QueryBase } from './QueryBase'\nexport { WixDataPatch, WixDataBulkPatch } from './WixDataPatch'\nexport { WixDataFilter } from './WixDataFilter'\nexport {\n WixDataOptions,\n WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WithIncludeFieldGroupsOption,\n WixDataGetOptions,\n WixDataUpdateOptions,\n WixDataPatchOptions,\n WixDataQueryOptions,\n WixDataDirectQueryOptions,\n WixDataQueryRequest,\n WixDataQuerySpec,\n WixDataItem,\n WixDataReference,\n WixDataBulkError,\n WixDataSaveOptions,\n WixDataBulkPatchOptions,\n WixDataBulkUpdateOptions,\n WixDataBulkRemoveOptions,\n WixDataInsertOptions,\n WixDataBulkResult,\n WixDataQueryReferencedOptions,\n WixDataAggregateOptions,\n WixDataRemoveOptions,\n WixDataDistinctOptions,\n WixDataCountOptions,\n} from './types'\nexport type { WixDataItemOrId } from './types'\nexport {\n stages,\n PipelineStage,\n WixDataAggregatePipelineStages,\n} from './stages/stages'\nexport { FilterStage } from './stages/FilterStage'\nexport { ProjectStage } from './stages/ProjectStage'\nexport { GroupStage } from './stages/GroupStage'\nexport { UnwindStage } from './stages/UnwindStage'\nexport { SortStage } from './stages/SortStage'\nexport { LimitStage } from './stages/LimitStage'\nexport { SkipStage } from './stages/SkipStage'\nexport { ObjectToArrayStage } from './stages/ObjectToArrayStage'\nexport { PipelineBuilder, pipelineBuilder } from './PipelineBuilder'\nexport {\n QueryBuilder,\n Sort,\n Filter,\n WixDataQueryBuilder,\n} from './WixDataQueryBuilder'\nexport {\n expressions,\n WixDataAggregatePipelineExpressions,\n} from './expressions/expressions'\nexport {\n FieldExpression,\n TextExpression,\n NumericExpression,\n AddExpression,\n SubtractExpression,\n MultiplyExpression,\n DivideExpression,\n SumExpression,\n AbsExpression,\n ModExpression,\n FloorExpression,\n CeilExpression,\n ConcatExpression,\n StringifyExpression,\n ToLowerExpression,\n ToUpperExpression,\n SubstringExpression,\n LengthExpression,\n} from './expressions/Expression'\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_WixDataQuery","require","exports","WixDataQuery","_WixDataSearch","WixDataSearch","_WixDataApi","WixDataApi","_WixDataResult","WixDataResult","_QueryValidator","QueryValidator","_WixDataAggregate","WixDataAggregate","_QueryBase","QueryBase","_WixDataPatch","WixDataPatch","WixDataBulkPatch","_WixDataFilter","WixDataFilter","_types","WixDataOptions","WixDataReadOptions","WixDataReadWithProjectionOptions","WithIncludeFieldGroupsOption","WixDataGetOptions","WixDataUpdateOptions","WixDataPatchOptions","WixDataQueryOptions","WixDataDirectQueryOptions","WixDataQueryRequest","WixDataQuerySpec","WixDataItem","WixDataReference","WixDataBulkError","WixDataSaveOptions","WixDataBulkPatchOptions","WixDataBulkUpdateOptions","WixDataBulkRemoveOptions","WixDataInsertOptions","WixDataBulkResult","WixDataQueryReferencedOptions","WixDataAggregateOptions","WixDataRemoveOptions","WixDataDistinctOptions","WixDataCountOptions","WixDataSearchRequest","WixDataDirectSearchOptions","_stages","stages","PipelineStage","WixDataAggregatePipelineStages","_FilterStage","FilterStage","_ProjectStage","ProjectStage","_GroupStage","GroupStage","_UnwindStage","UnwindStage","_SortStage","SortStage","_LimitStage","LimitStage","_SkipStage","SkipStage","_ObjectToArrayStage","ObjectToArrayStage","_PipelineBuilder","PipelineBuilder","pipelineBuilder","_WixDataQueryBuilder","QueryBuilder","Sort","Filter","WixDataQueryBuilder","_expressions","expressions","WixDataAggregatePipelineExpressions","_Expression","FieldExpression","TextExpression","NumericExpression","AddExpression","SubtractExpression","MultiplyExpression","DivideExpression","SumExpression","AbsExpression","ModExpression","FloorExpression","CeilExpression","ConcatExpression","StringifyExpression","ToLowerExpression","ToUpperExpression","SubstringExpression","LengthExpression"],"sources":["../../../src/api/index.ts"],"sourcesContent":["export { WixDataQuery } from './WixDataQuery'\nexport { WixDataSearch } from './WixDataSearch'\nexport { WixDataApi } from './WixDataApi'\nexport { WixDataResult } from './WixDataResult'\nexport { QueryValidator } from './QueryValidator'\nexport { WixDataAggregate } from './WixDataAggregate'\nexport { QueryBase } from './QueryBase'\nexport { WixDataPatch, WixDataBulkPatch } from './WixDataPatch'\nexport { WixDataFilter } from './WixDataFilter'\nexport {\n WixDataOptions,\n WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WithIncludeFieldGroupsOption,\n WixDataGetOptions,\n WixDataUpdateOptions,\n WixDataPatchOptions,\n WixDataQueryOptions,\n WixDataDirectQueryOptions,\n WixDataQueryRequest,\n WixDataQuerySpec,\n WixDataItem,\n WixDataReference,\n WixDataBulkError,\n WixDataSaveOptions,\n WixDataBulkPatchOptions,\n WixDataBulkUpdateOptions,\n WixDataBulkRemoveOptions,\n WixDataInsertOptions,\n WixDataBulkResult,\n WixDataQueryReferencedOptions,\n WixDataAggregateOptions,\n WixDataRemoveOptions,\n WixDataDistinctOptions,\n WixDataCountOptions,\n WixDataSearchRequest,\n WixDataDirectSearchOptions,\n} from './types'\nexport type { WixDataItemOrId } from './types'\nexport {\n stages,\n PipelineStage,\n WixDataAggregatePipelineStages,\n} from './stages/stages'\nexport { FilterStage } from './stages/FilterStage'\nexport { ProjectStage } from './stages/ProjectStage'\nexport { GroupStage } from './stages/GroupStage'\nexport { UnwindStage } from './stages/UnwindStage'\nexport { SortStage } from './stages/SortStage'\nexport { LimitStage } from './stages/LimitStage'\nexport { SkipStage } from './stages/SkipStage'\nexport { ObjectToArrayStage } from './stages/ObjectToArrayStage'\nexport { PipelineBuilder, pipelineBuilder } from './PipelineBuilder'\nexport {\n QueryBuilder,\n Sort,\n Filter,\n WixDataQueryBuilder,\n} from './WixDataQueryBuilder'\nexport {\n expressions,\n WixDataAggregatePipelineExpressions,\n} from './expressions/expressions'\nexport {\n FieldExpression,\n TextExpression,\n NumericExpression,\n AddExpression,\n SubtractExpression,\n MultiplyExpression,\n DivideExpression,\n SumExpression,\n AbsExpression,\n ModExpression,\n FloorExpression,\n CeilExpression,\n ConcatExpression,\n StringifyExpression,\n ToLowerExpression,\n ToUpperExpression,\n SubstringExpression,\n LengthExpression,\n} from './expressions/Expression'\n"],"mappings":"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","ignoreList":[]}