@wix/auto_sdk_benefit-programs_pool-items 1.0.1 → 1.0.2

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.
Files changed (37) hide show
  1. package/build/cjs/index.d.ts +1 -1
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/cjs/index.typings.d.ts +110 -56
  4. package/build/cjs/index.typings.js.map +1 -1
  5. package/build/cjs/meta.d.ts +96 -51
  6. package/build/cjs/meta.js.map +1 -1
  7. package/build/cjs/schemas.d.ts +24 -0
  8. package/build/cjs/schemas.js +89 -25
  9. package/build/cjs/schemas.js.map +1 -1
  10. package/build/es/index.d.mts +1 -1
  11. package/build/es/index.mjs.map +1 -1
  12. package/build/es/index.typings.d.mts +110 -56
  13. package/build/es/index.typings.mjs.map +1 -1
  14. package/build/es/meta.d.mts +96 -51
  15. package/build/es/meta.mjs.map +1 -1
  16. package/build/es/schemas.d.mts +24 -0
  17. package/build/es/schemas.mjs +89 -25
  18. package/build/es/schemas.mjs.map +1 -1
  19. package/build/internal/cjs/index.d.ts +1 -1
  20. package/build/internal/cjs/index.js.map +1 -1
  21. package/build/internal/cjs/index.typings.d.ts +90 -66
  22. package/build/internal/cjs/index.typings.js.map +1 -1
  23. package/build/internal/cjs/meta.d.ts +96 -51
  24. package/build/internal/cjs/meta.js.map +1 -1
  25. package/build/internal/cjs/schemas.d.ts +24 -0
  26. package/build/internal/cjs/schemas.js +89 -25
  27. package/build/internal/cjs/schemas.js.map +1 -1
  28. package/build/internal/es/index.d.mts +1 -1
  29. package/build/internal/es/index.mjs.map +1 -1
  30. package/build/internal/es/index.typings.d.mts +90 -66
  31. package/build/internal/es/index.typings.mjs.map +1 -1
  32. package/build/internal/es/meta.d.mts +96 -51
  33. package/build/internal/es/meta.mjs.map +1 -1
  34. package/build/internal/es/schemas.d.mts +24 -0
  35. package/build/internal/es/schemas.mjs +89 -25
  36. package/build/internal/es/schemas.mjs.map +1 -1
  37. package/package.json +2 -2
@@ -1,60 +1,58 @@
1
1
  import * as _wix_sdk_types from '@wix/sdk-types';
2
2
  import { QuerySpec, Query, NonNullablePaths } from '@wix/sdk-types';
3
3
 
4
+ /**
5
+ * A pool item represents a specific catalog item that a beneficiary can access as part of a benefit in their pool. Pool items are created automatically when items become available to a beneficiary, and they're removed when the items are revoked.
6
+ *
7
+ * Each pool item links a beneficiary's pool to a single catalog item, surfacing pricing, display details, and references to the underlying pool, program, pool definition, and program definition.
8
+ */
4
9
  interface PoolItem {
5
10
  /**
6
- * Benefit item ID.
11
+ * Pool item ID. Generated deterministically from `poolId` and `itemId`.
7
12
  * @format GUID
8
13
  * @readonly
9
14
  */
10
15
  _id?: string;
11
16
  /**
12
- * Revision number, which increments by 1 each time the benefit item is updated.
13
- * To prevent conflicting changes, the current revision must be passed when updating the item.
14
- *
15
- * Ignored when creating an item.
17
+ * Revision number, which increments by 1 each time the pool item is updated.
16
18
  * @readonly
17
19
  */
18
20
  revision?: string | null;
19
21
  /**
20
- * Date and time the item was created.
22
+ * Date and time the pool item was created.
21
23
  * @readonly
22
24
  */
23
25
  _createdDate?: Date | null;
24
26
  /**
25
- * Date and time the item was updated.
27
+ * Date and time the pool item was updated.
26
28
  * @readonly
27
29
  */
28
30
  _updatedDate?: Date | null;
29
31
  /**
30
32
  * External item ID assigned by the provider of the items.
31
33
  *
32
- * For example, if the benefit items are products, this ID corresponds to the specific product ID in the supplier's system.
34
+ * For example, if the items are products, this ID corresponds to the specific product ID in the provider's system.
33
35
  * @format GUID
34
36
  * @immutable
35
37
  * @readonly
36
38
  */
37
39
  externalId?: string;
38
40
  /**
39
- * Item category. Groups benefit items together for organization and management purposes. For example, classes, posts, groups.
41
+ * Item category. Groups benefit items together for organization and management. For example, `classes`, `posts`, or `groups`.
40
42
  * @maxLength 20
41
43
  * @immutable
42
44
  * @readonly
43
45
  */
44
46
  category?: string;
45
47
  /**
46
- * ID of the application providing the benefit item.
47
- *
48
- * ID of the external application supplying the items. Each item's external ID is unique to its respective provider's application.
48
+ * ID of the application that provides the benefit items. Each item's `externalId` is unique within its provider application.
49
49
  * @format GUID
50
50
  * @immutable
51
51
  * @readonly
52
52
  */
53
53
  providerAppId?: string;
54
54
  /**
55
- * Module name of the item provider's application that originated the items.
56
- *
57
- * For example, `store-inventory` or `fitness-resources`.
55
+ * Namespace for your app or site's benefit programs. Namespaces let you distinguish between entities that you created and entities that other apps created.
58
56
  * @minLength 1
59
57
  * @maxLength 20
60
58
  * @immutable
@@ -62,79 +60,110 @@ interface PoolItem {
62
60
  */
63
61
  namespace?: string;
64
62
  /**
65
- * Pool id
63
+ * ID of the pool that contains this item. A pool is the runtime container of benefits and items provisioned for a beneficiary.
66
64
  * @format GUID
67
65
  * @immutable
68
66
  * @readonly
69
67
  */
70
68
  poolId?: string;
71
69
  /**
72
- * Program id
70
+ * ID of the program that contains this pool item. The program is the runtime instance of a program definition for a specific beneficiary.
73
71
  * @format GUID
74
72
  * @immutable
75
73
  * @readonly
76
74
  */
77
75
  programId?: string | null;
78
76
  /**
79
- * Program external id
77
+ * External program ID assigned by the provider.
80
78
  * @format GUID
81
79
  * @readonly
82
80
  */
83
81
  externalProgramId?: string | null;
84
82
  /**
85
- * Program definition id
83
+ * ID of the program definition that's the template for this pool item's program.
86
84
  * @format GUID
87
85
  * @immutable
88
86
  * @readonly
89
87
  */
90
88
  programDefinitionId?: string | null;
91
89
  /**
92
- * Program definition external id
90
+ * External program definition ID assigned by the provider.
93
91
  * @format GUID
94
92
  * @immutable
95
93
  * @readonly
96
94
  */
97
95
  externalProgramDefinitionId?: string | null;
98
96
  /**
99
- * Pool definition id
97
+ * ID of the pool definition that's the template for this pool item's pool.
100
98
  * @format GUID
101
99
  * @immutable
102
100
  * @readonly
103
101
  */
104
102
  poolDefinitionId?: string | null;
105
103
  /**
106
- * Item set ID.
104
+ * Internal grouping identifier for this benefit's item set. Use `poolId` together with `benefitKey` to identify a benefit — `itemSetId` is an implementation detail.
107
105
  * @format GUID
108
106
  * @immutable
109
107
  * @readonly
110
108
  */
111
109
  itemSetId?: string;
112
110
  /**
113
- * Who is getting the benefit
111
+ * Beneficiary of the pool — the member, contact, or visitor who holds this pool item.
114
112
  * @readonly
115
113
  * @immutable
116
114
  */
117
115
  beneficiary?: CommonIdentificationData;
118
116
  /**
119
- * Item set ID.
117
+ * Pool details, including display name and description.
118
+ *
119
+ * Returned only when `POOL` is included in the `fields` request parameter.
120
+ * @readonly
121
+ */
122
+ pool?: PoolInfo;
123
+ /**
124
+ * Program details — `id`, `externalId`, and `displayName`.
125
+ *
126
+ * Returned only when `PROGRAM` is included in the `fields` request parameter.
127
+ * @readonly
128
+ */
129
+ program?: ProgramInfo;
130
+ /**
131
+ * Program definition that includes this item as an accessible benefit.
132
+ *
133
+ * Returned only when `PROGRAM_DEFINITION` is included in the `fields` request parameter.
134
+ * @readonly
135
+ */
136
+ programDefinition?: ProgramDefinitionInfo;
137
+ /**
138
+ * Item ID.
120
139
  * @format GUID
121
140
  * @immutable
122
141
  * @readonly
123
142
  */
124
143
  itemId?: string;
125
144
  /**
126
- * Unique identifier for the benefit associated with this item.
145
+ * Display name for the catalog item.
146
+ *
147
+ * Returned only when `ITEM` is included in the `fields` request parameter.
148
+ * @readonly
149
+ */
150
+ itemInfo?: ItemInfo;
151
+ /**
152
+ * Pricing and display information for the associated benefit, including credit price, name, and description.
153
+ *
154
+ * Returned only when `BENEFIT` is included in the `fields` request parameter.
155
+ * @readonly
156
+ */
157
+ benefitInfo?: BenefitInfo;
158
+ /**
159
+ * Unique identifier for the benefit that grants access to this item.
127
160
  * @maxLength 64
128
161
  * @immutable
129
162
  * @readonly
130
163
  */
131
164
  benefitKey?: string;
132
165
  /**
133
- * Search key for the item reference, which is a unique identifier for searching and referencing the item within the provider's system.
134
- * It's build by concatenating the following fields in this order, separated by a separator (e.g., "/"):
135
- * - providerAppId
136
- * - category
137
- * - externalId
166
+ * Pre-computed search key for the item reference, built by concatenating `providerAppId`, `category`, and `externalId` separated by `/`. Use this field for efficient single-field filtering instead of composing three separate conditions.
138
167
  * @maxLength 94
139
168
  * @immutable
140
169
  * @readonly
@@ -188,11 +217,10 @@ declare enum IdentityType {
188
217
  }
189
218
  /** @enumType */
190
219
  type IdentityTypeWithLiterals = IdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER';
220
+ /** Pool's display details. */
191
221
  interface PoolInfo {
192
222
  /**
193
- * Pool name.
194
- *
195
- * You may want to use the same name that's used in the associated pool definition.
223
+ * Pool's display name. Often matches the name on the associated pool definition.
196
224
  * @maxLength 64
197
225
  */
198
226
  displayName?: string;
@@ -202,36 +230,38 @@ interface PoolInfo {
202
230
  */
203
231
  description?: string | null;
204
232
  }
233
+ /** Program's identifying details. */
205
234
  interface ProgramInfo {
206
235
  /**
207
- * Program id
236
+ * Program ID.
208
237
  * @format GUID
209
238
  */
210
239
  _id?: string;
211
240
  /**
212
- * Program external id
241
+ * External program ID assigned by the provider.
213
242
  * @format GUID
214
243
  */
215
244
  externalId?: string | null;
216
245
  /**
217
- * Program name.
246
+ * Program's display name.
218
247
  * @maxLength 64
219
248
  */
220
249
  displayName?: string | null;
221
250
  }
251
+ /** Program definition's display details. */
222
252
  interface ProgramDefinitionInfo {
223
253
  /**
224
- * Program definition id
254
+ * Program definition ID.
225
255
  * @format GUID
226
256
  */
227
257
  _id?: string;
228
258
  /**
229
- * Program definition external id
259
+ * External program definition ID assigned by the provider.
230
260
  * @format GUID
231
261
  */
232
262
  externalId?: string | null;
233
263
  /**
234
- * Program definition name
264
+ * Program definition's display name.
235
265
  * @maxLength 64
236
266
  */
237
267
  displayName?: string | null;
@@ -241,26 +271,30 @@ interface ProgramDefinitionInfo {
241
271
  */
242
272
  description?: string | null;
243
273
  }
274
+ /** Catalog item's display details. */
244
275
  interface ItemInfo {
245
276
  /**
246
- * Item display name.
277
+ * Item's display name.
247
278
  * @maxLength 64
248
279
  */
249
280
  displayName?: string | null;
250
281
  }
282
+ /** Pricing and display information for a benefit. */
251
283
  interface BenefitInfo {
252
284
  /**
253
- * Price of the benefit in credits. The price is the same for all of this benefit's items.
285
+ * Cost of the benefit in credits. The cost is the same for all items in this benefit.
286
+ *
287
+ * Credits are a configurable unit defined on the parent pool definition. The unit type is set in the pool definition's credit configuration. Absent when no credit-based pricing is configured for this benefit.
254
288
  * @decimalValue options { gte:0, maxScale:4 }
255
289
  */
256
290
  price?: string | null;
257
291
  /**
258
- * Unique identifier for this benefit.
292
+ * Unique identifier for this benefit. Same value as `poolItem.benefitKey`.
259
293
  * @maxLength 64
260
294
  */
261
295
  benefitKey?: string;
262
296
  /**
263
- * Benefit name.
297
+ * Benefit's display name.
264
298
  * @maxLength 40
265
299
  */
266
300
  displayName?: string | null;
@@ -270,15 +304,21 @@ interface BenefitInfo {
270
304
  */
271
305
  description?: string | null;
272
306
  }
307
+ /** Deprecated: use `PoolItemRemoved` instead. Will be removed on 2026-05-31 after clients have migrated. */
273
308
  interface PoolItemDeactivated {
274
- /** The pool item that was deactivated. */
309
+ /** Pool item that was deactivated. */
310
+ poolItem?: PoolItem;
311
+ }
312
+ /** Payload for the `PoolItemRemoved` action event. */
313
+ interface PoolItemRemoved {
314
+ /** Pool item that was removed from its benefit. */
275
315
  poolItem?: PoolItem;
276
316
  }
277
317
  interface QueryPoolItemsRequest {
278
- /** Query to select benefit items. */
318
+ /** Query options. */
279
319
  query?: CursorQuery;
280
320
  /**
281
- * Fields to be included in the response.
321
+ * Optional enrichments to include in the response.
282
322
  * @maxSize 5
283
323
  */
284
324
  fields?: RequestedFieldsWithLiterals[];
@@ -338,18 +378,23 @@ interface CursorPaging {
338
378
  cursor?: string | null;
339
379
  }
340
380
  declare enum RequestedFields {
381
+ /** Populates the `pool` field with the pool's display name and description. */
341
382
  POOL = "POOL",
383
+ /** Populates the `program` field with the program's display name. */
342
384
  PROGRAM = "PROGRAM",
385
+ /** Populates the `programDefinition` field with the program definition's display name and description. */
343
386
  PROGRAM_DEFINITION = "PROGRAM_DEFINITION",
387
+ /** Populates the `itemInfo` field with the catalog item's display name. */
344
388
  ITEM = "ITEM",
389
+ /** Populates the `benefitInfo` field with the benefit's credit price, name, and description. */
345
390
  BENEFIT = "BENEFIT"
346
391
  }
347
392
  /** @enumType */
348
393
  type RequestedFieldsWithLiterals = RequestedFields | 'POOL' | 'PROGRAM' | 'PROGRAM_DEFINITION' | 'ITEM' | 'BENEFIT';
349
394
  interface QueryPoolItemsResponse {
350
- /** List of items. */
395
+ /** List of retrieved pool items. */
351
396
  poolItems?: PoolItem[];
352
- /** Metadata for paginated results. */
397
+ /** Paging metadata. */
353
398
  metadata?: CursorPagingMetadata;
354
399
  }
355
400
  interface CursorPagingMetadata {
@@ -379,12 +424,12 @@ interface Cursors {
379
424
  }
380
425
  interface InvalidatePoolItemsRequest {
381
426
  /**
382
- * The pool ID whose items are to be invalidated
427
+ * ID of the pool whose items are invalidated.
383
428
  * @format GUID
384
429
  */
385
430
  poolId?: string;
386
431
  /**
387
- * List of item set ids whose items are to be invalidated
432
+ * IDs of the item sets to invalidate. When empty, items for all benefits in the pool are invalidated.
388
433
  * @maxSize 10
389
434
  * @format GUID
390
435
  */
@@ -546,11 +591,20 @@ interface AccountInfo {
546
591
  siteId?: string | null;
547
592
  }
548
593
  /**
549
- * Retrieves a list of benefit items, given the provided paging, filtering, and sorting. Returns up to 1000 item per request.
594
+ * Retrieves a list of up to 1,000 pool items, given the provided paging, filtering, and sorting.
595
+ *
596
+ * Returns only active pool items — soft-deleted pool items are automatically excluded from the response.
597
+ *
598
+ * When called by a logged-in member without an explicit `beneficiary.memberId` filter, the response is automatically scoped to the calling member. App callers must include a `beneficiary.memberId` filter to scope the response to a specific beneficiary.
599
+ *
600
+ * Query Pool Items runs with these defaults, which you can override:
601
+ *
602
+ * - `createdDate` is sorted in `DESC` order
603
+ * - `cursorPaging.limit` is `50`
550
604
  *
551
- * For a detailed list of supported operations, see [Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/item-v1/filtering-and-sorting).
605
+ * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).
552
606
  *
553
- * To learn how to query program definitions, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).
607
+ * For a detailed list of supported filters, see [Pool Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/item-v1/filtering-and-sorting).
554
608
  * @public
555
609
  * @documentationMaturity preview
556
610
  * @permissionId benefit_programs:v1:pool_item:query_pool_items
@@ -561,7 +615,7 @@ interface AccountInfo {
561
615
  declare function queryPoolItems(options?: QueryPoolItemsOptions): PoolItemsQueryBuilder;
562
616
  interface QueryPoolItemsOptions {
563
617
  /**
564
- * Fields to be included in the response.
618
+ * Optional enrichments to include in the response.
565
619
  * @maxSize 5
566
620
  */
567
621
  fields?: RequestedFieldsWithLiterals[] | undefined;
@@ -648,7 +702,7 @@ interface PoolItemsQueryBuilder {
648
702
  * @fqn wix.benefit_programs.v1.pool_item.PoolItemService.QueryPoolItems
649
703
  * @requiredField query
650
704
  */
651
- declare function typedQueryPoolItems(query: PoolItemQuery, options?: QueryPoolItemsOptions): Promise<NonNullablePaths<QueryPoolItemsResponse, `poolItems` | `poolItems.${number}._id` | `poolItems.${number}.externalId` | `poolItems.${number}.category` | `poolItems.${number}.providerAppId` | `poolItems.${number}.namespace` | `poolItems.${number}.poolId` | `poolItems.${number}.itemSetId` | `poolItems.${number}.beneficiary.anonymousVisitorId` | `poolItems.${number}.beneficiary.memberId` | `poolItems.${number}.beneficiary.wixUserId` | `poolItems.${number}.itemId` | `poolItems.${number}.benefitKey` | `poolItems.${number}.itemReferenceSearchKey`, 5>>;
705
+ declare function typedQueryPoolItems(query: PoolItemQuery, options?: QueryPoolItemsOptions): Promise<NonNullablePaths<QueryPoolItemsResponse, `poolItems` | `poolItems.${number}._id` | `poolItems.${number}.externalId` | `poolItems.${number}.category` | `poolItems.${number}.providerAppId` | `poolItems.${number}.namespace` | `poolItems.${number}.poolId` | `poolItems.${number}.itemSetId` | `poolItems.${number}.beneficiary.anonymousVisitorId` | `poolItems.${number}.beneficiary.memberId` | `poolItems.${number}.beneficiary.wixUserId` | `poolItems.${number}.pool.displayName` | `poolItems.${number}.program._id` | `poolItems.${number}.programDefinition._id` | `poolItems.${number}.itemId` | `poolItems.${number}.benefitInfo.benefitKey` | `poolItems.${number}.benefitKey` | `poolItems.${number}.itemReferenceSearchKey`, 5>>;
652
706
  interface PoolItemQuerySpec extends QuerySpec {
653
707
  paging: 'cursor';
654
708
  wql: [
@@ -730,4 +784,4 @@ declare const utils: {
730
784
  };
731
785
  };
732
786
 
733
- export { type AccountInfo, type ActionEvent, type BenefitInfo, type CommonIdentificationData, type CommonIdentificationDataIdOneOf, type CommonQueryWithEntityContext, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type IdentificationData, type IdentificationDataIdOneOf, IdentityType, type IdentityTypeWithLiterals, type InvalidatePoolItemsRequest, type InvalidatePoolItemsResponse, type ItemInfo, type MessageEnvelope, type PoolInfo, type PoolItem, type PoolItemDeactivated, type PoolItemQuery, type PoolItemQuerySpec, type PoolItemsQueryBuilder, type PoolItemsQueryResult, type ProgramDefinitionInfo, type ProgramInfo, type QueryPoolItemsOptions, type QueryPoolItemsRequest, type QueryPoolItemsResponse, RequestedFields, type RequestedFieldsWithLiterals, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, queryPoolItems, typedQueryPoolItems, utils };
787
+ export { type AccountInfo, type ActionEvent, type BenefitInfo, type CommonIdentificationData, type CommonIdentificationDataIdOneOf, type CommonQueryWithEntityContext, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type IdentificationData, type IdentificationDataIdOneOf, IdentityType, type IdentityTypeWithLiterals, type InvalidatePoolItemsRequest, type InvalidatePoolItemsResponse, type ItemInfo, type MessageEnvelope, type PoolInfo, type PoolItem, type PoolItemDeactivated, type PoolItemQuery, type PoolItemQuerySpec, type PoolItemRemoved, type PoolItemsQueryBuilder, type PoolItemsQueryResult, type ProgramDefinitionInfo, type ProgramInfo, type QueryPoolItemsOptions, type QueryPoolItemsRequest, type QueryPoolItemsResponse, RequestedFields, type RequestedFieldsWithLiterals, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, queryPoolItems, typedQueryPoolItems, utils };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.typings.ts","../../src/benefit-programs-v1-pool-item-pool-items.universal.ts","../../src/benefit-programs-v1-pool-item-pool-items.http.ts"],"sourcesContent":["export * from './src/benefit-programs-v1-pool-item-pool-items.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixBenefitProgramsV1PoolItem from './benefit-programs-v1-pool-item-pool-items.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\nexport interface PoolItem {\n /**\n * Benefit item ID.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Revision number, which increments by 1 each time the benefit item is updated.\n * To prevent conflicting changes, the current revision must be passed when updating the item.\n *\n * Ignored when creating an item.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the item was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the item was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * External item ID assigned by the provider of the items.\n *\n * For example, if the benefit items are products, this ID corresponds to the specific product ID in the supplier's system.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string;\n /**\n * Item category. Groups benefit items together for organization and management purposes. For example, classes, posts, groups.\n * @maxLength 20\n * @immutable\n * @readonly\n */\n category?: string;\n /**\n * ID of the application providing the benefit item.\n *\n * ID of the external application supplying the items. Each item's external ID is unique to its respective provider's application.\n * @format GUID\n * @immutable\n * @readonly\n */\n providerAppId?: string;\n /**\n * Module name of the item provider's application that originated the items.\n *\n * For example, `store-inventory` or `fitness-resources`.\n * @minLength 1\n * @maxLength 20\n * @immutable\n * @readonly\n */\n namespace?: string;\n /**\n * Pool id\n * @format GUID\n * @immutable\n * @readonly\n */\n poolId?: string;\n /**\n * Program id\n * @format GUID\n * @immutable\n * @readonly\n */\n programId?: string | null;\n /**\n * Program external id\n * @format GUID\n * @readonly\n */\n externalProgramId?: string | null;\n /**\n * Program definition id\n * @format GUID\n * @immutable\n * @readonly\n */\n programDefinitionId?: string | null;\n /**\n * Program definition external id\n * @format GUID\n * @immutable\n * @readonly\n */\n externalProgramDefinitionId?: string | null;\n /**\n * Pool definition id\n * @format GUID\n * @immutable\n * @readonly\n */\n poolDefinitionId?: string | null;\n /**\n * Item set ID.\n * @format GUID\n * @immutable\n * @readonly\n */\n itemSetId?: string;\n /**\n * Who is getting the benefit\n * @readonly\n * @immutable\n */\n beneficiary?: CommonIdentificationData;\n /**\n * Additional pool data related to the benefit item.\n * @internal\n * @readonly\n */\n pool?: PoolInfo;\n /**\n * Additional program data related to the benefit item\n * @internal\n * @readonly\n */\n program?: ProgramInfo;\n /**\n * Additional program definition data related to the benefit item\n * @internal\n * @readonly\n */\n programDefinition?: ProgramDefinitionInfo;\n /**\n * Item set ID.\n * @format GUID\n * @immutable\n * @readonly\n */\n itemId?: string;\n /**\n * Additional item data related to the benefit item.\n * @internal\n * @readonly\n */\n itemInfo?: ItemInfo;\n /**\n * Benefit information\n * @internal\n * @readonly\n */\n benefitInfo?: BenefitInfo;\n /**\n * Unique identifier for the benefit associated with this item.\n * @maxLength 64\n * @immutable\n * @readonly\n */\n benefitKey?: string;\n /**\n * Search key for the item reference, which is a unique identifier for searching and referencing the item within the provider's system.\n * It's build by concatenating the following fields in this order, separated by a separator (e.g., \"/\"):\n * - providerAppId\n * - category\n * - externalId\n * @maxLength 94\n * @immutable\n * @readonly\n */\n itemReferenceSearchKey?: string;\n}\n\nexport interface CommonIdentificationData\n extends CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n}\n\n/** @oneof */\nexport interface CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n}\n\nexport enum IdentityType {\n /** Unknown type. This value is not used. */\n UNKNOWN = 'UNKNOWN',\n /** A site visitor who has not logged in. */\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n /** A logged-in site member. */\n MEMBER = 'MEMBER',\n /** A Wix account holder, such as a site owner or contributor. */\n WIX_USER = 'WIX_USER',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER';\n\nexport interface PoolInfo {\n /**\n * Pool name.\n *\n * You may want to use the same name that's used in the associated pool definition.\n * @maxLength 64\n */\n displayName?: string;\n /**\n * Pool description.\n * @maxLength 450\n */\n description?: string | null;\n}\n\nexport interface ProgramInfo {\n /**\n * Program id\n * @format GUID\n */\n _id?: string;\n /**\n * Program external id\n * @format GUID\n */\n externalId?: string | null;\n /**\n * Program name.\n * @maxLength 64\n */\n displayName?: string | null;\n}\n\nexport interface ProgramDefinitionInfo {\n /**\n * Program definition id\n * @format GUID\n */\n _id?: string;\n /**\n * Program definition external id\n * @format GUID\n */\n externalId?: string | null;\n /**\n * Program definition name\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * Program definition description.\n * @maxLength 450\n */\n description?: string | null;\n}\n\nexport interface ItemInfo {\n /**\n * Item display name.\n * @maxLength 64\n */\n displayName?: string | null;\n}\n\nexport interface BenefitInfo {\n /**\n * Price of the benefit in credits. The price is the same for all of this benefit's items.\n * @decimalValue options { gte:0, maxScale:4 }\n */\n price?: string | null;\n /**\n * Unique identifier for this benefit.\n * @maxLength 64\n */\n benefitKey?: string;\n /**\n * Benefit name.\n * @maxLength 40\n */\n displayName?: string | null;\n /**\n * Benefit description.\n * @maxLength 255\n */\n description?: string | null;\n}\n\nexport interface PoolItemDeactivated {\n /** The pool item that was deactivated. */\n poolItem?: PoolItem;\n}\n\nexport interface QueryPoolItemsRequest {\n /** Query to select benefit items. */\n query?: CursorQuery;\n /**\n * Fields to be included in the response.\n * @maxSize 5\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 1000\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport enum RequestedFields {\n POOL = 'POOL',\n PROGRAM = 'PROGRAM',\n PROGRAM_DEFINITION = 'PROGRAM_DEFINITION',\n ITEM = 'ITEM',\n BENEFIT = 'BENEFIT',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals =\n | RequestedFields\n | 'POOL'\n | 'PROGRAM'\n | 'PROGRAM_DEFINITION'\n | 'ITEM'\n | 'BENEFIT';\n\nexport interface QueryPoolItemsResponse {\n /** List of items. */\n poolItems?: PoolItem[];\n /** Metadata for paginated results. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface InvalidatePoolItemsRequest {\n /**\n * The pool ID whose items are to be invalidated\n * @format GUID\n */\n poolId?: string;\n /**\n * List of item set ids whose items are to be invalidated\n * @maxSize 10\n * @format GUID\n */\n itemSetIds?: string[];\n}\n\nexport interface InvalidatePoolItemsResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/**\n * Retrieves a list of benefit items, given the provided paging, filtering, and sorting. Returns up to 1000 item per request.\n *\n * For a detailed list of supported operations, see [Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/item-v1/filtering-and-sorting).\n *\n * To learn how to query program definitions, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n * @public\n * @documentationMaturity preview\n * @permissionId benefit_programs:v1:pool_item:query_pool_items\n * @permissionId BENEFIT_PROGRAMS.POOL_READ\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.pool_item.PoolItemService.QueryPoolItems\n */\nexport function queryPoolItems(\n options?: QueryPoolItemsOptions\n): PoolItemsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n PoolItem,\n 'CURSOR',\n QueryPoolItemsRequest,\n QueryPoolItemsResponse\n >({\n func: async (payload: QueryPoolItemsRequest) => {\n const reqOpts = ambassadorWixBenefitProgramsV1PoolItem.queryPoolItems({\n ...payload,\n ...(options ?? {}),\n });\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryPoolItemsRequest['query']) => {\n const args = [query, options] as [\n QueryPoolItemsRequest['query'],\n QueryPoolItemsOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QueryPoolItemsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.poolItems,\n pagingMetadata: transformedData?.metadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\nexport interface QueryPoolItemsOptions {\n /**\n * Fields to be included in the response.\n * @maxSize 5\n */\n fields?: RequestedFieldsWithLiterals[] | undefined;\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface PoolItemsQueryResult extends QueryCursorResult {\n items: PoolItem[];\n query: PoolItemsQueryBuilder;\n next: () => Promise<PoolItemsQueryResult>;\n prev: () => Promise<PoolItemsQueryResult>;\n}\n\nexport interface PoolItemsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: string\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasSome: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any[]\n ) => PoolItemsQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: boolean\n ) => PoolItemsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey'\n >\n ) => PoolItemsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey'\n >\n ) => PoolItemsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => PoolItemsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => PoolItemsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<PoolItemsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.benefit_programs.v1.pool_item.PoolItemService.QueryPoolItems\n * @requiredField query\n */\nexport async function typedQueryPoolItems(\n query: PoolItemQuery,\n options?: QueryPoolItemsOptions\n): Promise<\n NonNullablePaths<\n QueryPoolItemsResponse,\n | `poolItems`\n | `poolItems.${number}._id`\n | `poolItems.${number}.externalId`\n | `poolItems.${number}.category`\n | `poolItems.${number}.providerAppId`\n | `poolItems.${number}.namespace`\n | `poolItems.${number}.poolId`\n | `poolItems.${number}.itemSetId`\n | `poolItems.${number}.beneficiary.anonymousVisitorId`\n | `poolItems.${number}.beneficiary.memberId`\n | `poolItems.${number}.beneficiary.wixUserId`\n | `poolItems.${number}.itemId`\n | `poolItems.${number}.benefitKey`\n | `poolItems.${number}.itemReferenceSearchKey`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n ...options,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1PoolItem.queryPoolItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface PoolItemQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n '_createdDate',\n '_id',\n 'beneficiary.memberId',\n 'benefitKey',\n 'category',\n 'externalId',\n 'externalProgramDefinitionId',\n 'externalProgramId',\n 'itemReferenceSearchKey',\n 'itemSetId',\n 'namespace',\n 'poolDefinitionId',\n 'poolId',\n 'programDefinitionId',\n 'programId',\n 'providerAppId'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n PoolItem,\n PoolItemQuerySpec\n>;\nexport type PoolItemQuery = {\n /** \n Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object in the following format:\n `\"filter\" : {\n \"fieldName1\": \"value1\",\n \"fieldName2\":{\"$operator\":\"value2\"}\n }`\n Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]` \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n query: {\n ...createQueryUtils<PoolItem, PoolItemQuerySpec, PoolItemQuery>(),\n },\n};\n","import { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixBenefitProgramsV1PoolItemPoolItemServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/benefit-programs/v1/pool-items',\n destPath: '/v1/pool-items',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/benefit-programs/v1/pool-items',\n destPath: '/v1/pool-items',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/pool-items',\n destPath: '/v1/pool-items',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_benefit-programs_pool-items';\n\n/**\n * Retrieves a list of benefit items, given the provided paging, filtering, and sorting. Returns up to 1000 item per request.\n *\n * For a detailed list of supported operations, see [Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/item-v1/filtering-and-sorting).\n *\n * To learn how to query program definitions, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).\n */\nexport function queryPoolItems(payload: object): RequestOptionsFactory<any> {\n function __queryPoolItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.pool_item',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.pool_item.PoolItemService.QueryPoolItems',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1PoolItemPoolItemServiceUrl({\n protoPath: '/v1/pool-items/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'poolItems.createdDate' },\n { path: 'poolItems.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPoolItems;\n}\n"],"mappings":"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","names":["queryPoolItems","payload","import_transform_paths","IdentityType","SortOrder","RequestedFields","WebhookIdentityType","queryPoolItems","sdkTransformError"]}
1
+ {"version":3,"sources":["../../index.typings.ts","../../src/benefit-programs-v1-pool-item-pool-items.universal.ts","../../src/benefit-programs-v1-pool-item-pool-items.http.ts"],"sourcesContent":["export * from './src/benefit-programs-v1-pool-item-pool-items.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n NonNullablePaths,\n QuerySpec,\n Query as QuerySdkType,\n} from '@wix/sdk-types';\nimport * as ambassadorWixBenefitProgramsV1PoolItem from './benefit-programs-v1-pool-item-pool-items.http.js';\n// @ts-ignore\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { createQueryUtils } from '@wix/sdk-runtime/query-builder-utils';\n\n/**\n * A pool item represents a specific catalog item that a beneficiary can access as part of a benefit in their pool. Pool items are created automatically when items become available to a beneficiary, and they're removed when the items are revoked.\n *\n * Each pool item links a beneficiary's pool to a single catalog item, surfacing pricing, display details, and references to the underlying pool, program, pool definition, and program definition.\n */\nexport interface PoolItem {\n /**\n * Pool item ID. Generated deterministically from `poolId` and `itemId`.\n * @format GUID\n * @readonly\n */\n _id?: string;\n /**\n * Revision number, which increments by 1 each time the pool item is updated.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the pool item was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the pool item was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * External item ID assigned by the provider of the items.\n *\n * For example, if the items are products, this ID corresponds to the specific product ID in the provider's system.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalId?: string;\n /**\n * Item category. Groups benefit items together for organization and management. For example, `classes`, `posts`, or `groups`.\n * @maxLength 20\n * @immutable\n * @readonly\n */\n category?: string;\n /**\n * ID of the application that provides the benefit items. Each item's `externalId` is unique within its provider application.\n * @format GUID\n * @immutable\n * @readonly\n */\n providerAppId?: string;\n /**\n * Namespace for your app or site's benefit programs. Namespaces let you distinguish between entities that you created and entities that other apps created.\n * @minLength 1\n * @maxLength 20\n * @immutable\n * @readonly\n */\n namespace?: string;\n /**\n * ID of the pool that contains this item. A pool is the runtime container of benefits and items provisioned for a beneficiary.\n * @format GUID\n * @immutable\n * @readonly\n */\n poolId?: string;\n /**\n * ID of the program that contains this pool item. The program is the runtime instance of a program definition for a specific beneficiary.\n * @format GUID\n * @immutable\n * @readonly\n */\n programId?: string | null;\n /**\n * External program ID assigned by the provider.\n * @format GUID\n * @readonly\n */\n externalProgramId?: string | null;\n /**\n * ID of the program definition that's the template for this pool item's program.\n * @format GUID\n * @immutable\n * @readonly\n */\n programDefinitionId?: string | null;\n /**\n * External program definition ID assigned by the provider.\n * @format GUID\n * @immutable\n * @readonly\n */\n externalProgramDefinitionId?: string | null;\n /**\n * ID of the pool definition that's the template for this pool item's pool.\n * @format GUID\n * @immutable\n * @readonly\n */\n poolDefinitionId?: string | null;\n /**\n * Internal grouping identifier for this benefit's item set. Use `poolId` together with `benefitKey` to identify a benefit — `itemSetId` is an implementation detail.\n * @format GUID\n * @immutable\n * @readonly\n */\n itemSetId?: string;\n /**\n * Beneficiary of the pool — the member, contact, or visitor who holds this pool item.\n * @readonly\n * @immutable\n */\n beneficiary?: CommonIdentificationData;\n /**\n * Pool details, including display name and description.\n *\n * Returned only when `POOL` is included in the `fields` request parameter.\n * @readonly\n */\n pool?: PoolInfo;\n /**\n * Program details — `id`, `externalId`, and `displayName`.\n *\n * Returned only when `PROGRAM` is included in the `fields` request parameter.\n * @readonly\n */\n program?: ProgramInfo;\n /**\n * Program definition that includes this item as an accessible benefit.\n *\n * Returned only when `PROGRAM_DEFINITION` is included in the `fields` request parameter.\n * @readonly\n */\n programDefinition?: ProgramDefinitionInfo;\n /**\n * Item ID.\n * @format GUID\n * @immutable\n * @readonly\n */\n itemId?: string;\n /**\n * Display name for the catalog item.\n *\n * Returned only when `ITEM` is included in the `fields` request parameter.\n * @readonly\n */\n itemInfo?: ItemInfo;\n /**\n * Pricing and display information for the associated benefit, including credit price, name, and description.\n *\n * Returned only when `BENEFIT` is included in the `fields` request parameter.\n * @readonly\n */\n benefitInfo?: BenefitInfo;\n /**\n * Unique identifier for the benefit that grants access to this item.\n * @maxLength 64\n * @immutable\n * @readonly\n */\n benefitKey?: string;\n /**\n * Pre-computed search key for the item reference, built by concatenating `providerAppId`, `category`, and `externalId` separated by `/`. Use this field for efficient single-field filtering instead of composing three separate conditions.\n * @maxLength 94\n * @immutable\n * @readonly\n */\n itemReferenceSearchKey?: string;\n}\n\nexport interface CommonIdentificationData\n extends CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n}\n\n/** @oneof */\nexport interface CommonIdentificationDataIdOneOf {\n /**\n * ID of a site visitor that hasn't logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site member.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user.\n * @format GUID\n */\n wixUserId?: string;\n}\n\nexport enum IdentityType {\n /** Unknown type. This value is not used. */\n UNKNOWN = 'UNKNOWN',\n /** A site visitor who has not logged in. */\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n /** A logged-in site member. */\n MEMBER = 'MEMBER',\n /** A Wix account holder, such as a site owner or contributor. */\n WIX_USER = 'WIX_USER',\n}\n\n/** @enumType */\nexport type IdentityTypeWithLiterals =\n | IdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER';\n\n/** Pool's display details. */\nexport interface PoolInfo {\n /**\n * Pool's display name. Often matches the name on the associated pool definition.\n * @maxLength 64\n */\n displayName?: string;\n /**\n * Pool description.\n * @maxLength 450\n */\n description?: string | null;\n}\n\n/** Program's identifying details. */\nexport interface ProgramInfo {\n /**\n * Program ID.\n * @format GUID\n */\n _id?: string;\n /**\n * External program ID assigned by the provider.\n * @format GUID\n */\n externalId?: string | null;\n /**\n * Program's display name.\n * @maxLength 64\n */\n displayName?: string | null;\n}\n\n/** Program definition's display details. */\nexport interface ProgramDefinitionInfo {\n /**\n * Program definition ID.\n * @format GUID\n */\n _id?: string;\n /**\n * External program definition ID assigned by the provider.\n * @format GUID\n */\n externalId?: string | null;\n /**\n * Program definition's display name.\n * @maxLength 64\n */\n displayName?: string | null;\n /**\n * Program definition description.\n * @maxLength 450\n */\n description?: string | null;\n}\n\n/** Catalog item's display details. */\nexport interface ItemInfo {\n /**\n * Item's display name.\n * @maxLength 64\n */\n displayName?: string | null;\n}\n\n/** Pricing and display information for a benefit. */\nexport interface BenefitInfo {\n /**\n * Cost of the benefit in credits. The cost is the same for all items in this benefit.\n *\n * Credits are a configurable unit defined on the parent pool definition. The unit type is set in the pool definition's credit configuration. Absent when no credit-based pricing is configured for this benefit.\n * @decimalValue options { gte:0, maxScale:4 }\n */\n price?: string | null;\n /**\n * Unique identifier for this benefit. Same value as `poolItem.benefitKey`.\n * @maxLength 64\n */\n benefitKey?: string;\n /**\n * Benefit's display name.\n * @maxLength 40\n */\n displayName?: string | null;\n /**\n * Benefit description.\n * @maxLength 255\n */\n description?: string | null;\n}\n\n/** Deprecated: use `PoolItemRemoved` instead. Will be removed on 2026-05-31 after clients have migrated. */\nexport interface PoolItemDeactivated {\n /** Pool item that was deactivated. */\n poolItem?: PoolItem;\n}\n\n/** Payload for the `PoolItemRemoved` action event. */\nexport interface PoolItemRemoved {\n /** Pool item that was removed from its benefit. */\n poolItem?: PoolItem;\n}\n\nexport interface QueryPoolItemsRequest {\n /** Query options. */\n query?: CursorQuery;\n /**\n * Optional enrichments to include in the response.\n * @maxSize 5\n */\n fields?: RequestedFieldsWithLiterals[];\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n * @maxSize 5\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface CursorPaging {\n /**\n * Maximum number of items to return in the results.\n * @max 1000\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport enum RequestedFields {\n /** Populates the `pool` field with the pool's display name and description. */\n POOL = 'POOL',\n /** Populates the `program` field with the program's display name. */\n PROGRAM = 'PROGRAM',\n /** Populates the `programDefinition` field with the program definition's display name and description. */\n PROGRAM_DEFINITION = 'PROGRAM_DEFINITION',\n /** Populates the `itemInfo` field with the catalog item's display name. */\n ITEM = 'ITEM',\n /** Populates the `benefitInfo` field with the benefit's credit price, name, and description. */\n BENEFIT = 'BENEFIT',\n}\n\n/** @enumType */\nexport type RequestedFieldsWithLiterals =\n | RequestedFields\n | 'POOL'\n | 'PROGRAM'\n | 'PROGRAM_DEFINITION'\n | 'ITEM'\n | 'BENEFIT';\n\nexport interface QueryPoolItemsResponse {\n /** List of retrieved pool items. */\n poolItems?: PoolItem[];\n /** Paging metadata. */\n metadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Cursor strings that point to the next page, previous page, or both. */\n cursors?: Cursors;\n /**\n * Whether there are more pages to retrieve following the current page.\n *\n * + `true`: Another page of results can be retrieved.\n * + `false`: This is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor string pointing to the next page in the list of results.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor pointing to the previous page in the list of results.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\nexport interface InvalidatePoolItemsRequest {\n /**\n * ID of the pool whose items are invalidated.\n * @format GUID\n */\n poolId?: string;\n /**\n * IDs of the item sets to invalidate. When empty, items for all benefits in the pool are invalidated.\n * @maxSize 10\n * @format GUID\n */\n itemSetIds?: string[];\n}\n\nexport interface InvalidatePoolItemsResponse {}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/**\n * Retrieves a list of up to 1,000 pool items, given the provided paging, filtering, and sorting.\n *\n * Returns only active pool items — soft-deleted pool items are automatically excluded from the response.\n *\n * When called by a logged-in member without an explicit `beneficiary.memberId` filter, the response is automatically scoped to the calling member. App callers must include a `beneficiary.memberId` filter to scope the response to a specific beneficiary.\n *\n * Query Pool Items runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * For a detailed list of supported filters, see [Pool Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/item-v1/filtering-and-sorting).\n * @public\n * @documentationMaturity preview\n * @permissionId benefit_programs:v1:pool_item:query_pool_items\n * @permissionId BENEFIT_PROGRAMS.POOL_READ\n * @applicableIdentity APP\n * @fqn wix.benefit_programs.v1.pool_item.PoolItemService.QueryPoolItems\n */\nexport function queryPoolItems(\n options?: QueryPoolItemsOptions\n): PoolItemsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<\n PoolItem,\n 'CURSOR',\n QueryPoolItemsRequest,\n QueryPoolItemsResponse\n >({\n func: async (payload: QueryPoolItemsRequest) => {\n const reqOpts = ambassadorWixBenefitProgramsV1PoolItem.queryPoolItems({\n ...payload,\n ...(options ?? {}),\n });\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryPoolItemsRequest['query']) => {\n const args = [query, options] as [\n QueryPoolItemsRequest['query'],\n QueryPoolItemsOptions\n ];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QueryPoolItemsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [])\n );\n\n return {\n items: transformedData?.poolItems,\n pagingMetadata: transformedData?.metadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\nexport interface QueryPoolItemsOptions {\n /**\n * Optional enrichments to include in the response.\n * @maxSize 5\n */\n fields?: RequestedFieldsWithLiterals[] | undefined;\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface PoolItemsQueryResult extends QueryCursorResult {\n items: PoolItem[];\n query: PoolItemsQueryBuilder;\n next: () => Promise<PoolItemsQueryResult>;\n prev: () => Promise<PoolItemsQueryResult>;\n}\n\nexport interface PoolItemsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName:\n | '_id'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: string\n ) => PoolItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasSome: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any[]\n ) => PoolItemsQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: any\n ) => PoolItemsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName:\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey',\n value: boolean\n ) => PoolItemsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey'\n >\n ) => PoolItemsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<\n | '_id'\n | '_createdDate'\n | 'externalId'\n | 'category'\n | 'providerAppId'\n | 'namespace'\n | 'poolId'\n | 'programId'\n | 'externalProgramId'\n | 'programDefinitionId'\n | 'externalProgramDefinitionId'\n | 'poolDefinitionId'\n | 'itemSetId'\n | 'beneficiary.memberId'\n | 'program.id'\n | 'programDefinition.id'\n | 'benefitKey'\n | 'itemReferenceSearchKey'\n >\n ) => PoolItemsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => PoolItemsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => PoolItemsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<PoolItemsQueryResult>;\n}\n\n/**\n * @hidden\n * @fqn wix.benefit_programs.v1.pool_item.PoolItemService.QueryPoolItems\n * @requiredField query\n */\nexport async function typedQueryPoolItems(\n query: PoolItemQuery,\n options?: QueryPoolItemsOptions\n): Promise<\n NonNullablePaths<\n QueryPoolItemsResponse,\n | `poolItems`\n | `poolItems.${number}._id`\n | `poolItems.${number}.externalId`\n | `poolItems.${number}.category`\n | `poolItems.${number}.providerAppId`\n | `poolItems.${number}.namespace`\n | `poolItems.${number}.poolId`\n | `poolItems.${number}.itemSetId`\n | `poolItems.${number}.beneficiary.anonymousVisitorId`\n | `poolItems.${number}.beneficiary.memberId`\n | `poolItems.${number}.beneficiary.wixUserId`\n | `poolItems.${number}.pool.displayName`\n | `poolItems.${number}.program._id`\n | `poolItems.${number}.programDefinition._id`\n | `poolItems.${number}.itemId`\n | `poolItems.${number}.benefitInfo.benefitKey`\n | `poolItems.${number}.benefitKey`\n | `poolItems.${number}.itemReferenceSearchKey`,\n 5\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n query: query,\n ...options,\n });\n\n const reqOpts =\n ambassadorWixBenefitProgramsV1PoolItem.queryPoolItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['query', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface PoolItemQuerySpec extends QuerySpec {\n paging: 'cursor';\n wql: [\n {\n fields: [\n '_createdDate',\n '_id',\n 'beneficiary.memberId',\n 'benefitKey',\n 'category',\n 'externalId',\n 'externalProgramDefinitionId',\n 'externalProgramId',\n 'itemReferenceSearchKey',\n 'itemSetId',\n 'namespace',\n 'poolDefinitionId',\n 'poolId',\n 'programDefinitionId',\n 'programId',\n 'providerAppId'\n ];\n operators: '*';\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonQueryWithEntityContext = QuerySdkType<\n PoolItem,\n PoolItemQuerySpec\n>;\nexport type PoolItemQuery = {\n /** \n Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. \n */\n cursorPaging?: {\n /** \n Maximum number of items to return in the results. \n @max: 1000 \n */\n limit?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n @maxLength: 16000 \n */\n cursor?:\n | NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n Filter object in the following format:\n `\"filter\" : {\n \"fieldName1\": \"value1\",\n \"fieldName2\":{\"$operator\":\"value2\"}\n }`\n Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains` \n */\n filter?: CommonQueryWithEntityContext['filter'] | null;\n /** \n Sort object in the following format:\n `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]` \n @maxSize: 5 \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonQueryWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];\n }[];\n};\n\nexport const utils = {\n query: {\n ...createQueryUtils<PoolItem, PoolItemQuerySpec, PoolItemQuery>(),\n },\n};\n","import { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixBenefitProgramsV1PoolItemPoolItemServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/benefit-programs/v1/pool-items',\n destPath: '/v1/pool-items',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/benefit-programs/v1/pool-items',\n destPath: '/v1/pool-items',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/benefit-programs/v1/pool-items',\n destPath: '/v1/pool-items',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_benefit-programs_pool-items';\n\n/**\n * Retrieves a list of up to 1,000 pool items, given the provided paging, filtering, and sorting.\n *\n * Returns only active pool items — soft-deleted pool items are automatically excluded from the response.\n *\n * When called by a logged-in member without an explicit `beneficiary.memberId` filter, the response is automatically scoped to the calling member. App callers must include a `beneficiary.memberId` filter to scope the response to a specific beneficiary.\n *\n * Query Pool Items runs with these defaults, which you can override:\n *\n * - `createdDate` is sorted in `DESC` order\n * - `cursorPaging.limit` is `50`\n *\n * To learn about working with Query methods, see [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language), [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging), and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).\n *\n * For a detailed list of supported filters, see [Pool Items: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/benefit-programs/item-v1/filtering-and-sorting).\n */\nexport function queryPoolItems(payload: object): RequestOptionsFactory<any> {\n function __queryPoolItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.benefit_programs.v1.pool_item',\n method: 'POST' as any,\n methodFqn:\n 'wix.benefit_programs.v1.pool_item.PoolItemService.QueryPoolItems',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixBenefitProgramsV1PoolItemPoolItemServiceUrl({\n protoPath: '/v1/pool-items/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'poolItems.createdDate' },\n { path: 'poolItems.updatedDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryPoolItems;\n}\n"],"mappings":"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","names":["queryPoolItems","payload","import_transform_paths","IdentityType","SortOrder","RequestedFields","WebhookIdentityType","queryPoolItems","sdkTransformError"]}