@teamnovu/kit-shopware-composables 0.0.27 → 0.0.28

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.
@@ -3309,7 +3309,7 @@
3309
3309
  "quantity": { "type": "integer", "format": "int64" },
3310
3310
  "label": { "type": "string" },
3311
3311
  "payload": {
3312
- "type": "object",
3312
+ "type": ["object", "object"],
3313
3313
  "properties": {
3314
3314
  "categoryIds": {
3315
3315
  "type": "array",
@@ -3336,8 +3336,22 @@
3336
3336
  "readOnly": true
3337
3337
  },
3338
3338
  "options": {
3339
- "type": "array",
3340
- "items": { "$ref": "#/components/schemas/PropertyGroupOption" }
3339
+ "type": ["array", "array"],
3340
+ "items": {
3341
+ "$ref": "#/components/schemas/PropertyGroupOption",
3342
+ "type": "object",
3343
+ "properties": {
3344
+ "group": {
3345
+ "type": "string",
3346
+ "description": "The group name of the option"
3347
+ },
3348
+ "option": {
3349
+ "type": "string",
3350
+ "description": "The name of the option"
3351
+ }
3352
+ }
3353
+ },
3354
+ "description": "List of product options"
3341
3355
  },
3342
3356
  "parentId": { "type": "string", "pattern": "^[0-9a-f]{32}$" },
3343
3357
  "productNumber": { "type": "string" },
@@ -3359,7 +3373,30 @@
3359
3373
  "items": { "type": "string", "pattern": "^[0-9a-f]{32}$" },
3360
3374
  "readOnly": true
3361
3375
  },
3362
- "taxId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }
3376
+ "taxId": { "type": "string", "pattern": "^[0-9a-f]{32}$" },
3377
+ "netiNextEasyCoupon": {
3378
+ "type": "object",
3379
+ "properties": {
3380
+ "voucherValue": {
3381
+ "type": "number",
3382
+ "description": "The value of the voucher"
3383
+ }
3384
+ }
3385
+ },
3386
+ "manufacturerName": {
3387
+ "type": "string",
3388
+ "description": "Name of the manufacturer"
3389
+ },
3390
+ "klaviyoCategoryNames": {
3391
+ "type": "array",
3392
+ "description": "List of category names for Klaviyo",
3393
+ "items": { "type": "string" }
3394
+ },
3395
+ "gtagCategory": {
3396
+ "type": "string",
3397
+ "description": "Name of the category to be sent to Google Tag Manager"
3398
+ },
3399
+ "cover": { "$ref": "#/components/schemas/Media" }
3363
3400
  }
3364
3401
  },
3365
3402
  "good": { "type": "boolean" },
@@ -3407,7 +3444,7 @@
3407
3444
  "apiAlias": { "type": "string", "enum": ["order_line_item"] },
3408
3445
  "translated": { "type": "object" }
3409
3446
  },
3410
- "type": "object"
3447
+ "type": ["object", "object"]
3411
3448
  },
3412
3449
  "OrderLineItemDownload": {
3413
3450
  "description": "Added since version: 6.4.19.0",
@@ -4686,7 +4723,50 @@
4686
4723
  },
4687
4724
  "type": "object"
4688
4725
  }
4689
- ]
4726
+ ],
4727
+ "type": "object",
4728
+ "properties": {
4729
+ "netiNextEasyCoupon": {
4730
+ "type": "object",
4731
+ "properties": {
4732
+ "voucherValue": {
4733
+ "type": "number",
4734
+ "description": "The value of the voucher"
4735
+ }
4736
+ }
4737
+ },
4738
+ "manufacturerName": {
4739
+ "type": "string",
4740
+ "description": "Name of the manufacturer"
4741
+ },
4742
+ "klaviyoCategoryNames": {
4743
+ "type": "array",
4744
+ "description": "List of category names for Klaviyo",
4745
+ "items": { "type": "string" }
4746
+ },
4747
+ "gtagCategory": {
4748
+ "type": "string",
4749
+ "description": "Name of the category to be sent to Google Tag Manager"
4750
+ },
4751
+ "cover": { "$ref": "#/components/schemas/Media" },
4752
+ "options": {
4753
+ "type": "array",
4754
+ "description": "List of product options",
4755
+ "items": {
4756
+ "type": "object",
4757
+ "properties": {
4758
+ "group": {
4759
+ "type": "string",
4760
+ "description": "The group name of the option"
4761
+ },
4762
+ "option": {
4763
+ "type": "string",
4764
+ "description": "The name of the option"
4765
+ }
4766
+ }
4767
+ }
4768
+ }
4769
+ }
4690
4770
  },
4691
4771
  "Product": {
4692
4772
  "description": "Represents a product along with detailed information required to display a variant selection.",
@@ -4887,11 +4967,43 @@
4887
4967
  "format": "date-time",
4888
4968
  "readOnly": true
4889
4969
  },
4890
- "translated": { "type": "object" },
4970
+ "translated": {
4971
+ "type": "object",
4972
+ "properties": {
4973
+ "customFields": {
4974
+ "type": "object",
4975
+ "properties": {
4976
+ "novu_headless_sales_channel_product_show_tax_info": {
4977
+ "type": "boolean",
4978
+ "description": "Determines whether the tax info is shown on the product page"
4979
+ },
4980
+ "novu_headless_hide_delivery_cost": {
4981
+ "type": "boolean",
4982
+ "description": "Determines whether the tax info is shown on the product page"
4983
+ },
4984
+ "novu_headless_gtag_category": {
4985
+ "type": "boolean",
4986
+ "description": "Determines whether the tax info is shown on the product page"
4987
+ }
4988
+ }
4989
+ }
4990
+ }
4991
+ },
4891
4992
  "extensions": {
4892
4993
  "properties": {
4893
- "novuSeoUrls": { "type": "object" },
4894
- "variants": { "type": "object" },
4994
+ "novuSeoUrls": {
4995
+ "type": "object",
4996
+ "description": "SEO URL information for the product"
4997
+ },
4998
+ "variants": {
4999
+ "type": "array",
5000
+ "items": { "$ref": "#/components/schemas/Product" },
5001
+ "description": "Array of product variants."
5002
+ },
5003
+ "search": {
5004
+ "type": "object",
5005
+ "description": "Search related information for the product"
5006
+ },
4895
5007
  "productVariantListingConfig": {
4896
5008
  "type": "object",
4897
5009
  "description": "Configuration for variant listing display",
@@ -4910,6 +5022,28 @@
4910
5022
  "items": { "type": "object" }
4911
5023
  }
4912
5024
  }
5025
+ },
5026
+ "variantAvailability": {
5027
+ "type": "object",
5028
+ "description": "Aggregated stock availability across all variants",
5029
+ "properties": {
5030
+ "totalStock": {
5031
+ "type": "integer",
5032
+ "description": "Total available stock across all variants of the product"
5033
+ }
5034
+ }
5035
+ },
5036
+ "netiEasyCouponProduct": {
5037
+ "type": "object",
5038
+ "properties": {
5039
+ "createdAt": { "type": "string" },
5040
+ "updatedAt": { "type": "string" },
5041
+ "value": {
5042
+ "type": "array",
5043
+ "items": { "$ref": "#/components/schemas/EasyCouponPrice" }
5044
+ },
5045
+ "valueType": { "type": "number" }
5046
+ }
4913
5047
  }
4914
5048
  },
4915
5049
  "type": "object"
@@ -5650,7 +5784,20 @@
5650
5784
  "format": "date-time",
5651
5785
  "readOnly": true
5652
5786
  },
5653
- "translated": { "type": "object" },
5787
+ "translated": {
5788
+ "type": "object",
5789
+ "properties": {
5790
+ "customFields": {
5791
+ "type": "object",
5792
+ "properties": {
5793
+ "novu_headless_sales_channel_product_show_tax_info": {
5794
+ "type": "boolean",
5795
+ "description": "Show tax information"
5796
+ }
5797
+ }
5798
+ }
5799
+ }
5800
+ },
5654
5801
  "language": { "$ref": "#/components/schemas/Language" },
5655
5802
  "currency": { "$ref": "#/components/schemas/Currency" },
5656
5803
  "paymentMethod": { "$ref": "#/components/schemas/PaymentMethod" },
@@ -8575,34 +8722,7 @@
8575
8722
  "type": "object",
8576
8723
  "description": "Represents a product along with detailed information, cross-sellings and custom fields",
8577
8724
  "properties": {
8578
- "product": {
8579
- "allOf": [
8580
- { "$ref": "#/components/schemas/Product" },
8581
- {
8582
- "type": "object",
8583
- "properties": {
8584
- "extensions": {
8585
- "type": "object",
8586
- "properties": {
8587
- "variants": {
8588
- "type": "array",
8589
- "items": { "$ref": "#/components/schemas/Product" },
8590
- "description": "Array of product variants."
8591
- },
8592
- "novuSeoUrls": {
8593
- "type": "object",
8594
- "description": "SEO URL information for the product"
8595
- },
8596
- "search": {
8597
- "type": "object",
8598
- "description": "Search related information for the product"
8599
- }
8600
- }
8601
- }
8602
- }
8603
- }
8604
- ]
8605
- },
8725
+ "product": { "$ref": "#/components/schemas/Product" },
8606
8726
  "configurator": {
8607
8727
  "type": "array",
8608
8728
  "description": "List of property groups with their corresponding options and information on how to display them.",
@@ -8649,6 +8769,29 @@
8649
8769
  }
8650
8770
  }
8651
8771
  ]
8772
+ },
8773
+ "EasyCouponPrice": {
8774
+ "allOf": [
8775
+ { "$ref": "#/components/schemas/Price" },
8776
+ {
8777
+ "type": "object",
8778
+ "properties": {
8779
+ "from": {
8780
+ "type": "integer",
8781
+ "description": "Minimum price for the voucher"
8782
+ },
8783
+ "to": {
8784
+ "type": "integer",
8785
+ "description": "Maximum price for the voucher"
8786
+ },
8787
+ "selectableValues": {
8788
+ "type": "array",
8789
+ "description": "List of selectable voucher values",
8790
+ "items": { "type": "integer" }
8791
+ }
8792
+ }
8793
+ }
8794
+ ]
8652
8795
  }
8653
8796
  },
8654
8797
  "responses": {
@@ -1162,16 +1162,7 @@ export type Schemas = {
1162
1162
  cross_sellings: components["schemas"]["CrossSellingElementCollection"];
1163
1163
  /** Custom fields with their labels and values */
1164
1164
  custom_fields: GenericRecord;
1165
- product: components["schemas"]["Product"] & {
1166
- extensions?: {
1167
- /** SEO URL information for the product */
1168
- novuSeoUrls?: GenericRecord;
1169
- /** Search related information for the product */
1170
- search?: GenericRecord;
1171
- /** Array of product variants. */
1172
- variants?: components["schemas"]["Product"][];
1173
- };
1174
- };
1165
+ product: components["schemas"]["Product"];
1175
1166
  };
1176
1167
  Customer: {
1177
1168
  active?: boolean;
@@ -1441,6 +1432,14 @@ export type Schemas = {
1441
1432
  /** Format: date-time */
1442
1433
  readonly updatedAt?: string;
1443
1434
  };
1435
+ EasyCouponPrice: components["schemas"]["Price"] & {
1436
+ /** Minimum price for the voucher */
1437
+ from?: number;
1438
+ /** List of selectable voucher values */
1439
+ selectableValues?: number[];
1440
+ /** Maximum price for the voucher */
1441
+ to?: number;
1442
+ };
1444
1443
  EntitySearchResult: {
1445
1444
  /** Contains aggregated data. A simple example is the determination of the average price from a product search query. */
1446
1445
  aggregations?: GenericRecord[];
@@ -2425,91 +2424,283 @@ export type Schemas = {
2425
2424
  readonly updatedAt?: string;
2426
2425
  versionId?: string;
2427
2426
  };
2428
- OrderLineItem: {
2429
- /** @enum {string} */
2430
- apiAlias: "order_line_item";
2431
- children: components["schemas"]["OrderLineItem"][];
2432
- cover?: components["schemas"]["Media"];
2433
- coverId?: string;
2434
- /** Format: date-time */
2435
- readonly createdAt?: string;
2436
- customFields?: GenericRecord;
2437
- description?: string;
2438
- downloads?: components["schemas"]["OrderLineItemDownload"][];
2439
- extensions?: {
2440
- novuSeoUrls?: GenericRecord;
2441
- };
2442
- good?: boolean;
2443
- id: string;
2444
- identifier: string;
2445
- label: string;
2446
- orderDeliveryPositions?: components["schemas"]["OrderDeliveryPosition"][];
2447
- orderId: string;
2448
- orderVersionId?: string;
2449
- parent?: components["schemas"]["OrderLineItem"];
2450
- parentId?: string;
2451
- parentVersionId?: string;
2452
- payload?: {
2453
- readonly categoryIds?: string[];
2454
- /** Format: date-time */
2455
- readonly createdAt?: string;
2456
- customFields?: GenericRecord;
2457
- features?: unknown[];
2458
- isCloseout?: boolean;
2459
- isNew?: boolean;
2460
- manufacturerId?: string;
2461
- markAsTopseller?: boolean;
2462
- readonly optionIds?: string[];
2463
- options?: components["schemas"]["PropertyGroupOption"][];
2464
- parentId?: string;
2465
- productNumber?: string;
2466
- readonly propertyIds?: string[];
2467
- purchasePrices?: string;
2468
- /** Format: date-time */
2469
- releaseDate?: string;
2470
- /** Format: int64 */
2471
- stock?: number;
2472
- readonly streamIds?: string[];
2473
- readonly tagIds?: string[];
2474
- taxId?: string;
2475
- };
2476
- /** Format: int64 */
2477
- position?: number;
2478
- priceDefinition?: components["schemas"]["CartPriceQuantity"];
2479
- productId?: string;
2480
- productVersionId?: string;
2481
- promotionId?: string;
2482
- /** Format: int64 */
2483
- quantity: number;
2484
- referencedId?: string;
2485
- removable?: boolean;
2486
- stackable?: boolean;
2487
- states: string[];
2488
- /** Format: float */
2489
- totalPrice?: number;
2490
- translated: {
2491
- coverId: string;
2492
- description: string;
2493
- identifier: string;
2494
- label: string;
2495
- orderId: string;
2496
- orderVersionId: string;
2497
- parentId: string;
2498
- parentVersionId: string;
2499
- productId: string;
2500
- productVersionId: string;
2501
- promotionId: string;
2502
- referencedId: string;
2503
- type: string;
2504
- versionId: string;
2505
- };
2506
- type?: string;
2507
- /** Format: float */
2508
- unitPrice?: number;
2509
- /** Format: date-time */
2510
- readonly updatedAt?: string;
2511
- versionId?: string;
2512
- };
2427
+ OrderLineItem:
2428
+ | {
2429
+ /** @enum {string} */
2430
+ apiAlias: "order_line_item";
2431
+ children: components["schemas"]["OrderLineItem"][];
2432
+ cover?: components["schemas"]["Media"];
2433
+ coverId?: string;
2434
+ /** Format: date-time */
2435
+ readonly createdAt?: string;
2436
+ customFields?: GenericRecord;
2437
+ description?: string;
2438
+ downloads?: components["schemas"]["OrderLineItemDownload"][];
2439
+ extensions?: {
2440
+ novuSeoUrls?: GenericRecord;
2441
+ };
2442
+ good?: boolean;
2443
+ id: string;
2444
+ identifier: string;
2445
+ label: string;
2446
+ orderDeliveryPositions?: components["schemas"]["OrderDeliveryPosition"][];
2447
+ orderId: string;
2448
+ orderVersionId?: string;
2449
+ parent?: components["schemas"]["OrderLineItem"];
2450
+ parentId?: string;
2451
+ parentVersionId?: string;
2452
+ payload?:
2453
+ | {
2454
+ readonly categoryIds?: string[];
2455
+ cover?: components["schemas"]["Media"];
2456
+ /** Format: date-time */
2457
+ readonly createdAt?: string;
2458
+ customFields?: GenericRecord;
2459
+ features?: unknown[];
2460
+ /** Name of the category to be sent to Google Tag Manager */
2461
+ gtagCategory?: string;
2462
+ isCloseout?: boolean;
2463
+ isNew?: boolean;
2464
+ /** List of category names for Klaviyo */
2465
+ klaviyoCategoryNames?: string[];
2466
+ manufacturerId?: string;
2467
+ /** Name of the manufacturer */
2468
+ manufacturerName?: string;
2469
+ markAsTopseller?: boolean;
2470
+ netiNextEasyCoupon?: {
2471
+ /** The value of the voucher */
2472
+ voucherValue?: number;
2473
+ };
2474
+ readonly optionIds?: string[];
2475
+ /** List of product options */
2476
+ options?:
2477
+ | components["schemas"]["PropertyGroupOption"][]
2478
+ | components["schemas"]["PropertyGroupOption"][];
2479
+ parentId?: string;
2480
+ productNumber?: string;
2481
+ readonly propertyIds?: string[];
2482
+ purchasePrices?: string;
2483
+ /** Format: date-time */
2484
+ releaseDate?: string;
2485
+ /** Format: int64 */
2486
+ stock?: number;
2487
+ readonly streamIds?: string[];
2488
+ readonly tagIds?: string[];
2489
+ taxId?: string;
2490
+ }
2491
+ | {
2492
+ readonly categoryIds?: string[];
2493
+ cover?: components["schemas"]["Media"];
2494
+ /** Format: date-time */
2495
+ readonly createdAt?: string;
2496
+ customFields?: GenericRecord;
2497
+ features?: unknown[];
2498
+ /** Name of the category to be sent to Google Tag Manager */
2499
+ gtagCategory?: string;
2500
+ isCloseout?: boolean;
2501
+ isNew?: boolean;
2502
+ /** List of category names for Klaviyo */
2503
+ klaviyoCategoryNames?: string[];
2504
+ manufacturerId?: string;
2505
+ /** Name of the manufacturer */
2506
+ manufacturerName?: string;
2507
+ markAsTopseller?: boolean;
2508
+ netiNextEasyCoupon?: {
2509
+ /** The value of the voucher */
2510
+ voucherValue?: number;
2511
+ };
2512
+ readonly optionIds?: string[];
2513
+ /** List of product options */
2514
+ options?:
2515
+ | components["schemas"]["PropertyGroupOption"][]
2516
+ | components["schemas"]["PropertyGroupOption"][];
2517
+ parentId?: string;
2518
+ productNumber?: string;
2519
+ readonly propertyIds?: string[];
2520
+ purchasePrices?: string;
2521
+ /** Format: date-time */
2522
+ releaseDate?: string;
2523
+ /** Format: int64 */
2524
+ stock?: number;
2525
+ readonly streamIds?: string[];
2526
+ readonly tagIds?: string[];
2527
+ taxId?: string;
2528
+ };
2529
+ /** Format: int64 */
2530
+ position?: number;
2531
+ priceDefinition?: components["schemas"]["CartPriceQuantity"];
2532
+ productId?: string;
2533
+ productVersionId?: string;
2534
+ promotionId?: string;
2535
+ /** Format: int64 */
2536
+ quantity: number;
2537
+ referencedId?: string;
2538
+ removable?: boolean;
2539
+ stackable?: boolean;
2540
+ states: string[];
2541
+ /** Format: float */
2542
+ totalPrice?: number;
2543
+ translated: {
2544
+ coverId: string;
2545
+ description: string;
2546
+ identifier: string;
2547
+ label: string;
2548
+ orderId: string;
2549
+ orderVersionId: string;
2550
+ parentId: string;
2551
+ parentVersionId: string;
2552
+ productId: string;
2553
+ productVersionId: string;
2554
+ promotionId: string;
2555
+ referencedId: string;
2556
+ type: string;
2557
+ versionId: string;
2558
+ };
2559
+ type?: string;
2560
+ /** Format: float */
2561
+ unitPrice?: number;
2562
+ /** Format: date-time */
2563
+ readonly updatedAt?: string;
2564
+ versionId?: string;
2565
+ }
2566
+ | {
2567
+ /** @enum {string} */
2568
+ apiAlias: "order_line_item";
2569
+ children: components["schemas"]["OrderLineItem"][];
2570
+ cover?: components["schemas"]["Media"];
2571
+ coverId?: string;
2572
+ /** Format: date-time */
2573
+ readonly createdAt?: string;
2574
+ customFields?: GenericRecord;
2575
+ description?: string;
2576
+ downloads?: components["schemas"]["OrderLineItemDownload"][];
2577
+ extensions?: {
2578
+ novuSeoUrls?: GenericRecord;
2579
+ };
2580
+ good?: boolean;
2581
+ id: string;
2582
+ identifier: string;
2583
+ label: string;
2584
+ orderDeliveryPositions?: components["schemas"]["OrderDeliveryPosition"][];
2585
+ orderId: string;
2586
+ orderVersionId?: string;
2587
+ parent?: components["schemas"]["OrderLineItem"];
2588
+ parentId?: string;
2589
+ parentVersionId?: string;
2590
+ payload?:
2591
+ | {
2592
+ readonly categoryIds?: string[];
2593
+ cover?: components["schemas"]["Media"];
2594
+ /** Format: date-time */
2595
+ readonly createdAt?: string;
2596
+ customFields?: GenericRecord;
2597
+ features?: unknown[];
2598
+ /** Name of the category to be sent to Google Tag Manager */
2599
+ gtagCategory?: string;
2600
+ isCloseout?: boolean;
2601
+ isNew?: boolean;
2602
+ /** List of category names for Klaviyo */
2603
+ klaviyoCategoryNames?: string[];
2604
+ manufacturerId?: string;
2605
+ /** Name of the manufacturer */
2606
+ manufacturerName?: string;
2607
+ markAsTopseller?: boolean;
2608
+ netiNextEasyCoupon?: {
2609
+ /** The value of the voucher */
2610
+ voucherValue?: number;
2611
+ };
2612
+ readonly optionIds?: string[];
2613
+ /** List of product options */
2614
+ options?:
2615
+ | components["schemas"]["PropertyGroupOption"][]
2616
+ | components["schemas"]["PropertyGroupOption"][];
2617
+ parentId?: string;
2618
+ productNumber?: string;
2619
+ readonly propertyIds?: string[];
2620
+ purchasePrices?: string;
2621
+ /** Format: date-time */
2622
+ releaseDate?: string;
2623
+ /** Format: int64 */
2624
+ stock?: number;
2625
+ readonly streamIds?: string[];
2626
+ readonly tagIds?: string[];
2627
+ taxId?: string;
2628
+ }
2629
+ | {
2630
+ readonly categoryIds?: string[];
2631
+ cover?: components["schemas"]["Media"];
2632
+ /** Format: date-time */
2633
+ readonly createdAt?: string;
2634
+ customFields?: GenericRecord;
2635
+ features?: unknown[];
2636
+ /** Name of the category to be sent to Google Tag Manager */
2637
+ gtagCategory?: string;
2638
+ isCloseout?: boolean;
2639
+ isNew?: boolean;
2640
+ /** List of category names for Klaviyo */
2641
+ klaviyoCategoryNames?: string[];
2642
+ manufacturerId?: string;
2643
+ /** Name of the manufacturer */
2644
+ manufacturerName?: string;
2645
+ markAsTopseller?: boolean;
2646
+ netiNextEasyCoupon?: {
2647
+ /** The value of the voucher */
2648
+ voucherValue?: number;
2649
+ };
2650
+ readonly optionIds?: string[];
2651
+ /** List of product options */
2652
+ options?:
2653
+ | components["schemas"]["PropertyGroupOption"][]
2654
+ | components["schemas"]["PropertyGroupOption"][];
2655
+ parentId?: string;
2656
+ productNumber?: string;
2657
+ readonly propertyIds?: string[];
2658
+ purchasePrices?: string;
2659
+ /** Format: date-time */
2660
+ releaseDate?: string;
2661
+ /** Format: int64 */
2662
+ stock?: number;
2663
+ readonly streamIds?: string[];
2664
+ readonly tagIds?: string[];
2665
+ taxId?: string;
2666
+ };
2667
+ /** Format: int64 */
2668
+ position?: number;
2669
+ priceDefinition?: components["schemas"]["CartPriceQuantity"];
2670
+ productId?: string;
2671
+ productVersionId?: string;
2672
+ promotionId?: string;
2673
+ /** Format: int64 */
2674
+ quantity: number;
2675
+ referencedId?: string;
2676
+ removable?: boolean;
2677
+ stackable?: boolean;
2678
+ states: string[];
2679
+ /** Format: float */
2680
+ totalPrice?: number;
2681
+ translated: {
2682
+ coverId: string;
2683
+ description: string;
2684
+ identifier: string;
2685
+ label: string;
2686
+ orderId: string;
2687
+ orderVersionId: string;
2688
+ parentId: string;
2689
+ parentVersionId: string;
2690
+ productId: string;
2691
+ productVersionId: string;
2692
+ promotionId: string;
2693
+ referencedId: string;
2694
+ type: string;
2695
+ versionId: string;
2696
+ };
2697
+ type?: string;
2698
+ /** Format: float */
2699
+ unitPrice?: number;
2700
+ /** Format: date-time */
2701
+ readonly updatedAt?: string;
2702
+ versionId?: string;
2703
+ };
2513
2704
  OrderLineItemDownload: {
2514
2705
  accessGranted: boolean;
2515
2706
  /** Format: date-time */
@@ -2858,6 +3049,13 @@ export type Schemas = {
2858
3049
  downloads?: components["schemas"]["ProductDownload"][];
2859
3050
  ean?: string;
2860
3051
  extensions?: {
3052
+ netiEasyCouponProduct?: {
3053
+ createdAt?: string;
3054
+ updatedAt?: string;
3055
+ value?: components["schemas"]["EasyCouponPrice"][];
3056
+ valueType?: number;
3057
+ };
3058
+ /** SEO URL information for the product */
2861
3059
  novuSeoUrls?: GenericRecord;
2862
3060
  /** Configuration for variant listing display */
2863
3061
  productVariantListingConfig?: {
@@ -2868,7 +3066,15 @@ export type Schemas = {
2868
3066
  /** ID of the main variant */
2869
3067
  mainVariantId?: string;
2870
3068
  };
2871
- variants?: GenericRecord;
3069
+ /** Search related information for the product */
3070
+ search?: GenericRecord;
3071
+ /** Aggregated stock availability across all variants */
3072
+ variantAvailability?: {
3073
+ /** Total available stock across all variants of the product */
3074
+ totalStock?: number;
3075
+ };
3076
+ /** Array of product variants. */
3077
+ variants?: components["schemas"]["Product"][];
2872
3078
  };
2873
3079
  /** Format: float */
2874
3080
  height?: number;
@@ -2939,6 +3145,14 @@ export type Schemas = {
2939
3145
  cmsPageId: string;
2940
3146
  cmsPageVersionId: string;
2941
3147
  coverId: string;
3148
+ customFields?: {
3149
+ /** Determines whether the tax info is shown on the product page */
3150
+ novu_headless_gtag_category?: boolean;
3151
+ /** Determines whether the tax info is shown on the product page */
3152
+ novu_headless_hide_delivery_cost?: boolean;
3153
+ /** Determines whether the tax info is shown on the product page */
3154
+ novu_headless_sales_channel_product_show_tax_info?: boolean;
3155
+ };
2942
3156
  deliveryTimeId: string;
2943
3157
  description: string;
2944
3158
  displayGroup: string;
@@ -3029,6 +3243,13 @@ export type Schemas = {
3029
3243
  downloads?: components["schemas"]["ProductDownload"][];
3030
3244
  ean?: string;
3031
3245
  extensions?: {
3246
+ netiEasyCouponProduct?: {
3247
+ createdAt?: string;
3248
+ updatedAt?: string;
3249
+ value?: components["schemas"]["EasyCouponPrice"][];
3250
+ valueType?: number;
3251
+ };
3252
+ /** SEO URL information for the product */
3032
3253
  novuSeoUrls?: GenericRecord;
3033
3254
  /** Configuration for variant listing display */
3034
3255
  productVariantListingConfig?: {
@@ -3039,7 +3260,15 @@ export type Schemas = {
3039
3260
  /** ID of the main variant */
3040
3261
  mainVariantId?: string;
3041
3262
  };
3042
- variants?: GenericRecord;
3263
+ /** Search related information for the product */
3264
+ search?: GenericRecord;
3265
+ /** Aggregated stock availability across all variants */
3266
+ variantAvailability?: {
3267
+ /** Total available stock across all variants of the product */
3268
+ totalStock?: number;
3269
+ };
3270
+ /** Array of product variants. */
3271
+ variants?: components["schemas"]["Product"][];
3043
3272
  };
3044
3273
  /** Format: float */
3045
3274
  height?: number;
@@ -3110,6 +3339,14 @@ export type Schemas = {
3110
3339
  cmsPageId: string;
3111
3340
  cmsPageVersionId: string;
3112
3341
  coverId: string;
3342
+ customFields?: {
3343
+ /** Determines whether the tax info is shown on the product page */
3344
+ novu_headless_gtag_category?: boolean;
3345
+ /** Determines whether the tax info is shown on the product page */
3346
+ novu_headless_hide_delivery_cost?: boolean;
3347
+ /** Determines whether the tax info is shown on the product page */
3348
+ novu_headless_sales_channel_product_show_tax_info?: boolean;
3349
+ };
3113
3350
  deliveryTimeId: string;
3114
3351
  description: string;
3115
3352
  displayGroup: string;
@@ -3226,7 +3463,26 @@ export type Schemas = {
3226
3463
  /** Format: date-time */
3227
3464
  readonly updatedAt?: string;
3228
3465
  };
3229
- ProductJsonApi: components["schemas"]["resource"] & {
3466
+ ProductJsonApi: {
3467
+ cover?: components["schemas"]["Media"];
3468
+ /** Name of the category to be sent to Google Tag Manager */
3469
+ gtagCategory?: string;
3470
+ /** List of category names for Klaviyo */
3471
+ klaviyoCategoryNames?: string[];
3472
+ /** Name of the manufacturer */
3473
+ manufacturerName?: string;
3474
+ netiNextEasyCoupon?: {
3475
+ /** The value of the voucher */
3476
+ voucherValue?: number;
3477
+ };
3478
+ /** List of product options */
3479
+ options?: {
3480
+ /** The group name of the option */
3481
+ group?: string;
3482
+ /** The name of the option */
3483
+ option?: string;
3484
+ }[];
3485
+ } & (components["schemas"]["resource"] & {
3230
3486
  active?: boolean;
3231
3487
  readonly available?: boolean;
3232
3488
  /** Format: int64 */
@@ -3693,7 +3949,7 @@ export type Schemas = {
3693
3949
  weight?: number;
3694
3950
  /** Format: float */
3695
3951
  width?: number;
3696
- };
3952
+ });
3697
3953
  ProductKeywordDictionary: {
3698
3954
  id?: string;
3699
3955
  keyword: string;
@@ -4151,6 +4407,10 @@ export type Schemas = {
4151
4407
  countryId: string;
4152
4408
  currencyId: string;
4153
4409
  customerGroupId: string;
4410
+ customFields?: {
4411
+ /** Show tax information */
4412
+ novu_headless_sales_channel_product_show_tax_info?: boolean;
4413
+ };
4154
4414
  footerCategoryId: string;
4155
4415
  footerCategoryVersionId: string;
4156
4416
  hreflangDefaultDomainId: string;
@@ -48,13 +48,23 @@ export declare function getProductVariantForOptions<S extends DetailProduct>(pro
48
48
  downloads?: components["schemas"]["ProductDownload"][];
49
49
  ean?: string;
50
50
  extensions?: {
51
+ netiEasyCouponProduct?: {
52
+ createdAt?: string;
53
+ updatedAt?: string;
54
+ value?: components["schemas"]["EasyCouponPrice"][];
55
+ valueType?: number;
56
+ };
51
57
  novuSeoUrls?: GenericRecord;
52
58
  productVariantListingConfig?: {
53
59
  configuratorGroupConfig?: GenericRecord[];
54
60
  displayParent?: boolean;
55
61
  mainVariantId?: string;
56
62
  };
57
- variants?: GenericRecord;
63
+ search?: GenericRecord;
64
+ variantAvailability?: {
65
+ totalStock?: number;
66
+ };
67
+ variants?: components["schemas"]["Product"][];
58
68
  };
59
69
  height?: number;
60
70
  id: string;
@@ -112,6 +122,11 @@ export declare function getProductVariantForOptions<S extends DetailProduct>(pro
112
122
  cmsPageId: string;
113
123
  cmsPageVersionId: string;
114
124
  coverId: string;
125
+ customFields?: {
126
+ novu_headless_gtag_category?: boolean;
127
+ novu_headless_hide_delivery_cost?: boolean;
128
+ novu_headless_sales_channel_product_show_tax_info?: boolean;
129
+ };
115
130
  deliveryTimeId: string;
116
131
  description: string;
117
132
  displayGroup: string;
@@ -190,13 +205,23 @@ export declare function useProductVariantForOptions<S extends DetailProduct>(pro
190
205
  downloads?: components["schemas"]["ProductDownload"][];
191
206
  ean?: string;
192
207
  extensions?: {
208
+ netiEasyCouponProduct?: {
209
+ createdAt?: string;
210
+ updatedAt?: string;
211
+ value?: components["schemas"]["EasyCouponPrice"][];
212
+ valueType?: number;
213
+ };
193
214
  novuSeoUrls?: GenericRecord;
194
215
  productVariantListingConfig?: {
195
216
  configuratorGroupConfig?: GenericRecord[];
196
217
  displayParent?: boolean;
197
218
  mainVariantId?: string;
198
219
  };
199
- variants?: GenericRecord;
220
+ search?: GenericRecord;
221
+ variantAvailability?: {
222
+ totalStock?: number;
223
+ };
224
+ variants?: components["schemas"]["Product"][];
200
225
  };
201
226
  height?: number;
202
227
  id: string;
@@ -254,6 +279,11 @@ export declare function useProductVariantForOptions<S extends DetailProduct>(pro
254
279
  cmsPageId: string;
255
280
  cmsPageVersionId: string;
256
281
  coverId: string;
282
+ customFields?: {
283
+ novu_headless_gtag_category?: boolean;
284
+ novu_headless_hide_delivery_cost?: boolean;
285
+ novu_headless_sales_channel_product_show_tax_info?: boolean;
286
+ };
257
287
  deliveryTimeId: string;
258
288
  description: string;
259
289
  displayGroup: string;
package/docker/types.sh CHANGED
@@ -9,8 +9,9 @@ done
9
9
 
10
10
  cd ..
11
11
 
12
+ sleep 10
12
13
 
13
14
  pnpm dlx @shopware/api-gen loadSchema --apiType=store
14
15
  pnpm dlx @shopware/api-gen generate --apiType=store
15
16
 
16
- cd docker && docker compose down
17
+ cd docker && docker compose stop
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teamnovu/kit-shopware-composables",
3
- "version": "0.0.27",
3
+ "version": "0.0.28",
4
4
  "description": "A collection of composables for the Shopware API",
5
5
  "main": "dist/index.mjs",
6
6
  "module": "dist/index.mjs",