@wix/wix-data-items-common 1.0.280 → 1.0.282

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","dataItem","getDataItem","dataItemId","toReadOptions","fields","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","length","wdeValidationError","messages","queryValidations","queryInvalid","WixDataQueryImpl","onCount","params","invalidArguments","validateAndReturn","totalCount","countDataItems","onDistinct","field","_toSort$find","fieldName","order","toSort","orderBy","find","fetch","cursorOrOffset","returnTotalCount","distinctValues","pagingMetadata","queryDistinctValues","toPaging","limitNumber","isOffset","items","paging","skipNumber","WixDataResultImpl","onFind","dataItems","queryDataItems","query","projectedFields","sort","referencedItemOptions","included","randomSortOptions","sortMode","SortMode","RANDOM","randomOptions","seed","WixDataSearchImpl","expression","queryText","request","search","fuzzy","isFuzzy","mode","searchMode","searchDataItems","cursor","limit","isNonEmptyString","WixDataAggregateImpl","validationErrors","aggregateValidations","aggregateInvalid","toOperation","itemFieldName","undefined","aggregateDataItems","initialFilter","aggregation","groupingFields","groupBy","operations","aggregates","a","resultFieldName","name","average","avg","min","max","sum","itemCount","count","finalFilter","havingTree","unwrapAggregationId","pipeline","aggregatePipelineDataItems","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","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","arguments","suppressHooks","draftsOptions","showDrafts","conditionOptions","condition","includeReferencedItems","includeReferences","res","appOptions","entries","every","kv","language","publishPluginOptions","includeDraftItems","cursorPaging","offset","fieldOrder","providerOrValue","code","error","_details","details","applicationError","Promise","resolve","reject","hasFieldWithDollar","hasField","key","startsWith","hasFieldWithDot","includes","console","warn","errors","flatMap","_r$itemMetadata","_r$itemMetadata2","itemMetadata","success","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 WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WixDataReference,\n WixDataUpdateOptions,\n WixDataBulkUpdateOptions,\n WixDataSaveOptions,\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\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 })\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 query = (collectionName: string): WixDataQuery => {\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 referencedItemOptions: 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 })\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 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 referencedItemOptions: 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 // --- 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 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 ),\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","dataItem","getDataItem","dataItemId","toReadOptions","fields","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","length","wdeValidationError","messages","queryValidations","queryInvalid","WixDataSearchImpl","params","invalidArguments","validateAndReturn","expression","queryText","fetch","cursorOrOffset","request","search","sort","toSort","orderBy","projectedFields","fuzzy","isFuzzy","mode","searchMode","toPaging","limitNumber","referencedItemOptions","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","bulkRemoveOptions","bulkRemoveDataItems","dataItemIds","bulkInsertOptions","appId","runBulkSave","overrideExisting","bulkUpdateOptions","bulkUpdateDataItems","toBulkUpdateOptions","current","queryReferencedDataItems","onlyReferencedItems","holdingItem","relationshipAttribute","referenceParameter","referringItemId","referringItemFieldName","order","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","totalCount","countDataItems","onDistinct","_toSort$find","fieldName","find","distinctValues","queryDistinctValues","onFind","randomSortOptions","sortMode","SortMode","RANDOM","randomOptions","seed","_request$paging","_request$cursorPaging","_request$paging2","_request$cursorPaging2","_options$referencedIt","cursorPaging","offset","s","inc","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","arguments","suppressHooks","draftsOptions","showDrafts","conditionOptions","condition","includeReferencedItems","includeReferences","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","itemMetadata","success","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 WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WixDataReference,\n WixDataUpdateOptions,\n WixDataBulkUpdateOptions,\n WixDataSaveOptions,\n WixDataQueryRequest,\n WixDataDirectQueryOptions,\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\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 })\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 referencedItemOptions.\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 referencedItemOptions: 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 })\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 referencedItemOptions = options?.referencedItemOptions?.map(\n (inc) => ({\n fieldName: inc.fieldName,\n limit: inc.limit,\n })\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 referencedItemOptions,\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset) ? { returnTotalCount } : {}),\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 referencedItemOptions: 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 // --- 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 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 ),\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":[]}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.Sort = exports.QueryBuilder = exports.Filter = void 0;
5
+ var _queryBuilderUtils = require("@wix/sdk-runtime/query-builder-utils");
6
+ // Create the base query utilities from SDK runtime
7
+ const baseQueryUtils = (0, _queryBuilderUtils.createQueryUtils)();
8
+
9
+ /**
10
+ * WixData QueryBuilder type.
11
+ * @internal
12
+ */
13
+
14
+ /**
15
+ * Creates a new WixData query builder.
16
+ * @internal
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { QueryBuilder, Filter, Sort } from '@wix/wix-data-items-common'
21
+ *
22
+ * const request = QueryBuilder()
23
+ * .withFilter(
24
+ * Filter.and(
25
+ * Filter('status').eq('active'),
26
+ * Filter('age').gt(25)
27
+ * )
28
+ * )
29
+ * .withSorting(Sort('lastName').asc())
30
+ * .withPaging({ limit: 10, offset: 0 })
31
+ * .build()
32
+ *
33
+ * const result = await wixData.query<MyItem>('myCollection', request)
34
+ * ```
35
+ */
36
+ const QueryBuilder = exports.QueryBuilder = baseQueryUtils.QueryBuilder;
37
+
38
+ /**
39
+ * Filter factory for creating filter expressions.
40
+ * Uses the SDK's Filter with WixData types.
41
+ * @internal
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * // Simple field filter
46
+ * Filter('status').eq('active')
47
+ *
48
+ * // Combining filters with AND
49
+ * Filter.and(
50
+ * Filter('orderId').eq('123'),
51
+ * Filter('amount').gt(100)
52
+ * )
53
+ *
54
+ * // Combining filters with OR
55
+ * Filter.or(
56
+ * Filter('status').eq('pending'),
57
+ * Filter('status').eq('active')
58
+ * )
59
+ *
60
+ * // Negating a filter
61
+ * Filter.not(Filter('status').eq('deleted'))
62
+ * ```
63
+ */
64
+ const Filter = exports.Filter = baseQueryUtils.Filter;
65
+
66
+ /**
67
+ * Sort factory for creating sort expressions.
68
+ * Uses the SDK's Sort with WixData types.
69
+ * @internal
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * // Descending sort
74
+ * Sort('amount').desc()
75
+ *
76
+ * // Ascending sort
77
+ * Sort('name').asc()
78
+ *
79
+ * // Use with QueryBuilder
80
+ * QueryBuilder()
81
+ * .withSorting(Sort('amount').desc(), Sort('name').asc())
82
+ * .build()
83
+ * ```
84
+ */
85
+ const Sort = exports.Sort = baseQueryUtils.Sort;
86
+
87
+ // Re-export types for convenience
88
+ //# sourceMappingURL=WixDataQueryBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_queryBuilderUtils","require","baseQueryUtils","createQueryUtils","QueryBuilder","exports","Filter","Sort"],"sources":["../../../src/api/WixDataQueryBuilder.ts"],"sourcesContent":["import { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils'\nimport type {\n QueryBuilder as SDKQueryBuilder,\n FilterFactory,\n SortFactory,\n} from '@wix/sdk-types'\nimport { WixDataQueryRequest, WixDataQuerySpec, WixDataItem } from './types'\n\n// Create the base query utilities from SDK runtime\nconst baseQueryUtils = createQueryUtils<\n WixDataItem,\n WixDataQuerySpec,\n WixDataQueryRequest\n>()\n\n/**\n * WixData QueryBuilder type.\n * @internal\n */\nexport type WixDataQueryBuilder = SDKQueryBuilder<\n WixDataItem,\n WixDataQuerySpec,\n WixDataQueryRequest\n>\n\n/**\n * Creates a new WixData query builder.\n * @internal\n *\n * @example\n * ```ts\n * import { QueryBuilder, Filter, Sort } from '@wix/wix-data-items-common'\n *\n * const request = QueryBuilder()\n * .withFilter(\n * Filter.and(\n * Filter('status').eq('active'),\n * Filter('age').gt(25)\n * )\n * )\n * .withSorting(Sort('lastName').asc())\n * .withPaging({ limit: 10, offset: 0 })\n * .build()\n *\n * const result = await wixData.query<MyItem>('myCollection', request)\n * ```\n */\nexport const QueryBuilder: () => WixDataQueryBuilder =\n baseQueryUtils.QueryBuilder\n\n/**\n * Filter factory for creating filter expressions.\n * Uses the SDK's Filter with WixData types.\n * @internal\n *\n * @example\n * ```ts\n * // Simple field filter\n * Filter('status').eq('active')\n *\n * // Combining filters with AND\n * Filter.and(\n * Filter('orderId').eq('123'),\n * Filter('amount').gt(100)\n * )\n *\n * // Combining filters with OR\n * Filter.or(\n * Filter('status').eq('pending'),\n * Filter('status').eq('active')\n * )\n *\n * // Negating a filter\n * Filter.not(Filter('status').eq('deleted'))\n * ```\n */\nexport const Filter: FilterFactory<WixDataItem, WixDataQuerySpec> =\n baseQueryUtils.Filter\n\n/**\n * Sort factory for creating sort expressions.\n * Uses the SDK's Sort with WixData types.\n * @internal\n *\n * @example\n * ```ts\n * // Descending sort\n * Sort('amount').desc()\n *\n * // Ascending sort\n * Sort('name').asc()\n *\n * // Use with QueryBuilder\n * QueryBuilder()\n * .withSorting(Sort('amount').desc(), Sort('name').asc())\n * .build()\n * ```\n */\nexport const Sort: SortFactory<WixDataQuerySpec> = baseQueryUtils.Sort\n\n// Re-export types for convenience\nexport type {\n FilterExpression,\n SortExpression,\n PagingFor,\n} from '@wix/sdk-types'\n"],"mappings":";;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAQA;AACA,MAAMC,cAAc,GAAG,IAAAC,mCAAgB,EAIrC,CAAC;;AAEH;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,YAAuC,GAAAC,OAAA,CAAAD,YAAA,GAClDF,cAAc,CAACE,YAAY;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,MAAoD,GAAAD,OAAA,CAAAC,MAAA,GAC/DJ,cAAc,CAACI,MAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,IAAmC,GAAAF,OAAA,CAAAE,IAAA,GAAGL,cAAc,CAACK,IAAI;;AAEtE","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.WixDataQueryReferencedOptions = exports.WixDataQueryOptions = exports.WixDataQuery = exports.WixDataPatchOptions = exports.WixDataPatch = exports.WixDataOptions = exports.WixDataItem = exports.WixDataInsertOptions = exports.WixDataFilter = exports.WixDataBulkUpdateOptions = exports.WixDataBulkResult = exports.WixDataBulkRemoveOptions = exports.WixDataBulkPatchOptions = exports.WixDataBulkPatch = exports.WixDataBulkError = exports.WixDataApi = exports.WixDataAggregatePipelineStages = exports.WixDataAggregatePipelineExpressions = exports.WixDataAggregateOptions = exports.WixDataAggregate = exports.UnwindStage = exports.ToUpperExpression = exports.ToLowerExpression = exports.TextExpression = exports.SumExpression = exports.SubtractExpression = exports.SubstringExpression = exports.StringifyExpression = exports.SortStage = exports.SkipStage = exports.QueryValidator = 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.FieldExpression = exports.DivideExpression = exports.ConcatExpression = exports.CeilExpression = exports.AddExpression = exports.AbsExpression = void 0;
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.WixDataFilter = exports.WixDataDirectQueryOptions = exports.WixDataBulkUpdateOptions = exports.WixDataBulkResult = exports.WixDataBulkRemoveOptions = exports.WixDataBulkPatchOptions = exports.WixDataBulkPatch = exports.WixDataBulkError = exports.WixDataApi = exports.WixDataAggregatePipelineStages = exports.WixDataAggregatePipelineExpressions = exports.WixDataAggregateOptions = exports.WixDataAggregate = 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");
@@ -28,6 +28,9 @@ exports.WixDataReadWithProjectionOptions = _types.WixDataReadWithProjectionOptio
28
28
  exports.WixDataUpdateOptions = _types.WixDataUpdateOptions;
29
29
  exports.WixDataPatchOptions = _types.WixDataPatchOptions;
30
30
  exports.WixDataQueryOptions = _types.WixDataQueryOptions;
31
+ exports.WixDataDirectQueryOptions = _types.WixDataDirectQueryOptions;
32
+ exports.WixDataQueryRequest = _types.WixDataQueryRequest;
33
+ exports.WixDataQuerySpec = _types.WixDataQuerySpec;
31
34
  exports.WixDataItem = _types.WixDataItem;
32
35
  exports.WixDataReference = _types.WixDataReference;
33
36
  exports.WixDataBulkError = _types.WixDataBulkError;
@@ -63,6 +66,11 @@ exports.ObjectToArrayStage = _ObjectToArrayStage.ObjectToArrayStage;
63
66
  var _PipelineBuilder = require("./PipelineBuilder");
64
67
  exports.PipelineBuilder = _PipelineBuilder.PipelineBuilder;
65
68
  exports.pipelineBuilder = _PipelineBuilder.pipelineBuilder;
69
+ var _WixDataQueryBuilder = require("./WixDataQueryBuilder");
70
+ exports.QueryBuilder = _WixDataQueryBuilder.QueryBuilder;
71
+ exports.Sort = _WixDataQueryBuilder.Sort;
72
+ exports.Filter = _WixDataQueryBuilder.Filter;
73
+ exports.WixDataQueryBuilder = _WixDataQueryBuilder.WixDataQueryBuilder;
66
74
  var _expressions = require("./expressions/expressions");
67
75
  exports.expressions = _expressions.expressions;
68
76
  exports.WixDataAggregatePipelineExpressions = _expressions.WixDataAggregatePipelineExpressions;
@@ -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","WixDataUpdateOptions","WixDataPatchOptions","WixDataQueryOptions","WixDataItem","WixDataReference","WixDataBulkError","WixDataSaveOptions","WixDataBulkPatchOptions","WixDataBulkUpdateOptions","WixDataBulkRemoveOptions","WixDataInsertOptions","WixDataBulkResult","WixDataQueryReferencedOptions","WixDataAggregateOptions","WixDataRemoveOptions","_stages","stages","PipelineStage","WixDataAggregatePipelineStages","_FilterStage","FilterStage","_ProjectStage","ProjectStage","_GroupStage","GroupStage","_UnwindStage","UnwindStage","_SortStage","SortStage","_LimitStage","LimitStage","_SkipStage","SkipStage","_ObjectToArrayStage","ObjectToArrayStage","_PipelineBuilder","PipelineBuilder","pipelineBuilder","_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 WixDataUpdateOptions,\n WixDataPatchOptions,\n WixDataQueryOptions,\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} 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 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","WixDataUpdateOptions","WixDataPatchOptions","WixDataQueryOptions","WixDataDirectQueryOptions","WixDataQueryRequest","WixDataQuerySpec","WixDataItem","WixDataReference","WixDataBulkError","WixDataSaveOptions","WixDataBulkPatchOptions","WixDataBulkUpdateOptions","WixDataBulkRemoveOptions","WixDataInsertOptions","WixDataBulkResult","WixDataQueryReferencedOptions","WixDataAggregateOptions","WixDataRemoveOptions","_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 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} 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":[]}