@wix/auto_sdk_benefit-programs_pool-definition-items 1.0.9 → 1.0.11

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 (49) hide show
  1. package/build/cjs/index.d.ts +21 -7
  2. package/build/cjs/index.js +149 -2
  3. package/build/cjs/index.js.map +1 -1
  4. package/build/cjs/index.typings.d.ts +323 -26
  5. package/build/cjs/index.typings.js +123 -2
  6. package/build/cjs/index.typings.js.map +1 -1
  7. package/build/cjs/meta.d.ts +124 -22
  8. package/build/cjs/meta.js +52 -0
  9. package/build/cjs/meta.js.map +1 -1
  10. package/build/cjs/schemas.d.ts +114 -3
  11. package/build/cjs/schemas.js +223 -2
  12. package/build/cjs/schemas.js.map +1 -1
  13. package/build/es/index.d.mts +21 -7
  14. package/build/es/index.mjs +150 -2
  15. package/build/es/index.mjs.map +1 -1
  16. package/build/es/index.typings.d.mts +323 -26
  17. package/build/es/index.typings.mjs +123 -2
  18. package/build/es/index.typings.mjs.map +1 -1
  19. package/build/es/meta.d.mts +124 -22
  20. package/build/es/meta.mjs +51 -0
  21. package/build/es/meta.mjs.map +1 -1
  22. package/build/es/schemas.d.mts +114 -3
  23. package/build/es/schemas.mjs +221 -2
  24. package/build/es/schemas.mjs.map +1 -1
  25. package/build/internal/cjs/index.d.ts +21 -7
  26. package/build/internal/cjs/index.js +149 -2
  27. package/build/internal/cjs/index.js.map +1 -1
  28. package/build/internal/cjs/index.typings.d.ts +301 -35
  29. package/build/internal/cjs/index.typings.js +123 -2
  30. package/build/internal/cjs/index.typings.js.map +1 -1
  31. package/build/internal/cjs/meta.d.ts +124 -22
  32. package/build/internal/cjs/meta.js +52 -0
  33. package/build/internal/cjs/meta.js.map +1 -1
  34. package/build/internal/cjs/schemas.d.ts +114 -3
  35. package/build/internal/cjs/schemas.js +223 -2
  36. package/build/internal/cjs/schemas.js.map +1 -1
  37. package/build/internal/es/index.d.mts +21 -7
  38. package/build/internal/es/index.mjs +150 -2
  39. package/build/internal/es/index.mjs.map +1 -1
  40. package/build/internal/es/index.typings.d.mts +301 -35
  41. package/build/internal/es/index.typings.mjs +123 -2
  42. package/build/internal/es/index.typings.mjs.map +1 -1
  43. package/build/internal/es/meta.d.mts +124 -22
  44. package/build/internal/es/meta.mjs +51 -0
  45. package/build/internal/es/meta.mjs.map +1 -1
  46. package/build/internal/es/schemas.d.mts +114 -3
  47. package/build/internal/es/schemas.mjs +221 -2
  48. package/build/internal/es/schemas.mjs.map +1 -1
  49. package/package.json +2 -2
@@ -1,17 +1,15 @@
1
- import { NonNullablePaths } from '@wix/sdk-types';
1
+ import * as _wix_sdk_types from '@wix/sdk-types';
2
+ import { QuerySpec, Query, NonNullablePaths } from '@wix/sdk-types';
2
3
 
3
4
  interface PoolDefinitionItem {
4
5
  /**
5
- * Benefit item ID.
6
+ * Benefit item ID. Deterministically generated from pool_definition_id and item_id — if you know both, you can compute the ID without querying.
6
7
  * @format GUID
7
8
  * @readonly
8
9
  */
9
10
  _id?: string;
10
11
  /**
11
12
  * Revision number, which increments by 1 each time the benefit item is updated.
12
- * To prevent conflicting changes, the current revision must be passed when updating the item.
13
- *
14
- * Ignored when creating an item.
15
13
  * @readonly
16
14
  */
17
15
  revision?: string | null;
@@ -28,7 +26,7 @@ interface PoolDefinitionItem {
28
26
  /**
29
27
  * External item ID assigned by the provider of the items.
30
28
  *
31
- * For example, if the benefit items are products, this ID corresponds to the specific product ID in the supplier's system.
29
+ * For example, if the benefit items are products, this ID corresponds to the specific product ID in the provider's system.
32
30
  * @format GUID
33
31
  * @immutable
34
32
  * @readonly
@@ -42,18 +40,15 @@ interface PoolDefinitionItem {
42
40
  */
43
41
  category?: string;
44
42
  /**
45
- * ID of the application providing the benefit item.
46
- *
47
- * ID of the external application supplying the items. Each item's external ID is unique to its respective provider's application.
43
+ * ID of the application providing the benefit items. Each item's external_id is unique within its provider application.
48
44
  * @format GUID
49
45
  * @immutable
50
46
  * @readonly
51
47
  */
52
48
  providerAppId?: string;
53
49
  /**
54
- * Module name of the item provider's application that originated the items.
55
- *
56
- * For example, `store-inventory` or `fitness-resources`.
50
+ * Namespace for your app or site's benefit programs. Namespaces allow you to distinguish between entities that you
51
+ * created and entities that other apps created.
57
52
  * @minLength 1
58
53
  * @maxLength 20
59
54
  * @immutable
@@ -61,26 +56,51 @@ interface PoolDefinitionItem {
61
56
  */
62
57
  namespace?: string;
63
58
  /**
64
- * Pool definition id
59
+ * ID of the pool definition - the configuration that defines a set of benefits and which items are accessible within each benefit.
65
60
  * @format GUID
66
61
  * @immutable
67
62
  * @readonly
68
63
  */
69
64
  poolDefinitionId?: string;
70
65
  /**
71
- * Item set ID.
66
+ * Internal grouping identifier for this benefit's item set. Use pool_definition_id together with benefit_key
67
+ * to identify a benefit — item_set_id is an implementation detail.
72
68
  * @format GUID
73
69
  * @immutable
74
70
  * @readonly
75
71
  */
76
72
  itemSetId?: string;
77
73
  /**
78
- * Item set ID.
74
+ * Pool definition details including display name, description, and credit settings. Only populated when
75
+ * POOL_DEFINITION is included in the fields request parameter.
76
+ * @readonly
77
+ */
78
+ poolDefinition?: PoolDefinitionInfo;
79
+ /**
80
+ * Program definitions that include this item as an accessible benefit. Only id and external_id are
81
+ * returned by default; request PROGRAM_DEFINITION to include display_name and description.
82
+ * @maxSize 20
83
+ * @readonly
84
+ */
85
+ programDefinitions?: ProgramDefinitionInfo[];
86
+ /**
87
+ * Item ID.
79
88
  * @format GUID
80
89
  * @immutable
81
90
  * @readonly
82
91
  */
83
92
  itemId?: string;
93
+ /**
94
+ * Pricing and display information for the associated benefit, including credit price, name, and description.
95
+ * Only populated when BENEFIT is included in the fields request parameter.
96
+ * @readonly
97
+ */
98
+ benefitInfo?: BenefitInfo;
99
+ /**
100
+ * Display name for the catalog item. Only populated when ITEM is included in the fields request parameter.
101
+ * @readonly
102
+ */
103
+ itemInfo?: ItemInfo;
84
104
  /**
85
105
  * Unique identifier for the benefit associated with this item.
86
106
  * @maxLength 64
@@ -88,6 +108,14 @@ interface PoolDefinitionItem {
88
108
  * @readonly
89
109
  */
90
110
  benefitKey?: string;
111
+ /**
112
+ * Pre-computed search key for the item reference, built by concatenating provider_app_id, category, and external_id
113
+ * separated by /. Use this field for efficient single-field filtering instead of composing three separate conditions.
114
+ * @maxLength 94
115
+ * @immutable
116
+ * @readonly
117
+ */
118
+ itemReferenceSearchKey?: string;
91
119
  }
92
120
  interface PoolDefinitionInfo {
93
121
  /**
@@ -100,16 +128,12 @@ interface PoolDefinitionInfo {
100
128
  * @maxLength 450
101
129
  */
102
130
  description?: string | null;
103
- /**
104
- * Credit settings.
105
- *
106
- * If this object is empty, you can't set a price for the benefit.
107
- */
131
+ /** Credit configuration for this pool definition. When absent, benefits in this pool do not support credit-based pricing. */
108
132
  creditConfiguration?: CreditConfiguration;
109
133
  }
110
134
  interface CreditConfiguration {
111
135
  /**
112
- * Initial available amount for associated balances.
136
+ * Number of credits initially granted to a subscriber when this pool definition's benefits are activated.
113
137
  * @decimalValue options { gte:0, maxScale:4 }
114
138
  */
115
139
  amount?: string;
@@ -118,6 +142,11 @@ interface CreditConfiguration {
118
142
  * @maxLength 32
119
143
  */
120
144
  unitDisplayName?: string | null;
145
+ /**
146
+ * Credit unit type.
147
+ * @maxLength 16
148
+ */
149
+ unitType?: string | null;
121
150
  }
122
151
  interface ProgramDefinitionInfo {
123
152
  /**
@@ -165,10 +194,15 @@ interface ItemInfo {
165
194
  */
166
195
  displayName?: string | null;
167
196
  }
197
+ /** Deprecated: use PoolDefinitionItemRemoved instead. Will be removed after clients are migrated. */
168
198
  interface PoolDefinitionItemDeactivated {
169
199
  /** The pool definition item that was deactivated. */
170
200
  poolDefinitionItem?: PoolDefinitionItem;
171
201
  }
202
+ interface PoolDefinitionItemRemoved {
203
+ /** The pool definition item that was removed from the benefit. */
204
+ poolDefinitionItem?: PoolDefinitionItem;
205
+ }
172
206
  interface QueryPoolDefinitionItemsRequest {
173
207
  /** Query to select benefit items. */
174
208
  query?: CursorQuery;
@@ -233,9 +267,13 @@ interface CursorPaging {
233
267
  cursor?: string | null;
234
268
  }
235
269
  declare enum RequestedFields {
270
+ /** Populates the pool_definition field with display name, description, and credit configuration. */
236
271
  POOL_DEFINITION = "POOL_DEFINITION",
272
+ /** Populates the program_definitions field with display_name and description. */
237
273
  PROGRAM_DEFINITION = "PROGRAM_DEFINITION",
274
+ /** Populates the benefit_info field with credit price, name, and description. */
238
275
  BENEFIT = "BENEFIT",
276
+ /** Populates the item_info field with the catalog item's display name. */
239
277
  ITEM = "ITEM"
240
278
  }
241
279
  /** @enumType */
@@ -317,6 +355,47 @@ interface ItemReference {
317
355
  category?: string;
318
356
  }
319
357
  interface RemoveItemsFromBenefitResponse {
358
+ /**
359
+ * Per-item results aligned 1:1 with `item_references` from the request — `item_metadata.original_index` always
360
+ * refers to the position in the request. Item references that did not match any registered item appear here as
361
+ * failures with `item_metadata.error.code` set to `NOT_FOUND`.
362
+ */
363
+ results?: BulkRemoveItemResult[];
364
+ /** Aggregate counts (successes, failures) for the bulk operation. Unresolved item references are counted as failures. */
365
+ bulkActionMetadata?: BulkActionMetadata;
366
+ }
367
+ interface BulkRemoveItemResult {
368
+ /** Outcome metadata for a single item — includes the underlying item ID, success flag, and error details on failure. */
369
+ itemMetadata?: ItemMetadata;
370
+ }
371
+ interface ItemMetadata {
372
+ /**
373
+ * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).
374
+ * @format GUID
375
+ */
376
+ _id?: string | null;
377
+ /** Index of the item within the request array. Allows for correlation between request and response items. */
378
+ originalIndex?: number;
379
+ /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
380
+ success?: boolean;
381
+ /** Details about the error in case of failure. */
382
+ error?: ApplicationError;
383
+ }
384
+ interface ApplicationError {
385
+ /** Error code. */
386
+ code?: string;
387
+ /** Description of the error. */
388
+ description?: string;
389
+ /** Data related to the error. */
390
+ data?: Record<string, any> | null;
391
+ }
392
+ interface BulkActionMetadata {
393
+ /** Number of items that were successfully processed. */
394
+ totalSuccesses?: number;
395
+ /** Number of items that couldn't be processed. */
396
+ totalFailures?: number;
397
+ /** Number of failures without details because detailed failure threshold was exceeded. */
398
+ undetailedFailures?: number;
320
399
  }
321
400
  interface AddItemsToBenefitRequest {
322
401
  /**
@@ -337,6 +416,17 @@ interface AddItemsToBenefitRequest {
337
416
  benefitKey: string;
338
417
  }
339
418
  interface AddItemsToBenefitResponse {
419
+ /** Per-item results — `item_metadata.original_index` corresponds to the order of `item_references` in the request. */
420
+ results?: BulkAddItemResult[];
421
+ /** Aggregate counts (successes, failures) for the bulk operation. */
422
+ bulkActionMetadata?: BulkActionMetadata;
423
+ }
424
+ interface BulkAddItemResult {
425
+ /**
426
+ * Outcome metadata for the catalog item created in the underlying item service. The item ID here is the Item entity
427
+ * ID — PoolDefinitionItem records are created asynchronously and their IDs are not returned in this response.
428
+ */
429
+ itemMetadata?: ItemMetadata;
340
430
  }
341
431
  interface DomainEvent extends DomainEventBodyOneOf {
342
432
  createdEvent?: EntityCreatedEvent;
@@ -491,8 +581,208 @@ interface AccountInfo {
491
581
  */
492
582
  siteId?: string | null;
493
583
  }
584
+ /** @docsIgnore */
585
+ type RemoveItemsFromBenefitApplicationErrors = {
586
+ code?: 'POOL_DEFINITION_BENEFIT_NOT_FOUND';
587
+ description?: string;
588
+ data?: Record<string, any>;
589
+ };
590
+ /** @docsIgnore */
591
+ type AddItemsToBenefitApplicationErrors = {
592
+ code?: 'POOL_DEFINITION_BENEFIT_NOT_FOUND';
593
+ description?: string;
594
+ data?: Record<string, any>;
595
+ };
596
+ /**
597
+ * Creates a query to retrieve a list of poolDefinitionItems.
598
+ *
599
+ * The `queryPoolDefinitionItems()` method builds a query to retrieve a list of poolDefinitionItems and returns a `PoolDefinitionItemsQueryBuilder` object.
600
+ *
601
+ * The returned object contains the query definition, which is used to run the query using the [`find()`](/poolDefinitionItems/poolDefinitionItems-query-builder/find) function.
602
+ *
603
+ * You can refine the query by chaining `PoolDefinitionItemsQueryBuilder` methods onto the query. `PoolDefinitionItemsQueryBuilder` methods enable you to filter, sort, and control the results that `queryPoolDefinitionItems()` returns.
604
+ *
605
+ * The following `PoolDefinitionItemsQueryBuilder` functions are supported for `queryPoolDefinitionItems()`. For a full description of the item object, see the object returned for the [`poolDefinitionItems`](/poolDefinitionItems/poolDefinitionItems-query-result/poolDefinitionItems) property in `PoolDefinitionItemsQueryResult`.
606
+ * @public
607
+ * @documentationMaturity preview
608
+ * @permissionId benefit_programs:v1:pool_definition_item:query_pool_definition_items
609
+ * @applicableIdentity APP
610
+ * @fqn wix.benefit_programs.v1.pool_definition_item.PoolDefinitionItemService.QueryPoolDefinitionItems
611
+ */
612
+ declare function queryPoolDefinitionItems(options?: QueryPoolDefinitionItemsOptions): PoolDefinitionItemsQueryBuilder;
613
+ interface QueryPoolDefinitionItemsOptions {
614
+ /**
615
+ * Fields to be included in the response.
616
+ * @maxSize 4
617
+ */
618
+ fields?: RequestedFieldsWithLiterals[] | undefined;
619
+ }
620
+ interface QueryCursorResult {
621
+ cursors: Cursors;
622
+ hasNext: () => boolean;
623
+ hasPrev: () => boolean;
624
+ length: number;
625
+ pageSize: number;
626
+ }
627
+ interface PoolDefinitionItemsQueryResult extends QueryCursorResult {
628
+ items: PoolDefinitionItem[];
629
+ query: PoolDefinitionItemsQueryBuilder;
630
+ next: () => Promise<PoolDefinitionItemsQueryResult>;
631
+ prev: () => Promise<PoolDefinitionItemsQueryResult>;
632
+ }
633
+ interface PoolDefinitionItemsQueryBuilder {
634
+ /** @param propertyName - Property whose value is compared with `value`.
635
+ * @param value - Value to compare against.
636
+ * @documentationMaturity preview
637
+ */
638
+ eq: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any) => PoolDefinitionItemsQueryBuilder;
639
+ /** @param propertyName - Property whose value is compared with `value`.
640
+ * @param value - Value to compare against.
641
+ * @documentationMaturity preview
642
+ */
643
+ ne: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any) => PoolDefinitionItemsQueryBuilder;
644
+ /** @param propertyName - Property whose value is compared with `value`.
645
+ * @param value - Value to compare against.
646
+ * @documentationMaturity preview
647
+ */
648
+ ge: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any) => PoolDefinitionItemsQueryBuilder;
649
+ /** @param propertyName - Property whose value is compared with `value`.
650
+ * @param value - Value to compare against.
651
+ * @documentationMaturity preview
652
+ */
653
+ gt: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any) => PoolDefinitionItemsQueryBuilder;
654
+ /** @param propertyName - Property whose value is compared with `value`.
655
+ * @param value - Value to compare against.
656
+ * @documentationMaturity preview
657
+ */
658
+ le: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any) => PoolDefinitionItemsQueryBuilder;
659
+ /** @param propertyName - Property whose value is compared with `value`.
660
+ * @param value - Value to compare against.
661
+ * @documentationMaturity preview
662
+ */
663
+ lt: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any) => PoolDefinitionItemsQueryBuilder;
664
+ /** @param propertyName - Property whose value is compared with `string`.
665
+ * @param string - String to compare against. Case-insensitive.
666
+ * @documentationMaturity preview
667
+ */
668
+ startsWith: (propertyName: '_id' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: string) => PoolDefinitionItemsQueryBuilder;
669
+ /** @param propertyName - Property whose value is compared with `values`.
670
+ * @param values - List of values to compare against.
671
+ * @documentationMaturity preview
672
+ */
673
+ hasSome: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any[]) => PoolDefinitionItemsQueryBuilder;
674
+ /** @documentationMaturity preview */
675
+ in: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: any) => PoolDefinitionItemsQueryBuilder;
676
+ /** @documentationMaturity preview */
677
+ exists: (propertyName: '_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey', value: boolean) => PoolDefinitionItemsQueryBuilder;
678
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
679
+ * @documentationMaturity preview
680
+ */
681
+ ascending: (...propertyNames: Array<'_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey'>) => PoolDefinitionItemsQueryBuilder;
682
+ /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
683
+ * @documentationMaturity preview
684
+ */
685
+ descending: (...propertyNames: Array<'_id' | '_createdDate' | 'externalId' | 'category' | 'providerAppId' | 'namespace' | 'poolDefinitionId' | 'itemSetId' | 'programDefinitions.id' | 'programDefinitions.externalId' | 'benefitKey' | 'itemReferenceSearchKey'>) => PoolDefinitionItemsQueryBuilder;
686
+ /** @param limit - Number of items to return, which is also the `pageSize` of the results object.
687
+ * @documentationMaturity preview
688
+ */
689
+ limit: (limit: number) => PoolDefinitionItemsQueryBuilder;
690
+ /** @param cursor - A pointer to specific record
691
+ * @documentationMaturity preview
692
+ */
693
+ skipTo: (cursor: string) => PoolDefinitionItemsQueryBuilder;
694
+ /** @documentationMaturity preview */
695
+ find: () => Promise<PoolDefinitionItemsQueryResult>;
696
+ }
697
+ /**
698
+ * @hidden
699
+ * @fqn wix.benefit_programs.v1.pool_definition_item.PoolDefinitionItemService.QueryPoolDefinitionItems
700
+ * @requiredField query
701
+ */
702
+ declare function typedQueryPoolDefinitionItems(query: PoolDefinitionItemQuery, options?: QueryPoolDefinitionItemsOptions): Promise<NonNullablePaths<QueryPoolDefinitionItemsResponse, `poolDefinitionItems` | `poolDefinitionItems.${number}._id` | `poolDefinitionItems.${number}.externalId` | `poolDefinitionItems.${number}.category` | `poolDefinitionItems.${number}.providerAppId` | `poolDefinitionItems.${number}.namespace` | `poolDefinitionItems.${number}.poolDefinitionId` | `poolDefinitionItems.${number}.itemSetId` | `poolDefinitionItems.${number}.poolDefinition.displayName` | `poolDefinitionItems.${number}.poolDefinition.creditConfiguration.amount` | `poolDefinitionItems.${number}.itemId` | `poolDefinitionItems.${number}.benefitKey` | `poolDefinitionItems.${number}.itemReferenceSearchKey`, 6>>;
703
+ interface PoolDefinitionItemQuerySpec extends QuerySpec {
704
+ paging: 'cursor';
705
+ wql: [
706
+ {
707
+ fields: ['programDefinitions._id', 'programDefinitions.externalId'];
708
+ operators: ['$hasAll', '$hasSome'];
709
+ sort: 'BOTH';
710
+ },
711
+ {
712
+ fields: [
713
+ '_createdDate',
714
+ '_id',
715
+ 'benefitKey',
716
+ 'category',
717
+ 'externalId',
718
+ 'itemReferenceSearchKey',
719
+ 'itemSetId',
720
+ 'namespace',
721
+ 'poolDefinitionId',
722
+ 'providerAppId'
723
+ ];
724
+ operators: '*';
725
+ sort: 'BOTH';
726
+ }
727
+ ];
728
+ }
729
+ type CommonQueryWithEntityContext = Query<PoolDefinitionItem, PoolDefinitionItemQuerySpec>;
730
+ type PoolDefinitionItemQuery = {
731
+ /**
732
+ 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`.
733
+ */
734
+ cursorPaging?: {
735
+ /**
736
+ Maximum number of items to return in the results.
737
+ @max: 1000
738
+ */
739
+ limit?: NonNullable<CommonQueryWithEntityContext['cursorPaging']>['limit'] | null;
740
+ /**
741
+ Pointer to the next or previous page in the list of results.
742
+
743
+ Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
744
+ Not relevant for the first request.
745
+ @maxLength: 16000
746
+ */
747
+ cursor?: NonNullable<CommonQueryWithEntityContext['cursorPaging']>['cursor'] | null;
748
+ };
749
+ /**
750
+ Filter object in the following format:
751
+ `"filter" : {
752
+ "fieldName1": "value1",
753
+ "fieldName2":{"$operator":"value2"}
754
+ }`
755
+ Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
756
+ */
757
+ filter?: CommonQueryWithEntityContext['filter'] | null;
758
+ /**
759
+ Sort object in the following format:
760
+ `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
761
+ @maxSize: 5
762
+ */
763
+ sort?: {
764
+ /**
765
+ Name of the field to sort by.
766
+ @maxLength: 512
767
+ */
768
+ fieldName?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['fieldName'];
769
+ /**
770
+ Sort order.
771
+ */
772
+ order?: NonNullable<CommonQueryWithEntityContext['sort']>[number]['order'];
773
+ }[];
774
+ };
775
+ declare const utils: {
776
+ query: {
777
+ QueryBuilder: () => _wix_sdk_types.QueryBuilder<PoolDefinitionItem, PoolDefinitionItemQuerySpec, PoolDefinitionItemQuery>;
778
+ Filter: _wix_sdk_types.FilterFactory<PoolDefinitionItem, PoolDefinitionItemQuerySpec>;
779
+ Sort: _wix_sdk_types.SortFactory<PoolDefinitionItemQuerySpec>;
780
+ };
781
+ };
494
782
  /**
495
- * Removes items from a benefit's item set, resolved by pool definition ID and benefit key.
783
+ * Removes items from a benefit. Items are removed asynchronously they may briefly still appear in
784
+ * QueryPoolDefinitionItems results after the call returns.
785
+ * Item references not matching any registered item appear in results as per-item failures with `item_metadata.error.code` set to `NOT_FOUND`.
496
786
  * @param itemReferences - Items to remove from the benefit's item set.
497
787
  * @public
498
788
  * @documentationMaturity preview
@@ -505,7 +795,9 @@ interface AccountInfo {
505
795
  * @applicableIdentity APP
506
796
  * @fqn wix.benefit_programs.v1.pool_definition_item.PoolDefinitionItemService.RemoveItemsFromBenefit
507
797
  */
508
- declare function removeItemsFromBenefit(itemReferences: NonNullablePaths<ItemReference, `externalId`, 2>[], options: NonNullablePaths<RemoveItemsFromBenefitOptions, `benefitKey` | `poolDefinitionId`, 2>): Promise<void>;
798
+ declare function removeItemsFromBenefit(itemReferences: NonNullablePaths<ItemReference, `externalId`, 2>[], options: NonNullablePaths<RemoveItemsFromBenefitOptions, `benefitKey` | `poolDefinitionId`, 2>): Promise<NonNullablePaths<RemoveItemsFromBenefitResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6> & {
799
+ __applicationErrorsType?: RemoveItemsFromBenefitApplicationErrors;
800
+ }>;
509
801
  interface RemoveItemsFromBenefitOptions {
510
802
  /**
511
803
  * ID of the pool definition associated with the benefit.
@@ -519,7 +811,10 @@ interface RemoveItemsFromBenefitOptions {
519
811
  benefitKey: string;
520
812
  }
521
813
  /**
522
- * Adds items to a benefit's item set, resolved by pool definition ID and benefit key.
814
+ * Registers items with a benefit. This is an eventually consistent operation items may take a short time to appear
815
+ * in QueryPoolDefinitionItems results after the call returns. Uses a partial success model — items already registered
816
+ * with the benefit return a per-item error in results.item_metadata while successfully added items are unaffected.
817
+ * Check bulk_action_metadata for overall counts and results for per-item outcomes.
523
818
  * @param itemReferences - Items to add to the benefit's item set.
524
819
  * @public
525
820
  * @documentationMaturity preview
@@ -532,7 +827,9 @@ interface RemoveItemsFromBenefitOptions {
532
827
  * @applicableIdentity APP
533
828
  * @fqn wix.benefit_programs.v1.pool_definition_item.PoolDefinitionItemService.AddItemsToBenefit
534
829
  */
535
- declare function addItemsToBenefit(itemReferences: NonNullablePaths<ItemReference, `externalId`, 2>[], options: NonNullablePaths<AddItemsToBenefitOptions, `benefitKey` | `poolDefinitionId`, 2>): Promise<void>;
830
+ declare function addItemsToBenefit(itemReferences: NonNullablePaths<ItemReference, `externalId`, 2>[], options: NonNullablePaths<AddItemsToBenefitOptions, `benefitKey` | `poolDefinitionId`, 2>): Promise<NonNullablePaths<AddItemsToBenefitResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6> & {
831
+ __applicationErrorsType?: AddItemsToBenefitApplicationErrors;
832
+ }>;
536
833
  interface AddItemsToBenefitOptions {
537
834
  /**
538
835
  * ID of the pool definition associated with the benefit.
@@ -546,4 +843,4 @@ interface AddItemsToBenefitOptions {
546
843
  benefitKey: string;
547
844
  }
548
845
 
549
- export { type AccountInfo, type ActionEvent, type AddItemsToBenefitOptions, type AddItemsToBenefitRequest, type AddItemsToBenefitResponse, type BenefitInfo, type CreditConfiguration, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type IdentificationData, type IdentificationDataIdOneOf, type InvalidatePoolDefinitionItemsRequest, type InvalidatePoolDefinitionItemsResponse, type ItemInfo, type ItemReference, type MessageEnvelope, type PoolDefinitionInfo, type PoolDefinitionItem, type PoolDefinitionItemDeactivated, type ProgramDefinitionInfo, type QueryPoolDefinitionItemsRequest, type QueryPoolDefinitionItemsResponse, type RemoveItemsFromBenefitOptions, type RemoveItemsFromBenefitRequest, type RemoveItemsFromBenefitResponse, RequestedFields, type RequestedFieldsWithLiterals, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, addItemsToBenefit, removeItemsFromBenefit };
846
+ export { type AccountInfo, type ActionEvent, type AddItemsToBenefitApplicationErrors, type AddItemsToBenefitOptions, type AddItemsToBenefitRequest, type AddItemsToBenefitResponse, type ApplicationError, type BenefitInfo, type BulkActionMetadata, type BulkAddItemResult, type BulkRemoveItemResult, type CommonQueryWithEntityContext, type CreditConfiguration, type CursorPaging, type CursorPagingMetadata, type CursorQuery, type CursorQueryPagingMethodOneOf, type Cursors, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type IdentificationData, type IdentificationDataIdOneOf, type InvalidatePoolDefinitionItemsRequest, type InvalidatePoolDefinitionItemsResponse, type ItemInfo, type ItemMetadata, type ItemReference, type MessageEnvelope, type PoolDefinitionInfo, type PoolDefinitionItem, type PoolDefinitionItemDeactivated, type PoolDefinitionItemQuery, type PoolDefinitionItemQuerySpec, type PoolDefinitionItemRemoved, type PoolDefinitionItemsQueryBuilder, type PoolDefinitionItemsQueryResult, type ProgramDefinitionInfo, type QueryPoolDefinitionItemsOptions, type QueryPoolDefinitionItemsRequest, type QueryPoolDefinitionItemsResponse, type RemoveItemsFromBenefitApplicationErrors, type RemoveItemsFromBenefitOptions, type RemoveItemsFromBenefitRequest, type RemoveItemsFromBenefitResponse, RequestedFields, type RequestedFieldsWithLiterals, type RestoreInfo, SortOrder, type SortOrderWithLiterals, type Sorting, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, addItemsToBenefit, queryPoolDefinitionItems, removeItemsFromBenefit, typedQueryPoolDefinitionItems, utils };
@@ -1,8 +1,14 @@
1
1
  // src/benefit-programs-v1-pool-definition-item-pool-definition-items.universal.ts
2
2
  import { transformError as sdkTransformError } from "@wix/sdk-runtime/transform-error";
3
- import { renameKeysFromSDKRequestToRESTRequest } from "@wix/sdk-runtime/rename-all-nested-keys";
3
+ import { queryBuilder } from "@wix/sdk-runtime/query-builder";
4
+ import {
5
+ renameKeysFromSDKRequestToRESTRequest,
6
+ renameKeysFromRESTResponseToSDKResponse
7
+ } from "@wix/sdk-runtime/rename-all-nested-keys";
4
8
 
5
9
  // src/benefit-programs-v1-pool-definition-item-pool-definition-items.http.ts
10
+ import { transformRESTTimestampToSDKTimestamp } from "@wix/sdk-runtime/transformations/timestamp";
11
+ import { transformPaths } from "@wix/sdk-runtime/transformations/transform-paths";
6
12
  import { resolveUrl } from "@wix/sdk-runtime/rest-modules";
7
13
  function resolveWixBenefitProgramsV1PoolDefinitionItemPoolDefinitionItemServiceUrl(opts) {
8
14
  const domainToMappings = {
@@ -28,6 +34,34 @@ function resolveWixBenefitProgramsV1PoolDefinitionItemPoolDefinitionItemServiceU
28
34
  return resolveUrl(Object.assign(opts, { domainToMappings }));
29
35
  }
30
36
  var PACKAGE_NAME = "@wix/auto_sdk_benefit-programs_pool-definition-items";
37
+ function queryPoolDefinitionItems(payload) {
38
+ function __queryPoolDefinitionItems({ host }) {
39
+ const metadata = {
40
+ entityFqdn: "wix.benefit_programs.v1.pool_definition_item",
41
+ method: "POST",
42
+ methodFqn: "wix.benefit_programs.v1.pool_definition_item.PoolDefinitionItemService.QueryPoolDefinitionItems",
43
+ packageName: PACKAGE_NAME,
44
+ migrationOptions: {
45
+ optInTransformResponse: true
46
+ },
47
+ url: resolveWixBenefitProgramsV1PoolDefinitionItemPoolDefinitionItemServiceUrl(
48
+ { protoPath: "/v1/pool-definition-items/query", data: payload, host }
49
+ ),
50
+ data: payload,
51
+ transformResponse: (payload2) => transformPaths(payload2, [
52
+ {
53
+ transformFn: transformRESTTimestampToSDKTimestamp,
54
+ paths: [
55
+ { path: "poolDefinitionItems.createdDate" },
56
+ { path: "poolDefinitionItems.updatedDate" }
57
+ ]
58
+ }
59
+ ])
60
+ };
61
+ return metadata;
62
+ }
63
+ return __queryPoolDefinitionItems;
64
+ }
31
65
  function removeItemsFromBenefit(payload) {
32
66
  function __removeItemsFromBenefit({ host }) {
33
67
  const metadata = {
@@ -76,6 +110,8 @@ function addItemsToBenefit(payload) {
76
110
  }
77
111
 
78
112
  // src/benefit-programs-v1-pool-definition-item-pool-definition-items.universal.ts
113
+ import { transformPaths as transformPaths2 } from "@wix/sdk-runtime/transformations/transform-paths";
114
+ import { createQueryUtils } from "@wix/sdk-runtime/query-builder-utils";
79
115
  var SortOrder = /* @__PURE__ */ ((SortOrder2) => {
80
116
  SortOrder2["ASC"] = "ASC";
81
117
  SortOrder2["DESC"] = "DESC";
@@ -96,6 +132,86 @@ var WebhookIdentityType = /* @__PURE__ */ ((WebhookIdentityType2) => {
96
132
  WebhookIdentityType2["APP"] = "APP";
97
133
  return WebhookIdentityType2;
98
134
  })(WebhookIdentityType || {});
135
+ function queryPoolDefinitionItems2(options) {
136
+ const { httpClient, sideEffects } = arguments[1];
137
+ return queryBuilder({
138
+ func: async (payload) => {
139
+ const reqOpts = queryPoolDefinitionItems(
140
+ { ...payload, ...options ?? {} }
141
+ );
142
+ sideEffects?.onSiteCall?.();
143
+ try {
144
+ const result = await httpClient.request(reqOpts);
145
+ sideEffects?.onSuccess?.(result);
146
+ return result;
147
+ } catch (err) {
148
+ sideEffects?.onError?.(err);
149
+ throw err;
150
+ }
151
+ },
152
+ requestTransformer: (query) => {
153
+ const args = [query, options];
154
+ return renameKeysFromSDKRequestToRESTRequest({
155
+ ...args?.[1],
156
+ query: args?.[0]
157
+ });
158
+ },
159
+ responseTransformer: ({
160
+ data
161
+ }) => {
162
+ const transformedData = renameKeysFromRESTResponseToSDKResponse(
163
+ transformPaths2(data, [])
164
+ );
165
+ return {
166
+ items: transformedData?.poolDefinitionItems,
167
+ pagingMetadata: transformedData?.metadata
168
+ };
169
+ },
170
+ errorTransformer: (err) => {
171
+ const transformedError = sdkTransformError(err, {
172
+ spreadPathsToArguments: {},
173
+ explicitPathsToArguments: { query: "$[0]" },
174
+ singleArgumentUnchanged: false
175
+ });
176
+ throw transformedError;
177
+ },
178
+ pagingMethod: "CURSOR",
179
+ transformationPaths: {}
180
+ });
181
+ }
182
+ async function typedQueryPoolDefinitionItems(query, options) {
183
+ const { httpClient, sideEffects } = arguments[2];
184
+ const payload = renameKeysFromSDKRequestToRESTRequest({
185
+ query,
186
+ ...options
187
+ });
188
+ const reqOpts = queryPoolDefinitionItems(
189
+ payload
190
+ );
191
+ sideEffects?.onSiteCall?.();
192
+ try {
193
+ const result = await httpClient.request(reqOpts);
194
+ sideEffects?.onSuccess?.(result);
195
+ return renameKeysFromRESTResponseToSDKResponse(result.data);
196
+ } catch (err) {
197
+ const transformedError = sdkTransformError(
198
+ err,
199
+ {
200
+ spreadPathsToArguments: {},
201
+ explicitPathsToArguments: { query: "$[0]" },
202
+ singleArgumentUnchanged: false
203
+ },
204
+ ["query", "options"]
205
+ );
206
+ sideEffects?.onError?.(err);
207
+ throw transformedError;
208
+ }
209
+ }
210
+ var utils = {
211
+ query: {
212
+ ...createQueryUtils()
213
+ }
214
+ };
99
215
  async function removeItemsFromBenefit2(itemReferences, options) {
100
216
  const { httpClient, sideEffects } = arguments[2];
101
217
  const payload = renameKeysFromSDKRequestToRESTRequest({
@@ -110,6 +226,7 @@ async function removeItemsFromBenefit2(itemReferences, options) {
110
226
  try {
111
227
  const result = await httpClient.request(reqOpts);
112
228
  sideEffects?.onSuccess?.(result);
229
+ return renameKeysFromRESTResponseToSDKResponse(result.data);
113
230
  } catch (err) {
114
231
  const transformedError = sdkTransformError(
115
232
  err,
@@ -140,6 +257,7 @@ async function addItemsToBenefit2(itemReferences, options) {
140
257
  try {
141
258
  const result = await httpClient.request(reqOpts);
142
259
  sideEffects?.onSuccess?.(result);
260
+ return renameKeysFromRESTResponseToSDKResponse(result.data);
143
261
  } catch (err) {
144
262
  const transformedError = sdkTransformError(
145
263
  err,
@@ -163,6 +281,9 @@ export {
163
281
  SortOrder,
164
282
  WebhookIdentityType,
165
283
  addItemsToBenefit2 as addItemsToBenefit,
166
- removeItemsFromBenefit2 as removeItemsFromBenefit
284
+ queryPoolDefinitionItems2 as queryPoolDefinitionItems,
285
+ removeItemsFromBenefit2 as removeItemsFromBenefit,
286
+ typedQueryPoolDefinitionItems,
287
+ utils
167
288
  };
168
289
  //# sourceMappingURL=index.typings.mjs.map