From a4082ce0a3705d5804a61affe005b5a17fc0473e Mon Sep 17 00:00:00 2001 From: Jimmy Thomson Date: Mon, 7 Sep 2026 08:57:09 +0100 Subject: [PATCH] feat: Bump dependencies and models --- generate-type-exports.mjs | 2 +- package.json | 30 +- pnpm-lock.yaml | 1711 +++++++--------- src/lib/types/models/approval-flow.ts | 14 +- src/lib/types/models/approval-rule.ts | 22 +- src/lib/types/models/associate-role.ts | 22 +- src/lib/types/models/attribute-group.ts | 10 +- src/lib/types/models/business-unit-search.ts | 4 +- src/lib/types/models/business-unit.ts | 68 +- src/lib/types/models/cart-discount.ts | 74 +- src/lib/types/models/cart.ts | 247 ++- src/lib/types/models/category.ts | 34 +- src/lib/types/models/channel.ts | 39 +- src/lib/types/models/common.ts | 99 +- src/lib/types/models/custom-object.ts | 16 +- src/lib/types/models/customer-group.ts | 22 +- src/lib/types/models/customer-search.ts | 4 +- src/lib/types/models/customer.ts | 74 +- src/lib/types/models/discount-code.ts | 57 +- src/lib/types/models/discount-group.ts | 16 +- src/lib/types/models/error.ts | 564 +++++- src/lib/types/models/event.ts | 320 +-- src/lib/types/models/extension.ts | 162 +- src/lib/types/models/index.ts | 3 + src/lib/types/models/inventory.ts | 148 +- src/lib/types/models/me.ts | 155 +- src/lib/types/models/message.ts | 1873 ++++++++++++++++-- src/lib/types/models/order-edit.ts | 177 +- src/lib/types/models/order.ts | 191 +- src/lib/types/models/payment-method.ts | 26 +- src/lib/types/models/payment.ts | 51 +- src/lib/types/models/product-discount.ts | 52 +- src/lib/types/models/product-search.ts | 60 +- src/lib/types/models/product-selection.ts | 60 +- src/lib/types/models/product-tailoring.ts | 184 +- src/lib/types/models/product-type.ts | 50 +- src/lib/types/models/product.ts | 283 ++- src/lib/types/models/project.ts | 140 +- src/lib/types/models/quote-request.ts | 28 +- src/lib/types/models/quote.ts | 42 +- src/lib/types/models/recurrence-policy.ts | 14 +- src/lib/types/models/recurring-order.ts | 38 +- src/lib/types/models/reservation.ts | 121 ++ src/lib/types/models/review.ts | 24 +- src/lib/types/models/search.ts | 24 +- src/lib/types/models/shipping-method.ts | 107 +- src/lib/types/models/shopping-list.ts | 50 +- src/lib/types/models/staged-quote.ts | 34 +- src/lib/types/models/standalone-price.ts | 31 +- src/lib/types/models/state.ts | 16 +- src/lib/types/models/store.ts | 34 +- src/lib/types/models/subscription.ts | 21 +- src/lib/types/models/tax-category.ts | 26 +- src/lib/types/models/type.ts | 28 +- src/lib/types/models/variant-attributes.ts | 154 ++ src/lib/types/models/variant.ts | 1166 +++++++++++ src/lib/types/models/warning.ts | 115 +- src/lib/types/models/zone.ts | 18 +- 58 files changed, 6637 insertions(+), 2518 deletions(-) create mode 100644 src/lib/types/models/reservation.ts create mode 100644 src/lib/types/models/variant-attributes.ts create mode 100644 src/lib/types/models/variant.ts diff --git a/generate-type-exports.mjs b/generate-type-exports.mjs index f9ba10d034..797f8deb0f 100644 --- a/generate-type-exports.mjs +++ b/generate-type-exports.mjs @@ -2,7 +2,7 @@ import fs from 'node:fs' import { execSync } from 'node:child_process' const CHECKOUT_DIR = './.commercetools-repo' -const IGNORED_FILES = ['api-client.ts'] +const IGNORED_FILES = ['api-client.ts', 'mcp-server.ts'] const MODELS_DEST = './src/lib/types/models' if (!fs.existsSync(CHECKOUT_DIR)) { diff --git a/package.json b/package.json index e438a0e11b..fe7f59a630 100644 --- a/package.json +++ b/package.json @@ -58,37 +58,37 @@ }, "homepage": "https://github.com/gradientedge/commercetools-utils#readme", "devDependencies": { - "@eslint/eslintrc": "3.3.5", + "@eslint/eslintrc": "3.3.7", "@eslint/js": "10.0.1", "@sinonjs/fake-timers": "15.4.0", "@types/json-stringify-safe": "5.0.3", - "@types/node": "25.9.1", + "@types/node": "26.4.1", "@types/qs": "6.15.1", "@types/sinonjs__fake-timers": "15.0.1", "@types/traverse": "0.6.37", - "@typescript-eslint/eslint-plugin": "8.60.1", - "@typescript-eslint/parser": "8.60.1", - "@vitest/coverage-v8": "4.1.8", - "eslint": "10.4.1", + "@typescript-eslint/eslint-plugin": "8.69.0", + "@typescript-eslint/parser": "8.69.0", + "@vitest/coverage-v8": "5.0.0", + "eslint": "10.10.0", "eslint-config-prettier": "10.1.8", - "globals": "17.6.0", + "globals": "17.12.0", "husky": "9.1.7", - "nock": "14.0.15", - "prettier": "3.8.3", + "nock": "14.0.17", + "prettier": "3.9.6", "rimraf": "6.1.3", - "semantic-release": "25.0.3", + "semantic-release": "25.0.9", "ts-node": "10.9.2", - "typedoc": "0.28.19", + "typedoc": "0.28.20", "typescript": "6.0.3", - "vitest": "4.1.8" + "vitest": "5.0.0" }, "dependencies": { "@tshttp/status": "2.0.0", - "axios": "1.16.1", + "axios": "1.20.0", "json-stringify-safe": "5.0.1", - "qs": "6.15.2", + "qs": "6.16.0", "traverse": "0.6.11", - "uuid": "14.0.0" + "uuid": "14.0.2" }, "pnpm": { "overrides": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3bdb7c9706..ad4e6a538f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,27 +16,27 @@ importers: specifier: 2.0.0 version: 2.0.0 axios: - specifier: 1.16.1 - version: 1.16.1 + specifier: 1.20.0 + version: 1.20.0 json-stringify-safe: specifier: 5.0.1 version: 5.0.1 qs: - specifier: 6.15.2 - version: 6.15.2 + specifier: 6.16.0 + version: 6.16.0 traverse: specifier: 0.6.11 version: 0.6.11 uuid: - specifier: 14.0.0 - version: 14.0.0 + specifier: 14.0.2 + version: 14.0.2 devDependencies: '@eslint/eslintrc': - specifier: 3.3.5 - version: 3.3.5 + specifier: 3.3.7 + version: 3.3.7 '@eslint/js': specifier: 10.0.1 - version: 10.0.1(eslint@10.4.1(jiti@2.6.1)) + version: 10.0.1(eslint@10.10.0(jiti@2.6.1)) '@sinonjs/fake-timers': specifier: 15.4.0 version: 15.4.0 @@ -44,8 +44,8 @@ importers: specifier: 5.0.3 version: 5.0.3 '@types/node': - specifier: 25.9.1 - version: 25.9.1 + specifier: 26.4.1 + version: 26.4.1 '@types/qs': specifier: 6.15.1 version: 6.15.1 @@ -56,50 +56,50 @@ importers: specifier: 0.6.37 version: 0.6.37 '@typescript-eslint/eslint-plugin': - specifier: 8.60.1 - version: 8.60.1(@typescript-eslint/parser@8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3) + specifier: 8.69.0 + version: 8.69.0(@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3))(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3) '@typescript-eslint/parser': - specifier: 8.60.1 - version: 8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3) + specifier: 8.69.0 + version: 8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3) '@vitest/coverage-v8': - specifier: 4.1.8 - version: 4.1.8(vitest@4.1.8) + specifier: 5.0.0 + version: 5.0.0(vitest@5.0.0) eslint: - specifier: 10.4.1 - version: 10.4.1(jiti@2.6.1) + specifier: 10.10.0 + version: 10.10.0(jiti@2.6.1) eslint-config-prettier: specifier: 10.1.8 - version: 10.1.8(eslint@10.4.1(jiti@2.6.1)) + version: 10.1.8(eslint@10.10.0(jiti@2.6.1)) globals: - specifier: 17.6.0 - version: 17.6.0 + specifier: 17.12.0 + version: 17.12.0 husky: specifier: 9.1.7 version: 9.1.7 nock: - specifier: 14.0.15 - version: 14.0.15 + specifier: 14.0.17 + version: 14.0.17 prettier: - specifier: 3.8.3 - version: 3.8.3 + specifier: 3.9.6 + version: 3.9.6 rimraf: specifier: 6.1.3 version: 6.1.3 semantic-release: - specifier: 25.0.3 - version: 25.0.3(typescript@6.0.3) + specifier: 25.0.9 + version: 25.0.9(typescript@6.0.3) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.15.32(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@6.0.3) + version: 10.9.2(@swc/core@1.15.32(@swc/helpers@0.5.21))(@types/node@26.4.1)(typescript@6.0.3) typedoc: - specifier: 0.28.19 - version: 0.28.19(typescript@6.0.3) + specifier: 0.28.20 + version: 0.28.20(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 vitest: - specifier: 4.1.8 - version: 4.1.8(@types/node@25.9.1)(@vitest/coverage-istanbul@4.1.8)(@vitest/coverage-v8@4.1.8)(vite@8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0)) + specifier: 5.0.0 + version: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(vite@8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0)) packages: @@ -119,36 +119,6 @@ packages: resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.7': - resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.29.7': - resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.7': - resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.29.7': - resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-globals@7.29.7': - resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.29.7': - resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.29.7': - resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-string-parser@7.29.7': resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} @@ -157,35 +127,25 @@ packages: resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.29.7': - resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.29.7': - resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.29.7': - resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + '@babel/parser@7.29.8': + resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/template@7.29.7': - resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.29.7': - resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.29.7': - resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + '@babel/types@7.29.8': + resolution: {integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@1.0.2': resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@cacheable/memory@2.2.0': + resolution: {integrity: sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==} + + '@cacheable/utils@2.5.0': + resolution: {integrity: sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -203,8 +163,8 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + '@eslint-community/eslint-utils@4.10.1': + resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -217,16 +177,16 @@ packages: resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/config-helpers@0.6.0': - resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + '@eslint/config-helpers@0.7.0': + resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/core@1.2.1': resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/eslintrc@3.3.5': - resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==} + '@eslint/eslintrc@3.3.7': + resolution: {integrity: sha512-F42g89Qd5oAWtp0k0nnSrjziAKza7w8SVT4mStc18LZMaRb4J1HQAHLCalEtDCxrTuksx7NU9qsmeLwpOfPqWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@10.0.1': @@ -242,8 +202,8 @@ packages: resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.7.2': - resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + '@eslint/plugin-kit@0.7.3': + resolution: {integrity: sha512-IkO+/KEUvwbVpiURZg+P7zF74z5Jxe0UgJxVni+RtoHQ6IZieXaO02kmadomap/q+l6bc/jdPGGqTjhuZnuz1Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@gerrit0/mini-shiki@3.23.0': @@ -269,22 +229,12 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@istanbuljs/schema@0.1.6': - resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} - engines: {node: '>=8'} - - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.5.5': - resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -292,64 +242,86 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@keyv/bigmap@1.3.1': + resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} + engines: {node: '>= 18'} + peerDependencies: + keyv: ^5.6.0 + + '@keyv/serialize@1.1.1': + resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} + '@mswjs/interceptors@0.41.9': resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==} engines: {node: '>=18'} - '@napi-rs/wasm-runtime@1.1.4': - resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + '@napi-rs/wasm-runtime@1.2.3': + resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 + '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 + '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 '@octokit/auth-token@6.0.0': resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} engines: {node: '>= 20'} - '@octokit/core@7.0.6': - resolution: {integrity: sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==} + '@octokit/core@7.0.8': + resolution: {integrity: sha512-L7y8eYc+AwxGr2PWI4WFt1VG4TiJ66c26BD16mXpYIlXxG0SMigM1+m4aTSlYyBr5BlQsGAlz8uDCoZN4SEMcg==} engines: {node: '>= 20'} - '@octokit/endpoint@11.0.3': - resolution: {integrity: sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==} + '@octokit/endpoint@11.0.5': + resolution: {integrity: sha512-iXa654H3yFafF/ieHkukfbgWo2rmXD2ceD0ZOtrPhw1bc3FDch1d9N/TNs0FQ1/cIbwb7kspUX8jzIs8nzb9DQ==} engines: {node: '>= 20'} - '@octokit/graphql@9.0.3': - resolution: {integrity: sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==} + '@octokit/graphql@9.0.5': + resolution: {integrity: sha512-bt/hm03LeU6Vy7FwTrkkC9p3XGT/lBwClglMqxBSe5/q0E5CdJTXeAqEI0vlw89/LF/G6tryTIH8HirZ3prMVg==} engines: {node: '>= 20'} '@octokit/openapi-types@27.0.0': resolution: {integrity: sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==} + '@octokit/openapi-types@28.0.0': + resolution: {integrity: sha512-0rFyLuyHvIj6uuZWuDslxkowFYdPXoNIkeAv4b27dzm2Tf4vGWXnPsMcxs7d65kLdMERgP3wc1AEPlqMz8e1cQ==} + + '@octokit/openapi-types@29.0.1': + resolution: {integrity: sha512-9qWOMFNxxLokERcms42rU0PTLqQmVs7g5E41TI4mCOxmpFayD1rfC7XxOL55cG9MBZLFlC31BrR37myMKardwg==} + '@octokit/plugin-paginate-rest@14.0.0': resolution: {integrity: sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-retry@8.1.0': - resolution: {integrity: sha512-O1FZgXeiGb2sowEr/hYTr6YunGdSAFWnr2fyW39Ah85H8O33ELASQxcvOFF5LE6Tjekcyu2ms4qAzJVhSaJxTw==} + '@octokit/plugin-retry@8.1.1': + resolution: {integrity: sha512-VCVvZ/R1+u3WuiBWpNavZ0mY4aaJNAsENrpBP9aLSR2QyOpQgd7DhM5j4AW7z4MQpnJYgwBPf0XqPQoNBRdQwg==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=7' - '@octokit/plugin-throttling@11.0.3': - resolution: {integrity: sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==} + '@octokit/plugin-throttling@11.0.5': + resolution: {integrity: sha512-LIdrkrUv+DWbKeg/49rGuFJ3SU0d3hUS+B4MhNZLepBoNUFXms8Ic9edJjrlx+zycqJHjrMRudVpVb/bAXM2Lw==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': ^7.0.0 - '@octokit/request-error@7.1.0': - resolution: {integrity: sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==} + '@octokit/request-error@7.1.2': + resolution: {integrity: sha512-XZRuT3xZ84D3gYErI1DZvhJ33dCWVV6uzBtWkaBB4TvA/L6eOeTZodxLFVB44bBEEo3vEx7y00UfX1tBLrtLRg==} engines: {node: '>= 20'} - '@octokit/request@10.0.10': - resolution: {integrity: sha512-KxNC2pTqqhszMNrf12ZRd4PonRgyJdsM4F/jySiddQK+DsRcfBtUvqn8t7UsyZhnRJHvX46OohDt5N3VqIWC2w==} + '@octokit/request@10.0.16': + resolution: {integrity: sha512-A0zWGjHzISIb+9ccG8s0dq7LKO5zVpJLRICjgUb+sJxEWqn8RUHB1rD3AE51+PECvXHIxqZ1VVvs4fHTSD9nUQ==} engines: {node: '>= 20'} '@octokit/types@16.0.0': resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} + '@octokit/types@17.0.0': + resolution: {integrity: sha512-ByP1v7YL5SMveFPP7+sj0/ZuWCOOg/Chs4NafOMpq6WNIM/hdGY0S7C0TCGDBWu1aGmOxmUIhMx3cO+IdwYZ1Q==} + + '@octokit/types@18.0.0': + resolution: {integrity: sha512-l6bAF43PNxkJp6g+W4PjoUSSkxHomXw2nOum5CTftJz1NlV3vu93NImgOYtLf6CbBUb5j+fiuzW0PPQ5JTSvZA==} + '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} @@ -370,8 +342,8 @@ packages: resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} - '@pnpm/npm-conf@3.0.2': - resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==} + '@pnpm/npm-conf@3.0.3': + resolution: {integrity: sha512-//0sR/cow/s4ICQaYoAobOl4aU8cjU6x/V24V7XkKotb9+O+3zySIYp146vpaobYHnxa4pZX8NkV54Z5AwbDKA==} engines: {node: '>=12'} '@rolldown/binding-android-arm64@1.0.0-rc.17': @@ -485,8 +457,8 @@ packages: resolution: {integrity: sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==} engines: {node: '>=18'} - '@semantic-release/github@12.0.8': - resolution: {integrity: sha512-tej5AAgK5X9wHRoDmYhecMXEHEkFeGOY1XsEblKxu8pIQwahzf1STYyr7iPU6Lpbg6C5I3N2w/ocXrBo+L7jhw==} + '@semantic-release/github@12.0.9': + resolution: {integrity: sha512-ODIqb0V3QqndipryEEiaBxUQCFjvv7Oese5Dt4omMGa60YRNEW0Sx3K+zri0uac2Y6S9nOlMehciWIzvvRCTGQ==} engines: {node: ^22.14.0 || >= 24.10.0} peerDependencies: semantic-release: '>=24.1.0' @@ -536,9 +508,6 @@ packages: '@sinonjs/fake-timers@15.4.0': resolution: {integrity: sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==} - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@swc/core-darwin-arm64@1.15.32': resolution: {integrity: sha512-/YWMvJDPu+AAwuUsM2G+DNQ/7zhodURGzdQyewEqcvgklAdDHs3LwQmLLnyn6SJl8DT8UOxkbzK+D1PmPeelRg==} engines: {node: '>=10'} @@ -632,11 +601,11 @@ packages: '@swc/helpers@0.5.21': resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==} - '@swc/types@0.1.26': - resolution: {integrity: sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==} + '@swc/types@0.1.28': + resolution: {integrity: sha512-V6Mnml8v09QALx6K0elJ7o9K/MkVDtW3t6L+7Ou/JcWtb3xwId2AH4FeOceySd2JaO87IMw4+6vSZxLm34LPbw==} - '@tsconfig/node10@1.0.12': - resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} + '@tsconfig/node10@1.0.13': + resolution: {integrity: sha512-gcLdvR9HO1ZJBypsOGqaP6TFEzb6vIta0KSTLt9NAQ6pXQO3cRgSVyCN6pzYqI9DlJgY71XKO0dpDhCf08b3pg==} '@tsconfig/node12@1.0.11': resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} @@ -652,8 +621,8 @@ packages: engines: {node: '>=8.10'} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@tybys/wasm-util@0.10.3': + resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -667,8 +636,8 @@ packages: '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/hast@3.0.5': + resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -676,8 +645,8 @@ packages: '@types/json-stringify-safe@5.0.3': resolution: {integrity: sha512-oNOjRxLfPeYbBSQ60maucaFNqbslVOPU4WWs5t/sHvAh6tyo/CThXSG+E24tEzkgh/fzvxyDrYdOJufgeNy1sQ==} - '@types/node@25.9.1': - resolution: {integrity: sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==} + '@types/node@26.4.1': + resolution: {integrity: sha512-k97ENvZWtvA6yqz5/FS6a7duDgOPEeOQOc2iKS/nY6mX6qJUKtLnWzQS+Xj6tXweyj6ZcTAK2Qecetnvi9nCLA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -694,84 +663,84 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.60.1': - resolution: {integrity: sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==} + '@typescript-eslint/eslint-plugin@8.69.0': + resolution: {integrity: sha512-t5jQTKPIgVW1PE6dR6H6Qz5gm8zjMlX5/2gRaOGd9eO6V7J+tQc6iWKukEe7dY8u9HyYasQ0yfF0/FSSTEO2gA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.60.1 + '@typescript-eslint/parser': ^8.69.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.60.1': - resolution: {integrity: sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==} + '@typescript-eslint/parser@8.69.0': + resolution: {integrity: sha512-l4b0DhWioGg6Gt2ebGlvfkFMOjRsauxtsnDRwUSRX1qHq3HdTfQHV8wW9zEXeciai6HfeaKOedQn2Zoofx3WBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.60.1': - resolution: {integrity: sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==} + '@typescript-eslint/project-service@8.69.0': + resolution: {integrity: sha512-yi4obFrHMmnsesWehHbkg9zMA7Jt8cXT+mKM08G999pH1yT6nqgsHx7MYm0uY1wAj8CqiBXYRJ7WAT0QdQHQXg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.60.1': - resolution: {integrity: sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==} + '@typescript-eslint/scope-manager@8.69.0': + resolution: {integrity: sha512-ewfspqWvSxKSOaplqAUNbaSFO0eB6w1EtQ+esfYFRm3614Ty4uNtExkcbgd6nWsXphbqKyf9ZYdbZdv2xEoWEQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.60.1': - resolution: {integrity: sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==} + '@typescript-eslint/tsconfig-utils@8.69.0': + resolution: {integrity: sha512-xNqK7YTDZsLniQMV/4rpFR8Z5JlqeRvVjuG1YgF/mdPVH84HSD19L8CczMA0qg2RfwEV231GHH3VnToJDo4MfQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.60.1': - resolution: {integrity: sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==} + '@typescript-eslint/type-utils@8.69.0': + resolution: {integrity: sha512-ZfoJAVg3JZndQEpEl9petVlxau3lRuElc4HRMuAlLCf8to04/iHz692RUSNmXKDjEuJmIL+KZ2/BsOcBc16dsA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.60.1': - resolution: {integrity: sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==} + '@typescript-eslint/types@8.69.0': + resolution: {integrity: sha512-K3VrubUPhlo9VDBS6QdI8YB5j7ClpqLRdefcz6PFrhnwicehBweqQ9Evhl4l+FYz0HdDmMqIiSX0aldGRYtDCA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.60.1': - resolution: {integrity: sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==} + '@typescript-eslint/typescript-estree@8.69.0': + resolution: {integrity: sha512-AdFkgqck3Vudb/kWnxlyafU/4aBhHrbQ9locP2N4psXTy5mOBg0SHJumnLvx7r6g1gV4DKvUFwV2nJZBoqOD8w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.60.1': - resolution: {integrity: sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==} + '@typescript-eslint/utils@8.69.0': + resolution: {integrity: sha512-tUbx60BBqQa31kXF5MCsOOLL5E/WzUuxIn7YpAvq+eaUlqvk8/NXnXMBNAdLCr0icjkzem7iUA5QqWHe/hJ1aw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.60.1': - resolution: {integrity: sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==} + '@typescript-eslint/visitor-keys@8.69.0': + resolution: {integrity: sha512-+rmdgPA+EXkNgKYvHvFfhrs35utXbwaC5PGpDquSXcoXQDKUA5UjV0LmTucG/4JXkM31BTu4TilHtrN8IVBe8w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitest/coverage-istanbul@4.1.8': - resolution: {integrity: sha512-/h514nMZMKI6foh21mVgO1zlCH6pdDamwKMbla1uLU2GMxTlfp0PQMxovWozmzQdCIQYZ2XXEzg2zNZom2zAOg==} + '@vitest/coverage-v8@5.0.0': + resolution: {integrity: sha512-toMg6PZGCIa/lQNCDoASrfb1ly4hsUKXFtFYC9kD4t78o5Y6LyNJU7AENt8eHPr3quYdxaxK7hj2mnbFfUk9NA==} peerDependencies: - vitest: 4.1.8 - - '@vitest/coverage-v8@4.1.8': - resolution: {integrity: sha512-lt3kovsyHwYe00wq4D1ti0Z974fWj4NLp6siqiyEufUpyFwK9Yhi7rBhac9JL5aA0zoMrJqc4vYPZRUnI7l7nw==} - peerDependencies: - '@vitest/browser': 4.1.8 - vitest: 4.1.8 + '@vitest/browser': 5.0.0 + vitest: 5.0.0 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/expect@4.1.8': - resolution: {integrity: sha512-h3nDO677RDLEGlBxyQ5CW8RlMThSKSRLUePLOx09gNIWRL40edgA1GCZSZgf1W55MFAG6/Sw14KeaAnqv0NKdQ==} + '@vitest/istanbul-lib-coverage@1.0.1': + resolution: {integrity: sha512-k3DJZ8LhMBK9NS4SclF1ASD3OgXEWDorbIcPTRDK0/Zae6fRvu+fJRxtFdLfHsa9Y24beCdPnoNZ4LviTNstfA==} + engines: {node: '>=22'} + + '@vitest/istanbul-lib-report@1.0.1': + resolution: {integrity: sha512-1EOLRfsTMnyAr3+kEAsP4o9dhaDlGPpD7H5iLBBeq//YpNB1VIahkPhB+eRp9N2Dkfw8oySROjE3yf9XDeaIkQ==} + engines: {node: '>=22'} - '@vitest/mocker@4.1.8': - resolution: {integrity: sha512-LEiN/xe4OSIbKe9HQIp5OC24agGD9J5CnmMgsLohVVoOPWL9a2sBoR6VBx43jQZb7Kr1l4RCuyCJzcAa0+dojw==} + '@vitest/mocker@5.0.0': + resolution: {integrity: sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -781,20 +750,8 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.8': - resolution: {integrity: sha512-9GasEBxpZ1VYIpqHf/0+YGg121uSNwCKOJqIrTwWP/TB7DmFCiaBpNl3aPZzoLWfWkuqhbH8vJIVobZkvdo2cA==} - - '@vitest/runner@4.1.8': - resolution: {integrity: sha512-EmVxeBAfMJvycdjd6Hm+RbFBbA9fKvo0Kx37hNpBYoYeavH3RNsBXWDooR1mgD52dCrxIIuP7UotpfiwOikvcg==} - - '@vitest/snapshot@4.1.8': - resolution: {integrity: sha512-acfZboRmAIf05DEKcBQy33VXojFJjtUdLyo7oOmV9kebb2xdU01UknNiPuPZoJZQyO7DF0gZdTGTpeAzET9QPQ==} - - '@vitest/spy@4.1.8': - resolution: {integrity: sha512-6EevtBp6OZOPF7bmz36HrGMeP3txgVSrgebWxHOafDXGkhIzfXK14f8KF6MuFfgXXUeHxmpD3BQxkV00/3s5mA==} - - '@vitest/utils@4.1.8': - resolution: {integrity: sha512-uOJamYALNhfJ6iolExyQM40yIQwDqYnkKtQ5VCiSe17E33H0aQ/u+1GlRuz4LZBk6Mm3sg90G9hEbmEt37C1Zg==} + '@vitest/spy@5.0.0': + resolution: {integrity: sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -805,8 +762,8 @@ packages: resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} engines: {node: '>=0.4.0'} hasBin: true @@ -833,8 +790,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + ansi-regex@6.3.0: + resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} engines: {node: '>=12'} ansi-styles@3.2.1: @@ -876,8 +833,8 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-v8-to-istanbul@1.0.3: - resolution: {integrity: sha512-jCMQ6ZylLPudp0CDfBmQBZUsrh1/8psbmu9ibeVWKuHWD0YrH9YABwlKu5kVEFoT0GCQQW9Z/SxfuEbbkGQCRg==} + ast-v8-to-istanbul@1.0.5: + resolution: {integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA==} async-function@1.0.0: resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} @@ -890,8 +847,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.16.1: - resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==} + axios@1.20.0: + resolution: {integrity: sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -900,32 +857,25 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.37: - resolution: {integrity: sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==} - engines: {node: '>=6.0.0'} - hasBin: true - before-after-hook@4.0.0: resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} bottleneck@2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - brace-expansion@1.1.15: - resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} + brace-expansion@1.1.18: + resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} - brace-expansion@5.0.6: - resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} - engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.28.2: - resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + cacheable@2.5.0: + resolution: {integrity: sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -943,9 +893,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001799: - resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} - chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} engines: {node: '>=18'} @@ -1012,9 +959,9 @@ packages: config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - content-type@2.0.0: - resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} - engines: {node: '>=18'} + content-type@3.0.0: + resolution: {integrity: sha512-AIi5H6p0xk5uknXcN3/rmhP8jgp69OfSe/JuKiQAFprJ7UGw7mwj7m4XcmDzlrnJDG+cGpphAINGdU3g3g7kDw==} + engines: {node: '>=22'} conventional-changelog-angular@8.3.1: resolution: {integrity: sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==} @@ -1038,14 +985,11 @@ packages: resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} engines: {node: '>=12'} - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cosmiconfig@9.0.1: - resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} + cosmiconfig@9.0.2: + resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -1127,9 +1071,6 @@ packages: duplexer2@0.1.4: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - electron-to-chromium@1.5.372: - resolution: {integrity: sha512-M3yhbAlilnwqC8D21t28UCDGHyitShTmmLRU/H+b74P6Ski16Nb9HONYEaVpMj/pwC7BEo5B95FpjODLCWbtfA==} - emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -1158,6 +1099,10 @@ packages: error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + es-abstract-get@1.0.0: + resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} + engines: {node: '>= 0.4'} + es-abstract@1.24.2: resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} engines: {node: '>= 0.4'} @@ -1170,8 +1115,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-module-lexer@2.1.0: - resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + es-module-lexer@2.3.2: + resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} es-object-atoms@1.1.2: resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} @@ -1181,8 +1126,8 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + es-to-primitive@1.3.4: + resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} engines: {node: '>= 0.4'} escalade@3.2.0: @@ -1223,8 +1168,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.4.1: - resolution: {integrity: sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==} + eslint@10.10.0: + resolution: {integrity: sha512-NPXn6r5zl4uET1DAVPaOwzX3rut4c0wcmw3dWJAfOsTM5+TogXo0DDjz8pwm/hL8cyVNpHqeK4JpN0NjnyFFNw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -1268,8 +1213,8 @@ packages: resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} - expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} fast-deep-equal@3.1.3: @@ -1298,9 +1243,8 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + file-entry-cache@11.1.5: + resolution: {integrity: sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -1322,12 +1266,11 @@ packages: resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} engines: {node: '>=18'} - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + flat-cache@6.1.23: + resolution: {integrity: sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==} - flatted@3.4.2: - resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} @@ -1342,12 +1285,12 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - form-data@4.0.5: - resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + form-data@4.0.6: + resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} engines: {node: '>= 6'} - fs-extra@11.3.5: - resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} + fs-extra@11.4.0: + resolution: {integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==} engines: {node: '>=14.14'} fsevents@2.3.3: @@ -1362,8 +1305,8 @@ packages: resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} engines: {node: '>=18'} - function.prototype.name@1.1.8: - resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + function.prototype.name@1.2.0: + resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} engines: {node: '>= 0.4'} functions-have-names@1.2.3: @@ -1373,10 +1316,6 @@ packages: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -1424,8 +1363,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@17.6.0: - resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} + globals@17.12.0: + resolution: {integrity: sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==} engines: {node: '>=18'} globalthis@1.0.4: @@ -1474,6 +1413,10 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} + hashery@1.5.1: + resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} + engines: {node: '>=20'} + hasown@2.0.4: resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} @@ -1485,6 +1428,12 @@ packages: resolution: {integrity: sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==} engines: {node: '>=20'} + hookified@1.15.1: + resolution: {integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==} + + hookified@2.2.0: + resolution: {integrity: sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==} + hosted-git-info@7.0.2: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} @@ -1493,19 +1442,16 @@ packages: resolution: {integrity: sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==} engines: {node: ^20.17.0 || >=22.9.0} - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - http-proxy-agent@9.0.0: - resolution: {integrity: sha512-FcF8VhXYLQcxWCnt/cCpT2apKsRDUGeVEeMqGu4HSTu29U8Yw0TLOjdYIlDsYk3IkUh+taX4IDWpPcCqKDhCjA==} + http-proxy-agent@9.1.0: + resolution: {integrity: sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==} engines: {node: '>= 20'} https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - https-proxy-agent@9.0.0: - resolution: {integrity: sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g==} + https-proxy-agent@9.1.0: + resolution: {integrity: sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==} engines: {node: '>= 20'} human-signals@5.0.0: @@ -1525,8 +1471,8 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + ignore@7.0.8: + resolution: {integrity: sha512-YYNsSlXBjMk92SKnkwvB5LOVSa6OznlFUGcsvrFgNJbJCd0M1XKeFVRc8ZByeCqz32FivYNHJVooLmdqrmvp/Q==} engines: {node: '>= 4'} import-fresh@3.3.1: @@ -1593,6 +1539,10 @@ packages: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} + is-document.all@1.0.0: + resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} + engines: {node: '>= 0.4'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1701,18 +1651,6 @@ packages: resolution: {integrity: sha512-7atWPjhGEIX3JEtMrOYd8TKzboYlq+5sNbdl9POiLYOI14G5HZiQbZP0Xj5EZdrufQVXfJlpTV0hys0CuxwxZw==} engines: {node: ^18.17 || >=20.6.1} - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-reports@3.2.0: - resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} - engines: {node: '>=8'} - java-properties@1.0.2: resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} engines: {node: '>= 0.6.0'} @@ -1727,18 +1665,10 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@4.2.0: - resolution: {integrity: sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==} + js-yaml@4.3.2: + resolution: {integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==} hasBin: true - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-parse-better-errors@1.0.2: resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} @@ -1754,103 +1684,98 @@ packages: json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json-with-bigint@3.5.8: - resolution: {integrity: sha512-eq/4KP6K34kwa7TcFdtvnftvHCD9KvHOGGICWwMFc4dOOKF5t4iYqnfLK8otCRCRv06FXOzGGyqE8h8ElMvvdw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true + json-with-bigint@3.5.12: + resolution: {integrity: sha512-uwbF/wSSuOgC7qqlq27Xp5B6a2MHVug3t0idZdTqu0JnlFvgJuH7ju+KAk/J06C7GfhoYy2gnb9wz2INqcne7w==} jsonfile@6.2.1: resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@5.6.0: + resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@5.0.1: - resolution: {integrity: sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==} + linkify-it@5.0.2: + resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==} load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} @@ -1885,35 +1810,28 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.5.1: - resolution: {integrity: sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} engines: {node: 20 || >=22} - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - magic-string@0.30.21: - resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + magic-string@1.2.3: + resolution: {integrity: sha512-Bpb0W2TbLKOZ7vJnOUnVRGq3WL2p+ISV29M6hYPL1AFCpyKZpdr5ytiXoTSSxRVhg8YW7f65+6gbG8WG6PCa/g==} - magicast@0.5.3: - resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==} + magicast@0.5.4: + resolution: {integrity: sha512-llBEhWm1SacoRwgHUoQJYtwp4PBLF4faQi5TCpIGyGs9n4y5+juI0tDgyKIfpqxckRHaHzouUEph3THklWh03w==} make-asynchronous@1.1.0: resolution: {integrity: sha512-ayF7iT+44LXdxJLTrTd3TLQpFDDvPCBxXxbv+pMUSuHA5Q8zyAfwkRP6aHHwNVFBUFWtxAHqwNJxF8vMZLAbVg==} engines: {node: '>=18'} - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - markdown-it@14.2.0: - resolution: {integrity: sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==} + markdown-it@14.3.1: + resolution: {integrity: sha512-4Ej49aYTDFIQ+uBkfX8GBvJGccoARxxPep+7aWTs55ozbjQJpW9M26Fe53vnGgvLeVzva/amzjQQaQu9w0vMhA==} hasBin: true marked-terminal@7.3.0: @@ -1931,8 +1849,8 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + mdurl@2.1.0: + resolution: {integrity: sha512-1+HBaOx0zi/dQWht8rNv9MYf9qqpqL/kxI0hXImU6Y547zM6Sni8BQibt7ifgMcYtQg41ao3Ivd6cnSM86inpg==} meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} @@ -1962,8 +1880,8 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - minimatch@10.2.5: - resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} minimatch@3.1.5: @@ -1982,8 +1900,8 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + nanoid@3.3.18: + resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -1996,18 +1914,14 @@ packages: nerf-dart@1.0.0: resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} - nock@14.0.15: - resolution: {integrity: sha512-S0a47C9pLvcYx/Ugf0H30BVBEcUgMMBDk9VJIDlJ8XGrfH2QDUD4Tgdp45qDIiHttokBG+IbsOtsvIjGR/j3bg==} + nock@14.0.17: + resolution: {integrity: sha512-EjRr1weMa4ALQX35AgZTEnP+weJJjlW1KGDiNM2IQC2069YDHas4f4B4UUYR+TTLyKWxJvOz2wObDKQs/LNreA==} engines: {node: '>=18.20.0 <20 || >=20.12.1'} node-emoji@2.2.0: resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} engines: {node: '>=18'} - node-releases@2.0.47: - resolution: {integrity: sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==} - engines: {node: '>=18'} - normalize-package-data@6.0.2: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} @@ -2028,8 +1942,8 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} - npm@11.16.0: - resolution: {integrity: sha512-A74XL8OxmcegZDMWPkWb5bEQppg8HdYwW3rBD2sPoS4UQHVajfaxBkqyzLeJ3wR0kZ+5xoTjItxXaF7eIXUsyw==} + npm@11.19.1: + resolution: {integrity: sha512-ztsxKxt/kkIaAs+2i0GU6I+DRmUdrNasxTZKJe9TCdSjKxlhah/4r/hl5ygMD6XAg1qZ9c2TNomR4qgOydp10g==} engines: {node: ^20.17.0 || >=22.9.0} hasBin: true bundledDependencies: @@ -2115,8 +2029,9 @@ packages: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + obug@2.1.4: + resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} + engines: {node: '>=12.20.0'} onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} @@ -2129,8 +2044,8 @@ packages: outvariant@1.4.3: resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} - own-keys@1.0.1: - resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + own-keys@1.0.2: + resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} engines: {node: '>= 0.4'} p-each-series@3.0.0: @@ -2161,8 +2076,8 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@7.0.4: - resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} + p-map@7.0.7: + resolution: {integrity: sha512-VaWRu2i4FJNRtiRWCuuQRgfQ1B7a6+gMSrO+3j0EQi/k0ULfS9kosRxGoiqwzIjZTDI02tGfk5mXXltLg6QtfQ==} engines: {node: '>=18'} p-reduce@3.0.0: @@ -2233,9 +2148,6 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2243,8 +2155,8 @@ packages: resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} engines: {node: '>=8.6'} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} engines: {node: '>=12'} pify@3.0.0: @@ -2259,21 +2171,21 @@ packages: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss@8.5.15: - resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + postcss@8.5.28: + resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.8.3: - resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + prettier@3.9.6: + resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==} engines: {node: '>=14'} hasBin: true - pretty-ms@9.3.0: - resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + pretty-ms@9.3.1: + resolution: {integrity: sha512-HzMy3Geq23nVALD/M2LliU+F+M+gVNsvkQWWqeBZ8HDiCgzo6YPJ/Omrmtq24EFrIsk0a3EkQGEd7bDOo+IhGA==} engines: {node: '>=18'} process-nextick-args@2.0.1: @@ -2286,6 +2198,15 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + proxy-agent-negotiate@1.1.0: + resolution: {integrity: sha512-N8IBcM3UgCVzz2L2Lqv8DVntDnnC8/hiV4nEDUPkqq72TPUgYWjQc+bdZlBPZK9LzPAvOY//gAt0S0DApoOXWQ==} + engines: {node: '>= 20'} + peerDependencies: + kerberos: ^2.0.0 + peerDependenciesMeta: + kerberos: + optional: true + proxy-from-env@2.1.0: resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} engines: {node: '>=10'} @@ -2298,8 +2219,12 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.15.2: - resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} + qified@0.10.1: + resolution: {integrity: sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==} + engines: {node: '>=20'} + + qs@6.16.0: + resolution: {integrity: sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==} engines: {node: '>=0.6'} rc@1.2.8: @@ -2374,8 +2299,8 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} - semantic-release@25.0.3: - resolution: {integrity: sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==} + semantic-release@25.0.9: + resolution: {integrity: sha512-bxve7csK0/Txr++CkfrmV+X1r4jqiSOw2WsSad9E2S68R+ZfLBwDn8IceM8WfiOmKQIHgsQc1cNA8Dzg7U75pg==} engines: {node: ^22.14.0 || >= 24.10.0} hasBin: true @@ -2383,12 +2308,8 @@ packages: resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} engines: {node: '>=12'} - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.8.1: - resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true @@ -2424,8 +2345,8 @@ packages: resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} engines: {node: '>= 0.4'} - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} siginfo@2.0.0: @@ -2472,8 +2393,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@4.1.0: - resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} @@ -2493,12 +2414,16 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + string-width@8.2.2: + resolution: {integrity: sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==} + engines: {node: '>=20'} + + string.prototype.trim@1.2.11: + resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + string.prototype.trimend@1.0.10: + resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} engines: {node: '>= 0.4'} string.prototype.trimstart@1.0.8: @@ -2578,19 +2503,20 @@ packages: resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} engines: {node: '>=12'} - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinybench@6.1.4: + resolution: {integrity: sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==} + engines: {node: '>=20.0.0'} - tinyexec@1.2.4: - resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} engines: {node: '>=18'} tinyglobby@0.2.17: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} - tinyrainbow@3.1.0: - resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} engines: {node: '>=14.0.0'} to-regex-range@5.0.1: @@ -2652,8 +2578,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-fest@5.7.0: - resolution: {integrity: sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==} + type-fest@5.9.0: + resolution: {integrity: sha512-yANm3Jr3GiJ1qgJlxGAVxTOIcEOk1rhQHamlXtnrCK7EHP4HeM9OGxtMg/W7HFdrVzw/ZWJKGVIJusVH85sLtw==} engines: {node: '>=20'} typed-array-buffer@1.0.3: @@ -2676,8 +2602,8 @@ packages: resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} engines: {node: '>= 0.4'} - typedoc@0.28.19: - resolution: {integrity: sha512-wKh+lhdmMFivMlc6vRRcMGXeGEHGU2g8a2CkPTJjJlwRf1iXbimWIPcFolCqe4E0d/FRtGszpIrsp3WLpDB8Pw==} + typedoc@0.28.20: + resolution: {integrity: sha512-uSKqkh8Cr48vllnEy+jdaAgOeR6Y+QCBW7usgUsKj7gJEfR7stw9U/fE49LBnj2tPRKPY0c0EBJSWe9Appmplg==} engines: {node: '>= 18', pnpm: '>= 10'} hasBin: true peerDependencies: @@ -2700,15 +2626,15 @@ packages: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} - undici-types@7.24.6: - resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} - undici@6.26.0: - resolution: {integrity: sha512-4yqz8a3n5HmGTlsbADNtr/dJlhkh/55Rq798G6ibiULcXbDtaLpTl1pvdqcbFfeoj3iSi52lePFM7h9H21cw/A==} + undici@6.28.1: + resolution: {integrity: sha512-zWpdTVD54H48CIybL0rWQ3ukpb9d23wM7eH5RtfdmeP70cWHNjtfo7P4vZX+5CoDcO53J4Pu5uXp7lNfjc6DRA==} engines: {node: '>=18.17'} - undici@7.27.0: - resolution: {integrity: sha512-+t2Z/GwkZQDtu00813aP66ygViGtPHKhhoFZpQKpKrE+9jIgES+Zw+mFNaDWOVRKiuJjuqKHzD3B1sfGg8+ZOQ==} + undici@7.29.1: + resolution: {integrity: sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==} engines: {node: '>=20.18.1'} unicode-emoji-modifier-base@1.0.0: @@ -2738,12 +2664,6 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - update-browserslist-db@1.2.3: - resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -2754,8 +2674,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@14.0.0: - resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} + uuid@14.0.2: + resolution: {integrity: sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==} hasBin: true v8-compile-cache-lib@3.0.1: @@ -2807,23 +2727,23 @@ packages: yaml: optional: true - vitest@4.1.8: - resolution: {integrity: sha512-flY6ScbCIt9HThs+C5HS7jvGOB560DJtk/Z15IQROTA6zEy49Nh8T/dofWTQL+n3vswqn87sbJNiuqw1SDp5Ig==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + vitest@5.0.0: + resolution: {integrity: sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.8 - '@vitest/browser-preview': 4.1.8 - '@vitest/browser-webdriverio': 4.1.8 - '@vitest/coverage-istanbul': 4.1.8 - '@vitest/coverage-v8': 4.1.8 - '@vitest/ui': 4.1.8 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.0 + '@vitest/browser-preview': 5.0.0 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.0 + '@vitest/coverage-v8': 5.0.0 + '@vitest/ui': 5.0.0 happy-dom: '*' jsdom: '*' - vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -2863,8 +2783,8 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} - which-typed-array@1.1.21: - resolution: {integrity: sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==} + which-typed-array@1.1.22: + resolution: {integrity: sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==} engines: {node: '>= 0.4'} which@2.0.2: @@ -2900,9 +2820,6 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} @@ -2916,12 +2833,12 @@ packages: resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + yargs@16.2.2: + resolution: {integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==} engines: {node: '>=10'} - yargs@18.0.0: - resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + yargs@18.1.0: + resolution: {integrity: sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} yn@3.1.1: @@ -2932,8 +2849,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yoctocolors@2.1.2: - resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==} + yoctocolors@2.2.0: + resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==} engines: {node: '>=18'} snapshots: @@ -2950,7 +2867,7 @@ snapshots: '@actions/http-client@4.0.1': dependencies: tunnel: 0.0.6 - undici: 6.26.0 + undici: 6.28.1 '@actions/io@3.0.2': {} @@ -2960,112 +2877,32 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.7': - optional: true - - '@babel/core@7.29.7': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/generator@7.29.7': - dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - optional: true - - '@babel/helper-compilation-targets@7.29.7': - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - browserslist: 4.28.2 - lru-cache: 5.1.1 - semver: 6.3.1 - optional: true - - '@babel/helper-globals@7.29.7': - optional: true - - '@babel/helper-module-imports@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/helper-string-parser@7.29.7': {} '@babel/helper-validator-identifier@7.29.7': {} - '@babel/helper-validator-option@7.29.7': - optional: true - - '@babel/helpers@7.29.7': + '@babel/parser@7.29.8': dependencies: - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - optional: true + '@babel/types': 7.29.8 - '@babel/parser@7.29.7': + '@babel/types@7.29.8': dependencies: - '@babel/types': 7.29.7 + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 - '@babel/template@7.29.7': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - optional: true + '@bcoe/v8-coverage@1.0.2': {} - '@babel/traverse@7.29.7': + '@cacheable/memory@2.2.0': dependencies: - '@babel/code-frame': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/helper-globals': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/types': 7.29.7 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - optional: true + '@cacheable/utils': 2.5.0 + '@keyv/bigmap': 1.3.1(keyv@5.6.0) + hookified: 1.15.1 + keyv: 5.6.0 - '@babel/types@7.29.7': + '@cacheable/utils@2.5.0': dependencies: - '@babel/helper-string-parser': 7.29.7 - '@babel/helper-validator-identifier': 7.29.7 - - '@bcoe/v8-coverage@1.0.2': {} + hashery: 1.5.1 + keyv: 5.6.0 '@colors/colors@1.5.0': optional: true @@ -3090,9 +2927,9 @@ snapshots: tslib: 2.8.1 optional: true - '@eslint-community/eslint-utils@4.9.1(eslint@10.4.1(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.10.0(jiti@2.6.1))': dependencies: - eslint: 10.4.1(jiti@2.6.1) + eslint: 10.10.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -3101,11 +2938,11 @@ snapshots: dependencies: '@eslint/object-schema': 3.0.5 debug: 4.4.3 - minimatch: 10.2.5 + minimatch: 10.2.6 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.6.0': + '@eslint/config-helpers@0.7.0': dependencies: '@eslint/core': 1.2.1 @@ -3113,7 +2950,7 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.5': + '@eslint/eslintrc@3.3.7': dependencies: ajv: 6.15.0 debug: 4.4.3 @@ -3121,19 +2958,19 @@ snapshots: globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.2.0 + js-yaml: 4.3.2 minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@10.0.1(eslint@10.4.1(jiti@2.6.1))': + '@eslint/js@10.0.1(eslint@10.10.0(jiti@2.6.1))': optionalDependencies: - eslint: 10.4.1(jiti@2.6.1) + eslint: 10.10.0(jiti@2.6.1) '@eslint/object-schema@3.0.5': {} - '@eslint/plugin-kit@0.7.2': + '@eslint/plugin-kit@0.7.3': dependencies: '@eslint/core': 1.2.1 levn: 0.4.1 @@ -3162,34 +2999,27 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@istanbuljs/schema@0.1.6': - optional: true - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - optional: true - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - optional: true - '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 + + '@keyv/bigmap@1.3.1(keyv@5.6.0)': + dependencies: + hashery: 1.5.1 + hookified: 1.15.1 + keyv: 5.6.0 + + '@keyv/serialize@1.1.1': {} '@mswjs/interceptors@0.41.9': dependencies: @@ -3200,73 +3030,85 @@ snapshots: outvariant: 1.4.3 strict-event-emitter: 0.5.1 - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.2 + '@tybys/wasm-util': 0.10.3 optional: true '@octokit/auth-token@6.0.0': {} - '@octokit/core@7.0.6': + '@octokit/core@7.0.8': dependencies: '@octokit/auth-token': 6.0.0 - '@octokit/graphql': 9.0.3 - '@octokit/request': 10.0.10 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 + '@octokit/graphql': 9.0.5 + '@octokit/request': 10.0.16 + '@octokit/request-error': 7.1.2 + '@octokit/types': 18.0.0 before-after-hook: 4.0.0 universal-user-agent: 7.0.3 - '@octokit/endpoint@11.0.3': + '@octokit/endpoint@11.0.5': dependencies: - '@octokit/types': 16.0.0 + '@octokit/types': 18.0.0 universal-user-agent: 7.0.3 - '@octokit/graphql@9.0.3': + '@octokit/graphql@9.0.5': dependencies: - '@octokit/request': 10.0.10 - '@octokit/types': 16.0.0 + '@octokit/request': 10.0.16 + '@octokit/types': 18.0.0 universal-user-agent: 7.0.3 '@octokit/openapi-types@27.0.0': {} - '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.6)': + '@octokit/openapi-types@28.0.0': {} + + '@octokit/openapi-types@29.0.1': {} + + '@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.8)': dependencies: - '@octokit/core': 7.0.6 + '@octokit/core': 7.0.8 '@octokit/types': 16.0.0 - '@octokit/plugin-retry@8.1.0(@octokit/core@7.0.6)': + '@octokit/plugin-retry@8.1.1(@octokit/core@7.0.8)': dependencies: - '@octokit/core': 7.0.6 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 + '@octokit/core': 7.0.8 + '@octokit/request-error': 7.1.2 + '@octokit/types': 17.0.0 bottleneck: 2.19.5 - '@octokit/plugin-throttling@11.0.3(@octokit/core@7.0.6)': + '@octokit/plugin-throttling@11.0.5(@octokit/core@7.0.8)': dependencies: - '@octokit/core': 7.0.6 - '@octokit/types': 16.0.0 + '@octokit/core': 7.0.8 + '@octokit/types': 17.0.0 bottleneck: 2.19.5 - '@octokit/request-error@7.1.0': + '@octokit/request-error@7.1.2': dependencies: - '@octokit/types': 16.0.0 + '@octokit/types': 18.0.0 - '@octokit/request@10.0.10': + '@octokit/request@10.0.16': dependencies: - '@octokit/endpoint': 11.0.3 - '@octokit/request-error': 7.1.0 - '@octokit/types': 16.0.0 - content-type: 2.0.0 - json-with-bigint: 3.5.8 + '@octokit/endpoint': 11.0.5 + '@octokit/request-error': 7.1.2 + '@octokit/types': 18.0.0 + content-type: 3.0.0 + json-with-bigint: 3.5.12 universal-user-agent: 7.0.3 '@octokit/types@16.0.0': dependencies: '@octokit/openapi-types': 27.0.0 + '@octokit/types@17.0.0': + dependencies: + '@octokit/openapi-types': 28.0.0 + + '@octokit/types@18.0.0': + dependencies: + '@octokit/openapi-types': 29.0.1 + '@open-draft/deferred-promise@2.2.0': {} '@open-draft/logger@0.3.0': @@ -3284,7 +3126,7 @@ snapshots: dependencies: graceful-fs: 4.2.10 - '@pnpm/npm-conf@3.0.2': + '@pnpm/npm-conf@3.0.3': dependencies: '@pnpm/config.env-replace': 1.1.0 '@pnpm/network.ca-file': 1.0.2 @@ -3330,7 +3172,7 @@ snapshots: dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': @@ -3343,7 +3185,7 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.9(typescript@6.0.3))': dependencies: conventional-changelog-angular: 8.3.1 conventional-changelog-writer: 8.4.0 @@ -3353,55 +3195,56 @@ snapshots: import-from-esm: 2.0.0 lodash-es: 4.18.1 micromatch: 4.0.8 - semantic-release: 25.0.3(typescript@6.0.3) + semantic-release: 25.0.9(typescript@6.0.3) transitivePeerDependencies: - supports-color '@semantic-release/error@4.0.0': {} - '@semantic-release/github@12.0.8(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/github@12.0.9(semantic-release@25.0.9(typescript@6.0.3))': dependencies: - '@octokit/core': 7.0.6 - '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.6) - '@octokit/plugin-retry': 8.1.0(@octokit/core@7.0.6) - '@octokit/plugin-throttling': 11.0.3(@octokit/core@7.0.6) + '@octokit/core': 7.0.8 + '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.8) + '@octokit/plugin-retry': 8.1.1(@octokit/core@7.0.8) + '@octokit/plugin-throttling': 11.0.5(@octokit/core@7.0.8) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 debug: 4.4.3 dir-glob: 3.0.1 - http-proxy-agent: 9.0.0 - https-proxy-agent: 9.0.0 + http-proxy-agent: 9.1.0 + https-proxy-agent: 9.1.0 issue-parser: 7.0.2 lodash-es: 4.18.1 mime: 4.1.0 p-filter: 4.1.0 - semantic-release: 25.0.3(typescript@6.0.3) + semantic-release: 25.0.9(typescript@6.0.3) tinyglobby: 0.2.17 - undici: 7.27.0 + undici: 7.29.1 url-join: 5.0.0 transitivePeerDependencies: + - kerberos - supports-color - '@semantic-release/npm@13.1.5(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/npm@13.1.5(semantic-release@25.0.9(typescript@6.0.3))': dependencies: '@actions/core': 3.0.1 '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 env-ci: 11.2.0 execa: 9.6.1 - fs-extra: 11.3.5 + fs-extra: 11.4.0 lodash-es: 4.18.1 nerf-dart: 1.0.0 normalize-url: 9.0.1 - npm: 11.16.0 + npm: 11.19.1 rc: 1.2.8 read-pkg: 10.1.0 registry-auth-token: 5.1.1 - semantic-release: 25.0.3(typescript@6.0.3) - semver: 7.8.1 + semantic-release: 25.0.9(typescript@6.0.3) + semver: 7.8.5 tempy: 3.2.0 - '@semantic-release/release-notes-generator@14.1.1(semantic-release@25.0.3(typescript@6.0.3))': + '@semantic-release/release-notes-generator@14.1.1(semantic-release@25.0.9(typescript@6.0.3))': dependencies: conventional-changelog-angular: 8.3.1 conventional-changelog-writer: 8.4.0 @@ -3411,7 +3254,7 @@ snapshots: import-from-esm: 2.0.0 lodash-es: 4.18.1 read-package-up: 11.0.0 - semantic-release: 25.0.3(typescript@6.0.3) + semantic-release: 25.0.9(typescript@6.0.3) transitivePeerDependencies: - supports-color @@ -3431,7 +3274,7 @@ snapshots: '@shikijs/types@3.23.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@shikijs/vscode-textmate@10.0.2': {} @@ -3449,8 +3292,6 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@standard-schema/spec@1.1.0': {} - '@swc/core-darwin-arm64@1.15.32': optional: true @@ -3490,7 +3331,7 @@ snapshots: '@swc/core@1.15.32(@swc/helpers@0.5.21)': dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.26 + '@swc/types': 0.1.28 optionalDependencies: '@swc/core-darwin-arm64': 1.15.32 '@swc/core-darwin-x64': 1.15.32 @@ -3515,12 +3356,12 @@ snapshots: tslib: 2.8.1 optional: true - '@swc/types@0.1.26': + '@swc/types@0.1.28': dependencies: '@swc/counter': 0.1.3 optional: true - '@tsconfig/node10@1.0.12': {} + '@tsconfig/node10@1.0.13': {} '@tsconfig/node12@1.0.11': {} @@ -3530,7 +3371,7 @@ snapshots: '@tshttp/status@2.0.0': {} - '@tybys/wasm-util@0.10.2': + '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true @@ -3546,7 +3387,7 @@ snapshots: '@types/estree@1.0.9': {} - '@types/hast@3.0.4': + '@types/hast@3.0.5': dependencies: '@types/unist': 3.0.3 @@ -3554,9 +3395,9 @@ snapshots: '@types/json-stringify-safe@5.0.3': {} - '@types/node@25.9.1': + '@types/node@26.4.1': dependencies: - undici-types: 7.24.6 + undici-types: 8.3.0 '@types/normalize-package-data@2.4.4': {} @@ -3568,178 +3409,135 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.60.1(@typescript-eslint/parser@8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3))(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.69.0(@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3))(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.60.1 - '@typescript-eslint/type-utils': 8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/utils': 8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.60.1 - eslint: 10.4.1(jiti@2.6.1) - ignore: 7.0.5 + '@typescript-eslint/parser': 8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.69.0 + '@typescript-eslint/type-utils': 8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.69.0 + eslint: 10.10.0(jiti@2.6.1) + ignore: 7.0.8 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/parser@8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.60.1 - '@typescript-eslint/types': 8.60.1 - '@typescript-eslint/typescript-estree': 8.60.1(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.60.1 + '@typescript-eslint/scope-manager': 8.69.0 + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/typescript-estree': 8.69.0(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.69.0 debug: 4.4.3 - eslint: 10.4.1(jiti@2.6.1) + eslint: 10.10.0(jiti@2.6.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.60.1(typescript@6.0.3)': + '@typescript-eslint/project-service@8.69.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@6.0.3) - '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/tsconfig-utils': 8.69.0(typescript@6.0.3) + '@typescript-eslint/types': 8.69.0 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.60.1': + '@typescript-eslint/scope-manager@8.69.0': dependencies: - '@typescript-eslint/types': 8.60.1 - '@typescript-eslint/visitor-keys': 8.60.1 + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/visitor-keys': 8.69.0 - '@typescript-eslint/tsconfig-utils@8.60.1(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.69.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.60.1 - '@typescript-eslint/typescript-estree': 8.60.1(typescript@6.0.3) - '@typescript-eslint/utils': 8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3) + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/typescript-estree': 8.69.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3) debug: 4.4.3 - eslint: 10.4.1(jiti@2.6.1) + eslint: 10.10.0(jiti@2.6.1) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.60.1': {} + '@typescript-eslint/types@8.69.0': {} - '@typescript-eslint/typescript-estree@8.60.1(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.69.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.60.1(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.60.1(typescript@6.0.3) - '@typescript-eslint/types': 8.60.1 - '@typescript-eslint/visitor-keys': 8.60.1 + '@typescript-eslint/project-service': 8.69.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.69.0(typescript@6.0.3) + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/visitor-keys': 8.69.0 debug: 4.4.3 - minimatch: 10.2.5 - semver: 7.8.1 + minimatch: 10.2.6 + semver: 7.8.5 tinyglobby: 0.2.17 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.60.1(eslint@10.4.1(jiti@2.6.1))(typescript@6.0.3)': + '@typescript-eslint/utils@8.69.0(eslint@10.10.0(jiti@2.6.1))(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.1(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.60.1 - '@typescript-eslint/types': 8.60.1 - '@typescript-eslint/typescript-estree': 8.60.1(typescript@6.0.3) - eslint: 10.4.1(jiti@2.6.1) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.69.0 + '@typescript-eslint/types': 8.69.0 + '@typescript-eslint/typescript-estree': 8.69.0(typescript@6.0.3) + eslint: 10.10.0(jiti@2.6.1) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.60.1': + '@typescript-eslint/visitor-keys@8.69.0': dependencies: - '@typescript-eslint/types': 8.60.1 + '@typescript-eslint/types': 8.69.0 eslint-visitor-keys: 5.0.1 - '@vitest/coverage-istanbul@4.1.8(vitest@4.1.8)': - dependencies: - '@babel/core': 7.29.7 - '@istanbuljs/schema': 0.1.6 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-reports: 3.2.0 - magicast: 0.5.3 - obug: 2.1.1 - tinyrainbow: 3.1.0 - vitest: 4.1.8(@types/node@25.9.1)(@vitest/coverage-istanbul@4.1.8)(@vitest/coverage-v8@4.1.8)(vite@8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0)) - transitivePeerDependencies: - - supports-color - optional: true - - '@vitest/coverage-v8@4.1.8(vitest@4.1.8)': + '@vitest/coverage-v8@5.0.0(vitest@5.0.0)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/utils': 4.1.8 - ast-v8-to-istanbul: 1.0.3 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-reports: 3.2.0 - magicast: 0.5.3 - obug: 2.1.1 - std-env: 4.1.0 - tinyrainbow: 3.1.0 - vitest: 4.1.8(@types/node@25.9.1)(@vitest/coverage-istanbul@4.1.8)(@vitest/coverage-v8@4.1.8)(vite@8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0)) - - '@vitest/expect@4.1.8': - dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.1.8 - '@vitest/utils': 4.1.8 - chai: 6.2.2 - tinyrainbow: 3.1.0 + '@vitest/istanbul-lib-coverage': 1.0.1 + '@vitest/istanbul-lib-report': 1.0.1 + ast-v8-to-istanbul: 1.0.5 + magicast: 0.5.4 + obug: 2.1.4 + std-env: 4.2.0 + tinyrainbow: 3.1.1 + vitest: 5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(vite@8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0)) - '@vitest/mocker@4.1.8(vite@8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0))': - dependencies: - '@vitest/spy': 4.1.8 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0) - - '@vitest/pretty-format@4.1.8': - dependencies: - tinyrainbow: 3.1.0 + '@vitest/istanbul-lib-coverage@1.0.1': {} - '@vitest/runner@4.1.8': + '@vitest/istanbul-lib-report@1.0.1': dependencies: - '@vitest/utils': 4.1.8 - pathe: 2.0.3 + '@vitest/istanbul-lib-coverage': 1.0.1 - '@vitest/snapshot@4.1.8': + '@vitest/mocker@5.0.0(vite@8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0))': dependencies: - '@vitest/pretty-format': 4.1.8 - '@vitest/utils': 4.1.8 - magic-string: 0.30.21 - pathe: 2.0.3 - - '@vitest/spy@4.1.8': {} + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.0 + estree-walker: 3.0.3 + magic-string: 1.2.3 + optionalDependencies: + vite: 8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0) - '@vitest/utils@4.1.8': - dependencies: - '@vitest/pretty-format': 4.1.8 - convert-source-map: 2.0.0 - tinyrainbow: 3.1.0 + '@vitest/spy@5.0.0': {} - acorn-jsx@5.3.2(acorn@8.16.0): + acorn-jsx@5.3.2(acorn@8.18.0): dependencies: - acorn: 8.16.0 + acorn: 8.18.0 acorn-walk@8.3.5: dependencies: - acorn: 8.16.0 + acorn: 8.18.0 - acorn@8.16.0: {} + acorn@8.18.0: {} agent-base@6.0.2: dependencies: @@ -3767,7 +3565,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.2.2: {} + ansi-regex@6.3.0: {} ansi-styles@3.2.1: dependencies: @@ -3806,7 +3604,7 @@ snapshots: assertion-error@2.0.1: {} - ast-v8-to-istanbul@1.0.3: + ast-v8-to-istanbul@1.0.5: dependencies: '@jridgewell/trace-mapping': 0.3.31 estree-walker: 3.0.3 @@ -3820,10 +3618,10 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axios@1.16.1: + axios@1.20.0: dependencies: follow-redirects: 1.16.0 - form-data: 4.0.5 + form-data: 4.0.6 https-proxy-agent: 5.0.1 proxy-from-env: 2.1.0 transitivePeerDependencies: @@ -3834,19 +3632,16 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.37: - optional: true - before-after-hook@4.0.0: {} bottleneck@2.19.5: {} - brace-expansion@1.1.15: + brace-expansion@1.1.18: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@5.0.6: + brace-expansion@5.0.9: dependencies: balanced-match: 4.0.4 @@ -3854,14 +3649,13 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.28.2: + cacheable@2.5.0: dependencies: - baseline-browser-mapping: 2.10.37 - caniuse-lite: 1.0.30001799 - electron-to-chromium: 1.5.372 - node-releases: 2.0.47 - update-browserslist-db: 1.2.3(browserslist@4.28.2) - optional: true + '@cacheable/memory': 2.2.0 + '@cacheable/utils': 2.5.0 + hookified: 1.15.1 + keyv: 5.6.0 + qified: 0.10.1 call-bind-apply-helpers@1.0.2: dependencies: @@ -3882,9 +3676,6 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001799: - optional: true - chai@6.2.2: {} chalk@2.4.2: @@ -3913,7 +3704,7 @@ snapshots: mz: 2.7.0 parse5: 5.1.1 parse5-htmlparser2-tree-adapter: 6.0.1 - yargs: 16.2.0 + yargs: 16.2.2 cli-table3@0.6.5: dependencies: @@ -3961,7 +3752,7 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - content-type@2.0.0: {} + content-type@3.0.0: {} conventional-changelog-angular@8.3.1: dependencies: @@ -3973,7 +3764,7 @@ snapshots: conventional-commits-filter: 5.0.0 handlebars: 4.7.9 meow: 13.2.0 - semver: 7.8.1 + semver: 7.8.5 conventional-commits-filter@5.0.0: {} @@ -3984,15 +3775,13 @@ snapshots: convert-hrtime@5.0.0: {} - convert-source-map@2.0.0: {} - core-util-is@1.0.3: {} - cosmiconfig@9.0.1(typescript@6.0.3): + cosmiconfig@9.0.2(typescript@6.0.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 - js-yaml: 4.2.0 + js-yaml: 4.3.2 parse-json: 5.2.0 optionalDependencies: typescript: 6.0.3 @@ -4071,9 +3860,6 @@ snapshots: dependencies: readable-stream: 2.3.8 - electron-to-chromium@1.5.372: - optional: true - emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} @@ -4095,6 +3881,13 @@ snapshots: dependencies: is-arrayish: 0.2.1 + es-abstract-get@1.0.0: + dependencies: + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + is-callable: 1.2.7 + object-inspect: 1.13.4 + es-abstract@1.24.2: dependencies: array-buffer-byte-length: 1.0.2 @@ -4109,8 +3902,8 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.2 es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 + es-to-primitive: 1.3.4 + function.prototype.name: 1.2.0 get-intrinsic: 1.3.0 get-proto: 1.0.1 get-symbol-description: 1.1.0 @@ -4135,28 +3928,28 @@ snapshots: object-inspect: 1.13.4 object-keys: 1.1.1 object.assign: 4.1.7 - own-keys: 1.0.1 + own-keys: 1.0.2 regexp.prototype.flags: 1.5.4 safe-array-concat: 1.1.4 safe-push-apply: 1.0.0 safe-regex-test: 1.1.0 set-proto: 1.0.0 stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 + string.prototype.trim: 1.2.11 + string.prototype.trimend: 1.0.10 string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.3 typed-array-byte-length: 1.0.3 typed-array-byte-offset: 1.0.4 typed-array-length: 1.0.8 unbox-primitive: 1.1.0 - which-typed-array: 1.1.21 + which-typed-array: 1.1.22 es-define-property@1.0.1: {} es-errors@1.3.0: {} - es-module-lexer@2.1.0: {} + es-module-lexer@2.3.2: {} es-object-atoms@1.1.2: dependencies: @@ -4169,8 +3962,11 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.4 - es-to-primitive@1.3.0: + es-to-primitive@1.3.4: dependencies: + es-abstract-get: 1.0.0 + es-define-property: 1.0.1 + es-errors: 1.3.0 is-callable: 1.2.7 is-date-object: 1.1.0 is-symbol: 1.1.1 @@ -4183,9 +3979,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.4.1(jiti@2.6.1)): + eslint-config-prettier@10.1.8(eslint@10.10.0(jiti@2.6.1)): dependencies: - eslint: 10.4.1(jiti@2.6.1) + eslint: 10.10.0(jiti@2.6.1) eslint-scope@9.1.2: dependencies: @@ -4200,14 +3996,14 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.4.1(jiti@2.6.1): + eslint@10.10.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.1(jiti@2.6.1)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.10.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.6.0 + '@eslint/config-helpers': 0.7.0 '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.7.2 + '@eslint/plugin-kit': 0.7.3 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 @@ -4222,14 +4018,14 @@ snapshots: esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 + file-entry-cache: 11.1.5 find-up: 5.0.0 glob-parent: 6.0.2 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - minimatch: 10.2.5 + minimatch: 10.2.6 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -4239,14 +4035,14 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 4.2.1 espree@11.2.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 5.0.1 esquery@1.7.0: @@ -4287,12 +4083,12 @@ snapshots: is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 - pretty-ms: 9.3.0 + pretty-ms: 9.3.1 signal-exit: 4.1.0 strip-final-newline: 4.0.0 - yoctocolors: 2.1.2 + yoctocolors: 2.2.0 - expect-type@1.3.0: {} + expect-type@1.4.0: {} fast-deep-equal@3.1.3: {} @@ -4300,9 +4096,9 @@ snapshots: fast-levenshtein@2.0.6: {} - fdir@6.5.0(picomatch@4.0.4): + fdir@6.5.0(picomatch@4.0.7): optionalDependencies: - picomatch: 4.0.4 + picomatch: 4.0.7 figures@2.0.0: dependencies: @@ -4312,9 +4108,9 @@ snapshots: dependencies: is-unicode-supported: 2.1.0 - file-entry-cache@8.0.0: + file-entry-cache@11.1.5: dependencies: - flat-cache: 4.0.1 + flat-cache: 6.1.23 fill-range@7.1.1: dependencies: @@ -4336,12 +4132,13 @@ snapshots: semver-regex: 4.0.5 super-regex: 1.1.0 - flat-cache@4.0.1: + flat-cache@6.1.23: dependencies: - flatted: 3.4.2 - keyv: 4.5.4 + cacheable: 2.5.0 + flatted: 3.4.4 + hookified: 1.15.1 - flatted@3.4.2: {} + flatted@3.4.4: {} follow-redirects@1.16.0: {} @@ -4349,7 +4146,7 @@ snapshots: dependencies: is-callable: 1.2.7 - form-data@4.0.5: + form-data@4.0.6: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -4357,7 +4154,7 @@ snapshots: hasown: 2.0.4 mime-types: 2.1.35 - fs-extra@11.3.5: + fs-extra@11.4.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.1 @@ -4370,22 +4167,22 @@ snapshots: function-timeout@1.0.2: {} - function.prototype.name@1.1.8: + function.prototype.name@1.2.0: dependencies: call-bind: 1.0.9 call-bound: 1.0.4 - define-properties: 1.2.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 hasown: 2.0.4 is-callable: 1.2.7 + is-document.all: 1.0.0 functions-have-names@1.2.3: {} generator-function@2.0.1: {} - gensync@1.0.0-beta.2: - optional: true - get-caller-file@2.0.5: {} get-east-asian-width@1.6.0: {} @@ -4438,13 +4235,13 @@ snapshots: glob@13.0.6: dependencies: - minimatch: 10.2.5 + minimatch: 10.2.6 minipass: 7.1.3 path-scurry: 2.0.2 globals@14.0.0: {} - globals@17.6.0: {} + globals@17.12.0: {} globalthis@1.0.4: dependencies: @@ -4486,6 +4283,10 @@ snapshots: dependencies: has-symbols: 1.1.0 + hashery@1.5.1: + dependencies: + hookified: 1.15.1 + hasown@2.0.4: dependencies: function-bind: 1.1.2 @@ -4494,21 +4295,25 @@ snapshots: hook-std@4.0.0: {} + hookified@1.15.1: {} + + hookified@2.2.0: {} + hosted-git-info@7.0.2: dependencies: lru-cache: 10.4.3 hosted-git-info@9.0.3: dependencies: - lru-cache: 11.5.1 - - html-escaper@2.0.2: {} + lru-cache: 11.5.2 - http-proxy-agent@9.0.0: + http-proxy-agent@9.1.0: dependencies: agent-base: 9.0.0 debug: 4.4.3 + proxy-agent-negotiate: 1.1.0 transitivePeerDependencies: + - kerberos - supports-color https-proxy-agent@5.0.1: @@ -4518,11 +4323,13 @@ snapshots: transitivePeerDependencies: - supports-color - https-proxy-agent@9.0.0: + https-proxy-agent@9.1.0: dependencies: agent-base: 9.0.0 debug: 4.4.3 + proxy-agent-negotiate: 1.1.0 transitivePeerDependencies: + - kerberos - supports-color human-signals@5.0.0: {} @@ -4533,7 +4340,7 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.5: {} + ignore@7.0.8: {} import-fresh@3.3.1: dependencies: @@ -4563,7 +4370,7 @@ snapshots: dependencies: es-errors: 1.3.0 hasown: 2.0.4 - side-channel: 1.1.0 + side-channel: 1.1.1 is-array-buffer@3.0.5: dependencies: @@ -4603,6 +4410,10 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 + is-document.all@1.0.0: + dependencies: + call-bound: 1.0.4 + is-extglob@2.1.1: {} is-finalizationregistry@1.1.1: @@ -4670,7 +4481,7 @@ snapshots: is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.21 + which-typed-array: 1.1.22 is-unicode-supported@2.1.0: {} @@ -4699,19 +4510,6 @@ snapshots: lodash.isstring: 4.0.1 lodash.uniqby: 4.7.0 - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-reports@3.2.0: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - java-properties@1.0.2: {} jiti@2.6.1: @@ -4721,15 +4519,10 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@4.2.0: + js-yaml@4.3.2: dependencies: argparse: 2.0.1 - jsesc@3.1.0: - optional: true - - json-buffer@3.0.1: {} - json-parse-better-errors@1.0.2: {} json-parse-even-better-errors@2.3.1: {} @@ -4740,10 +4533,7 @@ snapshots: json-stringify-safe@5.0.1: {} - json-with-bigint@3.5.8: {} - - json5@2.2.3: - optional: true + json-with-bigint@3.5.12: {} jsonfile@6.2.1: dependencies: @@ -4751,67 +4541,67 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - keyv@4.5.4: + keyv@5.6.0: dependencies: - json-buffer: 3.0.1 + '@keyv/serialize': 1.1.1 levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - lightningcss-android-arm64@1.32.0: + lightningcss-android-arm64@1.33.0: optional: true - lightningcss-darwin-arm64@1.32.0: + lightningcss-darwin-arm64@1.33.0: optional: true - lightningcss-darwin-x64@1.32.0: + lightningcss-darwin-x64@1.33.0: optional: true - lightningcss-freebsd-x64@1.32.0: + lightningcss-freebsd-x64@1.33.0: optional: true - lightningcss-linux-arm-gnueabihf@1.32.0: + lightningcss-linux-arm-gnueabihf@1.33.0: optional: true - lightningcss-linux-arm64-gnu@1.32.0: + lightningcss-linux-arm64-gnu@1.33.0: optional: true - lightningcss-linux-arm64-musl@1.32.0: + lightningcss-linux-arm64-musl@1.33.0: optional: true - lightningcss-linux-x64-gnu@1.32.0: + lightningcss-linux-x64-gnu@1.33.0: optional: true - lightningcss-linux-x64-musl@1.32.0: + lightningcss-linux-x64-musl@1.33.0: optional: true - lightningcss-win32-arm64-msvc@1.32.0: + lightningcss-win32-arm64-msvc@1.33.0: optional: true - lightningcss-win32-x64-msvc@1.32.0: + lightningcss-win32-x64-msvc@1.33.0: optional: true - lightningcss@1.32.0: + lightningcss@1.33.0: dependencies: detect-libc: 2.1.2 optionalDependencies: - lightningcss-android-arm64: 1.32.0 - lightningcss-darwin-arm64: 1.32.0 - lightningcss-darwin-x64: 1.32.0 - lightningcss-freebsd-x64: 1.32.0 - lightningcss-linux-arm-gnueabihf: 1.32.0 - lightningcss-linux-arm64-gnu: 1.32.0 - lightningcss-linux-arm64-musl: 1.32.0 - lightningcss-linux-x64-gnu: 1.32.0 - lightningcss-linux-x64-musl: 1.32.0 - lightningcss-win32-arm64-msvc: 1.32.0 - lightningcss-win32-x64-msvc: 1.32.0 + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 lines-and-columns@1.2.4: {} - linkify-it@5.0.1: + linkify-it@5.0.2: dependencies: uc.micro: 2.1.0 @@ -4845,23 +4635,18 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.5.1: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - optional: true + lru-cache@11.5.2: {} lunr@2.3.9: {} - magic-string@0.30.21: + magic-string@1.2.3: dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/sourcemap-codec': 1.6.0 - magicast@0.5.3: + magicast@0.5.4: dependencies: - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 + '@babel/parser': 7.29.8 + '@babel/types': 7.29.8 source-map-js: 1.2.1 make-asynchronous@1.1.0: @@ -4870,25 +4655,21 @@ snapshots: type-fest: 4.41.0 web-worker: 1.5.0 - make-dir@4.0.0: - dependencies: - semver: 7.8.1 - make-error@1.3.6: {} - markdown-it@14.2.0: + markdown-it@14.3.1: dependencies: argparse: 2.0.1 entities: 4.5.0 - linkify-it: 5.0.1 - mdurl: 2.0.0 + linkify-it: 5.0.2 + mdurl: 2.1.0 punycode.js: 2.3.1 uc.micro: 2.1.0 marked-terminal@7.3.0(marked@15.0.12): dependencies: ansi-escapes: 7.3.0 - ansi-regex: 6.2.2 + ansi-regex: 6.3.0 chalk: 5.6.2 cli-highlight: 2.1.11 cli-table3: 0.6.5 @@ -4900,7 +4681,7 @@ snapshots: math-intrinsics@1.1.0: {} - mdurl@2.0.0: {} + mdurl@2.1.0: {} meow@13.2.0: {} @@ -4921,13 +4702,13 @@ snapshots: mimic-fn@4.0.0: {} - minimatch@10.2.5: + minimatch@10.2.6: dependencies: - brace-expansion: 5.0.6 + brace-expansion: 5.0.9 minimatch@3.1.5: dependencies: - brace-expansion: 1.1.15 + brace-expansion: 1.1.18 minimist@1.2.8: {} @@ -4941,7 +4722,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.12: {} + nanoid@3.3.18: {} natural-compare@1.4.0: {} @@ -4949,7 +4730,7 @@ snapshots: nerf-dart@1.0.0: {} - nock@14.0.15: + nock@14.0.17: dependencies: '@mswjs/interceptors': 0.41.9 json-stringify-safe: 5.0.1 @@ -4962,19 +4743,16 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-releases@2.0.47: - optional: true - normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.8.1 + semver: 7.8.5 validate-npm-package-license: 3.0.4 normalize-package-data@8.0.0: dependencies: hosted-git-info: 9.0.3 - semver: 7.8.1 + semver: 7.8.5 validate-npm-package-license: 3.0.4 normalize-url@9.0.1: {} @@ -4988,7 +4766,7 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 - npm@11.16.0: {} + npm@11.19.1: {} object-assign@4.1.1: {} @@ -5005,7 +4783,7 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 - obug@2.1.1: {} + obug@2.1.4: {} onetime@6.0.0: dependencies: @@ -5022,8 +4800,9 @@ snapshots: outvariant@1.4.3: {} - own-keys@1.0.1: + own-keys@1.0.2: dependencies: + call-bound: 1.0.4 get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 @@ -5036,7 +4815,7 @@ snapshots: p-filter@4.1.0: dependencies: - p-map: 7.0.4 + p-map: 7.0.7 p-limit@1.3.0: dependencies: @@ -5054,7 +4833,7 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@7.0.4: {} + p-map@7.0.7: {} p-reduce@3.0.0: {} @@ -5106,18 +4885,16 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.5.1 + lru-cache: 11.5.2 minipass: 7.1.3 path-type@4.0.0: {} - pathe@2.0.3: {} - picocolors@1.1.1: {} picomatch@2.3.2: {} - picomatch@4.0.4: {} + picomatch@4.0.7: {} pify@3.0.0: {} @@ -5128,17 +4905,17 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss@8.5.15: + postcss@8.5.28: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.18 picocolors: 1.1.1 source-map-js: 1.2.1 prelude-ls@1.2.1: {} - prettier@3.8.3: {} + prettier@3.9.6: {} - pretty-ms@9.3.0: + pretty-ms@9.3.1: dependencies: parse-ms: 4.0.0 @@ -5148,15 +4925,22 @@ snapshots: proto-list@1.2.4: {} + proxy-agent-negotiate@1.1.0: {} + proxy-from-env@2.1.0: {} punycode.js@2.3.1: {} punycode@2.3.1: {} - qs@6.15.2: + qified@0.10.1: + dependencies: + hookified: 2.2.0 + + qs@6.16.0: dependencies: - side-channel: 1.1.0 + es-define-property: 1.0.1 + side-channel: 1.1.1 rc@1.2.8: dependencies: @@ -5175,14 +4959,14 @@ snapshots: dependencies: find-up-simple: 1.0.1 read-pkg: 10.1.0 - type-fest: 5.7.0 + type-fest: 5.9.0 read-pkg@10.1.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 8.0.0 parse-json: 8.3.0 - type-fest: 5.7.0 + type-fest: 5.9.0 unicorn-magic: 0.4.0 read-pkg@9.0.1: @@ -5225,7 +5009,7 @@ snapshots: registry-auth-token@5.1.1: dependencies: - '@pnpm/npm-conf': 3.0.2 + '@pnpm/npm-conf': 3.0.3 require-directory@2.1.1: {} @@ -5280,15 +5064,15 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 - semantic-release@25.0.3(typescript@6.0.3): + semantic-release@25.0.9(typescript@6.0.3): dependencies: - '@semantic-release/commit-analyzer': 13.0.1(semantic-release@25.0.3(typescript@6.0.3)) + '@semantic-release/commit-analyzer': 13.0.1(semantic-release@25.0.9(typescript@6.0.3)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 12.0.8(semantic-release@25.0.3(typescript@6.0.3)) - '@semantic-release/npm': 13.1.5(semantic-release@25.0.3(typescript@6.0.3)) - '@semantic-release/release-notes-generator': 14.1.1(semantic-release@25.0.3(typescript@6.0.3)) + '@semantic-release/github': 12.0.9(semantic-release@25.0.9(typescript@6.0.3)) + '@semantic-release/npm': 13.1.5(semantic-release@25.0.9(typescript@6.0.3)) + '@semantic-release/release-notes-generator': 14.1.1(semantic-release@25.0.9(typescript@6.0.3)) aggregate-error: 5.0.0 - cosmiconfig: 9.0.1(typescript@6.0.3) + cosmiconfig: 9.0.2(typescript@6.0.3) debug: 4.4.3 env-ci: 11.2.0 execa: 9.6.1 @@ -5307,19 +5091,17 @@ snapshots: p-reduce: 3.0.0 read-package-up: 12.0.0 resolve-from: 5.0.0 - semver: 7.8.1 + semver: 7.8.5 signale: 1.4.0 - yargs: 18.0.0 + yargs: 18.1.0 transitivePeerDependencies: + - kerberos - supports-color - typescript semver-regex@4.0.5: {} - semver@6.3.1: - optional: true - - semver@7.8.1: {} + semver@7.8.5: {} set-function-length@1.2.2: dependencies: @@ -5369,7 +5151,7 @@ snapshots: object-inspect: 1.13.4 side-channel-map: 1.0.1 - side-channel@1.1.0: + side-channel@1.1.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -5417,7 +5199,7 @@ snapshots: stackback@0.0.2: {} - std-env@4.1.0: {} + std-env@4.2.0: {} stop-iteration-iterator@1.1.0: dependencies: @@ -5443,7 +5225,12 @@ snapshots: get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 - string.prototype.trim@1.2.10: + string-width@8.2.2: + dependencies: + get-east-asian-width: 1.6.0 + strip-ansi: 7.2.0 + + string.prototype.trim@1.2.11: dependencies: call-bind: 1.0.9 call-bound: 1.0.4 @@ -5452,8 +5239,9 @@ snapshots: es-abstract: 1.24.2 es-object-atoms: 1.1.2 has-property-descriptors: 1.0.2 + safe-regex-test: 1.1.0 - string.prototype.trimend@1.0.9: + string.prototype.trimend@1.0.10: dependencies: call-bind: 1.0.9 call-bound: 1.0.4 @@ -5476,7 +5264,7 @@ snapshots: strip-ansi@7.2.0: dependencies: - ansi-regex: 6.2.2 + ansi-regex: 6.3.0 strip-bom@3.0.0: {} @@ -5535,16 +5323,16 @@ snapshots: dependencies: convert-hrtime: 5.0.0 - tinybench@2.9.0: {} + tinybench@6.1.4: {} - tinyexec@1.2.4: {} + tinyexec@1.3.0: {} tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 - tinyrainbow@3.1.0: {} + tinyrainbow@3.1.1: {} to-regex-range@5.0.1: dependencies: @@ -5554,7 +5342,7 @@ snapshots: dependencies: gopd: 1.2.0 typedarray.prototype.slice: 1.0.5 - which-typed-array: 1.1.21 + which-typed-array: 1.1.22 traverse@0.6.8: {} @@ -5562,15 +5350,15 @@ snapshots: dependencies: typescript: 6.0.3 - ts-node@10.9.2(@swc/core@1.15.32(@swc/helpers@0.5.21))(@types/node@25.9.1)(typescript@6.0.3): + ts-node@10.9.2(@swc/core@1.15.32(@swc/helpers@0.5.21))(@types/node@26.4.1)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.12 + '@tsconfig/node10': 1.0.13 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 25.9.1 - acorn: 8.16.0 + '@types/node': 26.4.1 + acorn: 8.18.0 acorn-walk: 8.3.5 arg: 4.1.3 create-require: 1.1.1 @@ -5599,7 +5387,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.7.0: + type-fest@5.9.0: dependencies: tagged-tag: 1.0.0 @@ -5647,12 +5435,12 @@ snapshots: typed-array-buffer: 1.0.3 typed-array-byte-offset: 1.0.4 - typedoc@0.28.19(typescript@6.0.3): + typedoc@0.28.20(typescript@6.0.3): dependencies: '@gerrit0/mini-shiki': 3.23.0 lunr: 2.3.9 - markdown-it: 14.2.0 - minimatch: 10.2.5 + markdown-it: 14.3.1 + minimatch: 10.2.6 typescript: 6.0.3 yaml: 2.9.0 @@ -5670,11 +5458,11 @@ snapshots: has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 - undici-types@7.24.6: {} + undici-types@8.3.0: {} - undici@6.26.0: {} + undici@6.28.1: {} - undici@7.27.0: {} + undici@7.29.1: {} unicode-emoji-modifier-base@1.0.0: {} @@ -5692,13 +5480,6 @@ snapshots: universalify@2.0.1: {} - update-browserslist-db@1.2.3(browserslist@4.28.2): - dependencies: - browserslist: 4.28.2 - escalade: 3.2.0 - picocolors: 1.1.1 - optional: true - uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -5707,7 +5488,7 @@ snapshots: util-deprecate@1.0.2: {} - uuid@14.0.0: {} + uuid@14.0.2: {} v8-compile-cache-lib@3.0.1: {} @@ -5716,45 +5497,38 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite@8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0): + vite@8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0): dependencies: - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.15 + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.28 rolldown: 1.0.0-rc.17 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 25.9.1 + '@types/node': 26.4.1 fsevents: 2.3.3 jiti: 2.6.1 yaml: 2.9.0 - vitest@4.1.8(@types/node@25.9.1)(@vitest/coverage-istanbul@4.1.8)(@vitest/coverage-v8@4.1.8)(vite@8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0)): - dependencies: - '@vitest/expect': 4.1.8 - '@vitest/mocker': 4.1.8(vite@8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0)) - '@vitest/pretty-format': 4.1.8 - '@vitest/runner': 4.1.8 - '@vitest/snapshot': 4.1.8 - '@vitest/spy': 4.1.8 - '@vitest/utils': 4.1.8 - es-module-lexer: 2.1.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.4 - std-env: 4.1.0 - tinybench: 2.9.0 - tinyexec: 1.2.4 + vitest@5.0.0(@types/node@26.4.1)(@vitest/coverage-v8@5.0.0)(vite@8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0)): + dependencies: + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.0(vite@8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0)) + chai: 6.2.2 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 + magic-string: 1.2.3 + obug: 2.1.4 + picomatch: 4.0.7 + std-env: 4.2.0 + tinybench: 6.1.4 + tinyexec: 1.3.0 tinyglobby: 0.2.17 - tinyrainbow: 3.1.0 - vite: 8.0.10(@types/node@25.9.1)(jiti@2.6.1)(yaml@2.9.0) + vite: 8.0.10(@types/node@26.4.1)(jiti@2.6.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.9.1 - '@vitest/coverage-istanbul': 4.1.8(vitest@4.1.8) - '@vitest/coverage-v8': 4.1.8(vitest@4.1.8) + '@types/node': 26.4.1 + '@vitest/coverage-v8': 5.0.0(vitest@5.0.0) transitivePeerDependencies: - msw @@ -5771,7 +5545,7 @@ snapshots: which-builtin-type@1.2.1: dependencies: call-bound: 1.0.4 - function.prototype.name: 1.1.8 + function.prototype.name: 1.2.0 has-tostringtag: 1.0.2 is-async-function: 2.1.1 is-date-object: 1.1.0 @@ -5782,7 +5556,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.21 + which-typed-array: 1.1.22 which-collection@1.0.2: dependencies: @@ -5791,7 +5565,7 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 - which-typed-array@1.1.21: + which-typed-array@1.1.22: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.9 @@ -5830,16 +5604,13 @@ snapshots: y18n@5.0.8: {} - yallist@3.1.1: - optional: true - yaml@2.9.0: {} yargs-parser@20.2.9: {} yargs-parser@22.0.0: {} - yargs@16.2.0: + yargs@16.2.2: dependencies: cliui: 7.0.4 escalade: 3.2.0 @@ -5849,12 +5620,12 @@ snapshots: y18n: 5.0.8 yargs-parser: 20.2.9 - yargs@18.0.0: + yargs@18.1.0: dependencies: cliui: 9.0.1 escalade: 3.2.0 get-caller-file: 2.0.5 - string-width: 7.2.0 + string-width: 8.2.2 y18n: 5.0.8 yargs-parser: 22.0.0 @@ -5862,4 +5633,4 @@ snapshots: yocto-queue@0.1.0: {} - yoctocolors@2.1.2: {} + yoctocolors@2.2.0: {} diff --git a/src/lib/types/models/approval-flow.ts b/src/lib/types/models/approval-flow.ts index eb78ba3b0e..f13efd4aff 100644 --- a/src/lib/types/models/approval-flow.ts +++ b/src/lib/types/models/approval-flow.ts @@ -124,18 +124,18 @@ export interface ApprovalFlowApproval { readonly approvedAt: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [ApprovalFlow](ctp:api:type:ApprovalFlow). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [ApprovalFlow](ctp:api:type:ApprovalFlow). * */ export interface ApprovalFlowPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -148,10 +148,10 @@ export interface ApprovalFlowPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -273,7 +273,9 @@ export interface ApprovalFlowSetCustomTypeAction extends IApprovalFlowUpdateActi */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](ctp:api:type:CustomFields) fields for the ApprovalFlow. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the ApprovalFlow. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/approval-rule.ts b/src/lib/types/models/approval-rule.ts index 9a022a3995..64af47cea4 100644 --- a/src/lib/types/models/approval-rule.ts +++ b/src/lib/types/models/approval-rule.ts @@ -71,7 +71,7 @@ export interface ApprovalRule extends BaseResource { */ readonly status: ApprovalRuleStatus /** - * The [Order Predicate](/../api/projects/predicates#order-predicates) describing the [Orders](ctp:api:type:Order) the Approval Rule should match against. + * The [Order Predicate](/api/projects/predicates#order-predicates) describing the [Orders](ctp:api:type:Order) the Approval Rule should match against. * * */ @@ -127,7 +127,7 @@ export interface ApprovalRuleDraft { */ readonly status: ApprovalRuleStatus /** - * The [predicate](/../api/predicates/predicate-operators) describing the [Orders](ctp:api:type:Order) the Approval Rule should match against. + * The [predicate](/api/predicates/predicate-operators) describing the [Orders](ctp:api:type:Order) the Approval Rule should match against. * * */ @@ -146,18 +146,18 @@ export interface ApprovalRuleDraft { readonly requesters: RuleRequesterDraft[] } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [ApprovalRule](ctp:api:type:ApprovalRule). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [ApprovalRule](ctp:api:type:ApprovalRule). * */ export interface ApprovalRulePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -170,10 +170,10 @@ export interface ApprovalRulePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -354,7 +354,9 @@ export interface ApprovalRuleSetCustomTypeAction extends IApprovalRuleUpdateActi */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](ctp:api:type:CustomFields) fields for the ApprovalRule. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the ApprovalRule. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -398,13 +400,13 @@ export interface ApprovalRuleSetNameAction extends IApprovalRuleUpdateAction { readonly name: string } /** - * Setting the [Order Predicate](/../api/projects/predicates#order-predicates) for an [Approval Rule](ctp:api:type:ApprovalRule) generates an [ApprovalRulePredicateSet](ctp:api:type:ApprovalRulePredicateSetMessage) Message. + * Setting the [Order Predicate](/api/projects/predicates#order-predicates) for an [Approval Rule](ctp:api:type:ApprovalRule) generates an [ApprovalRulePredicateSet](ctp:api:type:ApprovalRulePredicateSetMessage) Message. * */ export interface ApprovalRuleSetPredicateAction extends IApprovalRuleUpdateAction { readonly action: 'setPredicate' /** - * A valid [Order Predicate](/../api/projects/predicates#order-predicates) to set for the Approval Rule. + * A valid [Order Predicate](/api/projects/predicates#order-predicates) to set for the Approval Rule. * */ readonly predicate: string diff --git a/src/lib/types/models/associate-role.ts b/src/lib/types/models/associate-role.ts index 08dac60c3a..295f0fce87 100644 --- a/src/lib/types/models/associate-role.ts +++ b/src/lib/types/models/associate-role.ts @@ -51,7 +51,7 @@ export interface AssociateRole extends BaseResource { */ readonly key: string /** - * Whether the AssociateRole can be assigned to an Associate by a [buyer](/../api/associates-overview#buyer). If false, the AssociateRole can only be assigned using the [general endpoint](/../api/associates-overview#through-the-general-endpoints). + * Whether the AssociateRole can be assigned to an Associate by a [buyer](/api/associates-overview#buyer). If false, the AssociateRole can only be assigned using the [general endpoint](/api/associates-overview#through-the-general-endpoints). * * */ @@ -89,7 +89,7 @@ export interface AssociateRoleDraft { */ readonly name?: string /** - * Whether the AssociateRole can be assigned to an Associate by a [buyer](/../api/associates-overview#buyer). + * Whether the AssociateRole can be assigned to an Associate by a [buyer](/api/associates-overview#buyer). * * */ @@ -121,18 +121,18 @@ export interface AssociateRoleKeyReference extends IKeyReference { readonly key: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [AssociateRole](ctp:api:type:AssociateRole). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [AssociateRole](ctp:api:type:AssociateRole). * */ export interface AssociateRolePagedQueryResponse { /** - * Number of requested [results](/../api/general-concepts#limit). + * Number of requested [results](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of elements [skipped](/../api/general-concepts#offset). + * Number of elements [skipped](/api/general-concepts#offset). * * */ @@ -145,10 +145,10 @@ export interface AssociateRolePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -173,14 +173,14 @@ export interface AssociateRoleReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded AssociateRole. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for AssociateRole. + * Contains the representation of the expanded AssociateRole. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for AssociateRole. * * */ readonly obj?: AssociateRole } /** - * [ResourceIdentifier](ctp:api:type:TypeResourceIdentifier) of an [AssociateRole](ctp:api:type:AssociateRole). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:TypeResourceIdentifier) of an [AssociateRole](ctp:api:type:AssociateRole). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface AssociateRoleResourceIdentifier extends IResourceIdentifier { @@ -396,7 +396,9 @@ export interface AssociateRoleSetCustomTypeAction extends IAssociateRoleUpdateAc */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](ctp:api:type:CustomFields) for the AssociateRole. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the AssociateRole. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/attribute-group.ts b/src/lib/types/models/attribute-group.ts index ea1e9d4b91..c6cfc15ca2 100644 --- a/src/lib/types/models/attribute-group.ts +++ b/src/lib/types/models/attribute-group.ts @@ -95,7 +95,7 @@ export interface AttributeGroupDraft { readonly key?: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [AttributeGroup](ctp:api:type:AttributeGroup). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [AttributeGroup](ctp:api:type:AttributeGroup). * */ export interface AttributeGroupPagedQueryResponse { @@ -120,10 +120,10 @@ export interface AttributeGroupPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -148,14 +148,14 @@ export interface AttributeGroupReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded AttributeGroup. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for AttributeGroup. + * Contains the representation of the expanded AttributeGroup. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for AttributeGroup. * * */ readonly obj?: AttributeGroup } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to an [AttributeGroup](ctp:api:type:AttributeGroup). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to an [AttributeGroup](ctp:api:type:AttributeGroup). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface AttributeGroupResourceIdentifier extends IResourceIdentifier { diff --git a/src/lib/types/models/business-unit-search.ts b/src/lib/types/models/business-unit-search.ts index 46238706ae..f230103cd9 100644 --- a/src/lib/types/models/business-unit-search.ts +++ b/src/lib/types/models/business-unit-search.ts @@ -31,13 +31,13 @@ export interface BusinessUnitPagedSearchResponse { */ readonly total: number /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ diff --git a/src/lib/types/models/business-unit.ts b/src/lib/types/models/business-unit.ts index 1aa6caaae0..a20af5d1fb 100644 --- a/src/lib/types/models/business-unit.ts +++ b/src/lib/types/models/business-unit.ts @@ -145,7 +145,7 @@ export interface IBusinessUnit { */ readonly key: string /** - * Indicates whether the Business Unit can be edited and used in [Orders](/../api/projects/orders). + * Indicates whether the Business Unit can be edited and used in [Orders](/api/projects/orders). * * */ @@ -161,7 +161,7 @@ export interface IBusinessUnit { */ readonly stores?: StoreKeyReference[] /** - * Stores that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `storeMode` is set to `FromParent`. + * Stores that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/api/general-concepts#eventual-consistency) and is only present when the `storeMode` is set to `FromParent`. * * */ @@ -199,7 +199,7 @@ export interface IBusinessUnit { /** * Customer Groups assigned to the Business Unit. * - * They are considered during [line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). + * They are considered during [line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). * * */ @@ -247,7 +247,7 @@ export interface IBusinessUnit { */ readonly associates: Associate[] /** - * Associates that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. + * Associates that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. * * */ @@ -335,7 +335,7 @@ export interface IBusinessUnitDraft { */ readonly key: string /** - * Indicates whether the Business Unit can be edited and used in [Orders](/../api/projects/orders). + * Indicates whether the Business Unit can be edited and used in [Orders](/api/projects/orders). * * */ @@ -438,7 +438,7 @@ export interface IBusinessUnitDraft { /** * Customer Groups to assign the Business Unit to. * - * They are considered during [line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). + * They are considered during [line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). * * */ @@ -458,18 +458,18 @@ export interface BusinessUnitKeyReference extends IKeyReference { readonly key: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [BusinessUnit](ctp:api:type:BusinessUnit). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [BusinessUnit](ctp:api:type:BusinessUnit). * */ export interface BusinessUnitPagedQueryResponse { /** - * Number of requested [results](/../api/general-concepts#limit). + * Number of requested [results](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of elements [skipped](/../api/general-concepts#offset). + * Number of elements [skipped](/api/general-concepts#offset). * * */ @@ -482,10 +482,10 @@ export interface BusinessUnitPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -510,14 +510,14 @@ export interface BusinessUnitReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded BusinessUnit. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for BusinessUnit. + * Contains the representation of the expanded BusinessUnit. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for BusinessUnit. * * */ readonly obj?: BusinessUnit } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [BusinessUnit](ctp:api:type:BusinessUnit). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [BusinessUnit](ctp:api:type:BusinessUnit). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface BusinessUnitResourceIdentifier extends IResourceIdentifier { @@ -668,7 +668,7 @@ export interface Company extends IBusinessUnit { */ readonly key: string /** - * Indicates whether the Business Unit can be edited and used in [Orders](/../api/projects/orders). + * Indicates whether the Business Unit can be edited and used in [Orders](/api/projects/orders). * * */ @@ -684,7 +684,7 @@ export interface Company extends IBusinessUnit { */ readonly stores?: StoreKeyReference[] /** - * Stores that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `storeMode` is set to `FromParent`. + * Stores that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/api/general-concepts#eventual-consistency) and is only present when the `storeMode` is set to `FromParent`. * * */ @@ -716,7 +716,7 @@ export interface Company extends IBusinessUnit { /** * Customer Groups assigned to the Business Unit. * - * They are considered during [line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). + * They are considered during [line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). * * */ @@ -764,7 +764,7 @@ export interface Company extends IBusinessUnit { */ readonly associates: Associate[] /** - * Associates that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. + * Associates that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. * * */ @@ -801,7 +801,7 @@ export interface CompanyDraft extends IBusinessUnitDraft { */ readonly key: string /** - * Indicates whether the Business Unit can be edited and used in [Orders](/../api/projects/orders). + * Indicates whether the Business Unit can be edited and used in [Orders](/api/projects/orders). * * */ @@ -898,7 +898,7 @@ export interface CompanyDraft extends IBusinessUnitDraft { /** * Customer Groups to assign the Business Unit to. * - * They are considered during [line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). + * They are considered during [line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). * * */ @@ -954,7 +954,7 @@ export interface Division extends IBusinessUnit { */ readonly key: string /** - * Indicates whether the Business Unit can be edited and used in [Orders](/../api/projects/orders). + * Indicates whether the Business Unit can be edited and used in [Orders](/api/projects/orders). * * */ @@ -970,7 +970,7 @@ export interface Division extends IBusinessUnit { */ readonly stores?: StoreKeyReference[] /** - * Stores that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `storeMode` is set to `FromParent`. + * Stores that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/api/general-concepts#eventual-consistency) and is only present when the `storeMode` is set to `FromParent`. * * */ @@ -1002,7 +1002,7 @@ export interface Division extends IBusinessUnit { /** * Customer Groups assigned to the Business Unit. * - * They are considered during [line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). + * They are considered during [line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). * * */ @@ -1050,7 +1050,7 @@ export interface Division extends IBusinessUnit { */ readonly associates: Associate[] /** - * Associates that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/../api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. + * Associates that are inherited from a parent Business Unit. The value of this field is [eventually consistent](/api/general-concepts#eventual-consistency) and is only present when the `associateMode` is set to `ExplicitAndFromParent`. * * */ @@ -1088,7 +1088,7 @@ export interface DivisionDraft extends IBusinessUnitDraft { */ readonly key: string /** - * Indicates whether the Business Unit can be edited and used in [Orders](/../api/projects/orders). + * Indicates whether the Business Unit can be edited and used in [Orders](/api/projects/orders). * * */ @@ -1182,7 +1182,7 @@ export interface DivisionDraft extends IBusinessUnitDraft { /** * Customer Groups to assign the Business Unit to. * - * They are considered during [line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). + * They are considered during [line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), if provided (non-null). * * */ @@ -1384,7 +1384,7 @@ export interface BusinessUnitChangeAssociateModeAction extends IBusinessUnitUpda */ readonly associateMode: BusinessUnitAssociateMode /** - * If set to `true` during a change to `associateMode="Explicit"`, all inherited Associates will be converted to explicit Associates. + * Whether all inherited Associates are converted to explicit Associates during a change to `associateMode="Explicit"`. * * */ @@ -1413,7 +1413,7 @@ export interface BusinessUnitChangeParentUnitAction extends IBusinessUnitUpdateA * New parent unit of the [Business Unit](ctp:api:type:BusinessUnit). * It must be associated with the same Stores, as the old parent unit. * - * The Business Unit `inheritedAssociates` and `inheritedStores` field values will be [eventually consistent](/../api/general-concepts#eventual-consistency). + * The Business Unit `inheritedAssociates` and `inheritedStores` field values will be [eventually consistent](/api/general-concepts#eventual-consistency). * * */ @@ -1548,7 +1548,7 @@ export interface BusinessUnitSetAddressCustomFieldAction extends IBusinessUnitUp */ readonly addressId: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1569,14 +1569,16 @@ export interface BusinessUnitSetAddressCustomFieldAction extends IBusinessUnitUp export interface BusinessUnitSetAddressCustomTypeAction extends IBusinessUnitUpdateAction { readonly action: 'setAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `address`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) for the `address`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `address`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1622,7 +1624,7 @@ export interface BusinessUnitSetContactEmailAction extends IBusinessUnitUpdateAc export interface BusinessUnitSetCustomFieldAction extends IBusinessUnitUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields) to add, update, or remove. + * Name of the [Custom Field](/api/projects/custom-fields) to add, update, or remove. * * */ @@ -1650,7 +1652,9 @@ export interface BusinessUnitSetCustomTypeAction extends IBusinessUnitUpdateActi */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) for the BusinessUnit. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the BusinessUnit. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/cart-discount.ts b/src/lib/types/models/cart-discount.ts index a9ae0bc987..8199f4a777 100644 --- a/src/lib/types/models/cart-discount.ts +++ b/src/lib/types/models/cart-discount.ts @@ -85,7 +85,7 @@ export interface CartDiscount extends BaseResource { */ readonly value: CartDiscountValue /** - * Valid [Cart Predicate](/../api/projects/predicates#cart-predicates). + * Valid [Cart Predicate](/api/projects/predicates#cart-predicates). * * */ @@ -93,7 +93,7 @@ export interface CartDiscount extends BaseResource { /** * Segment of the Cart that is discounted. * - * Empty, if the `value` is `giftLineItem`. + * Absent if the `value` is `giftLineItem`. * * */ @@ -199,7 +199,7 @@ export interface CartDiscountDraft { */ readonly value: CartDiscountValueDraft /** - * Valid [Cart Predicate](/../api/projects/predicates#cart-predicates). + * Valid [Cart Predicate](/api/projects/predicates#cart-predicates). * * */ @@ -226,16 +226,16 @@ export interface CartDiscountDraft { * - If defined, the Cart Discount applies on [Carts](ctp:api:type:Cart) having a [Store](ctp:api:type:Store) matching any Store defined for this field. * - If not defined, the Cart Discount applies on all Carts, irrespective of a Store. * - * If the referenced Stores exceed the [limit](/../api/limits#cart-discounts-stores), a [MaxStoreReferencesReached](ctp:api:type:MaxStoreReferencesReachedError) error is returned. + * If the referenced Stores exceed the [limit](/api/limits#cart-discounts-stores), a [MaxStoreReferencesReached](ctp:api:type:MaxStoreReferencesReachedError) error is returned. * - * If the referenced Stores exceed the [limit](/../api/limits#cart-discounts) for Cart Discounts that do not require a Discount Code, a [StoreCartDiscountsLimitReached](ctp:api:type:StoreCartDiscountsLimitReachedError) error is returned. + * If the referenced Stores exceed the [limit](/api/limits#cart-discounts) for Cart Discounts that do not require a Discount Code, a [StoreCartDiscountsLimitReached](ctp:api:type:StoreCartDiscountsLimitReachedError) error is returned. * * */ readonly stores?: StoreResourceIdentifier[] /** * Only active Discounts can be applied to the Cart. - * If the [limit](/../api/limits#cart-discounts) for active Cart Discounts is reached, a [MaxCartDiscountsReached](ctp:api:type:MaxCartDiscountsReachedError) error is returned. + * If the [limit](/api/limits#cart-discounts) for active Cart Discounts is reached, a [MaxCartDiscountsReached](ctp:api:type:MaxCartDiscountsReachedError) error is returned. * * */ @@ -273,6 +273,8 @@ export interface CartDiscountDraft { /** * Reference to a DiscountGroup that the CartDiscount must belong to. * + * A CartDiscount can only be added to a DiscountGroup if its `target.type` is `lineItems`, `customLineItems`, `multiBuyLineItems`, `multiBuyCustomLineItems`, or `pattern`; otherwise, an [InvalidInput](ctp:api:type:InvalidInputError) error is returned. + * * */ readonly discountGroup?: DiscountGroupResourceIdentifier @@ -286,18 +288,18 @@ export interface CartDiscountDraft { readonly recurringOrderScope?: RecurringOrderScopeDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [CartDiscount](ctp:api:type:CartDiscount). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [CartDiscount](ctp:api:type:CartDiscount). * */ export interface CartDiscountPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -310,10 +312,10 @@ export interface CartDiscountPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -338,14 +340,14 @@ export interface CartDiscountReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded CartDiscount. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for CartDiscounts. + * Contains the representation of the expanded CartDiscount. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for CartDiscounts. * * */ readonly obj?: CartDiscount } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [CartDiscount](ctp:api:type:CartDiscount). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [CartDiscount](ctp:api:type:CartDiscount). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface CartDiscountResourceIdentifier extends IResourceIdentifier { @@ -384,7 +386,7 @@ export interface ICartDiscountTarget { export interface CartDiscountCustomLineItemsTarget extends ICartDiscountTarget { readonly type: 'customLineItems' /** - * Valid [CustomLineItem target predicate](/../api/projects/predicates#customlineitem-field-identifiers). + * Valid [CustomLineItem target predicate](/api/projects/predicates#customlineitem-field-identifiers). * * */ @@ -397,7 +399,7 @@ export interface CartDiscountCustomLineItemsTarget extends ICartDiscountTarget { export interface CartDiscountLineItemsTarget extends ICartDiscountTarget { readonly type: 'lineItems' /** - * Valid [LineItem target predicate](/../api/projects/predicates#lineitem-field-identifiers). + * Valid [LineItem target predicate](/api/projects/predicates#lineitem-field-identifiers). * * */ @@ -505,10 +507,7 @@ export interface ICartDiscountUpdateAction { readonly action: string } export type CartDiscountValue = - | CartDiscountValueAbsolute - | CartDiscountValueFixed - | CartDiscountValueGiftLineItem - | CartDiscountValueRelative + CartDiscountValueAbsolute | CartDiscountValueFixed | CartDiscountValueGiftLineItem | CartDiscountValueRelative export interface ICartDiscountValue { /** * @@ -724,10 +723,7 @@ export enum DiscountApplicationModeValues { } export type DiscountApplicationMode = - | 'EvenDistribution' - | 'IndividualApplication' - | 'ProportionateDistribution' - | (string & {}) + 'EvenDistribution' | 'IndividualApplication' | 'ProportionateDistribution' | (string & {}) /** * This Discount target is similar to `MultiBuyLineItems`, but is applied on Custom Line Items instead of Line Items. * @@ -735,7 +731,7 @@ export type DiscountApplicationMode = export interface MultiBuyCustomLineItemsTarget extends ICartDiscountTarget { readonly type: 'multiBuyCustomLineItems' /** - * Valid [CustomLineItems target predicate](/../api/projects/predicates#customlineitem-field-identifiers). The Discount will be applied to Custom Line Items that are matched by the predicate. + * Valid [CustomLineItems target predicate](/api/projects/predicates#customlineitem-field-identifiers). The Discount will be applied to Custom Line Items that are matched by the predicate. * * */ @@ -770,19 +766,19 @@ export interface MultiBuyCustomLineItemsTarget extends ICartDiscountTarget { export interface MultiBuyLineItemsTarget extends ICartDiscountTarget { readonly type: 'multiBuyLineItems' /** - * Valid [LineItem target predicate](/../api/projects/predicates#lineitem-field-identifiers). The Discount will be applied to Line Items that are matched by the predicate. + * Valid [LineItem target predicate](/api/projects/predicates#lineitem-field-identifiers). The Discount will be applied to Line Items that are matched by the predicate. * * */ readonly predicate: string /** - * Number of Line Items to be present in order to trigger an application of this Discount. + * Quantity of Line Items required to trigger an application of this Discount. * * */ readonly triggerQuantity: number /** - * Number of Line Items that are discounted per application of this Discount. + * Quantity of Line Items discounted per application of this Discount. * It must be less than or equal to the `triggerQuantity`. * * @@ -816,7 +812,7 @@ export interface IPatternComponent { export interface CountOnCustomLineItemUnits extends IPatternComponent { readonly type: 'CountOnCustomLineItemUnits' /** - * Valid [CustomLineItem predicate](/../api/projects/predicates#customlineitem-field-identifiers) that determines the units participating in the Discount. + * Valid [CustomLineItem predicate](/api/projects/predicates#customlineitem-field-identifiers) that determines the units participating in the Discount. * * */ @@ -853,7 +849,7 @@ export interface CountOnCustomLineItemUnits extends IPatternComponent { export interface CountOnLineItemUnits extends IPatternComponent { readonly type: 'CountOnLineItemUnits' /** - * Valid [LineItem predicate](/../api/projects/predicates#lineitem-field-identifiers) that determines the units participating in the Discount. + * Valid [LineItem predicate](/api/projects/predicates#lineitem-field-identifiers) that determines the units participating in the Discount. * * */ @@ -920,8 +916,8 @@ export interface CartDiscountAddStoreAction extends ICartDiscountUpdateAction { * * A failed update can return the following errors: * - * - If the referenced Stores exceed the [limit](/../api/limits#cart-discounts-stores), a [MaxStoreReferencesReached](ctp:api:type:MaxStoreReferencesReachedError) error is returned. - * - If the referenced Stores exceed the [limit](/../api/limits#cart-discounts) for Cart Discounts that do not require a Discount Code, a [StoreCartDiscountsLimitReached](ctp:api:type:StoreCartDiscountsLimitReachedError) error is returned. + * - If the referenced Stores exceed the [limit](/api/limits#cart-discounts-stores), a [MaxStoreReferencesReached](ctp:api:type:MaxStoreReferencesReachedError) error is returned. + * - If the referenced Stores exceed the [limit](/api/limits#cart-discounts) for Cart Discounts that do not require a Discount Code, a [StoreCartDiscountsLimitReached](ctp:api:type:StoreCartDiscountsLimitReachedError) error is returned. * * */ @@ -1033,7 +1029,7 @@ export interface CartDiscountRemoveStoreAction extends ICartDiscountUpdateAction export interface CartDiscountSetCustomFieldAction extends ICartDiscountUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1050,14 +1046,16 @@ export interface CartDiscountSetCustomFieldAction extends ICartDiscountUpdateAct export interface CartDiscountSetCustomTypeAction extends ICartDiscountUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the CartDiscount with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the CartDiscount with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the CartDiscount. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the CartDiscount. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the CartDiscount. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1075,9 +1073,11 @@ export interface CartDiscountSetDescriptionAction extends ICartDiscountUpdateAct export interface CartDiscountSetDiscountGroupAction extends ICartDiscountUpdateAction { readonly action: 'setDiscountGroup' /** - * Reference to a DiscountGroup that the Cart Discount must belong to. + * Reference to a DiscountGroup that the CartDiscount must belong to. * If empty, any existing value will be removed. * + * A CartDiscount can only be added to a DiscountGroup if its `target.type` is `lineItems`, `customLineItems`, `multiBuyLineItems`, `multiBuyCustomLineItems`, or `pattern`; otherwise, an [InvalidInput](ctp:api:type:InvalidInputError) error is returned. + * * */ readonly discountGroup?: DiscountGroupResourceIdentifier @@ -1127,8 +1127,8 @@ export interface CartDiscountSetStoresAction extends ICartDiscountUpdateAction { * * A failed update can return the following errors: * - * - If the referenced Stores exceed the [limit](/../api/limits#cart-discounts-stores), a [MaxStoreReferencesReached](ctp:api:type:MaxStoreReferencesReachedError) error is returned. - * - If the referenced Stores exceed the [limit](/../api/limits#cart-discounts) for Cart Discounts that do not require a Discount Code, a [StoreCartDiscountsLimitReached](ctp:api:type:StoreCartDiscountsLimitReachedError) error is returned. + * - If the referenced Stores exceed the [limit](/api/limits#cart-discounts-stores), a [MaxStoreReferencesReached](ctp:api:type:MaxStoreReferencesReachedError) error is returned. + * - If the referenced Stores exceed the [limit](/api/limits#cart-discounts) for Cart Discounts that do not require a Discount Code, a [StoreCartDiscountsLimitReached](ctp:api:type:StoreCartDiscountsLimitReachedError) error is returned. * * */ diff --git a/src/lib/types/models/cart.ts b/src/lib/types/models/cart.ts index 967b921482..41b78e2902 100644 --- a/src/lib/types/models/cart.ts +++ b/src/lib/types/models/cart.ts @@ -42,6 +42,7 @@ import { LineItemRecurrenceInfo, LineItemRecurrenceInfoDraft, } from './recurring-order.js' +import { ReservationReference } from './reservation.js' import { ShippingMethodReference, ShippingMethodResourceIdentifier, @@ -52,6 +53,7 @@ import { ShoppingListResourceIdentifier } from './shopping-list.js' import { StoreKeyReference, StoreResourceIdentifier } from './store.js' import { SubRate, TaxCategoryReference, TaxCategoryResourceIdentifier, TaxRate } from './tax-category.js' import { CustomFields, CustomFieldsDraft, FieldContainer, TypeResourceIdentifier } from './type.js' +import { WarningObject } from './warning.js' export interface Cart extends BaseResource { /** @@ -85,7 +87,7 @@ export interface Cart extends BaseResource { */ readonly customerEmail?: string /** - * [Reference](ctp:api:type:Reference) to the Customer Group of the Customer that the Cart belongs to. Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * [Reference](ctp:api:type:Reference) to the Customer Group of the Customer that the Cart belongs to. Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * */ @@ -97,7 +99,7 @@ export interface Cart extends BaseResource { */ readonly anonymousId?: string /** - * [Reference](ctp:api:type:Reference) to a Business Unit the Cart belongs to. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * [Reference](ctp:api:type:Reference) to a Business Unit the Cart belongs to. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -206,7 +208,7 @@ export interface Cart extends BaseResource { */ readonly billingAddress?: Address /** - * Shipping address for a Cart with `Single` [ShippingMode](ctp:api:type:ShippingMode). Determines eligible [ShippingMethod](ctp:api:type:ShippingMethod) rates and Tax Rates of Line Items. + * Shipping address for a Cart with `Single` [ShippingMode](ctp:api:type:ShippingMode). Determines eligible [ShippingMethod](ctp:api:type:ShippingMethod) rates. For a Cart with `Platform` [TaxMode](ctp:api:type:TaxMode), it also determines Tax Rates of Line Items. * * */ @@ -283,7 +285,7 @@ export interface Cart extends BaseResource { */ readonly paymentInfo?: PaymentInfo /** - * Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * */ @@ -313,7 +315,7 @@ export interface Cart extends BaseResource { */ readonly discountTypeCombination?: DiscountTypeCombination /** - * Indicates whether the Cart has been [locked](/../api/carts-orders-overview#lock-a-cart), preventing edits. + * Indicates whether the Cart has been [locked](/api/carts-orders-overview#lock-a-cart), preventing edits. * * */ @@ -327,7 +329,7 @@ export interface Cart extends BaseResource { /** * User-defined identifier of a purchase order. * - * It is typically set by the [Buyer](ctp:api:type:Buyer) or Merchant to track the purchase order during the [quote and order flow](/../api/quotes-overview#intended-workflow). + * It is typically set by the [Buyer](ctp:api:type:Buyer) or Merchant to track the purchase order during the [quote and order flow](/api/quotes-overview#intended-workflow). * */ readonly purchaseOrderNumber?: string @@ -355,6 +357,12 @@ export interface Cart extends BaseResource { * */ readonly createdBy?: CreatedBy + /** + * Warnings about the processing of a request. + * + * + */ + readonly warnings?: WarningObject[] } export interface CartDraft { /** @@ -382,7 +390,7 @@ export interface CartDraft { */ readonly customerEmail?: string /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to the Customer Group of the Customer that the Cart belongs to. Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to the Customer Group of the Customer that the Cart belongs to. Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * You can set either a `customerId` or a `customerGroup`. * If the Customer referenced in `customerId` belongs to a Customer Group then `customerGroup` is set automatically. @@ -397,7 +405,7 @@ export interface CartDraft { */ readonly anonymousId?: string /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to the Business Unit the Cart should belong to. When the `customerId` of the Cart is also set, the [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to the Business Unit the Cart should belong to. When the `customerId` of the Cart is also set, the [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -518,7 +526,7 @@ export interface CartDraft { */ readonly discountCodes?: string[] /** - * Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * If used for [Create Cart in Store](ctp:api:endpoint:/{projectKey}/in-store/carts:POST), the provided country must be one of the [Store's](ctp:api:type:Store) `countries`. * * @@ -554,13 +562,13 @@ export interface CartDraft { /** * User-defined identifier of a purchase order. * - * It is typically set by the [Buyer](ctp:api:type:Buyer) or Merchant to track the purchase order during the [quote and order flow](/../api/quotes-overview#intended-workflow). + * It is typically set by the [Buyer](ctp:api:type:Buyer) or Merchant to track the purchase order during the [quote and order flow](/api/quotes-overview#intended-workflow). * */ readonly purchaseOrderNumber?: string } /** - * Indicates that the Cart is [locked](/../api/carts-orders-overview#lock-a-cart) to prevent changes. + * Indicates that the Cart is [locked](/api/carts-orders-overview#lock-a-cart) to prevent changes. * Provides metadata about when the lock was created and which * [API Client](ctp:api:type:ApiClient) initiated it. * @@ -580,7 +588,7 @@ export interface CartLock { readonly clientId: string } /** - * Determines how to manually merge an anonymous Cart with an existing Customer Cart. For more information about merge mode behaviors, merge rules, and tax recalculation, see [Merge a Cart](/../api/carts-orders-overview#merge-a-cart). + * Determines how to manually merge an anonymous Cart with an existing Customer Cart. For more information about merge mode behaviors, merge rules, and tax recalculation, see [Merge a Cart](/api/carts-orders-overview#merge-a-cart). * */ export enum CartMergeModeValues { @@ -602,18 +610,18 @@ export enum CartOriginValues { export type CartOrigin = 'Customer' | 'Merchant' | 'Quote' | 'RecurringOrder' | (string & {}) /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [Cart](ctp:api:type:Cart). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [Cart](ctp:api:type:Cart). * */ export interface CartPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -626,10 +634,10 @@ export interface CartPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -654,14 +662,14 @@ export interface CartReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Cart. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Carts. + * Contains the representation of the expanded Cart. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Carts. * * */ readonly obj?: Cart } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Cart](ctp:api:type:Cart). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Cart](ctp:api:type:Cart). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface CartResourceIdentifier extends IResourceIdentifier { @@ -772,6 +780,7 @@ export type CartUpdateAction = | CartSetLineItemTotalPriceAction | CartSetLocaleAction | CartSetPurchaseOrderNumberAction + | CartSetReservationExpirationInMinutesAction | CartSetShippingAddressAction | CartSetShippingAddressCustomFieldAction | CartSetShippingAddressCustomTypeAction @@ -803,7 +812,7 @@ export interface CustomLineItem { */ readonly id: string /** - * User-defined unique identifier of the Custom Line Item. + * User-defined identifier of the Custom Line Item. Unique among Custom Line Items in the Cart or Order. * * */ @@ -918,7 +927,7 @@ export interface CustomLineItemDraft { */ readonly name: LocalizedString /** - * User-defined unique identifier of the Custom Line Item. + * User-defined identifier of the Custom Line Item. Must be unique among Custom Line Items in the Cart. * * */ @@ -1075,7 +1084,7 @@ export interface DirectDiscount { /** * Segment of the Cart that is discounted. * - * Empty when the `value` is set to `giftLineItem`. + * Absent if the `value` is `giftLineItem`. * * */ @@ -1255,7 +1264,7 @@ export interface DiscountedLineItemPrice { } export interface DiscountedLineItemPriceForQuantity { /** - * Number of Line Items or Custom Line Items in the Cart. + * Quantity of Line Items or Custom Line Items in the Cart. * * */ @@ -1370,7 +1379,7 @@ export interface ExternalTaxRateDraft { readonly subRates?: SubRate[] } /** - * Indicates how a [Cart](ctp:api:type:Cart) freeze behaves. For detailed behavior on each of these strategies, see [Freeze a Cart](/../api/carts-orders-overview#freeze-a-cart). + * Indicates how a [Cart](ctp:api:type:Cart) freeze behaves. For detailed behavior on each of these strategies, see [Freeze a Cart](/api/carts-orders-overview#freeze-a-cart). * */ export enum FreezeStrategyValues { @@ -1385,11 +1394,12 @@ export type FreezeStrategy = 'HardFreeze' | 'SoftFreeze' | (string & {}) */ export enum InventoryModeValues { None = 'None', + ReserveOnCart = 'ReserveOnCart', ReserveOnOrder = 'ReserveOnOrder', TrackOnly = 'TrackOnly', } -export type InventoryMode = 'None' | 'ReserveOnOrder' | 'TrackOnly' | (string & {}) +export type InventoryMode = 'None' | 'ReserveOnCart' | 'ReserveOnOrder' | 'TrackOnly' | (string & {}) export interface ItemShippingDetails { /** * Holds information on the quantity of Line Items or Custom Line Items and the address it is shipped. @@ -1398,8 +1408,7 @@ export interface ItemShippingDetails { */ readonly targets: ItemShippingTarget[] /** - * - `true` if the quantity of Line Items or Custom Line Items is equal to the sum of sub-quantities defined in `targets`. - * - `false` if the quantity of Line Items or Custom Line Items is not equal to the sum of sub-quantities defined in `targets`. + * Whether the quantity of Line Items or Custom Line Items is equal to the sum of sub-quantities defined in `targets`. * Ordering a Cart when the value is `false` returns an [InvalidItemShippingDetails](ctp:api:type:InvalidItemShippingDetailsError) error. * * @@ -1452,7 +1461,7 @@ export interface ItemShippingTarget { readonly shippingMethodKey?: string } /** - * The representation of a [Line Item](/../api/carts-orders-overview#line-items) in a [Cart](ctp:api:type:Cart) or in an [Order](ctp:api:type:Order). + * The representation of a [Line Item](/api/carts-orders-overview#line-items) in a [Cart](ctp:api:type:Cart) or in an [Order](ctp:api:type:Order). * */ export interface LineItem { @@ -1463,7 +1472,7 @@ export interface LineItem { */ readonly id: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Cart or Order. * * */ @@ -1495,7 +1504,7 @@ export interface LineItem { readonly name: LocalizedString /** * `slug` of the current version of the Product. Updated automatically if the `slug` changes. Empty if the Product has been deleted. - * The `productSlug` field of LineItem is not expanded when using [Reference Expansion](/../api/general-concepts#reference-expansion). + * The `productSlug` field of LineItem is not expanded when using [Reference Expansion](/api/general-concepts#reference-expansion). * * */ @@ -1522,7 +1531,7 @@ export interface LineItem { */ readonly price: Price /** - * Number of Line Items of the given Product Variant present in the [Cart](ctp:api:type:Cart) or [Order](ctp:api:type:Order). + * Quantity of the Product Variant present in the [Cart](ctp:api:type:Cart) or [Order](ctp:api:type:Order). * * */ @@ -1574,13 +1583,13 @@ export interface LineItem { */ readonly perMethodTaxRate: MethodTaxRate[] /** - * Identifies [Inventory entries](/../api/projects/inventory) that are reserved. The referenced Channel has the `InventorySupply` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). + * Identifies [Inventory entries](/api/projects/inventory) that are reserved. The referenced Channel has the `InventorySupply` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * */ readonly supplyChannel?: ChannelReference /** - * Used to [select](/../api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. The referenced Channel has the `ProductDistribution` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). + * Used to [select](/api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. The referenced Channel has the `ProductDistribution` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * */ @@ -1610,6 +1619,12 @@ export interface LineItem { * */ readonly shippingDetails?: ItemShippingDetails + /** + * Reference to the successful [Reservation](ctp:api:type:Reservation) associated with this Line Item. This field is only populated when using the [ReserveOnCart](ctp:api:type:InventoryMode) mode. + * + * + */ + readonly reservation?: ReservationReference /** * Custom Fields of the Line Item. * @@ -1642,7 +1657,7 @@ export interface LineItem { */ export interface LineItemDraft { /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Must be unique among LineItems in the Cart. * * */ @@ -1673,7 +1688,7 @@ export interface LineItemDraft { */ readonly quantity?: number /** - * Date and time (UTC) the Product Variant is added to the Cart. + * Date and time (UTC) the Line Item was added to the Cart. * If not set, it defaults to the current date and time. * * Optional for backwards compatibility reasons. @@ -1682,7 +1697,7 @@ export interface LineItemDraft { */ readonly addedAt?: string /** - * Used to [select](/../api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. + * Used to [select](/api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. * The referenced Channel must have the `ProductDistribution` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * If the Cart is bound to a [Store](ctp:api:type:Store) with `distributionChannels` set, @@ -1692,7 +1707,7 @@ export interface LineItemDraft { */ readonly distributionChannel?: ChannelResourceIdentifier /** - * Used to identify [Inventory entries](/../api/projects/inventory) that must be reserved. + * Used to identify [Inventory entries](/api/projects/inventory) that must be reserved. * The referenced Channel must have the `InventorySupply` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * @@ -1789,8 +1804,7 @@ export interface MergeCartDraft { */ readonly mergeMode?: CartMergeMode /** - * - If `true`, the [LineItem](ctp:api:type:LineItem) Product data (`name`, `variant`, and `productType`) of the returned Cart will be updated. - * - If `false`, only the prices, discounts, and tax rates will be updated. + * Whether the [LineItem](ctp:api:type:LineItem) Product data (`name`, `variant`, and `productType`) of the returned Cart will be updated. If `false`, only the prices, discounts, and tax rates will be updated. * * */ @@ -2303,7 +2317,7 @@ export interface CartAddCustomLineItemAction extends ICartUpdateAction { */ readonly name: LocalizedString /** - * User-defined unique identifier of the Custom Line Item. + * User-defined identifier of the Custom Line Item. Must be unique among Custom Line Items in the Cart. * * */ @@ -2429,13 +2443,13 @@ export interface CartAddCustomShippingMethodAction extends ICartUpdateAction { readonly custom?: CustomFieldsDraft } /** - * Adds a [DiscountCode](ctp:api:type:DiscountCode) to the Cart to activate the related [Cart Discounts](/../api/projects/cartDiscounts). + * Adds a [DiscountCode](ctp:api:type:DiscountCode) to the Cart to activate the related [Cart Discounts](/api/projects/cartDiscounts). * If the related Cart Discounts are inactive or invalid, or belong to a different Store than the Cart, a [DiscountCodeNonApplicableError](ctp:api:type:DiscountCodeNonApplicableError) is returned. * * A Discount Code can be added only if no [DirectDiscount](ctp:api:type:DirectDiscount) has been applied to the Cart. * For [frozen Carts](ctp:api:type:FrozenCarts), the [DiscountCodeState](ctp:api:type:DiscountCodeState) must be `DoesNotMatchCart` when adding a Discount Code. * - * The maximum number of Discount Codes in a Cart is restricted by a [limit](/../api/limits#carts). + * The maximum number of Discount Codes in a Cart is restricted by a [limit](/api/limits#carts). * * Specific Error Code: [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) * @@ -2465,22 +2479,22 @@ export interface CartAddItemShippingAddressAction extends ICartUpdateAction { readonly address: _BaseAddress } /** - * If the Cart contains a [LineItem](ctp:api:type:LineItem) for a Product Variant with the same [LineItemMode](ctp:api:type:LineItemMode), [Custom Fields](/../api/projects/custom-fields), supply and distribution channel, then only the quantity of the existing Line Item is increased. + * If the Cart contains a [LineItem](ctp:api:type:LineItem) for a Product Variant with the same [LineItemMode](ctp:api:type:LineItemMode), [Custom Fields](ctp:api:type:CustomFields), supply and distribution channel, then only the quantity of the existing Line Item is increased. * If [LineItem](ctp:api:type:LineItem) `shippingDetails` is set, it is merged. All addresses will be present afterwards and, for address keys present in both shipping details, the quantity will be summed up. * A new Line Item is added when the `externalPrice` or `externalTotalPrice` is set in this update action. - * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * If the Tax Rate is not set, a [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) error is returned. * * If the Line Items do not have a Price according to the [Product](ctp:api:type:Product) `priceMode` value for a selected currency and/or country, Customer Group, or Channel, a [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) error is returned. * - * If the Line Items are added to a Cart bound to a Store with active Product Selections, the selected Product Variant must be [available in that Store](/api/project-configuration-overview#products-available-in-store), otherwise an [InvalidInput](ctp:api:type:InvalidInputError) error is returned. + * The Product Variant that is to be added as a Line Item must be [available in a Store](/api/project-configuration-overview#products-available-in-store), otherwise an [InvalidInput](ctp:api:type:InvalidInputError) error is returned. * */ export interface CartAddLineItemAction extends ICartUpdateAction { readonly action: 'addLineItem' /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Must be unique among LineItems in the Cart. * * */ @@ -2517,7 +2531,7 @@ export interface CartAddLineItemAction extends ICartUpdateAction { */ readonly quantity?: number /** - * Date and time (UTC) the Product Variant is added to the Cart. + * Date and time (UTC) the Line Item was added to the Cart. * If not set, it defaults to the current date and time. * * Optional for backwards compatibility reasons. @@ -2526,7 +2540,7 @@ export interface CartAddLineItemAction extends ICartUpdateAction { */ readonly addedAt?: string /** - * Used to [select](/../api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. + * Used to [select](/api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. * The Channel must have the `ProductDistribution` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * If the Cart is bound to a [Store](ctp:api:type:Store) with `distributionChannels` set, the Channel must match one of the Store's distribution channels. * @@ -2534,7 +2548,7 @@ export interface CartAddLineItemAction extends ICartUpdateAction { */ readonly distributionChannel?: ChannelResourceIdentifier /** - * Used to identify [Inventory entries](/../api/projects/inventory) that must be reserved. + * Used to identify [Inventory entries](/api/projects/inventory) that must be reserved. * The Channel must have the `InventorySupply` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * @@ -2616,7 +2630,11 @@ export interface CartAddShippingMethodAction extends ICartUpdateAction { readonly shippingKey: string /** * ResourceIdentifier to a [ShippingMethod](ctp:api:type:ShippingMethod) to add to the Cart with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). - * If the referenced Shipping Method has a predicate that does not match the Cart, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. + * [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned in one of the following cases: + * 1. If the referenced Shipping Method has a predicate that does not match the Cart. + * 2. If the referenced Shipping Method is not active. + * 3. If the referenced Shipping Method is associated with a Store that is different from the Cart's Store. + * 4. If the referenced Shipping Method is associated with a Store and the Cart is not associated with any Store. * * */ @@ -2819,9 +2837,13 @@ export interface CartChangeCustomLineItemQuantityAction extends ICartUpdateActio * use this update action in combination with the [Set LineItem ShippingDetails](ctp:api:type:CartSetLineItemShippingDetailsAction) update action * in a single Cart update command. * - * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). + * + * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/api/inventory-overview#quantity-limits). * - * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * If using [InventoryMode](ctp:api:type:InventoryMode) `ReserveOnCart`: + * - If the requested quantity cannot be reserved, the Line Item quantity does not change and a [CannotUpdateReservationWarning](ctp:api:type:CannotUpdateReservationWarning) is returned in the Cart response. + * - Changing the quantity of a reserved Line Item also updates the reservation expiration time. To synchronize the expiration across the rest of the Line Items in the Cart, you must call the [Set Cart Reservation Expiration in Minutes](ctp:api:type:CartSetReservationExpirationInMinutesAction) update action after any Line Item changes. * */ export interface CartChangeLineItemQuantityAction extends ICartUpdateAction { @@ -2875,7 +2897,7 @@ export interface CartChangeLineItemsOrderAction extends ICartUpdateAction { readonly lineItemOrder: string[] } /** - * Changing the price rounding mode leads to [recalculation of taxes](/../api/carts-orders-overview#taxes). + * Changing the price rounding mode leads to [recalculation of taxes](/api/carts-orders-overview#taxes). * */ export interface CartChangePriceRoundingModeAction extends ICartUpdateAction { @@ -2888,7 +2910,7 @@ export interface CartChangePriceRoundingModeAction extends ICartUpdateAction { readonly priceRoundingMode: RoundingMode } /** - * Changing the tax calculation mode leads to [recalculation of taxes](/../api/carts-orders-overview#taxes). + * Changing the tax calculation mode leads to [recalculation of taxes](/api/carts-orders-overview#taxes). * */ export interface CartChangeTaxCalculationModeAction extends ICartUpdateAction { @@ -2915,7 +2937,7 @@ export interface CartChangeTaxModeAction extends ICartUpdateAction { readonly taxMode: TaxMode } /** - * Changing the tax rounding mode leads to [recalculation of taxes](/../api/carts-orders-overview#taxes). + * Changing the tax rounding mode leads to [recalculation of taxes](/api/carts-orders-overview#taxes). * */ export interface CartChangeTaxRoundingModeAction extends ICartUpdateAction { @@ -2949,16 +2971,18 @@ export interface CartFreezeCartAction extends ICartUpdateAction { readonly strategy?: FreezeStrategy } /** - * [Locks](/../api/carts-orders-overview#lock-a-cart) a Cart, preventing all updates from API Clients without an elevated [OAuth 2.0 Scope](/../api/scopes). + * [Locks](/api/carts-orders-overview#lock-a-cart) a Cart, preventing all updates from API Clients without an elevated [OAuth 2.0 Scope](/api/scopes). * This action sets the Cart's `lock` [field](/projects/carts#cart) which identifies the API Client that locked the Cart and when the lock was applied. * This action requires an additional OAuth 2.0 Scope `manage_locked_carts`. * + * Produces the [CartLocked](ctp:api:type:CartLockedMessage) Message. + * */ export interface CartLockCartAction extends ICartUpdateAction { readonly action: 'lockCart' } /** - * This update action does not set any Cart field in particular, but it triggers several [Cart updates](/../api/carts-orders-overview#update-a-cart) + * This update action does not set any Cart field in particular, but it triggers several [Cart updates](/api/carts-orders-overview#update-a-cart) * to bring prices and discounts to the latest state. Those can become stale over time when no Cart updates have been performed for a while and * prices on related Products have changed in the meanwhile. * @@ -2969,7 +2993,7 @@ export interface CartLockCartAction extends ICartUpdateAction { export interface CartRecalculateAction extends ICartUpdateAction { readonly action: 'recalculate' /** - * - Leave empty or set as `false` to update only the Prices and TaxRates of the Line Items. + * - Leave empty or set as `false` to update only the Prices and TaxRates of the Line Items. Prices inside the `variant` are only updated if `updateProductData` is `true`. * - Set as `true` to update the Product data (such as `name`, `variant`, `productType`, and Product Attributes) of the Line Items. * * @@ -3020,7 +3044,7 @@ export interface CartRemoveItemShippingAddressAction extends ICartUpdateAction { readonly addressKey: string } /** - * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ export interface CartRemoveLineItemAction extends ICartUpdateAction { @@ -3114,7 +3138,7 @@ export interface CartSetBillingAddressAction extends ICartUpdateAction { export interface CartSetBillingAddressCustomFieldAction extends ICartUpdateAction { readonly action: 'setBillingAddressCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3131,14 +3155,16 @@ export interface CartSetBillingAddressCustomFieldAction extends ICartUpdateActio export interface CartSetBillingAddressCustomTypeAction extends ICartUpdateAction { readonly action: 'setBillingAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `billingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `billingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `billingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `billingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `billingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3151,7 +3177,7 @@ export interface CartSetBillingAddressCustomTypeAction extends ICartUpdateAction export interface CartSetBusinessUnitAction extends ICartUpdateAction { readonly action: 'setBusinessUnit' /** - * New Business Unit to assign to the Cart, which must have access to the [Store](/../api/projects/stores) that is set on the Cart. + * New Business Unit to assign to the Cart, which must have access to the [Store](/api/projects/stores) that is set on the Cart. * * */ @@ -3197,7 +3223,7 @@ export interface CartSetCountryAction extends ICartUpdateAction { export interface CartSetCustomFieldAction extends ICartUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3226,7 +3252,7 @@ export interface CartSetCustomLineItemCustomFieldAction extends ICartUpdateActio */ readonly customLineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3255,14 +3281,16 @@ export interface CartSetCustomLineItemCustomTypeAction extends ICartUpdateAction */ readonly customLineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the CustomLineItem with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the CustomLineItem with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the CustomLineItem. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the CustomLineItem. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the CustomLineItem. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3391,7 +3419,7 @@ export interface CartSetCustomLineItemTaxRateAction extends ICartUpdateAction { * To unset a custom Shipping Method on a Cart, use the [Set ShippingMethod](ctp:api:type:CartSetShippingMethodAction) update action * without the `shippingMethod` field instead. * - * This update is not allowed when the Cart is [frozen](/../api/carts-orders-overview#freeze-a-cart) with + * This update is not allowed when the Cart is [frozen](/api/carts-orders-overview#freeze-a-cart) with * the `HardFreeze` [FreezeStrategy](ctp:api:type:FreezeStrategy). * */ @@ -3431,14 +3459,16 @@ export interface CartSetCustomShippingMethodAction extends ICartUpdateAction { export interface CartSetCustomTypeAction extends ICartUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Cart with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Cart with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Cart. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Cart. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Cart. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3532,7 +3562,7 @@ export interface CartSetItemShippingAddressCustomFieldAction extends ICartUpdate */ readonly addressKey: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3555,14 +3585,16 @@ export interface CartSetItemShippingAddressCustomTypeAction extends ICartUpdateA */ readonly addressKey: string /** - * Defines the [Type](ctp:api:type:Type) that extends the `itemShippingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `itemShippingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `itemShippingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `itemShippingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `itemShippingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3593,7 +3625,7 @@ export interface CartSetLineItemCustomFieldAction extends ICartUpdateAction { */ readonly lineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3622,21 +3654,23 @@ export interface CartSetLineItemCustomTypeAction extends ICartUpdateAction { */ readonly lineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Line Item with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Line Item with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Line Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Line Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Line Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ readonly fields?: FieldContainer } /** - * Setting a distribution channel for a [LineItem](ctp:api:type:LineItem) can lead to an updated `price` as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Setting a distribution channel for a [LineItem](ctp:api:type:LineItem) can lead to an updated `price` as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ export interface CartSetLineItemDistributionChannelAction extends ICartUpdateAction { @@ -3662,6 +3696,10 @@ export interface CartSetLineItemDistributionChannelAction extends ICartUpdateAct */ readonly distributionChannel?: ChannelResourceIdentifier } +/** + * Sets the inventory mode for a specific Line Item in the Cart. When changing a Line Item's inventory mode to `ReserveOnCart`, a reservation is automatically created if sufficient stock is available. When changing from `ReserveOnCart` to another mode, the reservation is released. + * + */ export interface CartSetLineItemInventoryModeAction extends ICartUpdateAction { readonly action: 'setLineItemInventoryMode' /** @@ -3764,7 +3802,7 @@ export interface CartSetLineItemShippingDetailsAction extends ICartUpdateAction /** * Performing this action does not reserve stock. Stock is only reserved at Order creation if the [InventoryMode](ctp:api:type:InventoryMode) of the Cart is `TrackOnly` or `ReserveOnOrder`. * - * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/api/inventory-overview#quantity-limits). * */ export interface CartSetLineItemSupplyChannelAction extends ICartUpdateAction { @@ -3908,10 +3946,23 @@ export interface CartSetPurchaseOrderNumberAction extends ICartUpdateAction { */ readonly purchaseOrderNumber?: string } +/** + * Sets a new expiration date and time for all [ReserveOnCart](ctp:api:type:InventoryMode) Line Items with a [Reservation](ctp:api:type:Reservation). The Cart will return a [warning](ctp:api:type:WarningObject) for any Reservation that could not be changed. + * + */ +export interface CartSetReservationExpirationInMinutesAction extends ICartUpdateAction { + readonly action: 'setReservationExpirationInMinutes' + /** + * Value to set. Must be a positive integer. + * + * + */ + readonly reservationExpirationInMinutes: number +} /** * Setting the shipping address also sets the [TaxRate](ctp:api:type:TaxRate) of Line Items and calculates the [TaxedPrice](ctp:api:type:TaxedPrice). * - * If a matching price cannot be found for the given shipping address during [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), + * If a matching price cannot be found for the given shipping address during [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), * a [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) error is returned. * * If you want to allow shipping to states inside a country that are not explicitly covered by a TaxRate, @@ -3932,7 +3983,7 @@ export interface CartSetShippingAddressAction extends ICartUpdateAction { export interface CartSetShippingAddressCustomFieldAction extends ICartUpdateAction { readonly action: 'setShippingAddressCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3949,14 +4000,16 @@ export interface CartSetShippingAddressCustomFieldAction extends ICartUpdateActi export interface CartSetShippingAddressCustomTypeAction extends ICartUpdateAction { readonly action: 'setShippingAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `shippingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `shippingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `shippingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `shippingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `shippingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3973,7 +4026,7 @@ export interface CartSetShippingCustomFieldAction extends ICartUpdateAction { */ readonly shippingKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -4002,14 +4055,16 @@ export interface CartSetShippingCustomTypeAction extends ICartUpdateAction { */ readonly shippingKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the specified ShippingMethod with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the specified ShippingMethod with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ShippingMethod. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `shippingMethod`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `shippingMethod`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -4018,7 +4073,7 @@ export interface CartSetShippingCustomTypeAction extends ICartUpdateAction { /** * To set the Cart's Shipping Method the Cart must have the `Single` [ShippingMode](ctp:api:type:ShippingMode) and a `shippingAddress`. * - * This update is not allowed when the Cart is [frozen](/../api/carts-orders-overview#freeze-a-cart) with the `HardFreeze` [FreezeStrategy](ctp:api:type:FreezeStrategy). + * This update is not allowed when the Cart is [frozen](/api/carts-orders-overview#freeze-a-cart) with the `HardFreeze` [FreezeStrategy](ctp:api:type:FreezeStrategy). * */ export interface CartSetShippingMethodAction extends ICartUpdateAction { @@ -4027,7 +4082,11 @@ export interface CartSetShippingMethodAction extends ICartUpdateAction { * Value to set. * If empty, any existing value is removed. * - * If the referenced Shipping Method is inactive, or has a predicate that does not match the Cart, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. + * [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned in one of the following cases: + * 1. If the referenced Shipping Method has a predicate that does not match the Cart. + * 2. If the referenced Shipping Method is not active. + * 3. If the referenced Shipping Method is associated with a Store that is different from the Cart's Store. + * 4. If the referenced Shipping Method is associated with a Store and the Cart is not associated with any Store. * * */ @@ -4046,7 +4105,9 @@ export interface CartSetShippingMethodAction extends ICartUpdateAction { export interface CartSetShippingMethodTaxAmountAction extends ICartUpdateAction { readonly action: 'setShippingMethodTaxAmount' /** - * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. This is required for Carts with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. + * This is required and valid only for Carts with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * An [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned if `shippingKey` is provided for Carts with `Single` [ShippingMode](ctp:api:type:ShippingMode), or omitted for Carts with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). * * */ @@ -4066,7 +4127,9 @@ export interface CartSetShippingMethodTaxAmountAction extends ICartUpdateAction export interface CartSetShippingMethodTaxRateAction extends ICartUpdateAction { readonly action: 'setShippingMethodTaxRate' /** - * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. This is required for Carts with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. + * This is required and valid only for Carts with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * An [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned if `shippingKey` is provided for Carts with `Single` [ShippingMode](ctp:api:type:ShippingMode), or omitted for Carts with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). * * */ @@ -4108,9 +4171,11 @@ export interface CartUnfreezeCartAction extends ICartUpdateAction { readonly action: 'unfreezeCart' } /** - * Unlocks a Cart, removing all update restrictions that are in place while a Cart is [locked](/../api/carts-orders-overview#lock-a-cart). + * Unlocks a Cart, removing all update restrictions that are in place while a Cart is [locked](/api/carts-orders-overview#lock-a-cart). * This action requires an additional OAuth 2.0 Scope `manage_locked_carts`. * + * Produces the [CartUnlocked](ctp:api:type:CartUnlockedMessage) Message. + * */ export interface CartUnlockCartAction extends ICartUpdateAction { readonly action: 'unlockCart' @@ -4131,7 +4196,7 @@ export interface CartUpdateItemShippingAddressAction extends ICartUpdateAction { export interface ProductTailoringUpdate { /** * Expected version of the ProductTailoring on which the changes apply. - * If the expected version does not match the actual version, a [409 Conflict](/../api/errors#409-conflict) is returned. + * If the expected version does not match the actual version, a [409 Conflict](/api/errors#409-conflict) is returned. * * */ diff --git a/src/lib/types/models/category.ts b/src/lib/types/models/category.ts index a8391238b5..26c754e23b 100644 --- a/src/lib/types/models/category.ts +++ b/src/lib/types/models/category.ts @@ -64,7 +64,7 @@ export interface Category extends BaseResource { * User-defined identifier used as a deep-link URL to the related Category per [Locale](ctp:api:type:Locale). * A Category can have the same slug for different Locales, but they are unique across the [Project](ctp:api:type:Project). * Valid slugs match the pattern `^[A-Za-z0-9_-]{2,256}+$`. - * For [good performance](/../api/predicates/query#performance-considerations), indexes are provided for the first 15 `languages` set in a Project. + * For [good performance](/api/predicates/query#performance-considerations), indexes are provided for the first 15 `languages` set in a Project. * * */ @@ -210,25 +210,25 @@ export interface CategoryDraft { /** * User-defined unique identifier for the Category. * - * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Categories with the [Import API](/../api/import-export/overview) and the [Merchant Center](/../merchant-center/import-data). + * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Categories with the [Import API](/api/import-export/overview) and the [Merchant Center](/merchant-center/import-data). * * */ readonly key?: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [Category](ctp:api:type:Category). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [Category](ctp:api:type:Category). * */ export interface CategoryPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -241,10 +241,10 @@ export interface CategoryPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -269,14 +269,14 @@ export interface CategoryReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Category. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Categories. + * Contains the representation of the expanded Category. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Categories. * * */ readonly obj?: Category } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Category](ctp:api:type:Category). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Category](ctp:api:type:Category). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface CategoryResourceIdentifier extends IResourceIdentifier { @@ -458,7 +458,7 @@ export interface CategorySetAssetCustomFieldAction extends ICategoryUpdateAction */ readonly assetKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -487,14 +487,16 @@ export interface CategorySetAssetCustomTypeAction extends ICategoryUpdateAction */ readonly assetKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Asset with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Asset with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Asset. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Asset. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Asset. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -585,7 +587,7 @@ export interface CategorySetAssetTagsAction extends ICategoryUpdateAction { export interface CategorySetCustomFieldAction extends ICategoryUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -602,14 +604,16 @@ export interface CategorySetCustomFieldAction extends ICategoryUpdateAction { export interface CategorySetCustomTypeAction extends ICategoryUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Category with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Category with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Category. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Category. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Category. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/channel.ts b/src/lib/types/models/channel.ts index 1807ebb4c0..f693a994b1 100644 --- a/src/lib/types/models/channel.ts +++ b/src/lib/types/models/channel.ts @@ -152,18 +152,18 @@ export interface ChannelDraft { readonly geoLocation?: GeoJson } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [Channel](ctp:api:type:Channel). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [Channel](ctp:api:type:Channel). * */ export interface ChannelPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -176,10 +176,10 @@ export interface ChannelPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -205,14 +205,14 @@ export interface ChannelReference extends IReference { readonly id: string /** * Contains the representation of the expanded Channel. - * Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Channels. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Channels. * * */ readonly obj?: Channel } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Channel](ctp:api:type:Channel). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Channel](ctp:api:type:Channel). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ChannelResourceIdentifier extends IResourceIdentifier { @@ -231,7 +231,7 @@ export interface ChannelResourceIdentifier extends IResourceIdentifier { readonly key?: string } /** - * Describes the purpose and type of the Channel. A Channel can have one or more roles. + * Describes how a Channel is used. A Channel can have one or more roles. * */ export enum ChannelRoleEnumValues { @@ -243,12 +243,7 @@ export enum ChannelRoleEnumValues { } export type ChannelRoleEnum = - | 'InventorySupply' - | 'OrderExport' - | 'OrderImport' - | 'Primary' - | 'ProductDistribution' - | (string & {}) + 'InventorySupply' | 'OrderExport' | 'OrderImport' | 'Primary' | 'ProductDistribution' | (string & {}) export interface ChannelUpdate { /** * Expected version of the Channel on which the changes should be applied. @@ -340,7 +335,7 @@ export interface ChannelSetAddressAction extends IChannelUpdateAction { export interface ChannelSetAddressCustomFieldAction extends IChannelUpdateAction { readonly action: 'setAddressCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -357,14 +352,16 @@ export interface ChannelSetAddressCustomFieldAction extends IChannelUpdateAction export interface ChannelSetAddressCustomTypeAction extends IChannelUpdateAction { readonly action: 'setAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `address`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `address`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `address`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -373,7 +370,7 @@ export interface ChannelSetAddressCustomTypeAction extends IChannelUpdateAction export interface ChannelSetCustomFieldAction extends IChannelUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -390,14 +387,16 @@ export interface ChannelSetCustomFieldAction extends IChannelUpdateAction { export interface ChannelSetCustomTypeAction extends IChannelUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Channel with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Channel with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Channel. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Channel. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Channel. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/common.ts b/src/lib/types/models/common.ts index fbcb1037ac..b93ebdeb76 100644 --- a/src/lib/types/models/common.ts +++ b/src/lib/types/models/common.ts @@ -34,7 +34,7 @@ import { import { CustomerGroup, CustomerGroupReference, CustomerGroupResourceIdentifier } from './customer-group.js' import { DiscountCode, DiscountCodeReference, DiscountCodeResourceIdentifier } from './discount-code.js' import { DiscountGroup, DiscountGroupReference, DiscountGroupResourceIdentifier } from './discount-group.js' -import { Extension } from './extension.js' +import { Extension, ExtensionReference, ExtensionResourceIdentifier } from './extension.js' import { InventoryEntry, InventoryEntryReference, InventoryEntryResourceIdentifier } from './inventory.js' import { Message } from './message.js' import { OrderReference, _Order } from './order.js' @@ -50,6 +50,7 @@ import { Quote, QuoteReference, QuoteResourceIdentifier } from './quote.js' import { QuoteRequest, QuoteRequestReference, QuoteRequestResourceIdentifier } from './quote-request.js' import { RecurrencePolicy, RecurrencePolicyReference, RecurrencePolicyResourceIdentifier } from './recurrence-policy.js' import { RecurringOrder, RecurringOrderReference, RecurringOrderResourceIdentifier } from './recurring-order.js' +import { Reservation, ReservationReference } from './reservation.js' import { Review, ReviewReference, ReviewResourceIdentifier } from './review.js' import { ShippingMethod, ShippingMethodReference, ShippingMethodResourceIdentifier } from './shipping-method.js' import { ShoppingList, ShoppingListReference, ShoppingListResourceIdentifier } from './shopping-list.js' @@ -60,6 +61,7 @@ import { Store, StoreKeyReference, StoreReference, StoreResourceIdentifier } fro import { Subscription } from './subscription.js' import { TaxCategory, TaxCategoryReference, TaxCategoryResourceIdentifier } from './tax-category.js' import { CustomFields, CustomFieldsDraft, Type, TypeReference, TypeResourceIdentifier } from './type.js' +import { Variant, VariantReference, VariantResourceIdentifier } from './variant.js' import { Zone, ZoneReference, ZoneResourceIdentifier } from './zone.js' /** @@ -69,13 +71,13 @@ import { Zone, ZoneReference, ZoneResourceIdentifier } from './zone.js' */ export interface PagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -88,10 +90,10 @@ export interface PagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -301,7 +303,7 @@ export interface BaseAddress { */ readonly id?: string /** - * User-defined identifier of the Address that must be unique when multiple addresses are referenced in [BusinessUnits](ctp:api:type:BusinessUnit), [Customers](ctp:api:type:Customer), and `itemShippingAddresses` (LineItem-specific addresses) of a [Cart](ctp:api:type:Cart), [Order](ctp:api:type:Order), [QuoteRequest](ctp:api:type:QuoteRequest), or [Quote](ctp:api:type:Quote). + * User-defined identifier of the Address. Must be unique among the addresses in a [BusinessUnit](ctp:api:type:BusinessUnit), [Customer](ctp:api:type:Customer), or in the `itemShippingAddresses` (LineItem-specific addresses) of a [Cart](ctp:api:type:Cart), [Order](ctp:api:type:Order), [QuoteRequest](ctp:api:type:QuoteRequest), or [Quote](ctp:api:type:Quote). * * */ @@ -521,6 +523,7 @@ export type _BaseResource = | QuoteRequest | RecurrencePolicy | RecurringOrder + | Reservation | Review | ShippingMethod | ShoppingList @@ -531,9 +534,10 @@ export type _BaseResource = | Subscription | TaxCategory | Type + | Variant | Zone /** - * These objects represent information about which [API Client](/../api/projects/api-clients) created or modified a resource. For more information, see [Client Logging](/../api/general-concepts#client-logging). + * These objects represent information about which [API Client](/api/projects/api-clients) created or modified a resource. For more information, see [Client Logging](/api/general-concepts#client-logging). * */ export interface ClientLogging { @@ -544,7 +548,7 @@ export interface ClientLogging { */ readonly clientId?: string /** - * [External user ID](/../api/general-concepts#external-user-ids) provided by `X-External-User-ID` HTTP Header. + * [External user ID](/api/general-concepts#external-user-ids) provided by `X-External-User-ID` HTTP Header. * * */ @@ -562,7 +566,7 @@ export interface ClientLogging { */ readonly anonymousId?: string /** - * Indicates the [Customer](ctp:api:type:Customer) who created or modified the resource in the context of a [Business Unit](ctp:api:type:BusinessUnit). Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects when an Associate acts on behalf of a company using the [associate endpoints](/associates-overview#on-the-associate-endpoints). + * Indicates the [Customer](ctp:api:type:Customer) who created or modified the resource in the context of a [Business Unit](ctp:api:type:BusinessUnit). Only available for [B2B](/offering/commerce-b2b)-enabled Projects when an Associate acts on behalf of a company using the [associate endpoints](/associates-overview#on-the-associate-endpoints). * * */ @@ -580,7 +584,7 @@ export interface CreatedBy extends ClientLogging { */ readonly clientId?: string /** - * [External user ID](/../api/general-concepts#external-user-ids) provided by the `X-External-User-ID` HTTP Header or `external_user_id:{externalUserId}` [scope](/../api/scopes#external-oauth). + * [External user ID](/api/general-concepts#external-user-ids) provided by the `X-External-User-ID` HTTP Header or `external_user_id:{externalUserId}` [scope](/api/scopes#external-oauth). * * */ @@ -604,7 +608,7 @@ export interface CreatedBy extends ClientLogging { */ readonly attributedTo?: Attribution /** - * Indicates the [Customer](ctp:api:type:Customer) who created the resource in the context of a [Business Unit](ctp:api:type:BusinessUnit). Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Project when an Associate acts on behalf of a company using the [associate endpoints](/associates-overview#on-the-associate-endpoints). + * Indicates the [Customer](ctp:api:type:Customer) who created the resource in the context of a [Business Unit](ctp:api:type:BusinessUnit). Only available for [B2B](/offering/commerce-b2b)-enabled Project when an Associate acts on behalf of a company using the [associate endpoints](/associates-overview#on-the-associate-endpoints). * * */ @@ -614,6 +618,12 @@ export interface DiscountedPrice { /** * Money value of the discounted price. * + * - When a [relative Product Discount](ctp:api:type:ProductDiscountValueRelative) applies and the fractional part of the resulting discounted price is 0.5, the discounted price is [rounded half down](https://en.wikipedia.org/wiki/Rounding#Rounding_half_down). + * + * For example, a price of €1.01 (`centAmount: 101`) with a 50% discount (`permyriad: 5000`) calculates to €0.505. Since the fractional half-cent is exactly 0.5, it rounds down to €0.50 (`centAmount: 50`). + * + * - When an [absolute Product Discount](ctp:api:type:ProductDiscountValueAbsolute) exceeds the price of the Product Variant, the resulting discounted price is set to `0`. + * * */ readonly value: TypedMoney @@ -721,7 +731,7 @@ export interface LastModifiedBy extends ClientLogging { */ readonly clientId?: string /** - * [External user ID](/../api/general-concepts#external-user-ids) provided by the `X-External-User-ID` HTTP Header or `external_user_id:{externalUserId}` [scope](/../api/scopes#external-oauth). + * [External user ID](/api/general-concepts#external-user-ids) provided by the `X-External-User-ID` HTTP Header or `external_user_id:{externalUserId}` [scope](/api/scopes#external-oauth). * * */ @@ -745,7 +755,7 @@ export interface LastModifiedBy extends ClientLogging { */ readonly attributedTo?: Attribution /** - * Indicates the [Customer](ctp:api:type:Customer) who modified the resource in the context of a [Business Unit](ctp:api:type:BusinessUnit). Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects when an Associate acts on behalf of a company using the [associate endpoints](/associates-overview#on-the-associate-endpoints). + * Indicates the [Customer](ctp:api:type:Customer) who modified the resource in the context of a [Business Unit](ctp:api:type:BusinessUnit). Only available for [B2B](/offering/commerce-b2b)-enabled Projects when an Associate acts on behalf of a company using the [associate endpoints](/associates-overview#on-the-associate-endpoints). * * */ @@ -768,13 +778,13 @@ export interface Money { * * Cents for EUR and USD, pence for GBP, or centime for CHF (5 CHF is specified as `500`). * * The value in the major unit for currencies without minor units, like JPY (5 JPY is specified as `5`). * - * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](/errors#moneyoverflow) error will be returned. + * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](ctp:api:type:MoneyOverflowError) error will be returned. * * */ readonly centAmount: number /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -790,6 +800,22 @@ export enum MoneyTypeValues { } export type MoneyType = 'centPrecision' | 'highPrecision' | (string & {}) +/** + * Currencies whose fraction digits are not compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * + * These currencies are treated separately (from their ISO equivalents); for example, a Product Discount for `HUF0` will not apply to a `HUF` price. + * + */ +export enum NonStandardCurrencyValues { + Czk0 = 'CZK0', + Huf0 = 'HUF0', + Ils0 = 'ILS0', + Kzt0 = 'KZT0', + Try0 = 'TRY0', + Twd0 = 'TWD0', +} + +export type NonStandardCurrency = 'CZK0' | 'HUF0' | 'ILS0' | 'KZT0' | 'TRY0' | 'TWD0' | (string & {}) /** * The representation for prices embedded in [LineItems](ctp:api:type:LineItem) and in [ProductVariants](ctp:api:type:ProductVariant) when the [ProductPriceMode](ctp:api:type:ProductPriceModeEnum) is `Embedded`. * For the `Standalone` ProductPriceMode refer to [StandalonePrice](ctp:api:type:StandalonePrice). @@ -844,11 +870,7 @@ export interface Price { */ readonly validUntil?: string /** - * Set if a matching [ProductDiscount](ctp:api:type:ProductDiscount) exists. - * If set, the API uses the DiscountedPrice value for the [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). - * When a [relative discount](ctp:api:type:ProductDiscountValueRelative) has been applied and the fraction part of the DiscountedPrice `value` is 0.5, the `value` is rounded in favor of the customer with [half-down rounding](https://en.wikipedia.org/wiki/Rounding#Rounding_half_down). - * - * If an [absolute discount](ctp:api:type:ProductDiscountValueAbsolute) value exceeds the price of the Product Variant, the discounted price is a negative value. + * Set if a [ProductDiscount](ctp:api:type:ProductDiscount) applies. When present, the API uses the DiscountedPrice value for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * */ @@ -960,7 +982,7 @@ export interface PriceDraft { * A Price tier is selected instead of the default Price when a certain quantity of the [ProductVariant](ctp:api:type:ProductVariant) is [added to a Cart](/projects/carts#add-lineitem) and ordered. * _For example: the Price can be lower if more than 10 items are ordered._ * If no Price tier is found for the Order quantity, the base Price is used. - * A Price tier is applied for the entire quantity of a Product Variant put as [LineItem](/projects/carts#lineitem) in a Cart as soon as the minimum quantity for the Price tier is reached. + * A Price tier is applied for the entire quantity of a Product Variant put as [LineItem](ctp:api:type:LineItem) in a Cart as soon as the minimum quantity for the Price tier is reached. * The Price tier is applied per Line Item of the Product Variant. If, for example, the same Product Variant appears in the same Cart as several Line Items, (what can be achieved by different values of a Custom Field on the Line Items) for each Line Item the minimum quantity must be reached to get the Price tier. * */ @@ -1093,6 +1115,7 @@ export type Reference = | DirectDiscountReference | DiscountCodeReference | DiscountGroupReference + | ExtensionReference | InventoryEntryReference | OrderEditReference | OrderReference @@ -1107,6 +1130,7 @@ export type Reference = | QuoteRequestReference | RecurrencePolicyReference | RecurringOrderReference + | ReservationReference | ReviewReference | ShippingMethodReference | ShoppingListReference @@ -1116,6 +1140,7 @@ export type Reference = | StoreReference | TaxCategoryReference | TypeReference + | VariantReference | ZoneReference export interface IReference { /** @@ -1169,6 +1194,7 @@ export enum ReferenceTypeIdValues { QuoteRequest = 'quote-request', RecurrencePolicy = 'recurrence-policy', RecurringOrder = 'recurring-order', + Reservation = 'reservation', Review = 'review', ShippingMethod = 'shipping-method', ShoppingList = 'shopping-list', @@ -1179,6 +1205,7 @@ export enum ReferenceTypeIdValues { Subscription = 'subscription', TaxCategory = 'tax-category', Type = 'type', + Variant = 'variant', Zone = 'zone', } @@ -1216,6 +1243,7 @@ export type ReferenceTypeId = | 'quote-request' | 'recurrence-policy' | 'recurring-order' + | 'reservation' | 'review' | 'shipping-method' | 'shopping-list' @@ -1226,6 +1254,7 @@ export type ReferenceTypeId = | 'subscription' | 'tax-category' | 'type' + | 'variant' | 'zone' | (string & {}) /** @@ -1246,6 +1275,7 @@ export type ResourceIdentifier = | CustomerResourceIdentifier | DiscountCodeResourceIdentifier | DiscountGroupResourceIdentifier + | ExtensionResourceIdentifier | InventoryEntryResourceIdentifier | OrderEditResourceIdentifier | PaymentResourceIdentifier @@ -1267,6 +1297,7 @@ export type ResourceIdentifier = | StoreResourceIdentifier | TaxCategoryResourceIdentifier | TypeResourceIdentifier + | VariantResourceIdentifier | ZoneResourceIdentifier export interface IResourceIdentifier { /** @@ -1290,7 +1321,7 @@ export interface IResourceIdentifier { } /** * Scoped Price is contained in a [ProductVariant](ctp:api:type:ProductVariant) which is returned in response to a - * [Product Projection Search](ctp:api:type:ProductProjectionSearchFilterScopedPrice) request when [Scoped Price Search](/../api/pricing-and-discounts-overview#scoped-price-search) is used. + * [Product Projection Search](ctp:api:type:ProductProjectionSearchFilterScopedPrice) request when [Scoped Price Search](/api/pricing-and-discounts-overview#scoped-price-search) is used. * */ export interface ScopedPrice { @@ -1345,7 +1376,7 @@ export interface ScopedPrice { /** * Is set when a matching [ProductDiscount](ctp:api:type:ProductDiscount) exists. If set, the [Cart](ctp:api:type:Cart) uses the discounted value for the [Cart Price calculation](ctp:api:type:CartAddLineItemAction). * - * When a [relative Product Discount](ctp:api:type:ProductDiscountValueRelative) is applied and the fractional part of the discounted Price is 0.5, the discounted Price is [rounded half down](https://en.wikipedia.org/wiki/Rounding#Rounding_half_down) in favor of the Customer. + * When a [relative Product Discount](ctp:api:type:ProductDiscountValueRelative) is applied and the fractional part of the discounted Price is 0.5, the discounted Price is [rounded half down](https://en.wikipedia.org/wiki/Rounding#Rounding_half_down). * * */ @@ -1369,13 +1400,13 @@ export interface ITypedMoney { * * Cents for EUR and USD, pence for GBP, or centime for CHF (5 CHF is specified as `500`). * * The value in the major unit for currencies without minor units, like JPY (5 JPY is specified as `5`). * - * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](/errors#moneyoverflow) error will be returned. + * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](ctp:api:type:MoneyOverflowError) error will be returned. * * */ readonly centAmount: number /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -1407,13 +1438,13 @@ export interface CentPrecisionMoney extends ITypedMoney { * * Cents for EUR and USD, pence for GBP, or centime for CHF (5 CHF is specified as `500`). * * The value in the major unit for currencies without minor units, like JPY (5 JPY is specified as `5`). * - * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](/errors#moneyoverflow) error will be returned. + * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](ctp:api:type:MoneyOverflowError) error will be returned. * * */ readonly centAmount: number /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -1436,13 +1467,13 @@ export interface HighPrecisionMoney extends ITypedMoney { * * Cents for EUR and USD, pence for GBP, or centime for CHF (5 CHF is specified as `500`). * * The value in the major unit for currencies without minor units, like JPY (5 JPY is specified as `5`). * - * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](/errors#moneyoverflow) error will be returned. + * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](ctp:api:type:MoneyOverflowError) error will be returned. * * */ readonly centAmount: number /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -1476,7 +1507,7 @@ export interface ITypedMoneyDraft { */ readonly centAmount?: number /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -1507,7 +1538,7 @@ export interface CentPrecisionMoneyDraft extends ITypedMoneyDraft { */ readonly centAmount?: number /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -1529,7 +1560,7 @@ export interface HighPrecisionMoneyDraft extends ITypedMoneyDraft { * * A Price of 1.015 USD can be rounded either to 1.01 USD or 1.02 USD. If it lies outside of this range, an error message stating that centAmount must be rounded correctly will be returned. * - * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](/errors#moneyoverflow) error will be returned. + * `centAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](ctp:api:type:MoneyOverflowError) error will be returned. * * If `centAmount` is not provided, the API calculates the value automatically using the default rounding mode half even. * @@ -1537,7 +1568,7 @@ export interface HighPrecisionMoneyDraft extends ITypedMoneyDraft { */ readonly centAmount?: number /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -1551,7 +1582,7 @@ export interface HighPrecisionMoneyDraft extends ITypedMoneyDraft { /** * Amount in 1 / (10 ^ `fractionDigits`) of a currency. * - * `preciseAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](/errors#moneyoverflow) error will be returned. + * `preciseAmount` is represented as 64-bit integers. If this limit is exceeded, a [MoneyOverflow](ctp:api:type:MoneyOverflowError) error will be returned. * * */ diff --git a/src/lib/types/models/custom-object.ts b/src/lib/types/models/custom-object.ts index 20a77ada48..a10467b76e 100644 --- a/src/lib/types/models/custom-object.ts +++ b/src/lib/types/models/custom-object.ts @@ -55,7 +55,7 @@ export interface CustomObject extends BaseResource { */ readonly key: string /** - * Can be any JSON standard type, such as number, string, boolean, array, object, or a [common API data type](/../api/types). + * Can be any JSON standard type, such as number, string, boolean, array, object, or a [common API data type](/api/types). * * - For values of type [Reference](ctp:api:type:Reference) the integrity of the data is not guaranteed. If the referenced object is deleted, the API does not delete the corresponding reference to it and the `value` points to a non-existing object in such case. * @@ -77,7 +77,7 @@ export interface CustomObjectDraft { */ readonly key: string /** - * Can be any JSON standard type, such as number, string, boolean, array, object, or a [common API data type](/../api/types). + * Can be any JSON standard type, such as number, string, boolean, array, object, or a [common API data type](/api/types). * * - Fields within `value` that have `null` values **are not saved**. * - For values of type [Reference](ctp:api:type:Reference) the integrity of the data is not guaranteed. If the referenced object is deleted, the API does not delete the corresponding reference to it and the `value` points to a non-existing object in such case. @@ -93,18 +93,18 @@ export interface CustomObjectDraft { readonly version?: number } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [CustomObject](ctp:api:type:CustomObject). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [CustomObject](ctp:api:type:CustomObject). * */ export interface CustomObjectPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -117,10 +117,10 @@ export interface CustomObjectPagedQueryResponse { readonly count: number /** * The total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -145,7 +145,7 @@ export interface CustomObjectReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded CustomObject. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for CustomObjects. + * Contains the representation of the expanded CustomObject. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for CustomObjects. * * */ diff --git a/src/lib/types/models/customer-group.ts b/src/lib/types/models/customer-group.ts index 7455897b07..717f015764 100644 --- a/src/lib/types/models/customer-group.ts +++ b/src/lib/types/models/customer-group.ts @@ -90,13 +90,13 @@ export interface CustomerGroupDraft { */ export interface CustomerGroupPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -109,10 +109,10 @@ export interface CustomerGroupPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -137,14 +137,14 @@ export interface CustomerGroupReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded CustomerGroup. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for CustomerGroups. + * Contains the representation of the expanded CustomerGroup. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for CustomerGroups. * * */ readonly obj?: CustomerGroup } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [CustomerGroup](ctp:api:type:CustomerGroup). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [CustomerGroup](ctp:api:type:CustomerGroup). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface CustomerGroupResourceIdentifier extends IResourceIdentifier { @@ -200,7 +200,7 @@ export interface CustomerGroupChangeNameAction extends ICustomerGroupUpdateActio export interface CustomerGroupSetCustomFieldAction extends ICustomerGroupUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -216,20 +216,22 @@ export interface CustomerGroupSetCustomFieldAction extends ICustomerGroupUpdateA } /** * This action sets or removes the custom type for an existing CustomerGroup. - * If present, this action overwrites any existing [custom](/../api/projects/custom-fields) type and fields. + * If present, this action overwrites any existing [custom](/api/projects/custom-fields) type and fields. * */ export interface CustomerGroupSetCustomTypeAction extends ICustomerGroupUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the CustomerGroup with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the CustomerGroup with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the CustomerGroup. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the CustomerGroup. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the CustomerGroup. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/customer-search.ts b/src/lib/types/models/customer-search.ts index 6067207b81..8e8263bff7 100644 --- a/src/lib/types/models/customer-search.ts +++ b/src/lib/types/models/customer-search.ts @@ -31,13 +31,13 @@ export interface CustomerPagedSearchResponse { */ readonly total: number /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ diff --git a/src/lib/types/models/customer.ts b/src/lib/types/models/customer.ts index 452969d0f5..e9f1e29629 100644 --- a/src/lib/types/models/customer.ts +++ b/src/lib/types/models/customer.ts @@ -20,7 +20,7 @@ import { StoreKeyReference, StoreResourceIdentifier } from './store.js' import { CustomFields, CustomFieldsDraft, FieldContainer, TypeResourceIdentifier } from './type.js' /** - * Determines how an anonymous Cart is handled when a Customer signs in. For more information, see [Cart merge during sign-in and sign-up](/../api/customers-overview#cart-merge-during-sign-in-and-sign-up). + * Determines how an anonymous Cart is handled when a Customer signs in. For more information, see [Cart merge during sign-in and sign-up](/api/customers-overview#cart-merge-during-sign-in-and-sign-up). * */ export enum AnonymousCartSignInModeValues { @@ -97,7 +97,7 @@ export interface Customer extends BaseResource { */ readonly createdBy?: CreatedBy /** - * Email address of the Customer that is [unique](/../api/customers-overview#customer-uniqueness) for an entire Project or to a Store the Customer is assigned to. + * Email address of the Customer that is [unique](/api/customers-overview#customer-uniqueness) for an entire Project or to a Store the Customer is assigned to. * It is the mandatory unique identifier of a Customer. * * @@ -196,7 +196,7 @@ export interface Customer extends BaseResource { /** * Customer Groups that the Customer belongs to. * - * Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * */ @@ -222,8 +222,8 @@ export interface Customer extends BaseResource { /** * [Stores](ctp:api:type:Store) to which the Customer is assigned to. * - * - If `stores` is empty, the Customer is a global customer, and can log in using the [Password Flow for global Customers](/../api/authorization#password-flow-for-global-customers). - * - If any Stores are specified, the Customer can only log in using the [Password Flow for Customers in a Store](/../api/authorization#password-flow-for-customers-in-a-store) for those specific Stores. + * - If `stores` is empty, the Customer is a global customer, and can log in using the [Password Flow for global Customers](/api/authorization#password-flow-for-global-customers). + * - If any Stores are specified, the Customer can only log in using the [Password Flow for Customers in a Store](/api/authorization#password-flow-for-customers-in-a-store) for those specific Stores. * * */ @@ -280,7 +280,7 @@ export interface CustomerCreateEmailToken { */ readonly ttlMinutes: number /** - * If set to `true`, all email tokens issued previously for the Customer will be invalidated. + * Whether all email tokens issued previously for the Customer will be invalidated. * * */ @@ -288,7 +288,7 @@ export interface CustomerCreateEmailToken { } export interface CustomerCreatePasswordResetToken { /** - * Email address of the Customer treated as [case-insensitive](/../api/customers-overview#email-case-insensitivity). + * Email address of the Customer treated as [case-insensitive](/api/customers-overview#email-case-insensitivity). * * */ @@ -300,7 +300,7 @@ export interface CustomerCreatePasswordResetToken { */ readonly ttlMinutes?: number /** - * If set to `true`, all password tokens issued previously for the Customer will be invalidated. + * Whether all password tokens issued previously for the Customer will be invalidated. * * */ @@ -311,7 +311,7 @@ export interface CustomerDraft { * User-defined unique identifier for the Customer. * The `key` field is preferred over `customerNumber` as it is mutable and provides more flexibility. * - * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Customers with the [Import API](/../api/import-export/overview). + * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Customers with the [Import API](/api/import-export/overview). * * */ @@ -332,7 +332,7 @@ export interface CustomerDraft { */ readonly externalId?: string /** - * Email address of the Customer that must be [unique](/../api/customers-overview#customer-uniqueness) for an entire Project or to a Store the Customer is assigned to. + * Email address of the Customer that must be [unique](/api/customers-overview#customer-uniqueness) for an entire Project or to a Store the Customer is assigned to. * It is the mandatory unique identifier of a Customer. * * @@ -442,7 +442,7 @@ export interface CustomerDraft { */ readonly billingAddresses?: number[] /** - * Set to `true` if the email address of the Customer has been verified already. + * Whether the email address of the Customer has been verified already. * The intended use is to leave this field unset upon sign-up of the Customer and initiate the [email verification](#email-verification-of-customer) afterwards. * * @@ -459,7 +459,7 @@ export interface CustomerDraft { /** * Customer Groups to assign the Customer to. * - * Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * */ @@ -486,8 +486,8 @@ export interface CustomerDraft { /** * Sets the [Stores](ctp:api:type:Store) for the Customer. * - * - If no Stores are specified, the Customer is a global customer, and can log in using the [Password Flow for global Customers](/../api/authorization#password-flow-for-global-customers). - * - If any Stores are specified, the Customer can only log in using the [Password Flow for Customers in a Store](/../api/authorization#password-flow-for-customers-in-a-store) for those specific Stores. + * - If no Stores are specified, the Customer is a global customer, and can log in using the [Password Flow for global Customers](/api/authorization#password-flow-for-global-customers). + * - If any Stores are specified, the Customer can only log in using the [Password Flow for Customers in a Store](/api/authorization#password-flow-for-customers-in-a-store) for those specific Stores. * * */ @@ -544,18 +544,18 @@ export interface CustomerGroupAssignmentDraft { readonly customerGroup: CustomerGroupResourceIdentifier } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [Customer](ctp:api:type:Customer). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [Customer](ctp:api:type:Customer). * */ export interface CustomerPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -568,10 +568,10 @@ export interface CustomerPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -636,7 +636,7 @@ export interface CustomerResetPassword { readonly version?: number } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Customer](ctp:api:type:Customer). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Customer](ctp:api:type:Customer). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface CustomerResourceIdentifier extends IResourceIdentifier { @@ -667,7 +667,7 @@ export interface CustomerSignInResult { * The Cart is recalculated to remove invalid Line Items and apply the latest prices, taxes, and discounts. * During these updates, the following errors can be returned: [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) and [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError). * - * For more information, see [Cart updates](/../api/carts-orders-overview#update-a-cart). + * For more information, see [Cart updates](/api/carts-orders-overview#update-a-cart). * * */ @@ -675,7 +675,7 @@ export interface CustomerSignInResult { } export interface CustomerSignin { /** - * Email address of the Customer treated as [case-insensitive](/../api/customers-overview#email-case-insensitivity). + * Email address of the Customer treated as [case-insensitive](/api/customers-overview#email-case-insensitivity). * * */ @@ -714,8 +714,7 @@ export interface CustomerSignin { */ readonly anonymousId?: string /** - * - If `true`, the [LineItem](ctp:api:type:LineItem) Product data (`name`, `variant`, and `productType`) of the returned Cart will be updated. - * - If `false`, only the prices, discounts, and tax rates will be updated. + * Whether the [LineItem](ctp:api:type:LineItem) Product data (`name`, `variant`, and `productType`) of the returned Cart will be updated. If `false`, only the prices, discounts, and tax rates will be updated. * * */ @@ -747,7 +746,7 @@ export interface CustomerToken { */ readonly expiresAt: string /** - * If `true`, all tokens issued previously for the Customer will be invalidated. + * Whether all tokens issued previously for the Customer will be invalidated. * * */ @@ -867,7 +866,7 @@ export interface MyCustomerResetPassword { } export interface MyCustomerSignin { /** - * Email address of the Customer treated as [case-insensitive](/../api/customers-overview#email-case-insensitivity). + * Email address of the Customer treated as [case-insensitive](/api/customers-overview#email-case-insensitivity). * * */ @@ -886,8 +885,7 @@ export interface MyCustomerSignin { */ readonly activeCartSignInMode?: AnonymousCartSignInMode /** - * - If `true`, the [LineItem](ctp:api:type:LineItem) Product data (`name`, `variant`, and `productType`) of the returned Cart is updated. - * - If `false`, only the prices, discounts, and tax rates are updated. + * Whether the [LineItem](ctp:api:type:LineItem) Product data (`name`, `variant`, and `productType`) of the returned Cart is updated. If `false`, only the prices, discounts, and tax rates are updated. * * */ @@ -1086,7 +1084,7 @@ export interface CustomerRemoveShippingAddressIdAction extends ICustomerUpdateAc } /** * Removes the association to a Store from the Customer. - * If no more Stores are assigned, the Customer becomes a [global Customer](/../api/customers-overview#global-versus-store-specific-customers). + * If no more Stores are assigned, the Customer becomes a [global Customer](/api/customers-overview#global-versus-store-specific-customers). * */ export interface CustomerRemoveStoreAction extends ICustomerUpdateAction { @@ -1111,7 +1109,7 @@ export interface CustomerSetAddressCustomFieldAction extends ICustomerUpdateActi */ readonly addressId: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1138,14 +1136,16 @@ export interface CustomerSetAddressCustomTypeAction extends ICustomerUpdateActio */ readonly addressId: string /** - * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `address`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `address`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `address`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1188,7 +1188,7 @@ export interface CustomerSetCompanyNameAction extends ICustomerUpdateAction { export interface CustomerSetCustomFieldAction extends ICustomerUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1209,14 +1209,16 @@ export interface CustomerSetCustomFieldAction extends ICustomerUpdateAction { export interface CustomerSetCustomTypeAction extends ICustomerUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Customer with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Customer with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Customer. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Customer. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Customer. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1402,7 +1404,7 @@ export interface CustomerSetSalutationAction extends ICustomerUpdateAction { } /** * Sets the Stores the Customer account is associated with. - * If no Stores are specified, the Customer becomes a [global Customer](/../api/customers-overview#global-versus-store-specific-customers). + * If no Stores are specified, the Customer becomes a [global Customer](/api/customers-overview#global-versus-store-specific-customers). * * This action generates the [CustomerStoresSet](ctp:api:type:CustomerStoresSetMessage) Message. * diff --git a/src/lib/types/models/discount-code.ts b/src/lib/types/models/discount-code.ts index 71bdd6952b..0eb1b51d5f 100644 --- a/src/lib/types/models/discount-code.ts +++ b/src/lib/types/models/discount-code.ts @@ -14,6 +14,7 @@ import { LocalizedString, Reference, } from './common.js' +import { StoreKeyReference } from './store.js' import { CustomFields, CustomFieldsDraft, FieldContainer, TypeResourceIdentifier } from './type.js' export interface DiscountCode extends BaseResource { @@ -71,7 +72,7 @@ export interface DiscountCode extends BaseResource { */ readonly description?: LocalizedString /** - * User-defined unique identifier of the DiscountCode [added to the Cart](/../api/projects/carts#add-discountcode) to apply the related [CartDiscounts](ctp:api:type:CartDiscount). + * User-defined unique identifier of the DiscountCode [added to the Cart](/api/projects/carts#add-discountcode) to apply the related [CartDiscounts](ctp:api:type:CartDiscount). * * */ @@ -82,6 +83,14 @@ export interface DiscountCode extends BaseResource { * */ readonly cartDiscounts: CartDiscountReference[] + /** + * Reference to the Stores the DiscountCode is associated with, derived from the `stores` field of each referenced [CartDiscount](ctp:api:type:CartDiscount). + * + * The value of this field is [eventually consistent](/api/general-concepts#eventual-consistency). + * + * + */ + readonly stores: StoreKeyReference[] /** * DiscountCode can only be applied to Carts that match this predicate. * @@ -103,7 +112,11 @@ export interface DiscountCode extends BaseResource { readonly references: Reference[] /** * Number of times the DiscountCode can be applied. + * * DiscountCode application is counted at the time of Order creation or edit. However, Order cancellation or deletion does not decrement the count. + * + * If `maxApplicationsPerCustomer` is set, each application also counts toward this limit. + * * This field does not limit discount applications for Orders created from a [Recurring Order](ctp:api:type:RecurringOrder). * * @@ -111,7 +124,11 @@ export interface DiscountCode extends BaseResource { readonly maxApplications?: number /** * Number of times the DiscountCode can be applied per Customer (anonymous Carts are not supported). + * + * Each use also counts toward the `maxApplications` limit. + * * DiscountCode application is counted at the time of Order creation or edit. However, Order cancellation or deletion does not decrement the count. + * * This field does not limit discount applications for Orders created from a [Recurring Order](ctp:api:type:RecurringOrder). * * @@ -153,7 +170,7 @@ export interface DiscountCodeDraft { /** * User-defined unique identifier for the DiscountCode. * - * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Discount Codes with the [Import API](/../api/import-export/overview) and the [Merchant Center](/../merchant-center/import-data). + * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Discount Codes with the [Import API](/api/import-export/overview) and the [Merchant Center](/merchant-center/import-data). * */ readonly key?: string @@ -170,7 +187,7 @@ export interface DiscountCodeDraft { */ readonly description?: LocalizedString /** - * User-defined unique identifier for the DiscountCode that can be [added to the Cart](/../api/projects/carts#add-discountcode) to apply the related [CartDiscounts](ctp:api:type:CartDiscount). + * User-defined unique identifier for the DiscountCode that can be [added to the Cart](/api/projects/carts#add-discountcode) to apply the related [CartDiscounts](ctp:api:type:CartDiscount). * It cannot be modified after the DiscountCode is created. * * @@ -198,6 +215,9 @@ export interface DiscountCodeDraft { * Number of times the DiscountCode can be applied. * * If not set, the DiscountCode can be applied any number of times. + * + * If `maxApplicationsPerCustomer` is set, each application also counts toward this limit. + * * This field does not limit discount applications for Orders created from a [Recurring Order](ctp:api:type:RecurringOrder). * * @@ -207,6 +227,9 @@ export interface DiscountCodeDraft { * Number of times the DiscountCode can be applied per Customer. * * If not set, the DiscountCode can be applied any number of times. + * + * Each use also counts toward the `maxApplications` limit. + * * This field does not limit discount applications for Orders created from a [Recurring Order](ctp:api:type:RecurringOrder). * * @@ -238,18 +261,18 @@ export interface DiscountCodeDraft { readonly validUntil?: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [DiscountCode](ctp:api:type:DiscountCode). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [DiscountCode](ctp:api:type:DiscountCode). * */ export interface DiscountCodePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -262,10 +285,10 @@ export interface DiscountCodePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -290,14 +313,14 @@ export interface DiscountCodeReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded DiscountCode. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for DiscountCodes. + * Contains the representation of the expanded DiscountCode. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for DiscountCodes. * * */ readonly obj?: DiscountCode } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [DiscountCode](ctp:api:type:DiscountCode). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [DiscountCode](ctp:api:type:DiscountCode). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface DiscountCodeResourceIdentifier extends IResourceIdentifier { @@ -389,7 +412,7 @@ export interface DiscountCodeSetCartPredicateAction extends IDiscountCodeUpdateA export interface DiscountCodeSetCustomFieldAction extends IDiscountCodeUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -406,14 +429,16 @@ export interface DiscountCodeSetCustomFieldAction extends IDiscountCodeUpdateAct export interface DiscountCodeSetCustomTypeAction extends IDiscountCodeUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the DiscountCode with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the DiscountCode with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the DiscountCode. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the DiscountCode. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the DiscountCode. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -447,6 +472,9 @@ export interface DiscountCodeSetMaxApplicationsAction extends IDiscountCodeUpdat * Value to set. * * If empty, any existing value will be removed and the DiscountCode can be applied any number of times. + * + * If `maxApplicationsPerCustomer` is set, each application also counts toward this limit. + * * This field does not limit discount applications for Orders created from a [Recurring Order](ctp:api:type:RecurringOrder). * * @@ -459,6 +487,9 @@ export interface DiscountCodeSetMaxApplicationsPerCustomerAction extends IDiscou * Value to set. * * If empty, any existing value will be removed and the DiscountCode can be applied any number of times. + * + * Each use also counts toward the `maxApplications` limit. + * * This field does not limit discount applications for Orders created from a [Recurring Order](ctp:api:type:RecurringOrder). * * diff --git a/src/lib/types/models/discount-group.ts b/src/lib/types/models/discount-group.ts index 56e99e16fa..b55c18faeb 100644 --- a/src/lib/types/models/discount-group.ts +++ b/src/lib/types/models/discount-group.ts @@ -111,18 +111,18 @@ export interface DiscountGroupDraft { readonly isActive?: boolean } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [DiscountGroup](ctp:api:type:DiscountGroup). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [DiscountGroup](ctp:api:type:DiscountGroup). * */ export interface DiscountGroupPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -135,10 +135,10 @@ export interface DiscountGroupPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -164,7 +164,7 @@ export interface DiscountGroupReference extends IReference { readonly id: string /** * Contains the representation of the expanded DiscountGroup. - * Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for DiscountGroups. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for DiscountGroups. * * */ @@ -172,7 +172,7 @@ export interface DiscountGroupReference extends IReference { } /** * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [DiscountGroup](ctp:api:type:DiscountGroup). Either `id` or `key` is required. - * If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface DiscountGroupResourceIdentifier extends IResourceIdentifier { @@ -232,7 +232,7 @@ export interface DiscountGroupSetDescriptionAction extends IDiscountGroupUpdateA /** * This action generates the [DiscountGroupIsActiveSet](ctp:api:type:DiscountGroupIsActiveSetMessage) Message. * - * If the [limit](/../api/limits#discount-groups) for active Discount Groups has been reached, a [MaxDiscountGroupsReached](ctp:api:type:MaxDiscountGroupsReachedError) error is returned. + * If the [limit](/api/limits#discount-groups) for active Discount Groups has been reached, a [MaxDiscountGroupsReached](ctp:api:type:MaxDiscountGroupsReachedError) error is returned. * */ export interface DiscountGroupSetIsActiveAction extends IDiscountGroupUpdateAction { diff --git a/src/lib/types/models/error.ts b/src/lib/types/models/error.ts index ede861dcda..b153affa6d 100644 --- a/src/lib/types/models/error.ts +++ b/src/lib/types/models/error.ts @@ -40,6 +40,8 @@ export type ErrorObject = | AttributeDefinitionTypeConflictError | AttributeNameDoesNotExistError | BadGatewayError + | BulkOperationMaxItemsExceededError + | CircularDependencyError | ConcurrentModificationError | ContentTooLargeError | CountryNotConfiguredInStoreError @@ -62,6 +64,9 @@ export type ErrorObject = | ExpiredCustomerEmailTokenError | ExpiredCustomerPasswordTokenError | ExtensionBadResponseError + | ExtensionChainTooDeepError + | ExtensionChainTooWideError + | ExtensionDependencyExistsError | ExtensionNoResponseError | ExtensionPredicateEvaluationFailedError | ExtensionUpdateActionsFailedError @@ -80,12 +85,15 @@ export type ErrorObject = | InvalidSubjectError | InvalidTokenError | LanguageUsedInStoresError + | LineItemQuantityAboveLimitError + | LineItemQuantityBelowLimitError | LockedFieldError | MatchingPriceNotFoundError | MaxCartDiscountsReachedError | MaxDiscountGroupsReachedError | MaxResourceLimitExceededError | MaxStoreReferencesReachedError + | MissingDependencyError | MissingRoleOnChannelError | MissingTaxRateForCountryError | MoneyOverflowError @@ -93,6 +101,7 @@ export type ErrorObject = | ObjectNotFoundError | OutOfStockError | OverCapacityError + | OverlappingPriceValidityError | OverlappingStandalonePriceValidityError | PendingOperationError | PriceChangedError @@ -116,6 +125,7 @@ export type ErrorObject = | ShippingMethodDoesNotMatchCartError | StoreCartDiscountsLimitReachedError | SyntaxErrorError + | UnauthorizedError | ValidityLockConflictError export interface IErrorObject { [key: string]: any @@ -149,7 +159,7 @@ export interface AnonymousIdAlreadyInUseError extends IErrorObject { readonly message: string } /** - * Returned when an [Associate](/projects/business-units#associate) is missing a [Permission](/projects/associate-roles#ctp:api:type:Permission) on a [B2B resource](/associates-overview#b2b-resources). + * Returned when an [Associate](ctp:api:type:Associate) is missing a [Permission](ctp:api:type:Permission) on a [B2B resource](/associates-overview#b2b-resources). * */ export interface AssociateMissingPermissionError extends IErrorObject { @@ -293,6 +303,48 @@ export interface BadGatewayError extends IErrorObject { */ readonly message: string } +/** + * Returned when a bulk request contains more items than the allowed maximum. + * + * Reduce the number of items in the request to at most `limit` and retry. + * + */ +export interface BulkOperationMaxItemsExceededError extends IErrorObject { + readonly code: 'BulkOperationMaxItemsExceeded' + [key: string]: any + /** + * `"The bulk request exceeds the maximum allowed items of $limit."` + * + * + */ + readonly message: string + /** + * Maximum number of items allowed in a single bulk request. + * + * + */ + readonly limit: number + /** + * Number of items provided in the request. + * + * + */ + readonly provided: number +} +/** + * Returned when a circular reference is detected among Extension dependencies. + * + */ +export interface CircularDependencyError extends IErrorObject { + readonly code: 'CircularDependency' + [key: string]: any + /** + * `"Circular dependency detected: [ext-1, ext-2, ext-1]"` + * + * + */ + readonly message: string +} /** * Returned when the request conflicts with the current state of the involved resources. Typically, the request attempts to modify a resource that is out of date (that is modified by another client since it was last retrieved). * The client application should resolve the conflict (with or without involving the end user) before retrying the request. @@ -426,7 +478,7 @@ export interface DiscountCodeNonApplicableError extends IErrorObject { readonly validityCheckTime?: string } /** - * Returned when the `Unique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/../api/projects/products#update-product) request. + * Returned when the `Unique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/api/projects/products#update-product) request. * */ export interface DuplicateAttributeValueError extends IErrorObject { @@ -446,7 +498,7 @@ export interface DuplicateAttributeValueError extends IErrorObject { readonly attribute: Attribute } /** - * Returned when the `CombinationUnique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/../api/projects/products#update-product) request. + * Returned when the `CombinationUnique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/api/projects/products#update-product) request. * */ export interface DuplicateAttributeValuesError extends IErrorObject { @@ -566,7 +618,7 @@ export interface DuplicatePriceKeyError extends IErrorObject { readonly conflictingPrice: Price } /** - * Returned when a Price scope conflicts with an existing one during an [Update Product](/../api/projects/products#update-product) request. + * Returned when a Price scope conflicts with an existing one during an [Update Product](/api/projects/products#update-product) request. * * Every Price of a Product Variant must have a distinct combination of currency, Customer Group, country, and Channel that constitute the scope of a Price. * @@ -653,7 +705,7 @@ export interface DuplicateStandalonePriceScopeError extends IErrorObject { readonly validUntil?: string } /** - * Returned when a [Product Variant](ctp:api:type:ProductVariant) value conflicts with an existing one during an [Update Product](/../api/projects/products#update-product) request. + * Returned when a [Product Variant](ctp:api:type:ProductVariant) value conflicts with an existing one during an [Update Product](/api/projects/products#update-product) request. * */ export interface DuplicateVariantValuesError extends IErrorObject { @@ -988,6 +1040,48 @@ export interface ExtensionBadResponseError extends IErrorObject { */ readonly extensionKey?: string } +/** + * Returned when the Extension dependency chain exceeds 3 layers. + * + */ +export interface ExtensionChainTooDeepError extends IErrorObject { + readonly code: 'ExtensionChainTooDeep' + [key: string]: any + /** + * `"The dependency chain depth 4 exceeds the maximum allowed depth of 3"` + * + * + */ + readonly message: string +} +/** + * Returned when an Extension declares more than 5 direct dependencies. + * + */ +export interface ExtensionChainTooWideError extends IErrorObject { + readonly code: 'ExtensionChainTooWide' + [key: string]: any + /** + * `"Extension chain breadth exceeds the maximum allowed breadth of 5"` + * + * + */ + readonly message: string +} +/** + * Returned when attempting to delete an Extension that is a prerequisite for other Extensions. + * + */ +export interface ExtensionDependencyExistsError extends IErrorObject { + readonly code: 'ExtensionDependencyExists' + [key: string]: any + /** + * `"The extension cannot be deleted because it is a prerequisite for: [ext-2, ext-3]."` + * + * + */ + readonly message: string +} export interface ExtensionError { [key: string]: any /** @@ -1014,7 +1108,7 @@ export interface ExtensionError { readonly extensionKey?: string } /** - * Returned when the API Extension does not respond within the [time limit](/../api/projects/api-extensions#time-limits), or could not be reached. + * Returned when the API Extension does not respond within the [time limit](/api/projects/api-extensions#time-limits), or could not be reached. * */ export interface ExtensionNoResponseError extends IErrorObject { @@ -1093,7 +1187,7 @@ export interface ExtensionUpdateActionsFailedError extends IErrorObject { readonly extensionErrors: ExtensionError[] } /** - * Returned when an [external OAuth Introspection endpoint](/../api/authorization#request-an-access-token-using-an-external-oauth-server) does not return a response within the [time limit](/../api/authorization#time-limits), or the response isn't compliant with [RFC 7662](https://www.rfc-editor.org/rfc/rfc7662.html) (for example, an HTTP status code like `500`). + * Returned when an [external OAuth Introspection endpoint](/api/authorization#request-an-access-token-using-an-external-oauth-server) does not return a response within the [time limit](/api/authorization#time-limits), or the response isn't compliant with [RFC 7662](https://www.rfc-editor.org/rfc/rfc7662.html) (for example, an HTTP status code like `500`). * */ export interface ExternalOAuthFailedError extends IErrorObject { @@ -1123,7 +1217,7 @@ export interface FeatureRemovedError extends IErrorObject { /** * Returned when a server-side problem occurs before or after data persistence. In some cases, the requested action may successfully complete after the error is returned. Therefore, it is recommended to verify the status of the requested resource after receiving a 500 error. * - * If you encounter this error, report it to the [Composable Commerce support team](https://support.commercetools.com). + * If you encounter this error, report it to the [commercetools support team](https://support.commercetools.com). * */ export interface GeneralError extends IErrorObject { @@ -1137,7 +1231,7 @@ export interface GeneralError extends IErrorObject { readonly message: string } /** - * This error occurs when your [API Client](/../api/projects/api-clients) does not have the [OAuth scope](/../api/scopes) required for the endpoint. + * This error occurs when your [API Client](/api/projects/api-clients) does not have the [OAuth scope](/api/scopes) required for the endpoint. * Use an API Client with the required permissions for this endpoint instead. * */ @@ -1360,6 +1454,70 @@ export interface LanguageUsedInStoresError extends IErrorObject { */ readonly message: string } +/** + * Returned when attempting to create or update a [Cart](ctp:api:type:Cart) with a Line Item whose quantity exceeds the `maxCartQuantity` limit defined in the [InventoryEntry](ctp:api:type:InventoryEntry) for that Line Item's SKU. + * + */ +export interface LineItemQuantityAboveLimitError extends IErrorObject { + readonly code: 'LineItemQuantityAboveLimit' + [key: string]: any + /** + * `"Quantity '$quantity' greater than maximum '$maxCartQuantity'."` + * + * + */ + readonly message: string + /** + * The quantity that was requested. + * + * + */ + readonly quantity: number + /** + * The maximum quantity allowed for this Line Item. + * + * + */ + readonly maxCartQuantity: number + /** + * Reference to the Line Item that caused the error. + * + * + */ + readonly lineItem?: string +} +/** + * Returned when attempting to create or update a [Cart](ctp:api:type:Cart) with a Line Item whose quantity is below the `minCartQuantity` limit defined in the [InventoryEntry](ctp:api:type:InventoryEntry) for that Line Item's SKU. + * + */ +export interface LineItemQuantityBelowLimitError extends IErrorObject { + readonly code: 'LineItemQuantityBelowLimit' + [key: string]: any + /** + * `"Quantity '$quantity' less than minimum '$minCartQuantity'."` + * + * + */ + readonly message: string + /** + * The quantity that was requested. + * + * + */ + readonly quantity: number + /** + * The minimum quantity required for this Line Item. + * + * + */ + readonly minCartQuantity: number + /** + * Reference to the Line Item that caused the error. + * + * + */ + readonly lineItem?: string +} /** * Returned when two [Customers](ctp:api:type:Customer) are simultaneously created or updated with the same email address. * @@ -1446,7 +1604,7 @@ export interface MatchingPriceNotFoundError extends IErrorObject { readonly channel?: ChannelReference } /** - * Returned when a Cart Discount cannot be created or activated as the [limit](/../api/limits#cart-discounts) for active Cart Discounts has been reached. + * Returned when a Cart Discount cannot be created or activated as the [limit](/api/limits#cart-discounts) for active Cart Discounts has been reached. * * The error is returned as a failed response to: * @@ -1465,7 +1623,7 @@ export interface MaxCartDiscountsReachedError extends IErrorObject { readonly message: string } /** - * Returned when a Discount Group cannot be created or activated as the [limit](/../api/limits#discount-groups) for active Discount Groups has been reached. + * Returned when a Discount Group cannot be created or activated as the [limit](/api/limits#discount-groups) for active Discount Groups has been reached. * * The error is returned as a failed response to: * @@ -1484,7 +1642,7 @@ export interface MaxDiscountGroupsReachedError extends IErrorObject { readonly message: string } /** - * Returned when a resource type cannot be created as it has reached its [limits](/../api/limits). + * Returned when a resource type cannot be created as it has reached its [limits](/api/limits). * * The limits must be adjusted for this resource before sending the request again. * @@ -1506,7 +1664,7 @@ export interface MaxResourceLimitExceededError extends IErrorObject { readonly exceededResource: ReferenceTypeId } /** - * Returned when a Store cannot be added to a Cart Discount as the [limit](/../api/limits#cart-discounts-stores) for Stores configured for a Cart Discount has been reached. + * Returned when a Store cannot be added to a Cart Discount as the [limit](/api/limits#cart-discounts-stores) for Stores configured for a Cart Discount has been reached. * * The error is returned as a failed response to: * @@ -1524,6 +1682,20 @@ export interface MaxStoreReferencesReachedError extends IErrorObject { */ readonly message: string } +/** + * Returned when a referenced Extension does not exist or is not applicable to the same trigger. + * + */ +export interface MissingDependencyError extends IErrorObject { + readonly code: 'MissingDependency' + [key: string]: any + /** + * `"The extensions '[ext-1, ext-2]' referenced in 'dependencies' do not exist."` + * + * + */ + readonly message: string +} /** * Returned when one of the following states occur: * @@ -1635,7 +1807,7 @@ export interface NoMatchingProductDiscountFoundError extends IErrorObject { readonly message: string } /** - * Returned if the requested resource was not found or the Product Search index is [inactive](/../api/projects/product-search#activate-the-product-search-api). + * Returned if the requested resource was not found or the Product Search index is [inactive](/api/projects/product-search#activate-the-product-search-api). * */ export interface ObjectNotFoundError extends IErrorObject { @@ -1697,6 +1869,77 @@ export interface OverCapacityError extends IErrorObject { */ readonly message: string } +/** + * Returned when a given Price validity period conflicts with an existing one. + * Every Price of a Product Variant with the same combination of currency, country, Customer Group, and Channel must have non-overlapping validity periods (`validFrom` and `validUntil`). + * + * The error is returned as a failed response to the [Create Product](ctp:api:endpoint:/{projectKey}/products:POST) or [Update Product](/api/projects/products#update-product) request. + * + */ +export interface OverlappingPriceValidityError extends IErrorObject { + readonly code: 'OverlappingPriceValidity' + [key: string]: any + /** + * `"Two prices have overlapping validity periods."` + * + * + */ + readonly message: string + /** + * Unique identifier of the conflicting Embedded Price. + * + * + */ + readonly conflictingPrice: string + /** + * Currency code of the Price. + * + * + */ + readonly currency: string + /** + * Country code of the Price. + * + * + */ + readonly country?: string + /** + * [CustomerGroup](ctp:api:type:CustomerGroup) for which the Price is valid. + * + * + */ + readonly customerGroup?: CustomerGroupResourceIdentifier + /** + * [Channel](ctp:api:type:Channel) for which the Price is valid. + * + * + */ + readonly channel?: ChannelResourceIdentifier + /** + * Date and time (UTC) from which the Embedded Price is valid. + * + * + */ + readonly validFrom?: string + /** + * Date and time (UTC) until which the Embedded Price is valid. + * + * + */ + readonly validUntil?: string + /** + * Date and time (UTC) from which the conflicting Embedded Price is valid. + * + * + */ + readonly conflictingValidFrom?: string + /** + * Date and time (UTC) until which the conflicting Embedded Price is valid. + * + * + */ + readonly conflictingValidUntil?: string +} /** * Returned when a given Price validity period conflicts with an existing one. * Every Standalone Price associated with the same SKU and with the same combination of currency, country, Customer Group, and Channel, must have non-overlapping validity periods (`validFrom` and `validUntil`). @@ -1778,7 +2021,7 @@ export interface OverlappingStandalonePriceValidityError extends IErrorObject { * Returned when a previous conflicting operation is still pending and needs to finish before the request can succeed. * * The client application should retry the request with exponential backoff up to a point where further delay is unacceptable. - * If the error persists, report it to the [Composable Commerce support team](https://support.commercetools.com). + * If the error persists, report it to the [commercetools support team](https://support.commercetools.com). * */ export interface PendingOperationError extends IErrorObject { @@ -1818,7 +2061,7 @@ export interface PriceChangedError extends IErrorObject { */ readonly lineItems: string[] /** - * `true` if the [ShippingRate](ctp:api:type:ShippingRate) has changed. + * Whether the [ShippingRate](ctp:api:type:ShippingRate) has changed. * * */ @@ -1849,7 +2092,7 @@ export interface ProductAssignmentMissingError extends IErrorObject { readonly product: ProductReference } /** - * Returned when a Product is already assigned to a [Product Selection](/../api/projects/product-selections), but the Product Selection has either a different [Product Variant Selection](ctp:api:type:ProductVariantSelection) or a different [Product Variant Exclusion](ctp:api:type:ProductVariantExclusion). + * Returned when a Product is already assigned to a [Product Selection](/api/projects/product-selections), but the Product Selection has either a different [Product Variant Selection](ctp:api:type:ProductVariantSelection) or a different [Product Variant Exclusion](ctp:api:type:ProductVariantExclusion). * * The error is returned as a failed response either to the [Add Product](ctp:api:type:ProductSelectionAddProductAction) or to the [Exclude Product](ctp:api:type:ProductSelectionExcludeProductAction) update action. * @@ -1870,7 +2113,7 @@ export interface ProductPresentWithDifferentVariantSelectionError extends IError */ readonly product: ProductReference /** - * Existing Product Variant Selection or Exclusion for the [Product](/../api/projects/products) in the [Product Selection](/../api/projects/product-selections). + * Existing Product Variant Selection or Exclusion for the [Product](/api/projects/products) in the [Product Selection](/api/projects/product-selections). * * */ @@ -1909,7 +2152,7 @@ export interface QueryComplexityLimitExceededError extends IErrorObject { /** * Returned when the query times out. * - * If a query constantly times out, please check if it follows the [performance best practices](/../api/predicates/query#performance-considerations). + * If a query constantly times out, please check if it follows the [performance best practices](/api/predicates/query#performance-considerations). * */ export interface QueryTimedOutError extends IErrorObject { @@ -2115,7 +2358,7 @@ export interface SearchNotReadyError extends IErrorObject { readonly message: string } /** - * Returned when a [Discount predicate](/../api/predicates/predicate-operators) or [API Extension predicate](/../api/predicates/query#use-predicates-in-conditional-api-extensions) is not semantically correct. + * Returned when a [Discount predicate](/api/predicates/predicate-operators) or [API Extension predicate](/api/predicates/query#use-predicates-in-conditional-api-extensions) is not semantically correct. * */ export interface SemanticErrorError extends IErrorObject { @@ -2151,7 +2394,7 @@ export interface ShippingMethodDoesNotMatchCartError extends IErrorObject { readonly message: string } /** - * Returned when a Cart Discount cannot be created or assigned to a Store as the [limit](/../api/limits#cart-discounts) for active Cart Discounts in a Store has been reached for one or more Stores in the request. + * Returned when a Cart Discount cannot be created or assigned to a Store as the [limit](/api/limits#cart-discounts) for active Cart Discounts in a Store has been reached for one or more Stores in the request. * * The error is returned as a failed response to: * @@ -2176,7 +2419,7 @@ export interface StoreCartDiscountsLimitReachedError extends IErrorObject { readonly stores: StoreKeyReference[] } /** - * Returned when a [Discount predicate](/../api/predicates/predicate-operators), [API Extension predicate](/../api/predicates/query#use-predicates-in-conditional-api-extensions), or [search query](/../api/projects/product-projection-search) does not have the correct syntax. + * Returned when a [Discount predicate](/api/predicates/predicate-operators), [API Extension predicate](/api/predicates/query#use-predicates-in-conditional-api-extensions), or [search query](/api/projects/product-projection-search) does not have the correct syntax. * */ export interface SyntaxErrorError extends IErrorObject { @@ -2189,6 +2432,31 @@ export interface SyntaxErrorError extends IErrorObject { */ readonly message: string } +/** + * Returned when one of the following conditions occurs: + * + * - A Customer reference (for example, `associates[*].customer` or `inheritedAssociates[*].customer`) is expanded on the [My Business Unit](/api/projects/me-business-units) endpoint. + * - A [Cart Discount](ctp:api:type:CartDiscount) cannot be modified due to missing permissions for its assigned [Stores](ctp:api:type:Store). + * + */ +export interface UnauthorizedError extends IErrorObject { + readonly code: 'Unauthorized' + [key: string]: any + /** + * `"Customer reference expansion not permitted on my business unit"` or `"Not allowed to edit this CartDiscount."` + * + * + */ + readonly message: string + /** + * Keys of [Stores](ctp:api:type:Store) for which the required permission to modify is missing. + * + * This field is returned only for [Cart Discounts](ctp:api:type:CartDiscount). + * + * + */ + readonly storesWithoutPermission?: string[] +} /** * Returned when a modification is already in progress for the combination of SKU and price scope fields (but potentially different validity period) for a Standalone Price. * Retry the same request after 300 ms. @@ -2275,6 +2543,8 @@ export type GraphQLErrorObject = | GraphQLAttributeDefinitionTypeConflictError | GraphQLAttributeNameDoesNotExistError | GraphQLBadGatewayError + | GraphQLBulkOperationMaxItemsExceededError + | GraphQLCircularDependencyError | GraphQLConcurrentModificationError | GraphQLContentTooLargeError | GraphQLCountryNotConfiguredInStoreError @@ -2297,6 +2567,9 @@ export type GraphQLErrorObject = | GraphQLExpiredCustomerEmailTokenError | GraphQLExpiredCustomerPasswordTokenError | GraphQLExtensionBadResponseError + | GraphQLExtensionChainTooDeepError + | GraphQLExtensionChainTooWideError + | GraphQLExtensionDependencyExistsError | GraphQLExtensionNoResponseError | GraphQLExtensionPredicateEvaluationFailedError | GraphQLExtensionUpdateActionsFailedError @@ -2315,12 +2588,15 @@ export type GraphQLErrorObject = | GraphQLInvalidSubjectError | GraphQLInvalidTokenError | GraphQLLanguageUsedInStoresError + | GraphQLLineItemQuantityAboveLimitError + | GraphQLLineItemQuantityBelowLimitError | GraphQLLockedFieldError | GraphQLMatchingPriceNotFoundError | GraphQLMaxCartDiscountsReachedError | GraphQLMaxDiscountGroupsReachedError | GraphQLMaxResourceLimitExceededError | GraphQLMaxStoreReferencesReachedError + | GraphQLMissingDependencyError | GraphQLMissingRoleOnChannelError | GraphQLMissingTaxRateForCountryError | GraphQLMoneyOverflowError @@ -2328,6 +2604,7 @@ export type GraphQLErrorObject = | GraphQLObjectNotFoundError | GraphQLOutOfStockError | GraphQLOverCapacityError + | GraphQLOverlappingPriceValidityError | GraphQLOverlappingStandalonePriceValidityError | GraphQLPendingOperationError | GraphQLPriceChangedError @@ -2351,6 +2628,7 @@ export type GraphQLErrorObject = | GraphQLShippingMethodDoesNotMatchCartError | GraphQLStoreCartDiscountsLimitReachedError | GraphQLSyntaxErrorError + | GraphQLUnauthorizedError | GraphQLValidityLockConflictError export interface IGraphQLErrorObject { [key: string]: any @@ -2372,7 +2650,7 @@ export interface GraphQLAnonymousIdAlreadyInUseError extends IGraphQLErrorObject [key: string]: any } /** - * Returned when an [Associate](/projects/business-units#associate) is missing a [Permission](/projects/associate-roles#ctp:api:type:Permission) on a [B2B resource](/associates-overview#b2b-resources). + * Returned when an [Associate](ctp:api:type:Associate) is missing a [Permission](ctp:api:type:Permission) on a [B2B resource](/associates-overview#b2b-resources). * */ export interface GraphQLAssociateMissingPermissionError extends IGraphQLErrorObject { @@ -2485,6 +2763,36 @@ export interface GraphQLBadGatewayError extends IGraphQLErrorObject { readonly code: 'BadGateway' [key: string]: any } +/** + * Returned when a bulk request contains more items than the allowed maximum. + * + * Reduce the number of items in the request to at most `limit` and retry. + * + */ +export interface GraphQLBulkOperationMaxItemsExceededError extends IGraphQLErrorObject { + readonly code: 'BulkOperationMaxItemsExceeded' + [key: string]: any + /** + * Maximum number of items allowed in a single bulk request. + * + * + */ + readonly limit: number + /** + * Number of items provided in the request. + * + * + */ + readonly provided: number +} +/** + * Returned when a circular reference is detected among Extension dependencies. + * + */ +export interface GraphQLCircularDependencyError extends IGraphQLErrorObject { + readonly code: 'CircularDependency' + [key: string]: any +} /** * Returned when the request conflicts with the current state of the involved resources. Typically, the request attempts to modify a resource that is out of date (that is modified by another client since it was last retrieved). * The client application should resolve the conflict (with or without involving the end user) before retrying the request. @@ -2594,7 +2902,7 @@ export interface GraphQLDiscountCodeNonApplicableError extends IGraphQLErrorObje readonly validityCheckTime?: string } /** - * Returned when the `Unique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/../api/projects/products#update-product) request. + * Returned when the `Unique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/api/projects/products#update-product) request. * */ export interface GraphQLDuplicateAttributeValueError extends IGraphQLErrorObject { @@ -2608,7 +2916,7 @@ export interface GraphQLDuplicateAttributeValueError extends IGraphQLErrorObject readonly attribute: Attribute } /** - * Returned when the `CombinationUnique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/../api/projects/products#update-product) request. + * Returned when the `CombinationUnique` [AttributeConstraint](ctp:api:type:AttributeConstraintEnum) criteria are not met during an [Update Product](/api/projects/products#update-product) request. * */ export interface GraphQLDuplicateAttributeValuesError extends IGraphQLErrorObject { @@ -2698,7 +3006,7 @@ export interface GraphQLDuplicatePriceKeyError extends IGraphQLErrorObject { readonly conflictingPrice: Price } /** - * Returned when a Price scope conflicts with an existing one during an [Update Product](/../api/projects/products#update-product) request. + * Returned when a Price scope conflicts with an existing one during an [Update Product](/api/projects/products#update-product) request. * * Every Price of a Product Variant must have a distinct combination of currency, Customer Group, country, and Channel that constitute the scope of a Price. * @@ -2773,7 +3081,7 @@ export interface GraphQLDuplicateStandalonePriceScopeError extends IGraphQLError readonly validUntil?: string } /** - * Returned when a [Product Variant](ctp:api:type:ProductVariant) value conflicts with an existing one during an [Update Product](/../api/projects/products#update-product) request. + * Returned when a [Product Variant](ctp:api:type:ProductVariant) value conflicts with an existing one during an [Update Product](/api/projects/products#update-product) request. * */ export interface GraphQLDuplicateVariantValuesError extends IGraphQLErrorObject { @@ -2999,7 +3307,31 @@ export interface GraphQLExtensionBadResponseError extends IGraphQLErrorObject { readonly extensionKey?: string } /** - * Returned when the API Extension does not respond within the [time limit](/../api/projects/api-extensions#time-limits), or could not be reached. + * Returned when the Extension dependency chain exceeds 3 layers. + * + */ +export interface GraphQLExtensionChainTooDeepError extends IGraphQLErrorObject { + readonly code: 'ExtensionChainTooDeep' + [key: string]: any +} +/** + * Returned when an Extension declares more than 5 direct dependencies. + * + */ +export interface GraphQLExtensionChainTooWideError extends IGraphQLErrorObject { + readonly code: 'ExtensionChainTooWide' + [key: string]: any +} +/** + * Returned when attempting to delete an Extension that is a prerequisite for other Extensions. + * + */ +export interface GraphQLExtensionDependencyExistsError extends IGraphQLErrorObject { + readonly code: 'ExtensionDependencyExists' + [key: string]: any +} +/** + * Returned when the API Extension does not respond within the [time limit](/api/projects/api-extensions#time-limits), or could not be reached. * */ export interface GraphQLExtensionNoResponseError extends IGraphQLErrorObject { @@ -3060,7 +3392,7 @@ export interface GraphQLExtensionUpdateActionsFailedError extends IGraphQLErrorO readonly extensionErrors: ExtensionError[] } /** - * Returned when an [external OAuth Introspection endpoint](/../api/authorization#request-an-access-token-using-an-external-oauth-server) does not return a response within the [time limit](/../api/authorization#time-limits), or the response isn't compliant with [RFC 7662](https://www.rfc-editor.org/rfc/rfc7662.html) (for example, an HTTP status code like `500`). + * Returned when an [external OAuth Introspection endpoint](/api/authorization#request-an-access-token-using-an-external-oauth-server) does not return a response within the [time limit](/api/authorization#time-limits), or the response isn't compliant with [RFC 7662](https://www.rfc-editor.org/rfc/rfc7662.html) (for example, an HTTP status code like `500`). * */ export interface GraphQLExternalOAuthFailedError extends IGraphQLErrorObject { @@ -3078,7 +3410,7 @@ export interface GraphQLFeatureRemovedError extends IGraphQLErrorObject { /** * Returned when a server-side problem occurs before or after data persistence. In some cases, the requested action may successfully complete after the error is returned. Therefore, it is recommended to verify the status of the requested resource after receiving a 500 error. * - * If you encounter this error, report it to the [Composable Commerce support team](https://support.commercetools.com). + * If you encounter this error, report it to the [commercetools support team](https://support.commercetools.com). * */ export interface GraphQLGeneralError extends IGraphQLErrorObject { @@ -3086,7 +3418,7 @@ export interface GraphQLGeneralError extends IGraphQLErrorObject { [key: string]: any } /** - * This error occurs when your [API Client](/../api/projects/api-clients) does not have the [OAuth scope](/../api/scopes) required for the endpoint. + * This error occurs when your [API Client](/api/projects/api-clients) does not have the [OAuth scope](/api/scopes) required for the endpoint. * Use an API Client with the required permissions for this endpoint instead. * */ @@ -3238,6 +3570,58 @@ export interface GraphQLLanguageUsedInStoresError extends IGraphQLErrorObject { readonly code: 'LanguageUsedInStores' [key: string]: any } +/** + * Returned when attempting to create or update a [Cart](ctp:api:type:Cart) with a Line Item whose quantity exceeds the `maxCartQuantity` limit defined in the [InventoryEntry](ctp:api:type:InventoryEntry) for that Line Item's SKU. + * + */ +export interface GraphQLLineItemQuantityAboveLimitError extends IGraphQLErrorObject { + readonly code: 'LineItemQuantityAboveLimit' + [key: string]: any + /** + * The quantity that was requested. + * + * + */ + readonly quantity: number + /** + * The maximum quantity allowed for this Line Item. + * + * + */ + readonly maxCartQuantity: number + /** + * Reference to the Line Item that caused the error. + * + * + */ + readonly lineItem?: string +} +/** + * Returned when attempting to create or update a [Cart](ctp:api:type:Cart) with a Line Item whose quantity is below the `minCartQuantity` limit defined in the [InventoryEntry](ctp:api:type:InventoryEntry) for that Line Item's SKU. + * + */ +export interface GraphQLLineItemQuantityBelowLimitError extends IGraphQLErrorObject { + readonly code: 'LineItemQuantityBelowLimit' + [key: string]: any + /** + * The quantity that was requested. + * + * + */ + readonly quantity: number + /** + * The minimum quantity required for this Line Item. + * + * + */ + readonly minCartQuantity: number + /** + * Reference to the Line Item that caused the error. + * + * + */ + readonly lineItem?: string +} /** * Returned when two [Customers](ctp:api:type:Customer) are simultaneously created or updated with the same email address. * @@ -3312,7 +3696,7 @@ export interface GraphQLMatchingPriceNotFoundError extends IGraphQLErrorObject { readonly channel?: ChannelReference } /** - * Returned when a Cart Discount cannot be created or activated as the [limit](/../api/limits#cart-discounts) for active Cart Discounts has been reached. + * Returned when a Cart Discount cannot be created or activated as the [limit](/api/limits#cart-discounts) for active Cart Discounts has been reached. * * The error is returned as a failed response to: * @@ -3325,7 +3709,7 @@ export interface GraphQLMaxCartDiscountsReachedError extends IGraphQLErrorObject [key: string]: any } /** - * Returned when a Discount Group cannot be created or activated as the [limit](/../api/limits#discount-groups) for active Discount Groups has been reached. + * Returned when a Discount Group cannot be created or activated as the [limit](/api/limits#discount-groups) for active Discount Groups has been reached. * * The error is returned as a failed response to: * @@ -3338,7 +3722,7 @@ export interface GraphQLMaxDiscountGroupsReachedError extends IGraphQLErrorObjec [key: string]: any } /** - * Returned when a resource type cannot be created as it has reached its [limits](/../api/limits). + * Returned when a resource type cannot be created as it has reached its [limits](/api/limits). * * The limits must be adjusted for this resource before sending the request again. * @@ -3354,7 +3738,7 @@ export interface GraphQLMaxResourceLimitExceededError extends IGraphQLErrorObjec readonly exceededResource: ReferenceTypeId } /** - * Returned when a Store cannot be added to a Cart Discount as the [limit](/../api/limits#cart-discounts-stores) for Stores configured for a Cart Discount has been reached. + * Returned when a Store cannot be added to a Cart Discount as the [limit](/api/limits#cart-discounts-stores) for Stores configured for a Cart Discount has been reached. * * The error is returned as a failed response to: * @@ -3366,6 +3750,14 @@ export interface GraphQLMaxStoreReferencesReachedError extends IGraphQLErrorObje readonly code: 'MaxStoreReferencesReached' [key: string]: any } +/** + * Returned when a referenced Extension does not exist or is not applicable to the same trigger. + * + */ +export interface GraphQLMissingDependencyError extends IGraphQLErrorObject { + readonly code: 'MissingDependency' + [key: string]: any +} /** * Returned when one of the following states occur: * @@ -3453,7 +3845,7 @@ export interface GraphQLNoMatchingProductDiscountFoundError extends IGraphQLErro [key: string]: any } /** - * Returned if the requested resource was not found or the Product Search index is [inactive](/../api/projects/product-search#activate-the-product-search-api). + * Returned if the requested resource was not found or the Product Search index is [inactive](/api/projects/product-search#activate-the-product-search-api). * */ export interface GraphQLObjectNotFoundError extends IGraphQLErrorObject { @@ -3496,6 +3888,71 @@ export interface GraphQLOverCapacityError extends IGraphQLErrorObject { readonly code: 'OverCapacity' [key: string]: any } +/** + * Returned when a given Price validity period conflicts with an existing one. + * Every Price of a Product Variant with the same combination of currency, country, Customer Group, and Channel must have non-overlapping validity periods (`validFrom` and `validUntil`). + * + * The error is returned as a failed response to the [Create Product](ctp:api:endpoint:/{projectKey}/products:POST) or [Update Product](/api/projects/products#update-product) request. + * + */ +export interface GraphQLOverlappingPriceValidityError extends IGraphQLErrorObject { + readonly code: 'OverlappingPriceValidity' + [key: string]: any + /** + * Unique identifier of the conflicting Embedded Price. + * + * + */ + readonly conflictingPrice: string + /** + * Currency code of the Price. + * + * + */ + readonly currency: string + /** + * Country code of the Price. + * + * + */ + readonly country?: string + /** + * [CustomerGroup](ctp:api:type:CustomerGroup) for which the Price is valid. + * + * + */ + readonly customerGroup?: CustomerGroupResourceIdentifier + /** + * [Channel](ctp:api:type:Channel) for which the Price is valid. + * + * + */ + readonly channel?: ChannelResourceIdentifier + /** + * Date and time (UTC) from which the Embedded Price is valid. + * + * + */ + readonly validFrom?: string + /** + * Date and time (UTC) until which the Embedded Price is valid. + * + * + */ + readonly validUntil?: string + /** + * Date and time (UTC) from which the conflicting Embedded Price is valid. + * + * + */ + readonly conflictingValidFrom?: string + /** + * Date and time (UTC) until which the conflicting Embedded Price is valid. + * + * + */ + readonly conflictingValidUntil?: string +} /** * Returned when a given Price validity period conflicts with an existing one. * Every Standalone Price associated with the same SKU and with the same combination of currency, country, Customer Group, and Channel, must have non-overlapping validity periods (`validFrom` and `validUntil`). @@ -3571,7 +4028,7 @@ export interface GraphQLOverlappingStandalonePriceValidityError extends IGraphQL * Returned when a previous conflicting operation is still pending and needs to finish before the request can succeed. * * The client application should retry the request with exponential backoff up to a point where further delay is unacceptable. - * If the error persists, report it to the [Composable Commerce support team](https://support.commercetools.com). + * If the error persists, report it to the [commercetools support team](https://support.commercetools.com). * */ export interface GraphQLPendingOperationError extends IGraphQLErrorObject { @@ -3600,7 +4057,7 @@ export interface GraphQLPriceChangedError extends IGraphQLErrorObject { */ readonly lineItems: string[] /** - * `true` if the [ShippingRate](ctp:api:type:ShippingRate) has changed. + * Whether the [ShippingRate](ctp:api:type:ShippingRate) has changed. * * */ @@ -3622,7 +4079,7 @@ export interface GraphQLProductAssignmentMissingError extends IGraphQLErrorObjec readonly product: ProductReference } /** - * Returned when a Product is already assigned to a [Product Selection](/../api/projects/product-selections), but the Product Selection has either a different [Product Variant Selection](ctp:api:type:ProductVariantSelection) or a different [Product Variant Exclusion](ctp:api:type:ProductVariantExclusion). + * Returned when a Product is already assigned to a [Product Selection](/api/projects/product-selections), but the Product Selection has either a different [Product Variant Selection](ctp:api:type:ProductVariantSelection) or a different [Product Variant Exclusion](ctp:api:type:ProductVariantExclusion). * * The error is returned as a failed response either to the [Add Product](ctp:api:type:ProductSelectionAddProductAction) or to the [Exclude Product](ctp:api:type:ProductSelectionExcludeProductAction) update action. * @@ -3637,7 +4094,7 @@ export interface GraphQLProductPresentWithDifferentVariantSelectionError extends */ readonly product: ProductReference /** - * Existing Product Variant Selection or Exclusion for the [Product](/../api/projects/products) in the [Product Selection](/../api/projects/product-selections). + * Existing Product Variant Selection or Exclusion for the [Product](/api/projects/products) in the [Product Selection](/api/projects/product-selections). * * */ @@ -3666,7 +4123,7 @@ export interface GraphQLQueryComplexityLimitExceededError extends IGraphQLErrorO /** * Returned when the query times out. * - * If a query constantly times out, please check if it follows the [performance best practices](/../api/predicates/query#performance-considerations). + * If a query constantly times out, please check if it follows the [performance best practices](/api/predicates/query#performance-considerations). * */ export interface GraphQLQueryTimedOutError extends IGraphQLErrorObject { @@ -3800,7 +4257,7 @@ export interface GraphQLSearchNotReadyError extends IGraphQLErrorObject { [key: string]: any } /** - * Returned when a [Discount predicate](/../api/predicates/predicate-operators) or [API Extension predicate](/../api/predicates/query#use-predicates-in-conditional-api-extensions) is not semantically correct. + * Returned when a [Discount predicate](/api/predicates/predicate-operators) or [API Extension predicate](/api/predicates/query#use-predicates-in-conditional-api-extensions) is not semantically correct. * */ export interface GraphQLSemanticErrorError extends IGraphQLErrorObject { @@ -3824,7 +4281,7 @@ export interface GraphQLShippingMethodDoesNotMatchCartError extends IGraphQLErro [key: string]: any } /** - * Returned when a Cart Discount cannot be created or assigned to a Store as the [limit](/../api/limits#cart-discounts) for active Cart Discounts in a Store has been reached for one or more Stores in the request. + * Returned when a Cart Discount cannot be created or assigned to a Store as the [limit](/api/limits#cart-discounts) for active Cart Discounts in a Store has been reached for one or more Stores in the request. * * The error is returned as a failed response to: * @@ -3843,13 +4300,32 @@ export interface GraphQLStoreCartDiscountsLimitReachedError extends IGraphQLErro readonly stores: StoreKeyReference[] } /** - * Returned when a [Discount predicate](/../api/predicates/predicate-operators), [API Extension predicate](/../api/predicates/query#use-predicates-in-conditional-api-extensions), or [search query](/../api/projects/product-projection-search) does not have the correct syntax. + * Returned when a [Discount predicate](/api/predicates/predicate-operators), [API Extension predicate](/api/predicates/query#use-predicates-in-conditional-api-extensions), or [search query](/api/projects/product-projection-search) does not have the correct syntax. * */ export interface GraphQLSyntaxErrorError extends IGraphQLErrorObject { readonly code: 'SyntaxError' [key: string]: any } +/** + * Returned when one of the following conditions occurs: + * + * - A Customer reference (for example, `associates[*].customer` or `inheritedAssociates[*].customer`) is expanded on the [My Business Unit](/api/projects/me-business-units) endpoint. + * - A [Cart Discount](ctp:api:type:CartDiscount) cannot be modified due to missing permissions for its assigned [Stores](ctp:api:type:Store). + * + */ +export interface GraphQLUnauthorizedError extends IGraphQLErrorObject { + readonly code: 'Unauthorized' + [key: string]: any + /** + * Keys of [Stores](ctp:api:type:Store) for which the required permission to modify is missing. + * + * This field is returned only for [Cart Discounts](ctp:api:type:CartDiscount). + * + * + */ + readonly storesWithoutPermission?: string[] +} /** * Returned when a modification is already in progress for the combination of SKU and price scope fields (but potentially different validity period) for a Standalone Price. * Retry the same request after 300 ms. diff --git a/src/lib/types/models/event.ts b/src/lib/types/models/event.ts index 3a18545a79..79a2e134a7 100644 --- a/src/lib/types/models/event.ts +++ b/src/lib/types/models/event.ts @@ -190,7 +190,7 @@ export interface CheckoutPaymentAuthorizationFailedEvent extends IEvent { readonly data: CheckoutMessagePaymentsPayloadBaseData } /** - * Generated when a payment is successfully authorized in Checkout. This event indicates the payment has been validated and the amount has been reserved but not yet charged. + * Generated when a payment is successfully authorized in Checkout. This event indicates that the payment has been validated and the amount has been reserved but not yet charged. * */ export interface CheckoutPaymentAuthorizedEvent extends IEvent { @@ -376,372 +376,372 @@ export interface CheckoutPaymentRefundedEvent extends IEvent { readonly data: CheckoutMessagePaymentsPayloadBaseData } /** - * Generated when an [Import Container](ctp:import:type:ImportContainer) is created. + * The `data` payload of all related order event messages. */ -export interface ImportContainerCreatedEvent extends IEvent { - readonly type: 'ImportContainerCreated' +export interface CheckoutMessageOrderPayloadBaseData { /** - * Unique identifier of the Event. + * `key` of the [Project](ctp:api:type:Project) where the order would belong to. * - */ - readonly id: string - /** * */ - readonly notificationType: string + readonly projectKey: string /** + * The [Cart](ctp:api:type:Cart) on which the change or action was performed. + * * */ - readonly resourceType: EventSubscriptionResourceTypeId + readonly cart: CartReference /** - * Date and time (UTC) the Event was generated. + * The [Payments](ctp:api:type:Payment) on which the change or action was performed. + * * */ - readonly createdAt: string + readonly payments: PaymentReference[] /** - * An object containing details of the created Import Container. + * Errors associated with the order event. * * */ - readonly data: ImportContainerCreatedEventData + readonly errors: ErrorObject[] } /** - * Generated when an [Import Container](ctp:import:type:ImportContainer) is deleted. + * The `data` payload of all payment related event messages. */ -export interface ImportContainerDeletedEvent extends IEvent { - readonly type: 'ImportContainerDeleted' +export interface CheckoutMessagePaymentsPayloadBaseData { /** - * Unique identifier of the Event. + * `key` of the [Project](ctp:api:type:Project) where the payment was made. + * * */ - readonly id: string + readonly projectKey: string /** + * The [Payment](ctp:api:type:Payment) on which the change or action was performed. + * * */ - readonly notificationType: string + readonly payment: PaymentReference /** + * `id` of the [Transaction](ctp:api:type:Transaction). + * * */ - readonly resourceType: EventSubscriptionResourceTypeId + readonly transactionId: string /** - * Date and time (UTC) the Event was generated. + * The [Cart](ctp:api:type:Cart) on which the change or action was performed. + * * */ - readonly createdAt: string + readonly cart?: CartReference /** - * An object containing details of the deleted Import Container. + * The [Order](ctp:api:type:Order) on which the change or action was performed. * * */ - readonly data: ImportContainerDeletedEventData + readonly order?: OrderReference } /** - * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `rejected` [ProcessingState](ctp:import:type:ProcessingState). + * The `data` of the [Import Container Created Event](ctp:api:type:ImportContainerCreatedEvent). */ -export interface ImportOperationRejectedEvent extends IEvent { - readonly type: 'ImportOperationRejected' +export interface ImportContainerCreatedEventData { /** - * Unique identifier of the Event. + * The `key` of the created Import Container. * - */ - readonly id: string - /** * */ - readonly notificationType: string + readonly key: string /** + * The `version` of the created Import Container. + * * */ - readonly resourceType: EventSubscriptionResourceTypeId + readonly version: number /** - * Date and time (UTC) the Event was generated. + * Date and time (UTC) the Import Container was created. + * * */ readonly createdAt: string /** - * An object containing details of the Import Operation with the `rejected` state. + * Date and time (UTC) the Import Container was last updated. * * */ - readonly data: ImportOperationRejectedEventData + readonly lastModifiedAt: string } /** - * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `unresolved` [ProcessingState](ctp:import:type:ProcessingState). + * The `data` of the [Import Container Deleted Event](ctp:api:type:ImportContainerDeletedEvent). */ -export interface ImportUnresolvedEvent extends IEvent { - readonly type: 'ImportUnresolved' +export interface ImportContainerDeletedEventData { /** - * Unique identifier of the Event. + * The `key` of the deleted Import Container. * - */ - readonly id: string - /** * */ - readonly notificationType: string + readonly key: string /** + * The `version` of the deleted Import Container. * - */ - readonly resourceType: EventSubscriptionResourceTypeId - /** - * Date and time (UTC) the Event was generated. * */ - readonly createdAt: string + readonly version: number +} +/** + * The `data` of the [Import Operation Rejected Event](ctp:api:type:ImportOperationRejectedEvent). + */ +export interface ImportOperationRejectedEventData { /** - * An object containing details of the Import Operation with the `unresolved` state. + * The `id` of the Import Operation with the `rejected` state. * * */ - readonly data: ImportUnresolvedEventData + readonly id: string } /** - * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `validationFailed` [ProcessingState](ctp:import:type:ProcessingState). + * The `data` of the [Import Unresolved Event](ctp:api:type:ImportUnresolvedEvent). */ -export interface ImportValidationFailedEvent extends IEvent { - readonly type: 'ImportValidationFailed' +export interface ImportUnresolvedEventData { /** - * Unique identifier of the Event. + * The `id` of the Import Operation with the `unresolved` state. * - */ - readonly id: string - /** * */ - readonly notificationType: string + readonly id: string /** + * The `version` of the Import Operation with the `unresolved` state. * - */ - readonly resourceType: EventSubscriptionResourceTypeId - /** - * Date and time (UTC) the Event was generated. * */ - readonly createdAt: string + readonly version: number /** - * An object containing details of the Import Operation with the `validationFailed` state. + * The `key` of the Import Container. * * */ - readonly data: ImportValidationFailedEventData + readonly importContainerKey: string } /** - * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `waitForMasterVariant` [ProcessingState](ctp:import:type:ProcessingState). + * The `data` of the [Import Validation Failed Event](ctp:api:type:ImportValidationFailedEvent). */ -export interface ImportWaitForMasterVariantEvent extends IEvent { - readonly type: 'ImportWaitForMasterVariant' +export interface ImportValidationFailedEventData { /** - * Unique identifier of the Event. + * The `id` of the Import Operation with the `validationFailed` state. + * * */ readonly id: string /** + * The `version` of the Import Operation with the `validationFailed` state. * - */ - readonly notificationType: string - /** * */ - readonly resourceType: EventSubscriptionResourceTypeId - /** - * Date and time (UTC) the Event was generated. - * - */ - readonly createdAt: string + readonly version: number /** - * An object containing details of the Import Operation with the `waitForMasterVariant` state. + * The `key` of the Import Container. * * */ - readonly data: ImportWaitForMasterVariantEventData + readonly importContainerKey: string } /** - * The `data` payload of all related order event messages. + * The `data` of the [Import Wait For Master Variant Event](ctp:api:type:ImportWaitForMasterVariantEvent). */ -export interface CheckoutMessageOrderPayloadBaseData { - /** - * `key` of the [Project](ctp:api:type:Project) where the order would belong to. - * - * - */ - readonly projectKey: string +export interface ImportWaitForMasterVariantEventData { /** - * The [Cart](ctp:api:type:Cart) on which the change or action was performed. + * The `id` of the Import Operation with the `waitForMasterVariant` state. * * */ - readonly cart: CartReference + readonly id: string /** - * The [Payments](ctp:api:type:Payment) on which the change or action was performed. + * The `version` of the Import Operation with the `waitForMasterVariant` state. * * */ - readonly payments: PaymentReference[] + readonly version: number /** - * Errors associated with the order event. + * The `key` of the Import Container. * * */ - readonly errors: ErrorObject[] + readonly importContainerKey: string } /** - * The `data` payload of all payment related event messages. + * Generated when an [Import Container](ctp:import:type:ImportContainer) is created. */ -export interface CheckoutMessagePaymentsPayloadBaseData { +export interface ImportContainerCreatedEvent extends IEvent { + readonly type: 'ImportContainerCreated' /** - * `key` of the [Project](ctp:api:type:Project) where the payment was made. - * + * Unique identifier of the Event. * */ - readonly projectKey: string + readonly id: string /** - * The [Payment](ctp:api:type:Payment) on which the change or action was performed. - * * */ - readonly payment: PaymentReference + readonly notificationType: string /** - * `id` of the [Transaction](/../api/projects/payments#transaction). - * * */ - readonly transactionId: string + readonly resourceType: EventSubscriptionResourceTypeId /** - * The [Cart](ctp:api:type:Cart) on which the change or action was performed. - * + * Date and time (UTC) the Event was generated. * */ - readonly cart?: CartReference + readonly createdAt: string /** - * The [Order](ctp:api:type:Order) on which the change or action was performed. + * An object containing details of the created Import Container. * * */ - readonly order?: OrderReference + readonly data: ImportContainerCreatedEventData } /** - * The `data` of the [Import Container Created Event](ctp:api:type:ImportContainerCreatedEvent). + * Generated when an [Import Container](ctp:import:type:ImportContainer) is deleted. */ -export interface ImportContainerCreatedEventData { +export interface ImportContainerDeletedEvent extends IEvent { + readonly type: 'ImportContainerDeleted' /** - * The `key` of the created Import Container. - * + * Unique identifier of the Event. * */ - readonly key: string + readonly id: string /** - * The `version` of the created Import Container. - * * */ - readonly version: number + readonly notificationType: string /** - * Date and time (UTC) the Import Container was created. * + */ + readonly resourceType: EventSubscriptionResourceTypeId + /** + * Date and time (UTC) the Event was generated. * */ readonly createdAt: string /** - * Date and time (UTC) the Import Container was last updated. + * An object containing details of the deleted Import Container. * * */ - readonly lastModifiedAt: string + readonly data: ImportContainerDeletedEventData } /** - * The `data` of the [Import Container Deleted Event](ctp:api:type:ImportContainerDeletedEvent). + * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `rejected` [ProcessingState](ctp:import:type:ProcessingState). */ -export interface ImportContainerDeletedEventData { +export interface ImportOperationRejectedEvent extends IEvent { + readonly type: 'ImportOperationRejected' /** - * The `key` of the deleted Import Container. + * Unique identifier of the Event. * + */ + readonly id: string + /** * */ - readonly key: string + readonly notificationType: string /** - * The `version` of the deleted Import Container. * + */ + readonly resourceType: EventSubscriptionResourceTypeId + /** + * Date and time (UTC) the Event was generated. * */ - readonly version: number -} -/** - * The `data` of the [Import Operation Rejected Event](ctp:api:type:ImportOperationRejectedEvent). - */ -export interface ImportOperationRejectedEventData { + readonly createdAt: string /** - * The `id` of the Import Operation with the `rejected` state. + * An object containing details of the Import Operation with the `rejected` state. * * */ - readonly id: string + readonly data: ImportOperationRejectedEventData } /** - * The `data` of the [Import Unresolved Event](ctp:api:type:ImportUnresolvedEvent). + * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `unresolved` [ProcessingState](ctp:import:type:ProcessingState). */ -export interface ImportUnresolvedEventData { +export interface ImportUnresolvedEvent extends IEvent { + readonly type: 'ImportUnresolved' /** - * The `id` of the Import Operation with the `unresolved` state. - * + * Unique identifier of the Event. * */ readonly id: string /** - * The `version` of the Import Operation with the `unresolved` state. * + */ + readonly notificationType: string + /** + * + */ + readonly resourceType: EventSubscriptionResourceTypeId + /** + * Date and time (UTC) the Event was generated. * */ - readonly version: number + readonly createdAt: string /** - * The `key` of the Import Container. + * An object containing details of the Import Operation with the `unresolved` state. * * */ - readonly importContainerKey: string + readonly data: ImportUnresolvedEventData } /** - * The `data` of the [Import Validation Failed Event](ctp:api:type:ImportValidationFailedEvent). + * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `validationFailed` [ProcessingState](ctp:import:type:ProcessingState). */ -export interface ImportValidationFailedEventData { +export interface ImportValidationFailedEvent extends IEvent { + readonly type: 'ImportValidationFailed' /** - * The `id` of the Import Operation with the `validationFailed` state. - * + * Unique identifier of the Event. * */ readonly id: string /** - * The `version` of the Import Operation with the `validationFailed` state. * + */ + readonly notificationType: string + /** * */ - readonly version: number + readonly resourceType: EventSubscriptionResourceTypeId /** - * The `key` of the Import Container. + * Date and time (UTC) the Event was generated. + * + */ + readonly createdAt: string + /** + * An object containing details of the Import Operation with the `validationFailed` state. * * */ - readonly importContainerKey: string + readonly data: ImportValidationFailedEventData } /** - * The `data` of the [Import Wait For Master Variant Event](ctp:api:type:ImportWaitForMasterVariantEvent). + * Generated when an [Import Operation](ctp:import:type:ImportOperation) has the `waitForMasterVariant` [ProcessingState](ctp:import:type:ProcessingState). */ -export interface ImportWaitForMasterVariantEventData { +export interface ImportWaitForMasterVariantEvent extends IEvent { + readonly type: 'ImportWaitForMasterVariant' /** - * The `id` of the Import Operation with the `waitForMasterVariant` state. - * + * Unique identifier of the Event. * */ readonly id: string /** - * The `version` of the Import Operation with the `waitForMasterVariant` state. * + */ + readonly notificationType: string + /** * */ - readonly version: number + readonly resourceType: EventSubscriptionResourceTypeId /** - * The `key` of the Import Container. + * Date and time (UTC) the Event was generated. + * + */ + readonly createdAt: string + /** + * An object containing details of the Import Operation with the `waitForMasterVariant` state. * * */ - readonly importContainerKey: string + readonly data: ImportWaitForMasterVariantEventData } diff --git a/src/lib/types/models/extension.ts b/src/lib/types/models/extension.ts index 27784af05a..1231e91390 100644 --- a/src/lib/types/models/extension.ts +++ b/src/lib/types/models/extension.ts @@ -4,7 +4,7 @@ * For more information about the commercetools platform APIs, visit https://docs.commercetools.com/. */ -import { BaseResource, CreatedBy, LastModifiedBy, Reference } from './common.js' +import { BaseResource, CreatedBy, IReference, IResourceIdentifier, LastModifiedBy, Reference } from './common.js' export interface Extension extends BaseResource { /** @@ -66,11 +66,31 @@ export interface Extension extends BaseResource { * If no timeout is provided, the default value is used for all [types of Extensions](ctp:api:type:ExtensionResourceTypeId). * * The limit of 10000 ms (10 seconds) can be increased per Project after we review the performance impact. - * Please contact the [Composable Commerce support team](https://support.commercetools.com) and provide the Region, Project key, and use case. + * Please contact the [commercetools support team](https://support.commercetools.com) and provide the Region, Project key, and use case. * * */ readonly timeoutInMs?: number + /** + * References to other Extensions that must complete before this Extension is called. The Extension receives the resource state after all transitive ancestors' update actions have been applied. Maximum 5 entries. + * + * + */ + readonly dependencies?: ExtensionReference[] + /** + * [Expansion paths](/api/general-concepts#expansion-paths) used for reference expansion of the payload. + * + * Be aware of the [limits](/api/limits#api-extensions) of this feature and its [performance impact](/api/performance-tips#api-extensions). + * + * + */ + readonly expansionPaths?: string[] + /** + * Configures additional information included in the payload sent to the API Extension. + * + * + */ + readonly additionalContext?: ExtensionAdditionalContext } /** * An Extension gets called during any of the following requests of an API call, but before the result is persisted. @@ -82,6 +102,32 @@ export enum ExtensionActionValues { } export type ExtensionAction = 'Create' | 'Update' | (string & {}) +/** + * Configures additional information included in the payload sent to the API Extension. + * + */ +export interface ExtensionAdditionalContext { + /** + * Whether the payload sent to the API Extension should include an [`oldResource`](ctp:api:type:ExtensionInput) field with the state of the resource before the update. + * This only applies to `Update` actions. For `Create` actions, `oldResource` is not included. + * + * + */ + readonly includeOldResource: boolean +} +/** + * Draft for [ExtensionAdditionalContext](ctp:api:type:ExtensionAdditionalContext). + * + */ +export interface ExtensionAdditionalContextDraft { + /** + * Whether the payload sent to the API Extension should include an [`oldResource`](ctp:api:type:ExtensionInput) field with the state of the resource before the update. + * This only applies to `Update` actions. For `Create` actions, `oldResource` is not included. + * + * + */ + readonly includeOldResource?: boolean +} /** * Generic type for destinations. */ @@ -142,11 +188,31 @@ export interface ExtensionDraft { * We recommend keeping the timeout as low as possible to avoid performance issues. * * The limit of 10000 ms (10 seconds) can be increased per Project after we review the performance impact. - * Please contact the [Composable Commerce support team](https://support.commercetools.com) and provide the Region, Project key, and use case. + * Please contact the [commercetools support team](https://support.commercetools.com) and provide the Region, Project key, and use case. * * */ readonly timeoutInMs?: number + /** + * Extensions that must complete before this Extension is called, identified by `id` or `key`. Maximum 5 entries. If omitted, the Extension has no dependencies and may run concurrently with other independent Extensions. + * + * + */ + readonly dependencies?: ExtensionResourceIdentifier[] + /** + * [Expansion paths](/api/general-concepts#expansion-paths) used for reference expansion of the payload. + * + * Be aware of the [limits](/api/limits#api-extensions) of this feature and its [performance impact](/api/performance-tips#api-extensions). + * + * + */ + readonly expansionPaths?: string[] + /** + * Configures additional information included in the payload sent to the API Extension. + * + * + */ + readonly additionalContext?: ExtensionAdditionalContextDraft } export interface ExtensionInput { /** @@ -161,20 +227,26 @@ export interface ExtensionInput { * */ readonly resource: Reference + /** + * Expanded reference to the resource as it was before the update. Only included when [`additionalContext.includeOldResource`](ctp:api:type:ExtensionAdditionalContext) is `true` on the [Extension](ctp:api:type:Extension) and the `action` is `Update`. + * + * + */ + readonly oldResource?: Reference } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [Extension](ctp:api:type:Extension). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [Extension](ctp:api:type:Extension). * */ export interface ExtensionPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -187,10 +259,10 @@ export interface ExtensionPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -202,6 +274,44 @@ export interface ExtensionPagedQueryResponse { */ readonly results: Extension[] } +/** + * [Reference](ctp:api:type:Reference) to an [Extension](ctp:api:type:Extension). + * + */ +export interface ExtensionReference extends IReference { + readonly typeId: 'extension' + /** + * Unique identifier of the referenced [Extension](ctp:api:type:Extension). + * + * + */ + readonly id: string + /** + * Contains the representation of the expanded Extension. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Extensions. + * + * + */ + readonly obj?: Extension +} +/** + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to an [Extension](ctp:api:type:Extension). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. + * + */ +export interface ExtensionResourceIdentifier extends IResourceIdentifier { + readonly typeId: 'extension' + /** + * Unique identifier of the referenced [Extension](ctp:api:type:Extension). Required if `key` is absent. + * + * + */ + readonly id?: string + /** + * User-defined unique identifier of the referenced [Extension](ctp:api:type:Extension). Required if `id` is absent. + * + * + */ + readonly key?: string +} /** * Extensions are available for: * @@ -247,7 +357,7 @@ export interface ExtensionTrigger { */ readonly actions: ExtensionAction[] /** - * Valid [predicate](/../api/predicates/query) that controls the conditions under which the API Extension is called. The Extension is not triggered when the specified condition is not fulfilled. + * Valid [predicate](/api/predicates/query) that controls the conditions under which the API Extension is called. The Extension is not triggered when the specified condition is not fulfilled. * * */ @@ -271,6 +381,9 @@ export interface ExtensionUpdate { export type ExtensionUpdateAction = | ExtensionChangeDestinationAction | ExtensionChangeTriggersAction + | ExtensionSetAdditionalContextAction + | ExtensionSetDependenciesAction + | ExtensionSetExpansionPathsAction | ExtensionSetKeyAction | ExtensionSetTimeoutInMsAction export interface IExtensionUpdateAction { @@ -367,6 +480,35 @@ export interface ExtensionChangeTriggersAction extends IExtensionUpdateAction { */ readonly triggers: ExtensionTrigger[] } +export interface ExtensionSetAdditionalContextAction extends IExtensionUpdateAction { + readonly action: 'setAdditionalContext' + /** + * New value to set. + * + * + */ + readonly additionalContext: ExtensionAdditionalContextDraft +} +export interface ExtensionSetDependenciesAction extends IExtensionUpdateAction { + readonly action: 'setDependencies' + /** + * Extensions this Extension depends on, identified by `id` or `key`. Set to an empty array to remove all dependencies. Maximum 5 entries. + * + * + */ + readonly dependencies: ExtensionResourceIdentifier[] +} +export interface ExtensionSetExpansionPathsAction extends IExtensionUpdateAction { + readonly action: 'setExpansionPaths' + /** + * [Expansion paths](/api/general-concepts#expansion-paths) used for reference expansion of the payload. + * + * Be aware of the [limits](/api/limits#api-extensions) of this feature and its [performance impact](/api/performance-tips#api-extensions). + * + * + */ + readonly expansionPaths: string[] +} export interface ExtensionSetKeyAction extends IExtensionUpdateAction { readonly action: 'setKey' /** @@ -384,7 +526,7 @@ export interface ExtensionSetTimeoutInMsAction extends IExtensionUpdateAction { * We recommend keeping the timeout as low as possible to avoid performance issues. * * The limit of 10000 ms (10 seconds) can be increased per Project after we review the performance impact. - * Please contact the [Composable Commerce support team](https://support.commercetools.com) and provide the Region, Project key, and use case. + * Please contact the [commercetools support team](https://support.commercetools.com) and provide the Region, Project key, and use case. * * */ diff --git a/src/lib/types/models/index.ts b/src/lib/types/models/index.ts index af634008dd..660856635c 100644 --- a/src/lib/types/models/index.ts +++ b/src/lib/types/models/index.ts @@ -37,6 +37,7 @@ export * from './quote-request.js' export * from './quote.js' export * from './recurrence-policy.js' export * from './recurring-order.js' +export * from './reservation.js' export * from './review.js' export * from './scalar-types.js' export * from './search.js' @@ -50,5 +51,7 @@ export * from './store.js' export * from './subscription.js' export * from './tax-category.js' export * from './type.js' +export * from './variant-attributes.js' +export * from './variant.js' export * from './warning.js' export * from './zone.js' diff --git a/src/lib/types/models/inventory.ts b/src/lib/types/models/inventory.ts index 8973fe595b..4f912ef591 100644 --- a/src/lib/types/models/inventory.ts +++ b/src/lib/types/models/inventory.ts @@ -63,24 +63,24 @@ export interface InventoryEntry extends BaseResource { */ readonly supplyChannel?: ChannelReference /** - * Overall amount of stock (`availableQuantity` + reserved). + * Overall amount of stock (`availableQuantity` + reserved). This value is eventually consistent with the internal SKU availability used for reservation logic, with a delay of up to 10 seconds. See [Inventory checks and consistency](/api/inventory-overview#inventory-checks-and-consistency) for more information. * */ readonly quantityOnStock: number /** - * Available amount of stock (`quantityOnStock` - reserved). + * Available amount of stock (`quantityOnStock` - reserved). This value is eventually consistent with the internal SKU availability used for reservation logic, with a delay of up to 10 seconds. See [Inventory checks and consistency](/api/inventory-overview#inventory-checks-and-consistency) for more information. * * */ readonly availableQuantity: number /** - * Minimum quantity that can be added to a Cart. See [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * Minimum quantity that can be added to a Cart. See [Quantity limits](/api/inventory-overview#quantity-limits). * * */ readonly minCartQuantity?: number /** - * Maximum quantity that can be added to a Cart. See [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * Maximum quantity that can be added to a Cart. See [Quantity limits](/api/inventory-overview#quantity-limits). * * */ @@ -96,6 +96,21 @@ export interface InventoryEntry extends BaseResource { * */ readonly expectedDelivery?: string + /** + * Expiration time of [ReserveOnCart](ctp:api:type:InventoryMode) reservations associated with this InventoryEntry. + * + * - A Reservation is [ReserveOnCart](ctp:api:type:InventoryMode) if it was created for a [LineItem](ctp:api:type:LineItem) that is using the [ReserveOnCart](ctp:api:type:InventoryMode) inventory mode. + * - If this field is empty, the [Project](ctp:api:type:Project)-level reservation expiration time applies. + * + * + */ + readonly reservationExpirationInMinutes?: number + /** + * Configuration of stock levels for the InventoryEntry. Corresponding [Messages](/api/projects/messages/product-catalog-messages#inventory-entry-messages) are triggered when the `quantityOnStock` reaches the configured levels. + * + * + */ + readonly stockLevels?: InventoryEntryStockLevels /** * Custom Fields of the InventoryEntry. * @@ -113,7 +128,7 @@ export interface InventoryEntryDraft { /** * User-defined unique identifier for the InventoryEntry. * - * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing InventoryEntries with the [Import API](/../api/import-export/overview) and the [Merchant Center](/../merchant-center/import-data). + * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing InventoryEntries with the [Import API](/api/import-export/overview) and the [Merchant Center](/merchant-center/import-data). * * */ @@ -125,19 +140,19 @@ export interface InventoryEntryDraft { */ readonly supplyChannel?: ChannelResourceIdentifier /** - * Overall amount of stock. + * Overall amount of stock. See [Inventory checks and consistency](/api/inventory-overview#inventory-checks-and-consistency) for consistency information. * * */ readonly quantityOnStock: number /** - * Minimum quantity that can be added to a Cart. See [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * Minimum quantity that can be added to a Cart. See [Quantity limits](/api/inventory-overview#quantity-limits). * * */ readonly minCartQuantity?: number /** - * Maximum quantity that can be added to a Cart. See [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * Maximum quantity that can be added to a Cart. See [Quantity limits](/api/inventory-overview#quantity-limits). * * */ @@ -154,6 +169,21 @@ export interface InventoryEntryDraft { * */ readonly expectedDelivery?: string + /** + * Expiration time of [ReserveOnCart](ctp:api:type:InventoryMode) reservations associated with this InventoryEntry. + * + * - A Reservation is [ReserveOnCart](ctp:api:type:InventoryMode) if it was created for a [LineItem](ctp:api:type:LineItem) that is using the [ReserveOnCart](ctp:api:type:InventoryMode) inventory mode. + * - If this field is empty, the [Project](ctp:api:type:Project)-level reservation expiration time applies. + * + * + */ + readonly reservationExpirationInMinutes?: number + /** + * Configuration of stock levels for the InventoryEntry. Corresponding [Messages](/api/projects/messages/product-catalog-messages#inventory-entry-messages) are triggered when the `quantityOnStock` reaches the configured levels. + * + * + */ + readonly stockLevels?: InventoryEntryStockLevels /** * Custom Fields for the InventoryEntry. * @@ -174,14 +204,14 @@ export interface InventoryEntryReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded InventoryEntry. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for InventoryEntries. + * Contains the representation of the expanded InventoryEntry. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for InventoryEntries. * * */ readonly obj?: InventoryEntry } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to an [InventoryEntry](ctp:api:type:InventoryEntry). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to an [InventoryEntry](ctp:api:type:InventoryEntry). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface InventoryEntryResourceIdentifier extends IResourceIdentifier { @@ -199,6 +229,24 @@ export interface InventoryEntryResourceIdentifier extends IResourceIdentifier { */ readonly key?: string } +/** + * Stock level thresholds for an [InventoryEntry](ctp:api:type:InventoryEntry) that trigger Messages when stock levels reach certain points. For more information, see [Stock level notifications](/api/inventory-overview#stock-level-notifications). + * + */ +export interface InventoryEntryStockLevels { + /** + * When the `quantityOnStock` of the [InventoryEntry](ctp:api:type:InventoryEntry) reaches this value, an [InventoryEntryReorderPoint](ctp:api:type:InventoryEntryReorderPointMessage) Message is generated. + * + * + */ + readonly reorderPoint?: number + /** + * When the `quantityOnStock` of the [InventoryEntry](ctp:api:type:InventoryEntry) reaches this value, an [InventoryEntrySafetyStock](ctp:api:type:InventoryEntrySafetyStockMessage) Message is generated. + * + * + */ + readonly safetyStock?: number +} export interface InventoryEntryUpdate { /** * Expected version of the InventoryEntry on which the changes should be applied. @@ -223,7 +271,10 @@ export type InventoryEntryUpdateAction = | InventoryEntrySetExpectedDeliveryAction | InventoryEntrySetInventoryLimitsAction | InventoryEntrySetKeyAction + | InventoryEntrySetReorderPointAction + | InventoryEntrySetReservationExpirationInMinutesAction | InventoryEntrySetRestockableInDaysAction + | InventoryEntrySetSafetyStockAction | InventoryEntrySetSupplyChannelAction export interface IInventoryEntryUpdateAction { /** @@ -233,13 +284,13 @@ export interface IInventoryEntryUpdateAction { } export interface InventoryPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -252,10 +303,10 @@ export interface InventoryPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -268,7 +319,10 @@ export interface InventoryPagedQueryResponse { readonly results: InventoryEntry[] } /** - * Updates `availableQuantity` based on the new `quantityOnStock` and amount of active reservations. + * Incrementally updates the `quantityOnStock` by the specified amount. This changes the `availableQuantity`, based on the number of active reservations. + * + * To set an absolute quantity value instead, use the [InventoryEntryChangeQuantityAction](ctp:api:type:InventoryEntryChangeQuantityAction) update action. + * */ export interface InventoryEntryAddQuantityAction extends IInventoryEntryUpdateAction { readonly action: 'addQuantity' @@ -279,7 +333,9 @@ export interface InventoryEntryAddQuantityAction extends IInventoryEntryUpdateAc readonly quantity: number } /** - * Updates `availableQuantity` based on the new `quantityOnStock` and amount of active reservations. + * Sets the `quantityOnStock` to an absolute value. This changes the `availableQuantity`, based on the number of active reservations. + * To make an incremental change instead, use the [InventoryEntryAddQuantityAction](ctp:api:type:InventoryEntryAddQuantityAction) update action. + * */ export interface InventoryEntryChangeQuantityAction extends IInventoryEntryUpdateAction { readonly action: 'changeQuantity' @@ -290,7 +346,11 @@ export interface InventoryEntryChangeQuantityAction extends IInventoryEntryUpdat readonly quantity: number } /** - * Updates `availableQuantity` based on the new `quantityOnStock` and amount of active reservations. + * + * Removes a specific quantity from `quantityOnStock`. This changes the `availableQuantity`, based on the number of active reservations. You can update `quantityOnStock` to values below zero. + * + * Carts with existing `ReserveOnCart` reservations will not be invalidated by this update action and can still be ordered. + * */ export interface InventoryEntryRemoveQuantityAction extends IInventoryEntryUpdateAction { readonly action: 'removeQuantity' @@ -303,7 +363,7 @@ export interface InventoryEntryRemoveQuantityAction extends IInventoryEntryUpdat export interface InventoryEntrySetCustomFieldAction extends IInventoryEntryUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -320,14 +380,16 @@ export interface InventoryEntrySetCustomFieldAction extends IInventoryEntryUpdat export interface InventoryEntrySetCustomTypeAction extends IInventoryEntryUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the InventoryEntry with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the InventoryEntry with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the InventoryEntry. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the InventoryEntry. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the InventoryEntry. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -343,7 +405,7 @@ export interface InventoryEntrySetExpectedDeliveryAction extends IInventoryEntry } /** * Sets the inventory limits for a specific InventoryEntry. This action allows you to define minimum and maximum - * quantities that can be added to a Cart. For more information, see [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * quantities that can be added to a Cart. For more information, see [Quantity limits](/api/inventory-overview#quantity-limits). * */ export interface InventoryEntrySetInventoryLimitsAction extends IInventoryEntryUpdateAction { @@ -372,6 +434,35 @@ export interface InventoryEntrySetKeyAction extends IInventoryEntryUpdateAction */ readonly key?: string } +/** + * Sets the reorder point level for a specific InventoryEntry. When the stock reaches this level, + * a corresponding [InventoryEntryReorderPoint](ctp:api:type:InventoryEntryReorderPointMessage) Message is generated. + * + */ +export interface InventoryEntrySetReorderPointAction extends IInventoryEntryUpdateAction { + readonly action: 'setReorderPoint' + /** + * Sets the configured inventory stock level for reorder point. If the value is absent or `null` + * the configured inventory stock level is removed. + * + * + */ + readonly quantity?: number +} +/** + * Sets the default reservation expiration time for the Inventory Entry. This action does not affect existing reservations. To change the expiration date and time of existing reservations, see the [Set Reservation Expiration In Minutes](ctp:api:type:CartSetReservationExpirationInMinutesAction) update action on the Carts API. + * + * Produces the [InventoryEntry Reservation Expiration In Minutes Set](ctp:api:type:InventoryEntryReservationExpirationInMinutesSetMessage) Message after a successful update. + * + */ +export interface InventoryEntrySetReservationExpirationInMinutesAction extends IInventoryEntryUpdateAction { + readonly action: 'setReservationExpirationInMinutes' + /** + * Value to set, must be a positive integer. If empty, any existing value will be removed. + * + */ + readonly reservationExpirationInMinutes?: number +} export interface InventoryEntrySetRestockableInDaysAction extends IInventoryEntryUpdateAction { readonly action: 'setRestockableInDays' /** @@ -380,6 +471,21 @@ export interface InventoryEntrySetRestockableInDaysAction extends IInventoryEntr */ readonly restockableInDays?: number } +/** + * Sets the safety stock level for a specific InventoryEntry. When the stock reaches this level, + * a corresponding [InventoryEntrySafetyStock](ctp:api:type:InventoryEntrySafetyStockMessage) Message is generated. + * + */ +export interface InventoryEntrySetSafetyStockAction extends IInventoryEntryUpdateAction { + readonly action: 'setSafetyStock' + /** + * Sets the configured inventory stock level for safety stock. If the value is absent or `null` + * the configured inventory stock level is removed. + * + * + */ + readonly quantity?: number +} /** * If an entry with the same `sku` and `supplyChannel` already exists, an [DuplicateField](ctp:api:type:DuplicateFieldError) error is returned. */ diff --git a/src/lib/types/models/me.ts b/src/lib/types/models/me.ts index 3693e3f475..8eb58fbc49 100644 --- a/src/lib/types/models/me.ts +++ b/src/lib/types/models/me.ts @@ -166,7 +166,7 @@ export interface IMyBusinessUnitUpdateAction { readonly action: string } /** - * The `customerId` is determined by a [password flow token](/../api/authorization#password-flow) and + * The `customerId` is determined by a [password flow token](/api/authorization#password-flow) and * automatically set on the resulting [Cart](ctp:api:type:Cart). * The `anonymousId` is determined by a [token for an anonymous session](ctp:api:type:AnonymousSession) and * automatically set on the resulting [Cart](ctp:api:type:Cart). @@ -186,7 +186,7 @@ export interface MyCartDraft { */ readonly customerEmail?: string /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to the Business Unit the Cart should belong to. The [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to the Business Unit the Cart should belong to. The [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -255,7 +255,7 @@ export interface MyCartDraft { */ readonly discountCodes?: string[] /** - * Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * If used for [Create Cart in Store](ctp:api:endpoint:/{projectKey}/in-store/me/carts:POST), the provided country must be one of the [Store's](ctp:api:type:Store) `countries`. * * @@ -400,7 +400,7 @@ export interface MyCompanyDraft extends IMyBusinessUnitDraft { } export interface MyCustomerDraft { /** - * Email address of the Customer that is [unique](/../api/customers-overview#customer-uniqueness) for an entire Project or Store the Customer is assigned to. + * Email address of the Customer that is [unique](/api/customers-overview#customer-uniqueness) for an entire Project or Store the Customer is assigned to. * It is the mandatory unique identifier of a Customer. * * @@ -618,7 +618,7 @@ export interface MyDivisionDraft extends IMyBusinessUnitDraft { */ export interface MyLineItemDraft { /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Must be unique among LineItems in the Cart. * * */ @@ -643,13 +643,13 @@ export interface MyLineItemDraft { */ readonly sku?: string /** - * Number of Product Variants to add to the Cart. + * Quantity of Product Variants to add to the Cart. * * */ readonly quantity?: number /** - * Date and time (UTC) the Product Variant is added to the Cart. + * Date and time (UTC) the Product Variant was added to the Cart. * If not set, it defaults to the current date and time. * * Optional for backwards compatibility reasons. @@ -658,14 +658,14 @@ export interface MyLineItemDraft { */ readonly addedAt?: string /** - * Used to identify [Inventory entries](/../api/projects/inventory) that must be reserved. + * Used to identify [Inventory entries](/api/projects/inventory) that must be reserved. * The Channel must have the `InventorySupply` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * */ readonly supplyChannel?: ChannelResourceIdentifier /** - * Used to [select](/../api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. + * Used to [select](/api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. * The Channel must have the `ProductDistribution` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * If the Cart is bound to a [Store](ctp:api:type:Store) with `distributionChannels` set, @@ -721,7 +721,7 @@ export interface MyOrderFromQuoteDraft { */ readonly version: number /** - * Set to `true`, if the `quoteState` of the referenced [Quote](ctp:api:type:Quote) should be set to `Accepted`. + * Whether the `quoteState` of the referenced [Quote](ctp:api:type:Quote) should be set to `Accepted`. * * */ @@ -741,7 +741,7 @@ export interface MyPayment { */ readonly version: number /** - * Reference to a [Customer](ctp:api:type:Customer) associated with the Payment. Set automatically with a [password flow token](/../api/authorization#password-flow). Either `customer` or `anonymousId` is present. + * Reference to a [Customer](ctp:api:type:Customer) associated with the Payment. Set automatically with a [password flow token](/api/authorization#password-flow). Either `customer` or `anonymousId` is present. * * */ @@ -806,12 +806,12 @@ export interface MyPaymentDraft { readonly transaction?: MyTransactionDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [MyPayment](ctp:api:type:MyPayment). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [MyPayment](ctp:api:type:MyPayment). * */ export interface MyPaymentPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ @@ -824,16 +824,16 @@ export interface MyPaymentPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ readonly total?: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -1283,7 +1283,7 @@ export interface MyBusinessUnitSetAddressCustomFieldAction extends IMyBusinessUn */ readonly addressId: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1304,14 +1304,16 @@ export interface MyBusinessUnitSetAddressCustomFieldAction extends IMyBusinessUn export interface MyBusinessUnitSetAddressCustomTypeAction extends IMyBusinessUnitUpdateAction { readonly action: 'setAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `address` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `address`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `address`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `address`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1344,7 +1346,7 @@ export interface MyBusinessUnitSetContactEmailAction extends IMyBusinessUnitUpda export interface MyBusinessUnitSetCustomFieldAction extends IMyBusinessUnitUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1365,14 +1367,16 @@ export interface MyBusinessUnitSetCustomFieldAction extends IMyBusinessUnitUpdat export interface MyBusinessUnitSetCustomTypeAction extends IMyBusinessUnitUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the BusinessUnit with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the BusinessUnit with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the BusinessUnit. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) for the BusinessUnit. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the BusinessUnit. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1417,13 +1421,13 @@ export interface MyBusinessUnitSetDefaultShippingAddressAction extends IMyBusine readonly addressKey?: string } /** - * Adds a [DiscountCode](ctp:api:type:DiscountCode) to the Cart to activate the related [CartDiscounts](/../api/projects/cartDiscounts). + * Adds a [DiscountCode](ctp:api:type:DiscountCode) to the Cart to activate the related [CartDiscounts](/api/projects/cartDiscounts). * If the related Cart Discounts are inactive or invalid, or belong to a different Store than the Cart, a [DiscountCodeNonApplicableError](ctp:api:type:DiscountCodeNonApplicableError) is returned. * * A Discount Code can be added only if no [DirectDiscount](ctp:api:type:DirectDiscount) has been applied to the Cart. * For [frozen Carts](ctp:api:type:FrozenCarts), the [DiscountCodeState](ctp:api:type:DiscountCodeState) must be `DoesNotMatchCart` when adding a Discount Code. * - * The maximum number of Discount Codes in a Cart is restricted by a [limit](/../api/limits#carts). + * The maximum number of Discount Codes in a Cart is restricted by a [limit](/api/limits#carts). * * Specific Error Code: [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) * @@ -1453,9 +1457,9 @@ export interface MyCartAddItemShippingAddressAction extends IMyCartUpdateAction readonly address: _BaseAddress } /** - * If the Cart contains a [LineItem](ctp:api:type:LineItem) for a Product Variant with the same [LineItemMode](ctp:api:type:LineItemMode), [Custom Fields](/../api/projects/custom-fields), supply and distribution channel, then only the quantity of the existing Line Item is increased. + * If the Cart contains a [LineItem](ctp:api:type:LineItem) for a Product Variant with the same [LineItemMode](ctp:api:type:LineItemMode), [Custom Fields](ctp:api:type:CustomFields), supply and distribution channel, then only the quantity of the existing Line Item is increased. * If [LineItem](ctp:api:type:LineItem) `shippingDetails` is set, it is merged. All addresses will be present afterwards and, for address keys present in both shipping details, the quantity will be summed up. - * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * If the Tax Rate is not set, a [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) error is returned. * @@ -1465,7 +1469,7 @@ export interface MyCartAddItemShippingAddressAction extends IMyCartUpdateAction export interface MyCartAddLineItemAction extends IMyCartUpdateAction { readonly action: 'addLineItem' /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Must be unique among LineItems in the Cart. * * */ @@ -1497,7 +1501,7 @@ export interface MyCartAddLineItemAction extends IMyCartUpdateAction { */ readonly sku?: string /** - * Number of Line Items to add to the Cart. + * Quantity of Line Items to add to the Cart. * * */ @@ -1512,7 +1516,7 @@ export interface MyCartAddLineItemAction extends IMyCartUpdateAction { */ readonly addedAt?: string /** - * Used to [select](/../api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. + * Used to [select](/api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. * The Channel must have the `ProductDistribution` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * If the Cart is bound to a [Store](ctp:api:type:Store) with `distributionChannels` set, the Channel must match one of the Store's distribution channels. * @@ -1520,7 +1524,7 @@ export interface MyCartAddLineItemAction extends IMyCartUpdateAction { */ readonly distributionChannel?: ChannelResourceIdentifier /** - * Used to identify [Inventory entries](/../api/projects/inventory) that must be reserved. + * Used to identify [Inventory entries](/api/projects/inventory) that must be reserved. * The Channel must have the `InventorySupply` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * @@ -1595,7 +1599,10 @@ export interface MyCartApplyDeltaToLineItemShippingDetailsTargetsAction extends * it will be changed to `ExternalPrice` and the existing `externalPrice` value, i.e. `LineItem.price`, will be retained. * The LineItem total will be calculated by the system instead, so that the `externalTotalPrice` will be dropped. * - * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/api/inventory-overview#quantity-limits). + * + * If using [InventoryMode](ctp:api:type:InventoryMode) `ReserveOnCart`: + * - If the requested quantity cannot be reserved, the Line Item quantity does not change and a reservation warning is returned in the Cart response. * */ export interface MyCartChangeLineItemQuantityAction extends IMyCartUpdateAction { @@ -1645,7 +1652,7 @@ export interface MyCartChangeTaxModeAction extends IMyCartUpdateAction { readonly taxMode: TaxMode } /** - * This update action does not set any Cart field in particular, but it triggers several [Cart updates](/../api/carts-orders-overview#update-a-cart) + * This update action does not set any Cart field in particular, but it triggers several [Cart updates](/api/carts-orders-overview#update-a-cart) * to bring prices and discounts to the latest state. Those can become stale over time when no Cart updates have been performed for a while and * prices on related Products have changed in the meanwhile. * @@ -1656,8 +1663,8 @@ export interface MyCartChangeTaxModeAction extends IMyCartUpdateAction { export interface MyCartRecalculateAction extends IMyCartUpdateAction { readonly action: 'recalculate' /** - * - Leave empty or set to `false` to only update the Prices and TaxRates of the Line Items. - * - Set to `true` to update the Line Items' product data (like `name`, `variant` and `productType`) also. + * - Leave empty or set as `false` to update only the Prices and TaxRates of the Line Items. Prices inside the `variant` are only updated if `updateProductData` is `true`. + * - Set as `true` to update the Product data (such as `name`, `variant`, `productType`, and Product Attributes) of the Line Items. * * */ @@ -1686,7 +1693,7 @@ export interface MyCartRemoveItemShippingAddressAction extends IMyCartUpdateActi readonly addressKey: string } /** - * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ export interface MyCartRemoveLineItemAction extends IMyCartUpdateAction { @@ -1757,8 +1764,8 @@ export interface MyCartSetBillingAddressAction extends IMyCartUpdateAction { export interface MyCartSetBusinessUnitAction extends IMyCartUpdateAction { readonly action: 'setBusinessUnit' /** - * New Business Unit to assign to the Cart, which must have access to the [Store](/../api/projects/stores) that is set on the Cart. - * Additionally, the authenticated user must be an [Associate](/projects/business-units#associate) in the [Business Unit](/projects/business-units#businessunit). + * New Business Unit to assign to the Cart, which must have access to the [Store](/api/projects/stores) that is set on the Cart. + * Additionally, the authenticated user must be an [Associate](ctp:api:type:Associate) in the [Business Unit](/projects/business-units#businessunit). * * */ @@ -1784,7 +1791,7 @@ export interface MyCartSetCountryAction extends IMyCartUpdateAction { export interface MyCartSetCustomFieldAction extends IMyCartUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1801,14 +1808,16 @@ export interface MyCartSetCustomFieldAction extends IMyCartUpdateAction { export interface MyCartSetCustomTypeAction extends IMyCartUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Cart with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Cart with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Cart. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Cart. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Cart. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1855,7 +1864,7 @@ export interface MyCartSetLineItemCustomFieldAction extends IMyCartUpdateAction */ readonly lineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1884,21 +1893,23 @@ export interface MyCartSetLineItemCustomTypeAction extends IMyCartUpdateAction { */ readonly lineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the LineItem with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the LineItem with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Line Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Line Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Line Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ readonly fields?: FieldContainer } /** - * Setting a distribution channel for a [LineItem](ctp:api:type:LineItem) can lead to an updated `price` as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Setting a distribution channel for a [LineItem](ctp:api:type:LineItem) can lead to an updated `price` as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ export interface MyCartSetLineItemDistributionChannelAction extends IMyCartUpdateAction { @@ -1949,7 +1960,7 @@ export interface MyCartSetLineItemShippingDetailsAction extends IMyCartUpdateAct /** * Performing this action does not reserve stock. Stock is only reserved at Order creation if the [InventoryMode](ctp:api:type:InventoryMode) of the Cart is `TrackOnly` or `ReserveOnOrder`. * - * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/../api/carts-orders-overview#quantity-limits). + * This action is subject to [InventoryEntry](ctp:api:type:InventoryEntry) min/max restrictions when applicable. For more information, see [Quantity limits](/api/inventory-overview#quantity-limits). * */ export interface MyCartSetLineItemSupplyChannelAction extends IMyCartUpdateAction { @@ -1989,7 +2000,7 @@ export interface MyCartSetLocaleAction extends IMyCartUpdateAction { /** * Setting the shipping address also sets the [TaxRate](ctp:api:type:TaxRate) of Line Items and calculates the [TaxedPrice](ctp:api:type:TaxedPrice). * - * If a matching price cannot be found for the given shipping address during [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection), + * If a matching price cannot be found for the given shipping address during [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection), * a [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) error is returned. * * If you want to allow shipping to states inside a country that are not explicitly covered by a TaxRate, @@ -2017,7 +2028,11 @@ export interface MyCartSetShippingMethodAction extends IMyCartUpdateAction { * Value to set. * If empty, any existing value is removed. * - * If the referenced Shipping Method has a predicate that does not match the Cart, an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. + * [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned in one of the following cases: + * 1. If the referenced Shipping Method has a predicate that does not match the Cart. + * 2. If the referenced Shipping Method is not active. + * 3. If the referenced Shipping Method is associated with a Store that is different from the Cart's Store. + * 4. If the referenced Shipping Method is associated with a Store and the Cart is not associated with any Store. * * */ @@ -2215,7 +2230,7 @@ export interface MyCustomerSetCompanyNameAction extends IMyCustomerUpdateAction export interface MyCustomerSetCustomFieldAction extends IMyCustomerUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2236,14 +2251,16 @@ export interface MyCustomerSetCustomFieldAction extends IMyCustomerUpdateAction export interface MyCustomerSetCustomTypeAction extends IMyCustomerUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the MyCustomer with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the MyCustomer with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the MyCustomer. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the MyCustomer. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the MyCustomer. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2415,7 +2432,7 @@ export interface MyPaymentChangeAmountPlannedAction extends IMyPaymentUpdateActi export interface MyPaymentSetCustomFieldAction extends IMyPaymentUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2436,7 +2453,7 @@ export interface MyPaymentSetCustomFieldAction extends IMyPaymentUpdateAction { export interface MyPaymentSetMethodInfoCustomFieldAction extends IMyPaymentUpdateAction { readonly action: 'setMethodInfoCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2457,13 +2474,15 @@ export interface MyPaymentSetMethodInfoCustomFieldAction extends IMyPaymentUpdat export interface MyPaymentSetMethodInfoCustomTypeAction extends IMyPaymentUpdateAction { readonly action: 'setMethodInfoCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `paymentMethodInfo` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `paymentMethodInfo` with [Custom Fields](ctp:api:type:CustomFields). * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `paymentMethodInfo`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `paymentMethodInfo`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2516,7 +2535,7 @@ export interface MyPaymentSetMethodInfoNameAction extends IMyPaymentUpdateAction export interface MyPaymentSetTransactionCustomFieldAction extends IMyPaymentUpdateAction { readonly action: 'setTransactionCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2531,7 +2550,7 @@ export interface MyPaymentSetTransactionCustomFieldAction extends IMyPaymentUpda readonly value?: any } /** - * When accepting, declining, or renegotiating [B2B Quotes](/../api/associates-overview#b2b-resources), the Customer must have the `AcceptMyQuotes`, `DeclineMyQuotes`, or `RenegotiateMyQuotes` [Permission](ctp:api:type:Permission), respectively. If the required [Permission](/projects/associate-roles#permission) is missing, an [AssociateMissingPermission](/errors#associatemissingpermission) error is returned. + * When accepting, declining, or renegotiating [B2B Quotes](/api/associates-overview#b2b-resources), the Customer must have the `AcceptMyQuotes`, `DeclineMyQuotes`, or `RenegotiateMyQuotes` [Permission](ctp:api:type:Permission), respectively. If the required [Permission](ctp:api:type:Permission) is missing, an [AssociateMissingPermission](ctp:api:type:AssociateMissingPermissionError) error is returned. */ export interface MyQuoteChangeMyQuoteStateAction extends IMyQuoteUpdateAction { readonly action: 'changeMyQuoteState' @@ -2766,7 +2785,7 @@ export interface MyShoppingListRemoveTextLineItemAction extends IMyShoppingListU export interface MyShoppingListSetCustomFieldAction extends IMyShoppingListUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2783,14 +2802,16 @@ export interface MyShoppingListSetCustomFieldAction extends IMyShoppingListUpdat export interface MyShoppingListSetCustomTypeAction extends IMyShoppingListUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the MyShoppingList with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the MyShoppingList with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the MyShoppingList. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the MyShoppingList. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the MyShoppingList. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2833,7 +2854,7 @@ export interface MyShoppingListSetLineItemCustomFieldAction extends IMyShoppingL */ readonly lineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2856,14 +2877,16 @@ export interface MyShoppingListSetLineItemCustomTypeAction extends IMyShoppingLi */ readonly lineItemId: string /** - * Defines the [Type](ctp:api:type:Type) that extends the ShoppingListLineItem with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the ShoppingListLineItem with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ShoppingListLineItem. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the ShoppingListLineItem. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the ShoppingListLineItem. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2884,7 +2907,7 @@ export interface MyShoppingListSetTextLineItemCustomFieldAction extends IMyShopp */ readonly textLineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2913,14 +2936,16 @@ export interface MyShoppingListSetTextLineItemCustomTypeAction extends IMyShoppi */ readonly textLineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the TextLineItem with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the TextLineItem with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the TextLineItem. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the TextLineItem. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the TextLineItem. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/message.ts b/src/lib/types/models/message.ts index 5bdff1660f..fe92d45d83 100644 --- a/src/lib/types/models/message.ts +++ b/src/lib/types/models/message.ts @@ -35,6 +35,7 @@ import { ChannelReference } from './channel.js' import { Address, AddressRole, + Asset, CentPrecisionMoney, CreatedBy, DiscountedPrice, @@ -70,7 +71,7 @@ import { import { OrderEdit, OrderEditApplied } from './order-edit.js' import { Payment, PaymentReference, Transaction, TransactionState } from './payment.js' import { PaymentMethod, PaymentMethodStatus, PaymentMethodToken } from './payment-method.js' -import { ProductPriceModeEnum, ProductProjection, ProductReference, ProductVariant } from './product.js' +import { Attribute, ProductPriceModeEnum, ProductProjection, ProductReference, ProductVariant } from './product.js' import { ProductSelection, ProductVariantExclusion, ProductVariantSelection } from './product-selection.js' import { ProductTailoringAttribute, ProductVariantTailoring } from './product-tailoring.js' import { Quote, QuoteState } from './quote.js' @@ -103,7 +104,7 @@ export interface ContainerAndKey { readonly container: string } /** - * Base representation of a Message containing common fields to all [Message Types](/../api/projects/messages#message-types). + * Base representation of a Message containing common fields to all [Message Types](/api/projects/messages#message-types). * */ export type Message = @@ -172,8 +173,10 @@ export type Message = | CartDiscountStoreRemovedMessage | CartDiscountStoresSetMessage | CartFrozenMessage + | CartLockedMessage | CartPurchaseOrderNumberSetMessage | CartUnfrozenMessage + | CartUnlockedMessage | CategoryCreatedMessage | CategorySlugChangedMessage | CustomLineItemStateTransitionMessage @@ -238,7 +241,11 @@ export type Message = | DiscountGroupSortOrderSetMessage | InventoryEntryCreatedMessage | InventoryEntryDeletedMessage + | InventoryEntryOutOfStockMessage | InventoryEntryQuantitySetMessage + | InventoryEntryReorderPointMessage + | InventoryEntryReservationExpirationInMinutesSetMessage + | InventoryEntrySafetyStockMessage | LineItemStateTransitionMessage | OrderBillingAddressSetMessage | OrderBusinessUnitSetMessage @@ -350,6 +357,7 @@ export type Message = | ProductTailoringDescriptionSetMessage | ProductTailoringImageAddedMessage | ProductTailoringImagesSetMessage + | ProductTailoringKeySetMessage | ProductTailoringNameSetMessage | ProductTailoringPublishedMessage | ProductTailoringSlugSetMessage @@ -421,6 +429,15 @@ export type Message = | StoreNameSetMessage | StoreProductSelectionsChangedMessage | StoreSupplyChannelsChangedMessage + | VariantCreatedMessage + | VariantDeletedMessage + | VariantImageAddedMessage + | VariantImagesSetMessage + | VariantKeySetMessage + | VariantPublishedMessage + | VariantSkuSetMessage + | VariantStagedChangesRemovedMessage + | VariantUnpublishedMessage export interface IMessage { /** * Unique identifier of the Message. Can be used to track which Messages have been processed. @@ -474,7 +491,7 @@ export interface IMessage { */ readonly resourceVersion: number /** - * [Message Type](/../api/projects/messages#message-types) of the Message. + * [Message Type](/api/projects/messages#message-types) of the Message. * * */ @@ -5230,6 +5247,70 @@ export interface CartFrozenMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers } +/** + * Generated after a successful [Lock Cart](ctp:api:type:CartLockCartAction) update action. + * + */ +export interface CartLockedMessage extends IMessage { + readonly type: 'CartLocked' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers +} /** * Generated after a successful [Set Purchase Order Number](ctp:api:type:CartSetPurchaseOrderNumberAction) update action. * @@ -5370,6 +5451,70 @@ export interface CartUnfrozenMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers } +/** + * Generated after a successful [Unlock Cart](ctp:api:type:CartUnlockCartAction) update action. + * + */ +export interface CartUnlockedMessage extends IMessage { + readonly type: 'CartUnlocked' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers +} /** * Generated after a successful [Create Category](ctp:api:endpoint:/{projectKey}/categories:POST) request. * @@ -7007,7 +7152,7 @@ export interface CustomerDefaultShippingAddressSetMessage extends IMessage { readonly address?: Address } /** - * Generated after a successful [Delete Customer](/../api/projects/customers#delete-customer) request. + * Generated after a successful [Delete Customer](/api/projects/customers#delete-customer) request. * */ export interface CustomerDeletedMessage extends IMessage { @@ -7234,7 +7379,7 @@ export interface CustomerEmailTokenCreatedMessage extends IMessage { */ readonly value?: string /** - * If `true`, all email tokens issued previously for the Customer are invalidated. + * Whether all email tokens issued previously for the Customer are invalidated. * * */ @@ -8255,14 +8400,14 @@ export interface CustomerPasswordTokenCreatedMessage extends IMessage { */ readonly value?: string /** - * If `true`, all password tokens issued previously for the Customer are invalidated. + * Whether all password tokens issued previously for the Customer are invalidated. * * */ readonly invalidateOlderTokens: boolean } /** - * Generated after a successful [Reset Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST), [Reset Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password/reset:POST), [Change Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password:POST), or [Change Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) request. This Message is also produced during equivalent requests to the [My Customer Profile](/../api/projects/me-profile) endpoint. + * Generated after a successful [Reset Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST), [Reset Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password/reset:POST), [Change Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password:POST), or [Change Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) request. This Message is also produced during equivalent requests to the [My Customer Profile](/api/projects/me-profile) endpoint. * */ export interface CustomerPasswordUpdatedMessage extends IMessage { @@ -9260,7 +9405,7 @@ export interface InventoryEntryCreatedMessage extends IMessage { readonly inventoryEntry: InventoryEntry } /** - * Generated after a successful [Delete InventoryEntry](/../api/projects/inventory#delete-inventoryentry) request. + * Generated after a successful [Delete InventoryEntry](/api/projects/inventory#delete-inventoryentry) request. * */ export interface InventoryEntryDeletedMessage extends IMessage { @@ -9335,6 +9480,82 @@ export interface InventoryEntryDeletedMessage extends IMessage { */ readonly supplyChannel?: ChannelReference } +/** + * Generated after [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` goes to 0. + * + */ +export interface InventoryEntryOutOfStockMessage extends IMessage { + readonly type: 'InventoryEntryOutOfStock' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * The `sku` of the [InventoryEntry](ctp:api:type:InventoryEntry) whose `quantityOnStock` went to 0. + * + * + */ + readonly sku: string + /** + * [Reference](ctp:api:type:Reference) to the [Channel](ctp:api:type:Channel) where the [InventoryEntry](ctp:api:type:InventoryEntry) quantity on stock went to 0. + * + * + */ + readonly supplyChannel?: ChannelReference +} /** * Generated after a successful [Add Quantity](ctp:api:type:InventoryEntryAddQuantityAction), [Remove Quantity](ctp:api:type:InventoryEntryRemoveQuantityAction) or [Change Quantity](ctp:api:type:InventoryEntryChangeQuantityAction) update action. * Inventory changes as a result of [Order creation](ctp:api:endpoint:/{projectKey}/orders:POST) do not trigger this message. @@ -9437,84 +9658,324 @@ export interface InventoryEntryQuantitySetMessage extends IMessage { readonly supplyChannel?: ChannelReference } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [Message](ctp:api:type:Message). + * Generated after [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reaches the configured reorder point level. For more information, see [InventoryEntryStockLevels](ctp:api:type:InventoryEntryStockLevels). * */ -export interface MessagePagedQueryResponse { +export interface InventoryEntryReorderPointMessage extends IMessage { + readonly type: 'InventoryEntryReorderPoint' /** - * Number of [results requested](/../api/general-concepts#limit). + * Unique identifier of the Message. Can be used to track which Messages have been processed. * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. * */ - readonly limit: number + readonly version: number /** - * Actual number of results returned. + * Date and time (UTC) the Message was generated. * + */ + readonly createdAt: string + /** + * Value of `createdAt`. * */ - readonly count: number + readonly lastModifiedAt: string /** - * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). - * This field is returned by default. - * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * IDs and references that last modified the Message. * * */ - readonly total?: number + readonly lastModifiedBy?: LastModifiedBy /** - * Number of [elements skipped](/../api/general-concepts#offset). + * IDs and references that created the Message. * * */ - readonly offset: number + readonly createdBy?: CreatedBy /** - * [Messages](ctp:api:type:Message) matching the query. + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. * * */ - readonly results: Message[] -} -/** - * Holds the configuration for the [Messages Query](/../api/projects/messages) feature for the Project. - */ -export interface MessagesConfiguration { + readonly sequenceNumber: number /** - * When `true`, the [Messages Query](/../api/projects/messages) feature is active. + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. * * */ - readonly enabled: boolean + readonly resource: Reference /** - * Specifies the number of days each Message should be available via the [Messages Query](/../api/projects/messages) API. - * For Messages older than the specified period, it is not guaranteed that they are still accessible via the API. - * This field may not be present on Projects created before 8 October 2018. + * Version of the resource on which the change or action was performed. * * */ - readonly deleteDaysAfterCreation?: number -} -/** - * Defines the configuration for the [Messages Query](/../api/projects/messages) feature for the Project. - */ -export interface MessagesConfigurationDraft { + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * Setting to `true` activates the [Messages Query](/../api/projects/messages) feature. + * The `sku` of the [InventoryEntry](ctp:api:type:InventoryEntry) whose `quantityOnStock` reached the configured reorder point level. * * */ - readonly enabled: boolean + readonly sku: string /** - * Specifies the number of days each Message should be available via the [Messages Query](/../api/projects/messages) API. For Messages older than the specified period, it is not guaranteed that they are still accessible via the API. + * The `quantityOnStock` of the [InventoryEntry](ctp:api:type:InventoryEntry) at the time the reorder point level was reached. * * */ - readonly deleteDaysAfterCreation: number + readonly quantityOnStock: number + /** + * [Reference](ctp:api:type:Reference) to the [Channel](ctp:api:type:Channel) where the [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reached the configured reorder point level. + * + * + */ + readonly supplyChannel?: ChannelReference } -export type OrderMessage = - | CustomLineItemStateTransitionMessage - | DeliveryAddedMessage +/** + * Generated after a successful [Set Reservation Expiration In Minutes](ctp:api:type:InventoryEntrySetReservationExpirationInMinutesAction) update action. + * + */ +export interface InventoryEntryReservationExpirationInMinutesSetMessage extends IMessage { + readonly type: 'InventoryEntryReservationExpirationInMinutesSet' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * `reservationExpirationInMinutes` value of the [Inventory Entry](ctp:api:type:InventoryEntry) after the [Set Reservation Expiration In Minutes](ctp:api:type:InventoryEntrySetReservationExpirationInMinutesAction) update action. + * + * + */ + readonly newReservationExpirationInMinutes?: number + /** + * `reservationExpirationInMinutes` value of the [Inventory Entry](ctp:api:type:InventoryEntry) before the [Set Reservation Expiration In Minutes](ctp:api:type:InventoryEntrySetReservationExpirationInMinutesAction) update action. + * + * + */ + readonly oldReservationExpirationInMinutes?: number +} +/** + * Generated after [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reaches the configured safety stock level. For more information, see [InventoryEntryStockLevels](ctp:api:type:InventoryEntryStockLevels). + * + */ +export interface InventoryEntrySafetyStockMessage extends IMessage { + readonly type: 'InventoryEntrySafetyStock' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * The `sku` of the [InventoryEntry](ctp:api:type:InventoryEntry) whose `quantityOnStock` reached the configured safety stock level. + * + * + */ + readonly sku: string + /** + * The `quantityOnStock` of the [InventoryEntry](ctp:api:type:InventoryEntry) at the time the safety stock level was reached. + * + * + */ + readonly quantityOnStock: number + /** + * [Reference](ctp:api:type:Reference) to the [Channel](ctp:api:type:Channel) where the [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reached the configured safety stock level. + * + * + */ + readonly supplyChannel?: ChannelReference +} +/** + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [Message](ctp:api:type:Message). + * + */ +export interface MessagePagedQueryResponse { + /** + * Number of [results requested](/api/general-concepts#limit). + * + * + */ + readonly limit: number + /** + * Actual number of results returned. + * + * + */ + readonly count: number + /** + * Total number of results matching the query. + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). + * This field is returned by default. + * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). + * + * + */ + readonly total?: number + /** + * Number of [elements skipped](/api/general-concepts#offset). + * + * + */ + readonly offset: number + /** + * [Messages](ctp:api:type:Message) matching the query. + * + * + */ + readonly results: Message[] +} +/** + * Holds the configuration for the [Messages Query](/api/projects/messages) feature for the Project. + */ +export interface MessagesConfiguration { + /** + * When `true`, the [Messages Query](/api/projects/messages) feature is active. + * + * + */ + readonly enabled: boolean + /** + * Specifies the number of days each Message should be available via the [Messages Query](/api/projects/messages) API. + * For Messages older than the specified period, it is not guaranteed that they are still accessible via the API. + * This field may not be present on Projects created before 8 October 2018. + * + * + */ + readonly deleteDaysAfterCreation?: number +} +/** + * Defines the configuration for the [Messages Query](/api/projects/messages) feature for the Project. + */ +export interface MessagesConfigurationDraft { + /** + * Setting to `true` activates the [Messages Query](/api/projects/messages) feature. + * + * + */ + readonly enabled: boolean + /** + * Specifies the number of days each Message should be available via the [Messages Query](/api/projects/messages) API. For Messages older than the specified period, it is not guaranteed that they are still accessible via the API. + * + * + */ + readonly deleteDaysAfterCreation: number +} +export type OrderMessage = + | CustomLineItemStateTransitionMessage + | DeliveryAddedMessage | DeliveryAddressSetMessage | DeliveryCustomFieldAddedMessage | DeliveryCustomFieldChangedMessage @@ -9620,7 +10081,7 @@ export interface IOrderMessage { */ readonly resourceVersion: number /** - * [Message Type](/../api/projects/messages#message-types) of the Message. + * [Message Type](/api/projects/messages#message-types) of the Message. * * */ @@ -10533,7 +10994,7 @@ export interface LineItemStateTransitionMessage extends IOrderMessage { */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -10718,6 +11179,8 @@ export interface OrderBusinessUnitSetMessage extends IOrderMessage { /** * Generated after an Order is successfully created according to the defined schedule of a Recurring Order. * + * This Message is emitted in place of the standard [OrderCreated](ctp:api:type:OrderCreatedMessage) Message: Orders generated by a Recurring Order schedule do not emit the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. + * */ export interface OrderCreatedFromRecurringOrderMessage extends IOrderMessage { readonly type: 'OrderCreatedFromRecurringOrder' @@ -10792,7 +11255,9 @@ export interface OrderCreatedFromRecurringOrderMessage extends IOrderMessage { readonly recurringOrderRef: RecurringOrderReference } /** - * Generated after a successful [Create Order](ctp:api:endpoint:/{projectKey}/orders:POST) request. + * Generated after a successful [Create Order](ctp:api:endpoint:/{projectKey}/orders:POST) request, for the initial Order created directly from a Cart. + * + * Orders generated by a [Recurring Order](ctp:api:type:RecurringOrder) schedule do not emit this Message. They emit the [OrderCreatedFromRecurringOrder](ctp:api:type:OrderCreatedFromRecurringOrderMessage) Message instead. * */ export interface OrderCreatedMessage extends IOrderMessage { @@ -11803,7 +12268,7 @@ export interface OrderCustomerSetMessage extends IOrderMessage { readonly oldCustomerGroup?: CustomerGroupReference } /** - * Generated after a successful [Delete Order](/../api/projects/orders#delete-order) request. + * Generated after a successful [Delete Order](/api/projects/orders#delete-order) request. * */ export interface OrderDeletedMessage extends IOrderMessage { @@ -12013,7 +12478,7 @@ export interface OrderDiscountCodeRemovedMessage extends IOrderMessage { readonly discountCode: DiscountCodeReference } /** - * Generated after the [DiscountCodeState](ctp:api:type:DiscountCodeState) changes due to a [recalculation](/../api/projects/carts#recalculate). + * Generated after the [DiscountCodeState](ctp:api:type:DiscountCodeState) changes due to a [recalculation](/api/projects/carts#recalculate). * */ export interface OrderDiscountCodeStateSetMessage extends IOrderMessage { @@ -12386,7 +12851,7 @@ export interface OrderLineItemDiscountSetMessage extends IOrderMessage { */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -12418,7 +12883,7 @@ export interface OrderLineItemDiscountSetMessage extends IOrderMessage { readonly taxedPricePortions: MethodTaxedPrice[] } /** - * Generated after a successful [Set LineItem DistributionChannel](/../api/projects/order-edits#set-lineitem-distributionchannel) update action. + * Generated after a successful [Set LineItem DistributionChannel](/api/projects/order-edits#set-lineitem-distributionchannel) update action. * */ export interface OrderLineItemDistributionChannelSetMessage extends IOrderMessage { @@ -12487,7 +12952,7 @@ export interface OrderLineItemDistributionChannelSetMessage extends IOrderMessag */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -12569,7 +13034,7 @@ export interface OrderLineItemRemovedMessage extends IOrderMessage { */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -16488,7 +16953,7 @@ export interface ProductCreatedMessage extends IMessage { readonly productProjection: ProductProjection } /** - * Generated after a successful [Delete Product](/../api/projects/products#delete-product) request. + * Generated after a successful [Delete Product](/api/projects/products#delete-product) request. * */ export interface ProductDeletedMessage extends IMessage { @@ -16564,7 +17029,7 @@ export interface ProductDeletedMessage extends IMessage { readonly currentProjection?: ProductProjection } /** - * Generated after a successful [Add External Image](ctp:api:type:ProductAddExternalImageAction) update action or after the successful [upload of an image](/../api/projects/products#upload-product-image). + * Generated after a successful [Add External Image](ctp:api:type:ProductAddExternalImageAction) update action or after the successful [upload of an image](/api/projects/products#upload-product-image). * */ export interface ProductImageAddedMessage extends IMessage { @@ -18110,7 +18575,7 @@ export interface ProductSelectionCreatedMessage extends IMessage { readonly productSelection: ProductSelection } /** - * Generated after a successful [Delete Product Selection](/../api/projects/product-selections#delete-productselection) request. + * Generated after a successful [Delete Product Selection](/api/projects/product-selections#delete-productselection) request. * */ export interface ProductSelectionDeletedMessage extends IMessage { @@ -18707,8 +19172,8 @@ export interface ProductStateTransitionMessage extends IMessage { readonly force: boolean } /** - * Generated after a successful [Create Product Tailoring](/../api/projects/product-tailoring#create-producttailoring) or - * [Create Product Tailoring in Store](/../api/projects/product-tailoring#create-producttailoring-in-store) request. + * Generated after a successful [Create Product Tailoring](/api/projects/product-tailoring#create-producttailoring) or + * [Create Product Tailoring in Store](/api/projects/product-tailoring#create-producttailoring-in-store) request. * */ export interface ProductTailoringCreatedMessage extends IMessage { @@ -18844,15 +19309,15 @@ export interface ProductTailoringCreatedMessage extends IMessage { */ readonly attributes?: ProductTailoringAttribute[] /** - * `true` if the ProductTailoring is published. + * Whether the ProductTailoring is published. * * */ readonly published: boolean } /** - * Generated after a successful [Delete Product Tailoring](/../api/projects/product-tailoring#delete-producttailoring) or - * [Delete ProductTailoring assigned to Product in Store](/../api/projects/product-tailoring#delete-producttailoring-assigned-to-product-in-store) request. + * Generated after a successful [Delete Product Tailoring](/api/projects/product-tailoring#delete-producttailoring) or + * [Delete ProductTailoring assigned to Product in Store](/api/projects/product-tailoring#delete-producttailoring-assigned-to-product-in-store) request. * */ export interface ProductTailoringDeletedMessage extends IMessage { @@ -19223,11 +19688,11 @@ export interface ProductTailoringImagesSetMessage extends IMessage { readonly images?: Image[] } /** - * Generated after a successful Product Tailoring [Set Name](ctp:api:type:ProductTailoringSetNameAction) update action. + * Generated after a successful Product Tailoring [Set Key](ctp:api:type:ProductTailoringSetKeyAction) update action. * */ -export interface ProductTailoringNameSetMessage extends IMessage { - readonly type: 'ProductTailoringNameSet' +export interface ProductTailoringKeySetMessage extends IMessage { + readonly type: 'ProductTailoringKeySet' /** * Unique identifier of the Message. Can be used to track which Messages have been processed. * @@ -19304,24 +19769,24 @@ export interface ProductTailoringNameSetMessage extends IMessage { */ readonly product: ProductReference /** - * The name of the [Product Tailoring](ctp:api:type:ProductTailoring) after the [Set Name](ctp:api:type:ProductTailoringSetNameAction) update action. + * `key` value of the [ProductTailoring](ctp:api:type:ProductTailoring) after the [Set Key](ctp:api:type:ProductTailoringSetKeyAction) update action. * * */ - readonly name?: LocalizedString + readonly key?: string /** - * The name of the [ProductTailoring](ctp:api:type:ProductTailoring) before the [Set Name](ctp:api:type:ProductTailoringSetNameAction) update action. + * `key` value of the [ProductTailoring](ctp:api:type:ProductTailoring) before the [Set Key](ctp:api:type:ProductTailoringSetKeyAction) update action. * * */ - readonly oldName?: LocalizedString + readonly oldKey?: string } /** - * Generated after a successful [Product Tailoring Publish](ctp:api:type:ProductTailoringPublishAction) update action. + * Generated after a successful Product Tailoring [Set Name](ctp:api:type:ProductTailoringSetNameAction) update action. * */ -export interface ProductTailoringPublishedMessage extends IMessage { - readonly type: 'ProductTailoringPublished' +export interface ProductTailoringNameSetMessage extends IMessage { + readonly type: 'ProductTailoringNameSet' /** * Unique identifier of the Message. Can be used to track which Messages have been processed. * @@ -19397,13 +19862,25 @@ export interface ProductTailoringPublishedMessage extends IMessage { * */ readonly product: ProductReference + /** + * The name of the [Product Tailoring](ctp:api:type:ProductTailoring) after the [Set Name](ctp:api:type:ProductTailoringSetNameAction) update action. + * + * + */ + readonly name?: LocalizedString + /** + * The name of the [ProductTailoring](ctp:api:type:ProductTailoring) before the [Set Name](ctp:api:type:ProductTailoringSetNameAction) update action. + * + * + */ + readonly oldName?: LocalizedString } /** - * Generated after a successful Product Tailoring [Set Slug](ctp:api:type:ProductTailoringSetSlugAction) update action. + * Generated after a successful [Product Tailoring Publish](ctp:api:type:ProductTailoringPublishAction) update action. * */ -export interface ProductTailoringSlugSetMessage extends IMessage { - readonly type: 'ProductTailoringSlugSet' +export interface ProductTailoringPublishedMessage extends IMessage { + readonly type: 'ProductTailoringPublished' /** * Unique identifier of the Message. Can be used to track which Messages have been processed. * @@ -19479,8 +19956,90 @@ export interface ProductTailoringSlugSetMessage extends IMessage { * */ readonly product: ProductReference +} +/** + * Generated after a successful Product Tailoring [Set Slug](ctp:api:type:ProductTailoringSetSlugAction) update action. + * + */ +export interface ProductTailoringSlugSetMessage extends IMessage { + readonly type: 'ProductTailoringSlugSet' /** - * The slug of the [Product Tailoring](ctp:api:type:ProductTailoring) after the [Set Slug](ctp:api:type:ProductTailoringSetSlugAction) update action. + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * The Store to which the Product Tailoring belongs. + * + * + */ + readonly store: StoreKeyReference + /** + * User-defined unique identifier of the Product this Product Tailoring belongs to. + * + * + */ + readonly productKey?: string + /** + * Reference to the Product the Product Tailoring belongs to. + * + * + */ + readonly product: ProductReference + /** + * The slug of the [Product Tailoring](ctp:api:type:ProductTailoring) after the [Set Slug](ctp:api:type:ProductTailoringSetSlugAction) update action. * * */ @@ -19790,7 +20349,7 @@ export interface ProductVariantDeletedMessage extends IMessage { */ readonly removedImageUrls: string[] /** - * If `true`, this message informs that only the staged ProductVariant has been removed by the update action. + * Whether this message informs that only the staged ProductVariant has been removed by the update action. * If `false`, both the current and staged ProductVariant have been removed. * * @@ -20049,7 +20608,7 @@ export interface QuoteCreatedMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * [Quote](/../api/projects/quotes) that was created. + * [Quote](/api/projects/quotes) that was created. * * */ @@ -20119,20 +20678,20 @@ export interface QuoteCustomerChangedMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * The [Buyer](/../api/quotes-overview#buyer) who now owns the Quote. + * The [Buyer](/api/quotes-overview#buyer) who now owns the Quote. * * */ readonly customer: CustomerReference /** - * The previous [Buyer](/../api/quotes-overview#buyer). + * The previous [Buyer](/api/quotes-overview#buyer). * * */ readonly previousCustomer: CustomerReference } /** - * Generated after a successful [Delete Quote](/../api/projects/quotes#delete-quote) request. + * Generated after a successful [Delete Quote](/api/projects/quotes#delete-quote) request. * */ export interface QuoteDeletedMessage extends IMessage { @@ -20329,7 +20888,7 @@ export interface QuoteRequestCreatedMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * [Quote Request](/../api/projects/quote-requests) that was created. + * [Quote Request](/api/projects/quote-requests) that was created. * * */ @@ -20399,20 +20958,20 @@ export interface QuoteRequestCustomerChangedMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * The [Buyer](/../api/quotes-overview#buyer) who now owns the Quote Request. + * The [Buyer](/api/quotes-overview#buyer) who now owns the Quote Request. * * */ readonly customer: CustomerReference /** - * The previous [Buyer](/../api/quotes-overview#buyer). + * The previous [Buyer](/api/quotes-overview#buyer). * * */ readonly previousCustomer: CustomerReference } /** - * Generated after a successful [Delete QuoteRequest](/../api/projects/quote-requests#delete-quoterequest) request. + * Generated after a successful [Delete QuoteRequest](/api/projects/quote-requests#delete-quoterequest) request. * */ export interface QuoteRequestDeletedMessage extends IMessage { @@ -21235,7 +21794,7 @@ export interface RecurringOrderCustomTypeSetMessage extends IMessage { readonly previousTypeId?: string } /** - * Generated after a successful [Delete RecurringOrder](/../api/projects/recurring-orders#delete-recurringorder) request. + * Generated after a successful [Delete RecurringOrder](/api/projects/recurring-orders#delete-recurringorder) request. * */ export interface RecurringOrderDeletedMessage extends IMessage { @@ -22312,7 +22871,7 @@ export interface IShoppingListMessage { */ readonly resourceVersion: number /** - * [Message Type](/../api/projects/messages#message-types) of the Message. + * [Message Type](/api/projects/messages#message-types) of the Message. * * */ @@ -22528,14 +23087,14 @@ export interface StagedQuoteCreatedMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * [Staged Quote](/../api/projects/staged-quotes) that was created. + * [Staged Quote](/api/projects/staged-quotes) that was created. * * */ readonly stagedQuote: StagedQuote } /** - * Generated after a successful [Delete StagedQuote](/../api/projects/staged-quotes#delete-stagedquote) request. + * Generated after a successful [Delete StagedQuote](/api/projects/staged-quotes#delete-stagedquote) request. * */ export interface StagedQuoteDeletedMessage extends IMessage { @@ -23043,7 +23602,7 @@ export interface StandalonePriceCreatedMessage extends IMessage { readonly standalonePrice: StandalonePrice } /** - * Generated after a successful [Delete StandalonePrice](/../api/projects/standalone-prices#delete-standaloneprice) request. + * Generated after a successful [Delete StandalonePrice](/api/projects/standalone-prices#delete-standaloneprice) request. * */ export interface StandalonePriceDeletedMessage extends IMessage { @@ -23392,7 +23951,7 @@ export interface StandalonePriceStagedChangesAppliedMessage extends IMessage { */ readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * Applied changes of the [StandalonePrice](/../api/projects/standalone-prices) after the [Apply Staged Changes](ctp:api:type:StandalonePriceApplyStagedChangesAction) update action. + * Applied changes of the [StandalonePrice](/api/projects/standalone-prices) after the [Apply Staged Changes](ctp:api:type:StandalonePriceApplyStagedChangesAction) update action. * * */ @@ -24192,7 +24751,7 @@ export interface StoreCreatedMessage extends IMessage { readonly custom?: CustomFields } /** - * Generated after a successful [Delete Store](/../api/projects/stores#delete-store) request. + * Generated after a successful [Delete Store](/api/projects/stores#delete-store) request. * */ export interface StoreDeletedMessage extends IMessage { @@ -24665,27 +25224,718 @@ export interface UserProvidedIdentifiers { * User-provided unique identifier of an [Order](ctp:api:type:Order). * */ - readonly orderNumber?: string + readonly orderNumber?: string + /** + * User-provided unique identifier of a [Customer](ctp:api:type:Customer). + * + */ + readonly customerNumber?: string + /** + * Unique SKU of a [Product Variant](ctp:api:type:ProductVariant). + * + */ + readonly sku?: string + /** + * Unique identifier usually used in deep-link URLs for a [Product](ctp:api:type:Product). The value corresponds to the slug in the `current` [Product Projection](ctp:api:type:ProductProjection). + * + */ + readonly slug?: LocalizedString + /** + * Unique identifier of a [Custom Object](/api/projects/custom-objects). + * + */ + readonly containerAndKey?: ContainerAndKey +} +/** + * Generated after a successful [Create Variant](/../api/projects/variants#create-variant) request. + * + */ +export interface VariantCreatedMessage extends IMessage { + readonly type: 'VariantCreated' + /** + * Unique identifier of the Variant. + * + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * Unique identifier of the Product to which the Variant belongs. + * + * + */ + readonly productId: string + /** + * Unique identifier of the Variant within its parent Product. + * + * + */ + readonly variantId: number + /** + * User-defined unique identifier of the Variant. + * + * + */ + readonly key?: string + /** + * SKU of the Variant. + * + * + */ + readonly sku?: string + /** + * Attributes of the Variant. + * + * + */ + readonly attributes?: Attribute[] + /** + * Assets of the Variant. + * + * + */ + readonly assets?: Asset[] + /** + * Images of the Variant. + * + * + */ + readonly images?: Image[] + /** + * Whether the Variant was published. + * + * + */ + readonly publish: boolean +} +/** + * Generated after a successful [Delete Variant](/../api/projects/variants#delete-variant) request. + * + */ +export interface VariantDeletedMessage extends IMessage { + readonly type: 'VariantDeleted' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers +} +/** + * Generated after a successful [Add External Image](ctp:api:type:VariantAddExternalImageAction) update action. + * + */ +export interface VariantImageAddedMessage extends IMessage { + readonly type: 'VariantImageAdded' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * [Image](ctp:api:type:Image) that was added. + * + * + */ + readonly image: Image + /** + * Whether the update was only applied to the staged Variant. + * + * + */ + readonly staged: boolean +} +/** + * Generated after a successful [Set Images](ctp:api:type:VariantSetImagesAction) update action. + * + */ +export interface VariantImagesSetMessage extends IMessage { + readonly type: 'VariantImagesSet' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * The images that were set on the Variant. + * + * + */ + readonly images: Image[] + /** + * The previous images of the Variant. + * + * + */ + readonly oldImages: Image[] + /** + * Whether the update was only applied to the staged Variant. + * + * + */ + readonly staged: boolean +} +/** + * Generated after a successful [Set Key](ctp:api:type:VariantSetKeyAction) update action. + * + */ +export interface VariantKeySetMessage extends IMessage { + readonly type: 'VariantKeySet' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * The key that was set on the Variant. + * + * + */ + readonly key?: string + /** + * The previous key of the Variant. + * + * + */ + readonly oldKey?: string +} +/** + * Generated after a successful [Publish](/../api/projects/variants#publish) update action. + * + */ +export interface VariantPublishedMessage extends IMessage { + readonly type: 'VariantPublished' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers +} +/** + * Generated after a successful [Set SKU](ctp:api:type:VariantSetSkuAction) update action. + * + */ +export interface VariantSkuSetMessage extends IMessage { + readonly type: 'VariantSkuSet' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers + /** + * The SKU that was set on the Variant. + * + * + */ + readonly sku?: string + /** + * The previous SKU of the Variant. + * + * + */ + readonly oldSku?: string + /** + * Whether the update was only applied to the staged Variant. + * + * + */ + readonly staged: boolean +} +/** + * Generated after a successful [Staged Changes Removed](/../api/projects/variants#remove-staged-changes) update action. + * + */ +export interface VariantStagedChangesRemovedMessage extends IMessage { + readonly type: 'VariantStagedChangesRemoved' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number + /** + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * + * + */ + readonly resource: Reference + /** + * Version of the resource on which the change or action was performed. + * + * + */ + readonly resourceVersion: number + /** + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * + * + */ + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers +} +/** + * Generated after a successful [Unpublish](/../api/projects/variants#unpublish) update action. + * + */ +export interface VariantUnpublishedMessage extends IMessage { + readonly type: 'VariantUnpublished' + /** + * Unique identifier of the Message. Can be used to track which Messages have been processed. + * + */ + readonly id: string + /** + * Version of a resource. In case of Messages, this is always `1`. + * + */ + readonly version: number + /** + * Date and time (UTC) the Message was generated. + * + */ + readonly createdAt: string + /** + * Value of `createdAt`. + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Message. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Message. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Message number in relation to other Messages for a given resource. The `sequenceNumber` of the next Message for the resource is the successor of the `sequenceNumber` of the current Message. Meaning, the `sequenceNumber` of the next Message equals the `sequenceNumber` of the current Message + 1. + * `sequenceNumber` can be used to ensure that Messages are processed in the correct order for a particular resource. + * + * + */ + readonly sequenceNumber: number /** - * User-provided unique identifier of a [Customer](ctp:api:type:Customer). + * [Reference](ctp:api:type:Reference) to the resource on which the change or action was performed. + * * */ - readonly customerNumber?: string + readonly resource: Reference /** - * Unique SKU of a [Product Variant](ctp:api:type:ProductVariant). + * Version of the resource on which the change or action was performed. + * * */ - readonly sku?: string + readonly resourceVersion: number /** - * Unique identifier usually used in deep-link URLs for a [Product](ctp:api:type:Product). The value corresponds to the slug in the `current` [Product Projection](ctp:api:type:ProductProjection). + * User-provided identifiers of the resource, such as `key` or `externalId`. Only present if the resource has such identifiers. + * * */ - readonly slug?: LocalizedString + readonly resourceUserProvidedIdentifiers?: UserProvidedIdentifiers /** - * Unique identifier of a [Custom Object](/../api/projects/custom-objects). + * Reference to the Product containing the Variant that was unpublished. + * * */ - readonly containerAndKey?: ContainerAndKey + readonly product: ProductReference } export type MessagePayload = | ApprovalFlowApprovedMessagePayload @@ -24753,8 +26003,10 @@ export type MessagePayload = | CartDiscountStoreRemovedMessagePayload | CartDiscountStoresSetMessagePayload | CartFrozenMessagePayload + | CartLockedMessagePayload | CartPurchaseOrderNumberSetMessagePayload | CartUnfrozenMessagePayload + | CartUnlockedMessagePayload | CategoryCreatedMessagePayload | CategorySlugChangedMessagePayload | CustomLineItemStateTransitionMessagePayload @@ -24819,7 +26071,11 @@ export type MessagePayload = | DiscountGroupSortOrderSetMessagePayload | InventoryEntryCreatedMessagePayload | InventoryEntryDeletedMessagePayload + | InventoryEntryOutOfStockMessagePayload | InventoryEntryQuantitySetMessagePayload + | InventoryEntryReorderPointMessagePayload + | InventoryEntryReservationExpirationInMinutesSetMessagePayload + | InventoryEntrySafetyStockMessagePayload | LineItemStateTransitionMessagePayload | OrderBillingAddressSetMessagePayload | OrderBusinessUnitSetMessagePayload @@ -24931,6 +26187,7 @@ export type MessagePayload = | ProductTailoringDescriptionSetMessagePayload | ProductTailoringImageAddedMessagePayload | ProductTailoringImagesSetMessagePayload + | ProductTailoringKeySetMessagePayload | ProductTailoringNameSetMessagePayload | ProductTailoringPublishedMessagePayload | ProductTailoringSlugSetMessagePayload @@ -25003,6 +26260,15 @@ export type MessagePayload = | StoreNameSetMessagePayload | StoreProductSelectionsChangedMessagePayload | StoreSupplyChannelsChangedMessagePayload + | VariantCreatedMessagePayload + | VariantDeletedMessagePayload + | VariantImageAddedMessagePayload + | VariantImagesSetMessagePayload + | VariantKeySetMessagePayload + | VariantPublishedMessagePayload + | VariantSkuSetMessagePayload + | VariantStagedChangesRemovedMessagePayload + | VariantUnpublishedMessagePayload export interface IMessagePayload { /** * @@ -26048,6 +27314,13 @@ export interface CartDiscountStoresSetMessagePayload extends IMessagePayload { export interface CartFrozenMessagePayload extends IMessagePayload { readonly type: 'CartFrozen' } +/** + * Generated after a successful [Lock Cart](ctp:api:type:CartLockCartAction) update action. + * + */ +export interface CartLockedMessagePayload extends IMessagePayload { + readonly type: 'CartLocked' +} /** * Generated after a successful [Set Purchase Order Number](ctp:api:type:CartSetPurchaseOrderNumberAction) update action. * @@ -26074,6 +27347,13 @@ export interface CartPurchaseOrderNumberSetMessagePayload extends IMessagePayloa export interface CartUnfrozenMessagePayload extends IMessagePayload { readonly type: 'CartUnfrozen' } +/** + * Generated after a successful [Unlock Cart](ctp:api:type:CartUnlockCartAction) update action. + * + */ +export interface CartUnlockedMessagePayload extends IMessagePayload { + readonly type: 'CartUnlocked' +} /** * Generated after a successful [Create Category](ctp:api:endpoint:/{projectKey}/categories:POST) request. * @@ -26457,7 +27737,7 @@ export interface CustomerDefaultShippingAddressSetMessagePayload extends IMessag readonly address?: Address } /** - * Generated after a successful [Delete Customer](/../api/projects/customers#delete-customer) request. + * Generated after a successful [Delete Customer](/api/projects/customers#delete-customer) request. * */ export interface CustomerDeletedMessagePayload extends IMessagePayload { @@ -26513,7 +27793,7 @@ export interface CustomerEmailTokenCreatedMessagePayload extends IMessagePayload */ readonly value?: string /** - * If `true`, all email tokens issued previously for the Customer are invalidated. + * Whether all email tokens issued previously for the Customer are invalidated. * * */ @@ -26736,14 +28016,14 @@ export interface CustomerPasswordTokenCreatedMessagePayload extends IMessagePayl */ readonly value?: string /** - * If `true`, all password tokens issued previously for the Customer are invalidated. + * Whether all password tokens issued previously for the Customer are invalidated. * * */ readonly invalidateOlderTokens: boolean } /** - * Generated after a successful [Reset Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST), [Reset Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password/reset:POST), [Change Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password:POST), or [Change Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) request. This Message is also produced during equivalent requests to the [My Customer Profile](/../api/projects/me-profile) endpoint. + * Generated after a successful [Reset Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password/reset:POST), [Reset Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password/reset:POST), [Change Customer's Password](ctp:api:endpoint:/{projectKey}/customers/password:POST), or [Change Customer's Password in a Store](ctp:api:endpoint:/{projectKey}/in-store/key={storeKey}/customers/password:POST) request. This Message is also produced during equivalent requests to the [My Customer Profile](/api/projects/me-profile) endpoint. * */ export interface CustomerPasswordUpdatedMessagePayload extends IMessagePayload { @@ -26943,7 +28223,7 @@ export interface InventoryEntryCreatedMessagePayload extends IMessagePayload { readonly inventoryEntry: InventoryEntry } /** - * Generated after a successful [Delete InventoryEntry](/../api/projects/inventory#delete-inventoryentry) request. + * Generated after a successful [Delete InventoryEntry](/api/projects/inventory#delete-inventoryentry) request. * */ export interface InventoryEntryDeletedMessagePayload extends IMessagePayload { @@ -26961,6 +28241,25 @@ export interface InventoryEntryDeletedMessagePayload extends IMessagePayload { */ readonly supplyChannel?: ChannelReference } +/** + * Generated after [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` goes to 0. + * + */ +export interface InventoryEntryOutOfStockMessagePayload extends IMessagePayload { + readonly type: 'InventoryEntryOutOfStock' + /** + * The `sku` of the [InventoryEntry](ctp:api:type:InventoryEntry) whose `quantityOnStock` went to 0. + * + * + */ + readonly sku: string + /** + * [Reference](ctp:api:type:Reference) to the [Channel](ctp:api:type:Channel) where the [InventoryEntry](ctp:api:type:InventoryEntry) quantity on stock went to 0. + * + * + */ + readonly supplyChannel?: ChannelReference +} /** * Generated after a successful [Add Quantity](ctp:api:type:InventoryEntryAddQuantityAction), [Remove Quantity](ctp:api:type:InventoryEntryRemoveQuantityAction) or [Change Quantity](ctp:api:type:InventoryEntryChangeQuantityAction) update action. * Inventory changes as a result of [Order creation](ctp:api:endpoint:/{projectKey}/orders:POST) do not trigger this message. @@ -27005,6 +28304,75 @@ export interface InventoryEntryQuantitySetMessagePayload extends IMessagePayload */ readonly supplyChannel?: ChannelReference } +/** + * Generated after [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reaches the configured reorder point level. For more information, see [InventoryEntryStockLevels](ctp:api:type:InventoryEntryStockLevels). + * + */ +export interface InventoryEntryReorderPointMessagePayload extends IMessagePayload { + readonly type: 'InventoryEntryReorderPoint' + /** + * The `sku` of the [InventoryEntry](ctp:api:type:InventoryEntry) whose `quantityOnStock` reached the configured reorder point level. + * + * + */ + readonly sku: string + /** + * The `quantityOnStock` of the [InventoryEntry](ctp:api:type:InventoryEntry) at the time the reorder point level was reached. + * + * + */ + readonly quantityOnStock: number + /** + * [Reference](ctp:api:type:Reference) to the [Channel](ctp:api:type:Channel) where the [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reached the configured reorder point level. + * + * + */ + readonly supplyChannel?: ChannelReference +} +/** + * Generated after a successful [Set Reservation Expiration In Minutes](ctp:api:type:InventoryEntrySetReservationExpirationInMinutesAction) update action. + * + */ +export interface InventoryEntryReservationExpirationInMinutesSetMessagePayload extends IMessagePayload { + readonly type: 'InventoryEntryReservationExpirationInMinutesSet' + /** + * `reservationExpirationInMinutes` value of the [Inventory Entry](ctp:api:type:InventoryEntry) after the [Set Reservation Expiration In Minutes](ctp:api:type:InventoryEntrySetReservationExpirationInMinutesAction) update action. + * + * + */ + readonly newReservationExpirationInMinutes?: number + /** + * `reservationExpirationInMinutes` value of the [Inventory Entry](ctp:api:type:InventoryEntry) before the [Set Reservation Expiration In Minutes](ctp:api:type:InventoryEntrySetReservationExpirationInMinutesAction) update action. + * + * + */ + readonly oldReservationExpirationInMinutes?: number +} +/** + * Generated after [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reaches the configured safety stock level. For more information, see [InventoryEntryStockLevels](ctp:api:type:InventoryEntryStockLevels). + * + */ +export interface InventoryEntrySafetyStockMessagePayload extends IMessagePayload { + readonly type: 'InventoryEntrySafetyStock' + /** + * The `sku` of the [InventoryEntry](ctp:api:type:InventoryEntry) whose `quantityOnStock` reached the configured safety stock level. + * + * + */ + readonly sku: string + /** + * The `quantityOnStock` of the [InventoryEntry](ctp:api:type:InventoryEntry) at the time the safety stock level was reached. + * + * + */ + readonly quantityOnStock: number + /** + * [Reference](ctp:api:type:Reference) to the [Channel](ctp:api:type:Channel) where the [InventoryEntry](ctp:api:type:InventoryEntry) `quantityOnStock` reached the configured safety stock level. + * + * + */ + readonly supplyChannel?: ChannelReference +} export type OrderMessagePayload = | CustomLineItemStateTransitionMessagePayload | DeliveryAddedMessagePayload @@ -27340,7 +28708,7 @@ export interface LineItemStateTransitionMessagePayload extends IOrderMessagePayl */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -27411,6 +28779,8 @@ export interface OrderBusinessUnitSetMessagePayload extends IOrderMessagePayload /** * Generated after an Order is successfully created according to the defined schedule of a Recurring Order. * + * This Message is emitted in place of the standard [OrderCreated](ctp:api:type:OrderCreatedMessage) Message: Orders generated by a Recurring Order schedule do not emit the [OrderCreated](ctp:api:type:OrderCreatedMessage) Message. + * */ export interface OrderCreatedFromRecurringOrderMessagePayload extends IOrderMessagePayload { readonly type: 'OrderCreatedFromRecurringOrder' @@ -27428,7 +28798,9 @@ export interface OrderCreatedFromRecurringOrderMessagePayload extends IOrderMess readonly recurringOrderRef: RecurringOrderReference } /** - * Generated after a successful [Create Order](ctp:api:endpoint:/{projectKey}/orders:POST) request. + * Generated after a successful [Create Order](ctp:api:endpoint:/{projectKey}/orders:POST) request, for the initial Order created directly from a Cart. + * + * Orders generated by a [Recurring Order](ctp:api:type:RecurringOrder) schedule do not emit this Message. They emit the [OrderCreatedFromRecurringOrder](ctp:api:type:OrderCreatedFromRecurringOrderMessage) Message instead. * */ export interface OrderCreatedMessagePayload extends IOrderMessagePayload { @@ -27698,7 +29070,7 @@ export interface OrderCustomerSetMessagePayload extends IOrderMessagePayload { readonly oldCustomerGroup?: CustomerGroupReference } /** - * Generated after a successful [Delete Order](/../api/projects/orders#delete-order) request. + * Generated after a successful [Delete Order](/api/projects/orders#delete-order) request. * */ export interface OrderDeletedMessagePayload extends IOrderMessagePayload { @@ -27737,7 +29109,7 @@ export interface OrderDiscountCodeRemovedMessagePayload extends IOrderMessagePay readonly discountCode: DiscountCodeReference } /** - * Generated after the [DiscountCodeState](ctp:api:type:DiscountCodeState) changes due to a [recalculation](/../api/projects/carts#recalculate). + * Generated after the [DiscountCodeState](ctp:api:type:DiscountCodeState) changes due to a [recalculation](/api/projects/carts#recalculate). * */ export interface OrderDiscountCodeStateSetMessagePayload extends IOrderMessagePayload { @@ -27825,7 +29197,7 @@ export interface OrderLineItemDiscountSetMessagePayload extends IOrderMessagePay */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -27857,7 +29229,7 @@ export interface OrderLineItemDiscountSetMessagePayload extends IOrderMessagePay readonly taxedPricePortions: MethodTaxedPrice[] } /** - * Generated after a successful [Set LineItem DistributionChannel](/../api/projects/order-edits#set-lineitem-distributionchannel) update action. + * Generated after a successful [Set LineItem DistributionChannel](/api/projects/order-edits#set-lineitem-distributionchannel) update action. * */ export interface OrderLineItemDistributionChannelSetMessagePayload extends IOrderMessagePayload { @@ -27869,7 +29241,7 @@ export interface OrderLineItemDistributionChannelSetMessagePayload extends IOrde */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -27894,7 +29266,7 @@ export interface OrderLineItemRemovedMessagePayload extends IOrderMessagePayload */ readonly lineItemId: string /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Unique among LineItems in the Order. * * */ @@ -28906,7 +30278,7 @@ export interface ProductCreatedMessagePayload extends IMessagePayload { readonly productProjection: ProductProjection } /** - * Generated after a successful [Delete Product](/../api/projects/products#delete-product) request. + * Generated after a successful [Delete Product](/api/projects/products#delete-product) request. * */ export interface ProductDeletedMessagePayload extends IMessagePayload { @@ -28925,7 +30297,7 @@ export interface ProductDeletedMessagePayload extends IMessagePayload { readonly currentProjection?: ProductProjection } /** - * Generated after a successful [Add External Image](ctp:api:type:ProductAddExternalImageAction) update action or after the successful [upload of an image](/../api/projects/products#upload-product-image). + * Generated after a successful [Add External Image](ctp:api:type:ProductAddExternalImageAction) update action or after the successful [upload of an image](/api/projects/products#upload-product-image). * */ export interface ProductImageAddedMessagePayload extends IMessagePayload { @@ -29403,7 +30775,7 @@ export interface ProductSelectionCreatedMessagePayload extends IMessagePayload { readonly productSelection: ProductSelection } /** - * Generated after a successful [Delete Product Selection](/../api/projects/product-selections#delete-productselection) request. + * Generated after a successful [Delete Product Selection](/api/projects/product-selections#delete-productselection) request. * */ export interface ProductSelectionDeletedMessagePayload extends IMessagePayload { @@ -29544,8 +30916,8 @@ export interface ProductStateTransitionMessagePayload extends IMessagePayload { readonly force: boolean } /** - * Generated after a successful [Create Product Tailoring](/../api/projects/product-tailoring#create-producttailoring) or - * [Create Product Tailoring in Store](/../api/projects/product-tailoring#create-producttailoring-in-store) request. + * Generated after a successful [Create Product Tailoring](/api/projects/product-tailoring#create-producttailoring) or + * [Create Product Tailoring in Store](/api/projects/product-tailoring#create-producttailoring-in-store) request. * */ export interface ProductTailoringCreatedMessagePayload extends IMessagePayload { @@ -29624,15 +30996,15 @@ export interface ProductTailoringCreatedMessagePayload extends IMessagePayload { */ readonly attributes?: ProductTailoringAttribute[] /** - * `true` if the ProductTailoring is published. + * Whether the ProductTailoring is published. * * */ readonly published: boolean } /** - * Generated after a successful [Delete Product Tailoring](/../api/projects/product-tailoring#delete-producttailoring) or - * [Delete ProductTailoring assigned to Product in Store](/../api/projects/product-tailoring#delete-producttailoring-assigned-to-product-in-store) request. + * Generated after a successful [Delete Product Tailoring](/api/projects/product-tailoring#delete-producttailoring) or + * [Delete ProductTailoring assigned to Product in Store](/api/projects/product-tailoring#delete-producttailoring-assigned-to-product-in-store) request. * */ export interface ProductTailoringDeletedMessagePayload extends IMessagePayload { @@ -29774,6 +31146,43 @@ export interface ProductTailoringImagesSetMessagePayload extends IMessagePayload */ readonly images?: Image[] } +/** + * Generated after a successful Product Tailoring [Set Key](ctp:api:type:ProductTailoringSetKeyAction) update action. + * + */ +export interface ProductTailoringKeySetMessagePayload extends IMessagePayload { + readonly type: 'ProductTailoringKeySet' + /** + * The Store to which the Product Tailoring belongs. + * + * + */ + readonly store: StoreKeyReference + /** + * User-defined unique identifier of the Product this Product Tailoring belongs to. + * + * + */ + readonly productKey?: string + /** + * Reference to the Product the Product Tailoring belongs to. + * + * + */ + readonly product: ProductReference + /** + * `key` value of the [ProductTailoring](ctp:api:type:ProductTailoring) after the [Set Key](ctp:api:type:ProductTailoringSetKeyAction) update action. + * + * + */ + readonly key?: string + /** + * `key` value of the [ProductTailoring](ctp:api:type:ProductTailoring) before the [Set Key](ctp:api:type:ProductTailoringSetKeyAction) update action. + * + * + */ + readonly oldKey?: string +} /** * Generated after a successful Product Tailoring [Set Name](ctp:api:type:ProductTailoringSetNameAction) update action. * @@ -29943,7 +31352,7 @@ export interface ProductVariantDeletedMessagePayload extends IMessagePayload { */ readonly removedImageUrls: string[] /** - * If `true`, this message informs that only the staged ProductVariant has been removed by the update action. + * Whether this message informs that only the staged ProductVariant has been removed by the update action. * If `false`, both the current and staged ProductVariant have been removed. * * @@ -30031,7 +31440,7 @@ export interface ProductVariantTailoringRemovedMessagePayload extends IMessagePa export interface QuoteCreatedMessagePayload extends IMessagePayload { readonly type: 'QuoteCreated' /** - * [Quote](/../api/projects/quotes) that was created. + * [Quote](/api/projects/quotes) that was created. * * */ @@ -30044,20 +31453,20 @@ export interface QuoteCreatedMessagePayload extends IMessagePayload { export interface QuoteCustomerChangedMessagePayload extends IMessagePayload { readonly type: 'QuoteCustomerChanged' /** - * The [Buyer](/../api/quotes-overview#buyer) who now owns the Quote. + * The [Buyer](/api/quotes-overview#buyer) who now owns the Quote. * * */ readonly customer: CustomerReference /** - * The previous [Buyer](/../api/quotes-overview#buyer). + * The previous [Buyer](/api/quotes-overview#buyer). * * */ readonly previousCustomer: CustomerReference } /** - * Generated after a successful [Delete Quote](/../api/projects/quotes#delete-quote) request. + * Generated after a successful [Delete Quote](/api/projects/quotes#delete-quote) request. * */ export interface QuoteDeletedMessagePayload extends IMessagePayload { @@ -30083,7 +31492,7 @@ export interface QuoteRenegotiationRequestedMessagePayload extends IMessagePaylo export interface QuoteRequestCreatedMessagePayload extends IMessagePayload { readonly type: 'QuoteRequestCreated' /** - * [Quote Request](/../api/projects/quote-requests) that was created. + * [Quote Request](/api/projects/quote-requests) that was created. * * */ @@ -30096,20 +31505,20 @@ export interface QuoteRequestCreatedMessagePayload extends IMessagePayload { export interface QuoteRequestCustomerChangedMessagePayload extends IMessagePayload { readonly type: 'QuoteRequestCustomerChanged' /** - * The [Buyer](/../api/quotes-overview#buyer) who now owns the Quote Request. + * The [Buyer](/api/quotes-overview#buyer) who now owns the Quote Request. * * */ readonly customer: CustomerReference /** - * The previous [Buyer](/../api/quotes-overview#buyer). + * The previous [Buyer](/api/quotes-overview#buyer). * * */ readonly previousCustomer: CustomerReference } /** - * Generated after a successful [Delete QuoteRequest](/../api/projects/quote-requests#delete-quoterequest) request. + * Generated after a successful [Delete QuoteRequest](/api/projects/quote-requests#delete-quoterequest) request. * */ export interface QuoteRequestDeletedMessagePayload extends IMessagePayload { @@ -30305,7 +31714,7 @@ export interface RecurringOrderCustomTypeSetMessagePayload extends IMessagePaylo readonly previousTypeId?: string } /** - * Generated after a successful [Delete RecurringOrder](/../api/projects/recurring-orders#delete-recurringorder) request. + * Generated after a successful [Delete RecurringOrder](/api/projects/recurring-orders#delete-recurringorder) request. * */ export interface RecurringOrderDeletedMessagePayload extends IMessagePayload { @@ -30588,8 +31997,7 @@ export interface ReviewStateTransitionMessagePayload extends IMessagePayload { readonly force: boolean } export type ShoppingListMessagePayload = - | ShoppingListLineItemAddedMessagePayload - | ShoppingListLineItemRemovedMessagePayload + ShoppingListLineItemAddedMessagePayload | ShoppingListLineItemRemovedMessagePayload export interface IShoppingListMessagePayload { /** * @@ -30638,14 +32046,14 @@ export interface ShoppingListStoreSetMessagePayload extends IMessagePayload { export interface StagedQuoteCreatedMessagePayload extends IMessagePayload { readonly type: 'StagedQuoteCreated' /** - * [Staged Quote](/../api/projects/staged-quotes) that was created. + * [Staged Quote](/api/projects/staged-quotes) that was created. * * */ readonly stagedQuote: StagedQuote } /** - * Generated after a successful [Delete StagedQuote](/../api/projects/staged-quotes#delete-stagedquote) request. + * Generated after a successful [Delete StagedQuote](/api/projects/staged-quotes#delete-stagedquote) request. * */ export interface StagedQuoteDeletedMessagePayload extends IMessagePayload { @@ -30754,7 +32162,7 @@ export interface StandalonePriceCreatedMessagePayload extends IMessagePayload { readonly standalonePrice: StandalonePrice } /** - * Generated after a successful [Delete StandalonePrice](/../api/projects/standalone-prices#delete-standaloneprice) request. + * Generated after a successful [Delete StandalonePrice](/api/projects/standalone-prices#delete-standaloneprice) request. * */ export interface StandalonePriceDeletedMessagePayload extends IMessagePayload { @@ -30818,7 +32226,7 @@ export interface StandalonePriceKeySetMessagePayload extends IMessagePayload { export interface StandalonePriceStagedChangesAppliedMessagePayload extends IMessagePayload { readonly type: 'StandalonePriceStagedChangesApplied' /** - * Applied changes of the [StandalonePrice](/../api/projects/standalone-prices) after the [Apply Staged Changes](ctp:api:type:StandalonePriceApplyStagedChangesAction) update action. + * Applied changes of the [StandalonePrice](/api/projects/standalone-prices) after the [Apply Staged Changes](ctp:api:type:StandalonePriceApplyStagedChangesAction) update action. * * */ @@ -31048,7 +32456,7 @@ export interface StoreCreatedMessagePayload extends IMessagePayload { readonly custom?: CustomFields } /** - * Generated after a successful [Delete Store](/../api/projects/stores#delete-store) request. + * Generated after a successful [Delete Store](/api/projects/stores#delete-store) request. * */ export interface StoreDeletedMessagePayload extends IMessagePayload { @@ -31160,3 +32568,186 @@ export interface StoreSupplyChannelsChangedMessagePayload extends IMessagePayloa */ readonly removedSupplyChannels?: ChannelReference[] } +/** + * Generated after a successful [Create Variant](/../api/projects/variants#create-variant) request. + * + */ +export interface VariantCreatedMessagePayload extends IMessagePayload { + readonly type: 'VariantCreated' + /** + * Unique identifier of the Variant. + * + * + */ + readonly id: string + /** + * Unique identifier of the Product to which the Variant belongs. + * + * + */ + readonly productId: string + /** + * Unique identifier of the Variant within its parent Product. + * + * + */ + readonly variantId: number + /** + * User-defined unique identifier of the Variant. + * + * + */ + readonly key?: string + /** + * SKU of the Variant. + * + * + */ + readonly sku?: string + /** + * Attributes of the Variant. + * + * + */ + readonly attributes?: Attribute[] + /** + * Assets of the Variant. + * + * + */ + readonly assets?: Asset[] + /** + * Images of the Variant. + * + * + */ + readonly images?: Image[] + /** + * Whether the Variant was published. + * + * + */ + readonly publish: boolean +} +/** + * Generated after a successful [Delete Variant](/../api/projects/variants#delete-variant) request. + * + */ +export interface VariantDeletedMessagePayload extends IMessagePayload { + readonly type: 'VariantDeleted' +} +/** + * Generated after a successful [Add External Image](ctp:api:type:VariantAddExternalImageAction) update action. + * + */ +export interface VariantImageAddedMessagePayload extends IMessagePayload { + readonly type: 'VariantImageAdded' + /** + * [Image](ctp:api:type:Image) that was added. + * + * + */ + readonly image: Image + /** + * Whether the update was only applied to the staged Variant. + * + * + */ + readonly staged: boolean +} +/** + * Generated after a successful [Set Images](ctp:api:type:VariantSetImagesAction) update action. + * + */ +export interface VariantImagesSetMessagePayload extends IMessagePayload { + readonly type: 'VariantImagesSet' + /** + * The images that were set on the Variant. + * + * + */ + readonly images: Image[] + /** + * The previous images of the Variant. + * + * + */ + readonly oldImages: Image[] + /** + * Whether the update was only applied to the staged Variant. + * + * + */ + readonly staged: boolean +} +/** + * Generated after a successful [Set Key](ctp:api:type:VariantSetKeyAction) update action. + * + */ +export interface VariantKeySetMessagePayload extends IMessagePayload { + readonly type: 'VariantKeySet' + /** + * The key that was set on the Variant. + * + * + */ + readonly key?: string + /** + * The previous key of the Variant. + * + * + */ + readonly oldKey?: string +} +/** + * Generated after a successful [Publish](/../api/projects/variants#publish) update action. + * + */ +export interface VariantPublishedMessagePayload extends IMessagePayload { + readonly type: 'VariantPublished' +} +/** + * Generated after a successful [Set SKU](ctp:api:type:VariantSetSkuAction) update action. + * + */ +export interface VariantSkuSetMessagePayload extends IMessagePayload { + readonly type: 'VariantSkuSet' + /** + * The SKU that was set on the Variant. + * + * + */ + readonly sku?: string + /** + * The previous SKU of the Variant. + * + * + */ + readonly oldSku?: string + /** + * Whether the update was only applied to the staged Variant. + * + * + */ + readonly staged: boolean +} +/** + * Generated after a successful [Staged Changes Removed](/../api/projects/variants#remove-staged-changes) update action. + * + */ +export interface VariantStagedChangesRemovedMessagePayload extends IMessagePayload { + readonly type: 'VariantStagedChangesRemoved' +} +/** + * Generated after a successful [Unpublish](/../api/projects/variants#unpublish) update action. + * + */ +export interface VariantUnpublishedMessagePayload extends IMessagePayload { + readonly type: 'VariantUnpublished' + /** + * Reference to the Product containing the Variant that was unpublished. + * + * + */ + readonly product: ProductReference +} diff --git a/src/lib/types/models/order-edit.ts b/src/lib/types/models/order-edit.ts index f639b80224..e44725870c 100644 --- a/src/lib/types/models/order-edit.ts +++ b/src/lib/types/models/order-edit.ts @@ -16,9 +16,9 @@ import { RoundingMode, ShippingRateInputDraft, TaxCalculationMode, - TaxedPrice, TaxMode, TaxPortionDraft, + TaxedPrice, } from './cart.js' import { ChannelResourceIdentifier } from './channel.js' import { @@ -189,28 +189,28 @@ export interface OrderEditDraft { */ readonly comment?: string /** - * Set to `true` if you want to [preview](ctp:api:type:OrderEditPreviewSuccess) the edited Order first without persisting it (dry run). + * Whether to [preview](ctp:api:type:OrderEditPreviewSuccess) the edited Order first without persisting it (dry run). * A dry run allows checking for potential [errors](ctp:api:type:OrderEditPreviewFailure) when trying to apply the `stagedActions`. * - * Order [API Extensions](/../api/projects/api-extensions), if any, are also called in dry runs. + * Order [API Extensions](/api/projects/api-extensions), if any, are also called in dry runs. * * */ readonly dryRun?: boolean } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [OrderEdit](ctp:api:type:OrderEdit). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [OrderEdit](ctp:api:type:OrderEdit). * */ export interface OrderEditPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -223,10 +223,10 @@ export interface OrderEditPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -251,14 +251,14 @@ export interface OrderEditReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Order Edit. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Order Edits. + * Contains the representation of the expanded Order Edit. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Order Edits. * * */ readonly obj?: OrderEdit } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to an [OrderEdit](ctp:api:type:OrderEdit). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to an [OrderEdit](ctp:api:type:OrderEdit). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface OrderEditResourceIdentifier extends IResourceIdentifier { @@ -277,10 +277,7 @@ export interface OrderEditResourceIdentifier extends IResourceIdentifier { readonly key?: string } export type OrderEditResult = - | OrderEditApplied - | OrderEditNotProcessed - | OrderEditPreviewFailure - | OrderEditPreviewSuccess + OrderEditApplied | OrderEditNotProcessed | OrderEditPreviewFailure | OrderEditPreviewSuccess export interface IOrderEditResult { /** * @@ -339,7 +336,7 @@ export interface OrderEditPreviewFailure extends IOrderEditResult { export interface OrderEditPreviewSuccess extends IOrderEditResult { readonly type: 'PreviewSuccess' /** - * A preview of the edited [Order](ctp:api:type:Order) as it will be after all `stagedActions` (incl. optional Order [API Extensions](/../api/projects/api-extensions)) are applied. + * A preview of the edited [Order](ctp:api:type:Order) as it will be after all `stagedActions` (incl. optional Order [API Extensions](/api/projects/api-extensions)) are applied. * * */ @@ -366,7 +363,7 @@ export interface OrderEditUpdate { */ readonly actions: OrderEditUpdateAction[] /** - * If set to `true`, the Order Edit is applied on the [Order](ctp:api:type:Order) without persisting it. + * Whether the Order Edit is applied on the [Order](ctp:api:type:Order) without persisting it. * * */ @@ -436,7 +433,7 @@ export interface OrderEditSetCommentAction extends IOrderEditUpdateAction { export interface OrderEditSetCustomFieldAction extends IOrderEditUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -453,14 +450,16 @@ export interface OrderEditSetCustomFieldAction extends IOrderEditUpdateAction { export interface OrderEditSetCustomTypeAction extends IOrderEditUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Order Edit with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Order Edit with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Order Edit. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Order Edit. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Order Edit. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -518,7 +517,7 @@ export interface StagedOrderAddCustomLineItemAction extends IStagedOrderUpdateAc */ readonly name: LocalizedString /** - * User-defined unique identifier of the Custom Line Item. + * User-defined identifier of the Custom Line Item. Must be unique among Custom Line Items in the StagedOrder. * * */ @@ -578,7 +577,7 @@ export interface StagedOrderAddCustomLineItemAction extends IStagedOrderUpdateAc * A [Delivery](ctp:api:type:Delivery) can only be added to an [Order](ctp:api:type:Order) if * its `shippingInfo` (for `shippingMode` = `Single`), or its `shipping` (for `shippingMode` = `Multiple`) exists. * - * Multiple Deliveries can be added to the same Order to represent split or partial shipments. However, the API doesn't validate that the cumulative quantities of Line Items or Custom Line Items across all Deliveries match or stay within the originally ordered quantities. For more information, see [Multiple Deliveries](/../api/shipping-delivery-overview#multiple-deliveries) on the Shipping and Delivery overview page. + * Multiple Deliveries can be added to the same Order to represent split or partial shipments. However, the API doesn't validate that the cumulative quantities of Line Items or Custom Line Items across all Deliveries match or stay within the originally ordered quantities. For more information, see [Multiple Deliveries](/api/shipping-delivery-overview#multiple-deliveries) on the Shipping and Delivery overview page. * * Produces the [Delivery Added](ctp:api:type:DeliveryAddedMessage) Message. * @@ -625,12 +624,12 @@ export interface StagedOrderAddDeliveryAction extends IStagedOrderUpdateAction { readonly custom?: CustomFieldsDraft } /** - * Adds a [DiscountCode](ctp:api:type:DiscountCode) to the Order to activate the related [Cart Discounts](/../api/projects/cartDiscounts). + * Adds a [DiscountCode](ctp:api:type:DiscountCode) to the Order to activate the related [Cart Discounts](/api/projects/cartDiscounts). * If the related Cart Discounts are inactive or invalid, or belong to a different Store than the Order, a [DiscountCodeNonApplicableError](ctp:api:type:DiscountCodeNonApplicableError) is returned. * * A Discount Code can be added only if no [DirectDiscount](ctp:api:type:DirectDiscount) has been applied to the Order. * - * The maximum number of Discount Codes in a Cart is restricted by a [limit](/../api/limits#carts). + * The maximum number of Discount Codes in a Cart is restricted by a [limit](/api/limits#carts). * * Specific Error Code: [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) * @@ -659,10 +658,10 @@ export interface StagedOrderAddItemShippingAddressAction extends IStagedOrderUpd readonly address: _BaseAddress } /** - * If the Cart contains a [LineItem](ctp:api:type:LineItem) for a Product Variant with the same [LineItemMode](ctp:api:type:LineItemMode), [Custom Fields](/../api/projects/custom-fields), supply and distribution channel, then only the quantity of the existing Line Item is increased. + * If the Cart contains a [LineItem](ctp:api:type:LineItem) for a Product Variant with the same [LineItemMode](ctp:api:type:LineItemMode), [Custom Fields](ctp:api:type:CustomFields), supply and distribution channel, then only the quantity of the existing Line Item is increased. * If [LineItem](ctp:api:type:LineItem) `shippingDetails` is set, it is merged. All addresses will be present afterwards and, for address keys present in both shipping details, the quantity will be summed up. * A new Line Item is added when the `externalPrice` or `externalTotalPrice` is set in this update action. - * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is set as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * If the Tax Rate is not set, a [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError) error is returned. * @@ -672,7 +671,7 @@ export interface StagedOrderAddItemShippingAddressAction extends IStagedOrderUpd export interface StagedOrderAddLineItemAction extends IStagedOrderUpdateAction { readonly action: 'addLineItem' /** - * User-defined unique identifier of the LineItem. + * User-defined identifier of the LineItem. Must be unique among LineItems in the StagedOrder. * * */ @@ -709,7 +708,7 @@ export interface StagedOrderAddLineItemAction extends IStagedOrderUpdateAction { */ readonly quantity?: number /** - * Date and time (UTC) the Product Variant is added to the Cart. + * Date and time (UTC) the Product Variant was added to the Cart. * If not set, it defaults to the current date and time. * * Optional for backwards compatibility reasons. @@ -718,7 +717,7 @@ export interface StagedOrderAddLineItemAction extends IStagedOrderUpdateAction { */ readonly addedAt?: string /** - * Used to [select](/../api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. + * Used to [select](/api/pricing-and-discounts-overview#line-item-price-selection) a Product Price. * The Channel must have the `ProductDistribution` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * If the Cart is bound to a [Store](ctp:api:type:Store) with `distributionChannels` set, the Channel must match one of the Store's distribution channels. * @@ -726,7 +725,7 @@ export interface StagedOrderAddLineItemAction extends IStagedOrderUpdateAction { */ readonly distributionChannel?: ChannelResourceIdentifier /** - * Used to identify [Inventory entries](/../api/projects/inventory) that must be reserved. + * Used to identify [Inventory entries](/api/projects/inventory) that must be reserved. * The Channel must have the `InventorySupply` [ChannelRoleEnum](ctp:api:type:ChannelRoleEnum). * * @@ -959,7 +958,7 @@ export interface StagedOrderChangeCustomLineItemQuantityAction extends IStagedOr * * To change the Line Item quantity and shipping details together, use this update action in combination with the [Set LineItem ShippingDetails](ctp:api:type:StagedOrderSetLineItemShippingDetailsAction) update action in a single Order update command. * - * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ export interface StagedOrderChangeLineItemQuantityAction extends IStagedOrderUpdateAction { @@ -987,7 +986,7 @@ export interface StagedOrderChangeLineItemQuantityAction extends IStagedOrderUpd * Required when the Line Item uses `ExternalPrice` [LineItemPriceMode](ctp:api:type:LineItemPriceMode). * Sets the [LineItem](ctp:api:type:LineItem) `price` to the given value when changing the quantity of a Line Item. * - * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * To set the money value in high precision, use [HighPrecisionMoneyDraft](ctp:api:type:HighPrecisionMoneyDraft). * @@ -1029,7 +1028,7 @@ export interface StagedOrderChangePaymentStateAction extends IStagedOrderUpdateA readonly paymentState: PaymentState } /** - * Changing the price rounding mode leads to [recalculation of taxes](/../api/carts-orders-overview#taxes). + * Changing the price rounding mode leads to [recalculation of taxes](/api/carts-orders-overview#taxes). * */ export interface StagedOrderChangePriceRoundingModeAction extends IStagedOrderUpdateAction { @@ -1055,7 +1054,7 @@ export interface StagedOrderChangeShipmentStateAction extends IStagedOrderUpdate readonly shipmentState: ShipmentState } /** - * Changing the tax calculation mode leads to [recalculation of taxes](/../api/carts-orders-overview#taxes). + * Changing the tax calculation mode leads to [recalculation of taxes](/api/carts-orders-overview#taxes). * */ export interface StagedOrderChangeTaxCalculationModeAction extends IStagedOrderUpdateAction { @@ -1082,7 +1081,7 @@ export interface StagedOrderChangeTaxModeAction extends IStagedOrderUpdateAction readonly taxMode: TaxMode } /** - * Changing the tax rounding mode leads to [recalculation of taxes](/../api/carts-orders-overview#taxes). + * Changing the tax rounding mode leads to [recalculation of taxes](/api/carts-orders-overview#taxes). * */ export interface StagedOrderChangeTaxRoundingModeAction extends IStagedOrderUpdateAction { @@ -1213,7 +1212,7 @@ export interface StagedOrderRemoveItemShippingAddressAction extends IStagedOrder readonly addressKey: string } /** - * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The [LineItem](ctp:api:type:LineItem) price is updated as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ export interface StagedOrderRemoveLineItemAction extends IStagedOrderUpdateAction { @@ -1313,7 +1312,7 @@ export interface StagedOrderSetBillingAddressAction extends IStagedOrderUpdateAc export interface StagedOrderSetBillingAddressCustomFieldAction extends IStagedOrderUpdateAction { readonly action: 'setBillingAddressCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1330,14 +1329,16 @@ export interface StagedOrderSetBillingAddressCustomFieldAction extends IStagedOr export interface StagedOrderSetBillingAddressCustomTypeAction extends IStagedOrderUpdateAction { readonly action: 'setBillingAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `billingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `billingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `billingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `billingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `billingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1380,7 +1381,7 @@ export interface StagedOrderSetCountryAction extends IStagedOrderUpdateAction { export interface StagedOrderSetCustomFieldAction extends IStagedOrderUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1409,7 +1410,7 @@ export interface StagedOrderSetCustomLineItemCustomFieldAction extends IStagedOr */ readonly customLineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1438,14 +1439,16 @@ export interface StagedOrderSetCustomLineItemCustomTypeAction extends IStagedOrd */ readonly customLineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Custom Line Item with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Custom Line Item with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Custom Line Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Custom Line Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Custom Line Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1540,7 +1543,7 @@ export interface StagedOrderSetCustomLineItemTaxRateAction extends IStagedOrderU readonly shippingKey?: string } /** - * To set the Cart's custom Shipping Method (independent of the [ShippingMethods](ctp:api:type:ShippingMethod) managed through the [Shipping Methods API](/../api/projects/shippingMethods)) the Cart must have the `Single` [ShippingMode](ctp:api:type:ShippingMode) and a `shippingAddress`. + * To set the Cart's custom Shipping Method (independent of the [ShippingMethods](ctp:api:type:ShippingMethod) managed through the [Shipping Methods API](/api/projects/shippingMethods)) the Cart must have the `Single` [ShippingMode](ctp:api:type:ShippingMode) and a `shippingAddress`. * * To unset a custom Shipping Method on a Cart, use the [Set ShippingMethod](ctp:api:type:StagedOrderSetShippingMethodAction) update action without the `shippingMethod` field instead. * @@ -1581,14 +1584,16 @@ export interface StagedOrderSetCustomShippingMethodAction extends IStagedOrderUp export interface StagedOrderSetCustomTypeAction extends IStagedOrderUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Order Edit with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Order Edit with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Order Edit. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Order Edit. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Order Edit. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1614,7 +1619,7 @@ export interface StagedOrderSetCustomerEmailAction extends IStagedOrderUpdateAct * This update action can only be used if a Customer is not assigned to a Cart. * If a Customer is already assigned, the Cart uses the Customer Group of the assigned Customer. * - * To reflect the new Customer Group, this update action can result in [updates to the Cart](/../api/carts-orders-overview#update-a-cart). When this occurs, the following errors can be returned: [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) and [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError). + * To reflect the new Customer Group, this update action can result in [updates to the Cart](/api/carts-orders-overview#update-a-cart). When this occurs, the following errors can be returned: [MatchingPriceNotFound](ctp:api:type:MatchingPriceNotFoundError) and [MissingTaxRateForCountry](ctp:api:type:MissingTaxRateForCountryError). * */ export interface StagedOrderSetCustomerGroupAction extends IStagedOrderUpdateAction { @@ -1693,7 +1698,7 @@ export interface StagedOrderSetDeliveryAddressCustomFieldAction extends IStagedO */ readonly deliveryKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1726,14 +1731,16 @@ export interface StagedOrderSetDeliveryAddressCustomTypeAction extends IStagedOr */ readonly deliveryKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the [Delivery](ctp:api:type:Delivery) `address` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the [Delivery](ctp:api:type:Delivery) `address` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the [Delivery](ctp:api:type:Delivery) `address`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the [Delivery](ctp:api:type:Delivery) `address`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the [Delivery](ctp:api:type:Delivery) `address`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1758,7 +1765,7 @@ export interface StagedOrderSetDeliveryCustomFieldAction extends IStagedOrderUpd */ readonly deliveryKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1791,14 +1798,16 @@ export interface StagedOrderSetDeliveryCustomTypeAction extends IStagedOrderUpda */ readonly deliveryKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Delivery with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Delivery with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Delivery. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Delivery. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Delivery. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1859,7 +1868,7 @@ export interface StagedOrderSetItemShippingAddressCustomFieldAction extends ISta */ readonly addressKey: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1882,14 +1891,16 @@ export interface StagedOrderSetItemShippingAddressCustomTypeAction extends IStag */ readonly addressKey: string /** - * Defines the [Type](ctp:api:type:Type) that extends the `itemShippingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `itemShippingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `itemShippingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `itemShippingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `itemShippingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1910,7 +1921,7 @@ export interface StagedOrderSetLineItemCustomFieldAction extends IStagedOrderUpd */ readonly lineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1939,21 +1950,23 @@ export interface StagedOrderSetLineItemCustomTypeAction extends IStagedOrderUpda */ readonly lineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Line Item with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Line Item with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Line Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Line Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Line Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ readonly fields?: FieldContainer } /** - * Setting a distribution channel for a [LineItem](ctp:api:type:LineItem) can lead to an updated `price` as described in [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Setting a distribution channel for a [LineItem](ctp:api:type:LineItem) can lead to an updated `price` as described in [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * Produces the [OrderLineItemDistributionChannelSet](ctp:api:type:OrderLineItemDistributionChannelSetMessage) Message. * @@ -2182,7 +2195,7 @@ export interface StagedOrderSetParcelCustomFieldAction extends IStagedOrderUpdat */ readonly parcelKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2215,14 +2228,16 @@ export interface StagedOrderSetParcelCustomTypeAction extends IStagedOrderUpdate */ readonly parcelKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Parcel with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Parcel with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Parcel. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Parcel. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Parcel. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2360,7 +2375,7 @@ export interface StagedOrderSetReturnItemCustomFieldAction extends IStagedOrderU */ readonly returnItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2389,14 +2404,16 @@ export interface StagedOrderSetReturnItemCustomTypeAction extends IStagedOrderUp */ readonly returnItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Return Item with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Return Item with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Return Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Return Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Return Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2450,6 +2467,8 @@ export interface StagedOrderSetReturnShipmentStateAction extends IStagedOrderUpd /** * New shipment state of the [ReturnItem](ctp:api:type:ReturnItem). * + * This update action can only transition Return Items from the `Returned` state to `BackInStock` or `Unusable`. The initial `Advised` and `Returned` states can only be set at creation time on [ReturnItemDraft](ctp:api:type:ReturnItemDraft). + * * */ readonly shipmentState: ReturnShipmentState @@ -2542,7 +2561,7 @@ export interface StagedOrderSetShippingAddressAndShippingMethodAction extends IS export interface StagedOrderSetShippingAddressCustomFieldAction extends IStagedOrderUpdateAction { readonly action: 'setShippingAddressCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2559,14 +2578,16 @@ export interface StagedOrderSetShippingAddressCustomFieldAction extends IStagedO export interface StagedOrderSetShippingAddressCustomTypeAction extends IStagedOrderUpdateAction { readonly action: 'setShippingAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `shippingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `shippingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `shippingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `shippingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `shippingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2583,7 +2604,7 @@ export interface StagedOrderSetShippingCustomFieldAction extends IStagedOrderUpd */ readonly shippingKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2612,14 +2633,16 @@ export interface StagedOrderSetShippingCustomTypeAction extends IStagedOrderUpda */ readonly shippingKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the specified ShippingMethod with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the specified ShippingMethod with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ShippingMethod. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `shippingMethod`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `shippingMethod`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2652,7 +2675,9 @@ export interface StagedOrderSetShippingMethodAction extends IStagedOrderUpdateAc export interface StagedOrderSetShippingMethodTaxAmountAction extends IStagedOrderUpdateAction { readonly action: 'setShippingMethodTaxAmount' /** - * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. This is required for Orders with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. + * This is required and valid only for Orders with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * An [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned if `shippingKey` is provided for Orders with `Single` [ShippingMode](ctp:api:type:ShippingMode), or omitted for Orders with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). * * */ @@ -2671,7 +2696,9 @@ export interface StagedOrderSetShippingMethodTaxAmountAction extends IStagedOrde export interface StagedOrderSetShippingMethodTaxRateAction extends IStagedOrderUpdateAction { readonly action: 'setShippingMethodTaxRate' /** - * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. This is required for Orders with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * `key` of the [ShippingMethod](ctp:api:type:ShippingMethod) to update. + * This is required and valid only for Orders with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). + * An [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned if `shippingKey` is provided for Orders with `Single` [ShippingMode](ctp:api:type:ShippingMode), or omitted for Orders with `Multiple` [ShippingMode](ctp:api:type:ShippingMode). * * */ @@ -2783,7 +2810,7 @@ export interface StagedOrderTransitionLineItemStateAction extends IStagedOrderUp */ readonly lineItemKey?: string /** - * Number of Line Items that should transition [State](ctp:api:type:State). + * Quantity of Line Items that should transition [State](ctp:api:type:State). * * */ @@ -2823,7 +2850,7 @@ export interface StagedOrderTransitionStateAction extends IStagedOrderUpdateActi */ readonly state: StateResourceIdentifier /** - * Set to `true` to turn off validation. + * Whether to turn off validation. * * */ diff --git a/src/lib/types/models/order.ts b/src/lib/types/models/order.ts index fb34e03428..4c2b400563 100644 --- a/src/lib/types/models/order.ts +++ b/src/lib/types/models/order.ts @@ -13,9 +13,9 @@ import { CustomLineItemPriceMode, DirectDiscount, DiscountCodeInfo, - DiscountedLineItemPortionDraft, DiscountOnTotalPrice, DiscountTypeCombination, + DiscountedLineItemPortionDraft, InventoryMode, ItemShippingDetailsDraft, LineItem, @@ -26,9 +26,9 @@ import { ShippingMode, ShippingRateInput, TaxCalculationMode, + TaxMode, TaxedPrice, TaxedPriceDraft, - TaxMode, } from './cart.js' import { CartDiscountReference } from './cart-discount.js' import { ChannelReference, ChannelResourceIdentifier } from './channel.js' @@ -39,8 +39,8 @@ import { BaseResource, CentPrecisionMoney, CreatedBy, - Image, IReference, + Image, LastModifiedBy, LocalizedString, PriceDraft, @@ -83,9 +83,6 @@ import { StagedOrderSetBillingAddressCustomTypeAction, StagedOrderSetBusinessUnitAction, StagedOrderSetCountryAction, - StagedOrderSetCustomerEmailAction, - StagedOrderSetCustomerGroupAction, - StagedOrderSetCustomerIdAction, StagedOrderSetCustomFieldAction, StagedOrderSetCustomLineItemCustomFieldAction, StagedOrderSetCustomLineItemCustomTypeAction, @@ -94,6 +91,9 @@ import { StagedOrderSetCustomLineItemTaxRateAction, StagedOrderSetCustomShippingMethodAction, StagedOrderSetCustomTypeAction, + StagedOrderSetCustomerEmailAction, + StagedOrderSetCustomerGroupAction, + StagedOrderSetCustomerIdAction, StagedOrderSetDeliveryAddressAction, StagedOrderSetDeliveryAddressCustomFieldAction, StagedOrderSetDeliveryAddressCustomTypeAction, @@ -276,13 +276,13 @@ export interface OrderPagedSearchResponse { */ readonly total: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ readonly offset?: number /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ @@ -294,7 +294,7 @@ export interface OrderPagedSearchResponse { readonly hits: Hit[] } /** - * Possible values for the `customType` property on [simple expressions](/../api/projects/order-search#simple-expressions) indicating the data type of the `field`. + * Possible values for the `customType` property on [simple expressions](/api/projects/order-search#simple-expressions) indicating the data type of the `field`. */ export enum OrderSearchCustomTypeValues { BooleanType = 'BooleanType', @@ -351,7 +351,7 @@ export interface OrderSearchQueryExpressionValue { */ readonly boost?: number /** - * Possible values for the `customType` property on [simple expressions](/../api/projects/order-search#simple-expressions) indicating the data type of the `field`. + * Possible values for the `customType` property on [simple expressions](/api/projects/order-search#simple-expressions) indicating the data type of the `field`. * */ readonly customType?: OrderSearchCustomType @@ -462,7 +462,7 @@ export interface CustomLineItemImportDraft { */ readonly name: LocalizedString /** - * User-defined unique identifier of the Custom Line Item. + * User-defined identifier of the Custom Line Item. Must be unique among Custom Line Items in the Order. * */ readonly key?: string @@ -473,7 +473,7 @@ export interface CustomLineItemImportDraft { */ readonly slug: string /** - * The number of items in the Custom Line Item. Can be a negative value. + * Quantity of items in the Custom Line Item. Can be a negative value. * * */ @@ -534,7 +534,7 @@ export interface Delivery { */ readonly id: string /** - * User-defined unique identifier of the Delivery. + * User-defined identifier of the Delivery. Unique among Deliveries in the Order. * */ readonly key?: string @@ -571,7 +571,7 @@ export interface Delivery { } export interface DeliveryDraft { /** - * User-defined unique identifier of the Delivery. + * User-defined identifier of the Delivery. Must be unique among Deliveries in the Order. * */ readonly key?: string @@ -609,7 +609,7 @@ export interface DeliveryItem { */ readonly id: string /** - * Number of Line Items or Custom Line Items delivered. + * Quantity of Line Items or Custom Line Items delivered. * * */ @@ -631,7 +631,7 @@ export interface DiscountedLineItemPriceDraft { } export interface ItemState { /** - * Number of Line Items or Custom Line Items in this State. + * Quantity of Line Items or Custom Line Items in this State. * * */ @@ -655,7 +655,7 @@ export interface LineItemImportDraft { */ readonly name: LocalizedString /** - * User-defined unique identifier of the Line Item. + * User-defined identifier of the Line Item. Must be unique among Line Items in the Order. * */ readonly key?: string @@ -672,7 +672,7 @@ export interface LineItemImportDraft { */ readonly productId?: string /** - * The number of Product Variants in the LineItem. Can be a negative value. + * Quantity of the Product Variant. Can be a negative value. * * */ @@ -688,7 +688,7 @@ export interface LineItemImportDraft { */ readonly taxRate?: TaxRate /** - * The Channel used to [select a Price](/../api/pricing-and-discounts-overview#line-item-price-selection). + * The Channel used to [select a Price](/api/pricing-and-discounts-overview#line-item-price-selection). * This Channel must have the `ProductDistribution` role. * */ @@ -746,7 +746,7 @@ export interface Order extends BaseResource { /** * User-defined identifier of a purchase Order. * - * It is typically set by the [Buyer](ctp:api:type:Buyer) and can be used with [Quotes](/quotes-overview) to track the purchase Order during the [quote and order flow](/../api/quotes-overview#intended-workflow). + * It is typically set by the [Buyer](ctp:api:type:Buyer) and can be used with [Quotes](/quotes-overview) to track the purchase Order during the [quote and order flow](/api/quotes-overview#intended-workflow). * */ readonly purchaseOrderNumber?: string @@ -764,7 +764,7 @@ export interface Order extends BaseResource { readonly customerEmail?: string /** * [Reference](ctp:api:type:Reference) to the Customer Group of the Customer that the Order belongs to. - * Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ readonly customerGroup?: CustomerGroupReference @@ -775,7 +775,7 @@ export interface Order extends BaseResource { */ readonly anonymousId?: string /** - * [Reference](ctp:api:type:Reference) to a Business Unit the Order belongs to. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * [Reference](ctp:api:type:Reference) to a Business Unit the Order belongs to. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -947,7 +947,7 @@ export interface Order extends BaseResource { */ readonly paymentInfo?: PaymentInfo /** - * Used for [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). + * Used for [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * */ readonly country?: string @@ -1101,7 +1101,7 @@ export interface OrderFromCartDraft { /** * User-defined identifier for a purchase order. * - * It is typically set by the [Buyer](ctp:api:type:Buyer) or Merchant to track the purchase order during the [quote and order flow](/../api/quotes-overview#intended-workflow). + * It is typically set by the [Buyer](ctp:api:type:Buyer) or Merchant to track the purchase order during the [quote and order flow](/api/quotes-overview#intended-workflow). * * If not provided, the `purchaseOrderNumber` from the referenced [Cart](ctp:api:type:Cart) is used. * @@ -1158,7 +1158,7 @@ export interface OrderFromQuoteDraft { */ readonly version: number /** - * If `true`, the `quoteState` of the referenced [Quote](ctp:api:type:Quote) will be set to `Accepted`. + * Whether the `quoteState` of the referenced [Quote](ctp:api:type:Quote) will be set to `Accepted`. * * */ @@ -1232,7 +1232,7 @@ export interface OrderImportDraft { readonly customerGroup?: CustomerGroupResourceIdentifier /** * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to the Business Unit the Order should belong to. - * When the `customerId` of the Order is also set, the [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * When the `customerId` of the Order is also set, the [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -1379,18 +1379,18 @@ export interface OrderImportDraft { readonly custom?: CustomFieldsDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [Order](ctp:api:type:Order). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [Order](ctp:api:type:Order). * */ export interface OrderPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -1403,10 +1403,10 @@ export interface OrderPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](ctp:api:type:QueryPredicate), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](ctp:api:type:QueryPredicate), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -1431,7 +1431,7 @@ export interface OrderReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Order. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Orders. + * Contains the representation of the expanded Order. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Orders. * * */ @@ -1885,12 +1885,12 @@ export interface IReturnItem { */ readonly id: string /** - * User-defined unique identifier of the Return Item. + * User-defined identifier of the Return Item. Unique among Return Items in the Order. * */ readonly key?: string /** - * Number of Line Items or Custom Line Items returned. + * Quantity of Line Items or Custom Line Items returned. * * */ @@ -1948,12 +1948,12 @@ export interface CustomLineItemReturnItem extends IReturnItem { */ readonly id: string /** - * User-defined unique identifier of the CustomLineItemReturnItem. + * User-defined identifier of the CustomLineItemReturnItem. Must be unique among Return Items in the Order. * */ readonly key?: string /** - * Number of Custom Line Items returned. + * Quantity of Custom Line Items returned. * * */ @@ -2013,12 +2013,12 @@ export interface LineItemReturnItem extends IReturnItem { */ readonly id: string /** - * User-defined unique identifier of the LineItemReturnItem. + * User-defined identifier of the LineItemReturnItem. Must be unique among Return Items in the Order. * */ readonly key?: string /** - * Number of Line Items returned. + * Quantity of Line Items returned. * * */ @@ -2071,12 +2071,12 @@ export interface LineItemReturnItem extends IReturnItem { } export interface ReturnItemDraft { /** - * User-defined unique identifier of the Return Item. + * User-defined identifier of the Return Item. Must be unique among Return Items in the Order. * */ readonly key?: string /** - * Number of Line Items or Custom Line Items to return. + * Quantity of Line Items or Custom Line Items to return. * * */ @@ -2149,15 +2149,7 @@ export enum ShipmentStateValues { } export type ShipmentState = - | 'Backorder' - | 'Canceled' - | 'Delayed' - | 'Delivered' - | 'Partial' - | 'Pending' - | 'Ready' - | 'Shipped' - | (string & {}) + 'Backorder' | 'Canceled' | 'Delayed' | 'Delivered' | 'Partial' | 'Pending' | 'Ready' | 'Shipped' | (string & {}) /** * Becomes the `shippingInfo` of the imported Order. * @@ -2284,8 +2276,7 @@ export interface TrackingData { */ readonly providerTransaction?: string /** - * - If `true`, the Parcel is being returned. - * - If `false`, the Parcel is being delivered to the customer. + * Whether the Parcel is being returned. If `false`, the Parcel is being delivered to the customer. * * */ @@ -2295,7 +2286,7 @@ export interface TrackingData { * A [Delivery](ctp:api:type:Delivery) can only be added to an [Order](ctp:api:type:Order) if * its `shippingInfo` (for `shippingMode` = `Single`), or its `shipping` (for `shippingMode` = `Multiple`) exists. * - * Multiple Deliveries can be added to the same Order to represent split or partial shipments. However, the API doesn't validate that the cumulative quantities of Line Items or Custom Line Items across all Deliveries match or stay within the originally ordered quantities. For more information, see [Multiple Deliveries](/../api/shipping-delivery-overview#multiple-deliveries) on the Shipping and Delivery overview page. + * Multiple Deliveries can be added to the same Order to represent split or partial shipments. However, the API doesn't validate that the cumulative quantities of Line Items or Custom Line Items across all Deliveries match or stay within the originally ordered quantities. For more information, see [Multiple Deliveries](/api/shipping-delivery-overview#multiple-deliveries) on the Shipping and Delivery overview page. * * Produces the [Delivery Added](ctp:api:type:DeliveryAddedMessage) Message. * @@ -2634,7 +2625,7 @@ export interface OrderSetBillingAddressAction extends IOrderUpdateAction { export interface OrderSetBillingAddressCustomFieldAction extends IOrderUpdateAction { readonly action: 'setBillingAddressCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2651,14 +2642,16 @@ export interface OrderSetBillingAddressCustomFieldAction extends IOrderUpdateAct export interface OrderSetBillingAddressCustomTypeAction extends IOrderUpdateAction { readonly action: 'setBillingAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `billingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `billingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `billingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `billingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `billingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2684,7 +2677,7 @@ export interface OrderSetBusinessUnitAction extends IOrderUpdateAction { export interface OrderSetCustomFieldAction extends IOrderUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2713,7 +2706,7 @@ export interface OrderSetCustomLineItemCustomFieldAction extends IOrderUpdateAct */ readonly customLineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2742,14 +2735,16 @@ export interface OrderSetCustomLineItemCustomTypeAction extends IOrderUpdateActi */ readonly customLineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Custom Line Item with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Custom Line Item with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Custom Line Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Custom Line Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Custom Line Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2780,14 +2775,16 @@ export interface OrderSetCustomLineItemShippingDetailsAction extends IOrderUpdat export interface OrderSetCustomTypeAction extends IOrderUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Order with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Order with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Order. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Order. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Order. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2875,7 +2872,7 @@ export interface OrderSetDeliveryAddressCustomFieldAction extends IOrderUpdateAc */ readonly deliveryKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2908,14 +2905,16 @@ export interface OrderSetDeliveryAddressCustomTypeAction extends IOrderUpdateAct */ readonly deliveryKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the [Delivery](ctp:api:type:Delivery) `address` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the [Delivery](ctp:api:type:Delivery) `address` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the [Delivery](ctp:api:type:Delivery) `address`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the [Delivery](ctp:api:type:Delivery) `address`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the [Delivery](ctp:api:type:Delivery) `address`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2940,7 +2939,7 @@ export interface OrderSetDeliveryCustomFieldAction extends IOrderUpdateAction { */ readonly deliveryKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2973,14 +2972,16 @@ export interface OrderSetDeliveryCustomTypeAction extends IOrderUpdateAction { */ readonly deliveryKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Delivery with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Delivery with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Delivery. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Delivery. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Delivery. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3025,7 +3026,7 @@ export interface OrderSetItemShippingAddressCustomFieldAction extends IOrderUpda */ readonly addressKey: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3048,14 +3049,16 @@ export interface OrderSetItemShippingAddressCustomTypeAction extends IOrderUpdat */ readonly addressKey: string /** - * Defines the [Type](ctp:api:type:Type) that extends the `itemShippingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `itemShippingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `itemShippingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `itemShippingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `itemShippingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3076,7 +3079,7 @@ export interface OrderSetLineItemCustomFieldAction extends IOrderUpdateAction { */ readonly lineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3105,14 +3108,16 @@ export interface OrderSetLineItemCustomTypeAction extends IOrderUpdateAction { */ readonly lineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Line Item with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Line Item with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Line Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Line Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Line Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3181,7 +3186,7 @@ export interface OrderSetParcelCustomFieldAction extends IOrderUpdateAction { */ readonly parcelKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3214,14 +3219,16 @@ export interface OrderSetParcelCustomTypeAction extends IOrderUpdateAction { */ readonly parcelKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Parcel with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Parcel with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Parcel. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Parcel. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Parcel. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3360,7 +3367,7 @@ export interface OrderSetReturnItemCustomFieldAction extends IOrderUpdateAction */ readonly returnItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3389,14 +3396,16 @@ export interface OrderSetReturnItemCustomTypeAction extends IOrderUpdateAction { */ readonly returnItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Return Item with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Return Item with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Return Item. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Return Item. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Return Item. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3450,6 +3459,8 @@ export interface OrderSetReturnShipmentStateAction extends IOrderUpdateAction { /** * New shipment state of the [ReturnItem](ctp:api:type:ReturnItem). * + * This update action can only transition Return Items from the `Returned` state to `BackInStock` or `Unusable`. The initial `Advised` and `Returned` states can only be set at creation time on [ReturnItemDraft](ctp:api:type:ReturnItemDraft). + * * */ readonly shipmentState: ReturnShipmentState @@ -3474,7 +3485,7 @@ export interface OrderSetShippingAddressAction extends IOrderUpdateAction { export interface OrderSetShippingAddressCustomFieldAction extends IOrderUpdateAction { readonly action: 'setShippingAddressCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3491,14 +3502,16 @@ export interface OrderSetShippingAddressCustomFieldAction extends IOrderUpdateAc export interface OrderSetShippingAddressCustomTypeAction extends IOrderUpdateAction { readonly action: 'setShippingAddressCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `shippingAddress` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `shippingAddress` with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the `shippingAddress`. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `shippingAddress`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `shippingAddress`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3515,7 +3528,7 @@ export interface OrderSetShippingCustomFieldAction extends IOrderUpdateAction { */ readonly shippingKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -3544,14 +3557,16 @@ export interface OrderSetShippingCustomTypeAction extends IOrderUpdateAction { */ readonly shippingKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the specified ShippingMethod with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the specified ShippingMethod with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ShippingMethod. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `shippingMethod`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `shippingMethod`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -3597,7 +3612,7 @@ export interface OrderTransitionCustomLineItemStateAction extends IOrderUpdateAc */ readonly customLineItemKey?: string /** - * Number of Custom Line Items that should transition [State](ctp:api:type:State). + * Quantity of Custom Line Items that should transition [State](ctp:api:type:State). * * */ @@ -3640,7 +3655,7 @@ export interface OrderTransitionLineItemStateAction extends IOrderUpdateAction { */ readonly lineItemKey?: string /** - * Number of Line Items that should transition [State](ctp:api:type:State). + * Quantity of Line Items that should transition [State](ctp:api:type:State). * * */ @@ -3681,7 +3696,7 @@ export interface OrderTransitionStateAction extends IOrderUpdateAction { */ readonly state: StateResourceIdentifier /** - * Set to `true` to turn off validation. + * Whether to turn off validation. * * */ diff --git a/src/lib/types/models/payment-method.ts b/src/lib/types/models/payment-method.ts index e57729aa72..a99d0d96d6 100644 --- a/src/lib/types/models/payment-method.ts +++ b/src/lib/types/models/payment-method.ts @@ -45,7 +45,7 @@ export interface PaymentMethod extends BaseResource { /** * Reference to a BusinessUnit associated with the PaymentMethod. * - * Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -143,7 +143,7 @@ export interface PaymentMethodDraft { /** * Reference to a BusinessUnit the PaymentMethod should belong to. * - * Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -179,7 +179,7 @@ export interface PaymentMethodDraft { */ readonly paymentMethodStatus?: PaymentMethodStatus /** - * Set to `true` if the PaymentMethod should be the default. + * Whether the PaymentMethod should be the default. * * The default applies per Customer, Business Unit, or the combination of both (Associate). * @@ -194,18 +194,18 @@ export interface PaymentMethodDraft { readonly custom?: CustomFieldsDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [PaymentMethod](ctp:api:type:PaymentMethod). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [PaymentMethod](ctp:api:type:PaymentMethod). * */ export interface PaymentMethodPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -218,10 +218,10 @@ export interface PaymentMethodPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -246,7 +246,7 @@ export interface PaymentMethodReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded PaymentMethod. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for PaymentMethods. + * Contains the representation of the expanded PaymentMethod. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for PaymentMethods. * * */ @@ -314,7 +314,7 @@ export interface IPaymentMethodUpdateAction { export interface PaymentMethodSetCustomFieldAction extends IPaymentMethodUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields) to add, update, or remove. + * Name of the [Custom Field](/api/projects/custom-fields) to add, update, or remove. * * */ @@ -335,14 +335,16 @@ export interface PaymentMethodSetCustomFieldAction extends IPaymentMethodUpdateA export interface PaymentMethodSetCustomTypeAction extends IPaymentMethodUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the PaymentMethod with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the PaymentMethod with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the PaymentMethod. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the PaymentMethod. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the PaymentMethod. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/payment.ts b/src/lib/types/models/payment.ts index 3d8cb8aa0b..39cf6c6c1a 100644 --- a/src/lib/types/models/payment.ts +++ b/src/lib/types/models/payment.ts @@ -255,12 +255,12 @@ export interface PaymentMethodInfoDraft { readonly custom?: CustomFieldsDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [Payment](ctp:api:type:Payment). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [Payment](ctp:api:type:Payment). * */ export interface PaymentPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ @@ -273,16 +273,16 @@ export interface PaymentPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ readonly total?: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -307,14 +307,14 @@ export interface PaymentReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Payment. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Payments. + * Contains the representation of the expanded Payment. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Payments. * * */ readonly obj?: Payment } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) of a [Payment](ctp:api:type:Payment). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) of a [Payment](ctp:api:type:Payment). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface PaymentResourceIdentifier extends IResourceIdentifier { @@ -524,12 +524,7 @@ export enum TransactionTypeValues { } export type TransactionType = - | 'Authorization' - | 'CancelAuthorization' - | 'Charge' - | 'Chargeback' - | 'Refund' - | (string & {}) + 'Authorization' | 'CancelAuthorization' | 'Charge' | 'Chargeback' | 'Refund' | (string & {}) /** * Adding a Payment interaction generates the [PaymentInteractionAdded](ctp:api:type:PaymentInteractionAddedMessage) Message. * @@ -543,7 +538,9 @@ export interface PaymentAddInterfaceInteractionAction extends IPaymentUpdateActi */ readonly type: TypeResourceIdentifier /** - * [Custom Fields](/../api/projects/custom-fields) as per [FieldDefinitions](ctp:api:type:FieldDefinition) of the [Type](ctp:api:type:Type). + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the InterfaceInteraction. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -640,7 +637,7 @@ export interface PaymentSetAnonymousIdAction extends IPaymentUpdateAction { export interface PaymentSetCustomFieldAction extends IPaymentUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -657,14 +654,16 @@ export interface PaymentSetCustomFieldAction extends IPaymentUpdateAction { export interface PaymentSetCustomTypeAction extends IPaymentUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Payment with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Payment with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Payment. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Payment. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Payment. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -777,7 +776,7 @@ export interface PaymentSetMethodInfoAction extends IPaymentUpdateAction { export interface PaymentSetMethodInfoCustomFieldAction extends IPaymentUpdateAction { readonly action: 'setMethodInfoCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -798,13 +797,15 @@ export interface PaymentSetMethodInfoCustomFieldAction extends IPaymentUpdateAct export interface PaymentSetMethodInfoCustomTypeAction extends IPaymentUpdateAction { readonly action: 'setMethodInfoCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the `paymentMethodInfo` with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the `paymentMethodInfo` with [Custom Fields](ctp:api:type:CustomFields). * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the `paymentMethodInfo`. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the `paymentMethodInfo`. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -910,7 +911,7 @@ export interface PaymentSetTransactionCustomFieldAction extends IPaymentUpdateAc */ readonly transactionId: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -933,14 +934,16 @@ export interface PaymentSetTransactionCustomTypeAction extends IPaymentUpdateAct */ readonly transactionId: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Transaction with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Transaction with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Transaction. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Transaction. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Transaction. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -983,7 +986,7 @@ export interface PaymentTransitionStateAction extends IPaymentUpdateAction { */ readonly state: StateResourceIdentifier /** - * Set to `true` to skip validations when transitioning to the new State. + * Whether to skip validations when transitioning to the new State. * */ readonly force?: boolean diff --git a/src/lib/types/models/product-discount.ts b/src/lib/types/models/product-discount.ts index e0f710fb26..b21b663b43 100644 --- a/src/lib/types/models/product-discount.ts +++ b/src/lib/types/models/product-discount.ts @@ -79,7 +79,7 @@ export interface ProductDiscount extends BaseResource { */ readonly value: ProductDiscountValue /** - * Valid [ProductDiscount predicate](/../api/projects/predicates#productdiscount-predicates). + * Valid [ProductDiscount predicate](/api/projects/predicates#productdiscount-predicates). * * */ @@ -92,7 +92,7 @@ export interface ProductDiscount extends BaseResource { */ readonly sortOrder: string /** - * If `true` the Product Discount is applied to Products matching the `predicate`. + * Whether the Product Discount is applied to Products matching the `predicate`. * * */ @@ -106,14 +106,14 @@ export interface ProductDiscount extends BaseResource { readonly references: Reference[] /** * Date and time (UTC) from which the Discount is effective. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated discount values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated discount values. * * */ readonly validFrom?: string /** * Date and time (UTC) until which the Discount is effective. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated undiscounted values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated undiscounted values. * * */ @@ -145,7 +145,7 @@ export interface ProductDiscountDraft { */ readonly value: ProductDiscountValueDraft /** - * Valid [ProductDiscount predicate](/../api/projects/predicates#productdiscount-predicates). + * Valid [ProductDiscount predicate](/api/projects/predicates#productdiscount-predicates). * * */ @@ -158,21 +158,21 @@ export interface ProductDiscountDraft { */ readonly sortOrder: string /** - * Set to `true` to activate the ProductDiscount, set to `false` to deactivate it (even though the `predicate` matches). + * Whether to activate the ProductDiscount. To deactivate it even though the `predicate` matches, set to `false`. * * */ readonly isActive: boolean /** * Date and time (UTC) from which the Discount is effective. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated discount values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated discount values. * * */ readonly validFrom?: string /** * Date and time (UTC) until which the Discount is effective. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated undiscounted values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated undiscounted values. * * */ @@ -192,7 +192,7 @@ export interface ProductDiscountMatchQuery { */ readonly variantId: number /** - * Controls which [projected representation](/../api/projects/productProjections#current--staged) is applied for the query. + * Controls which [projected representation](/api/projects/productProjections#current--staged) is applied for the query. * Set to `true` for the `staged` Product Projection of the specified Product Variant, set to `false` for the `current` one. * * @@ -206,18 +206,18 @@ export interface ProductDiscountMatchQuery { readonly price: QueryPrice } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [ProductDiscount](ctp:api:type:ProductDiscount). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [ProductDiscount](ctp:api:type:ProductDiscount). * */ export interface ProductDiscountPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -230,10 +230,10 @@ export interface ProductDiscountPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -258,14 +258,14 @@ export interface ProductDiscountReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded ProductDiscount. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for ProductDiscounts. + * Contains the representation of the expanded ProductDiscount. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for ProductDiscounts. * * */ readonly obj?: ProductDiscount } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ProductDiscount](ctp:api:type:ProductDiscount). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ProductDiscount](ctp:api:type:ProductDiscount). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ProductDiscountResourceIdentifier extends IResourceIdentifier { @@ -316,9 +316,7 @@ export interface IProductDiscountUpdateAction { readonly action: string } export type ProductDiscountValue = - | ProductDiscountValueAbsolute - | ProductDiscountValueExternal - | ProductDiscountValueRelative + ProductDiscountValueAbsolute | ProductDiscountValueExternal | ProductDiscountValueRelative export interface IProductDiscountValue { /** * @@ -338,9 +336,7 @@ export interface ProductDiscountValueAbsolute extends IProductDiscountValue { readonly money: CentPrecisionMoney[] } export type ProductDiscountValueDraft = - | ProductDiscountValueAbsoluteDraft - | ProductDiscountValueExternalDraft - | ProductDiscountValueRelativeDraft + ProductDiscountValueAbsoluteDraft | ProductDiscountValueExternalDraft | ProductDiscountValueRelativeDraft export interface IProductDiscountValueDraft { /** * @@ -357,7 +353,7 @@ export interface ProductDiscountValueAbsoluteDraft extends IProductDiscountValue * Money values in different currencies. * An absolute Product Discount will match a price only if the array contains a value with the same currency. For example, if it contains 10€ and 15$, the matching € price will be decreased by 10€ and the matching $ price will be decreased by 15$. * - * If the value exceeds the price of a Product Variant, the discounted price (of the Product Variant) will be a negative value. + * If the value exceeds the price of a Product Variant, the resulting discounted price is set to `0`. * * If the array is empty or has multiple values of the same currency, the API returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. * @@ -428,7 +424,7 @@ export interface ProductDiscountChangeNameAction extends IProductDiscountUpdateA export interface ProductDiscountChangePredicateAction extends IProductDiscountUpdateAction { readonly action: 'changePredicate' /** - * New value to set. Must be a valid [ProductDiscount predicate](/../api/projects/predicates#productdiscount-predicates). + * New value to set. Must be a valid [ProductDiscount predicate](/api/projects/predicates#productdiscount-predicates). * * */ @@ -478,7 +474,7 @@ export interface ProductDiscountSetValidFromAction extends IProductDiscountUpdat /** * Value to set. * If empty, any existing value will be removed. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated discount values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated discount values. * * */ @@ -488,14 +484,14 @@ export interface ProductDiscountSetValidFromAndUntilAction extends IProductDisco readonly action: 'setValidFromAndUntil' /** * Value to set. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated undiscounted values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated undiscounted values. * * */ readonly validFrom?: string /** * Value to set. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated undiscounted values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated undiscounted values. * * */ @@ -506,7 +502,7 @@ export interface ProductDiscountSetValidUntilAction extends IProductDiscountUpda /** * Value to set. * If empty, any existing value will be removed. - * Take [Eventual Consistency](/../api/general-concepts#eventual-consistency) into account for calculated undiscounted values. + * Take [Eventual Consistency](/api/general-concepts#eventual-consistency) into account for calculated undiscounted values. * * */ diff --git a/src/lib/types/models/product-search.ts b/src/lib/types/models/product-search.ts index 503d17e3b3..be8e914e5a 100644 --- a/src/lib/types/models/product-search.ts +++ b/src/lib/types/models/product-search.ts @@ -6,7 +6,7 @@ import { ErrorObject, ErrorResponse } from './error.js' import { ProductProjection } from './product.js' -import { SearchFieldType, SearchSorting, SearchSortOrder, _SearchQuery } from './search.js' +import { SearchFieldType, SearchSortOrder, SearchSorting, _SearchQuery } from './search.js' export interface ProductPagedSearchResponse { /** @@ -15,19 +15,19 @@ export interface ProductPagedSearchResponse { */ readonly total: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ readonly offset: number /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Results for [facets](/../api/projects/product-search#facets) when requested. + * Results for [facets](/api/projects/product-search#facets) when requested. * * */ @@ -73,7 +73,7 @@ export interface ProductSearchMatchingVariantEntry { } export interface ProductSearchMatchingVariants { /** - * `true` if all Variants of the returned Product match the search query, or if search query does not specify any expression for a [Product Variant field](/../api/projects/product-search#field-levels). + * Whether all Variants of the returned Product match the search query, or if search query does not specify any expression for a [Product Variant field](/api/projects/product-search#field-levels). * * `false` if only a subset of the Product Variants match the search query. * @@ -92,7 +92,7 @@ export interface ProductSearchMatchingVariants { readonly matchedVariants: ProductSearchMatchingVariantEntry[] } /** - * The query parameters used for the deprecated [data integration with Product Projection parameters](/../api/deprecations-and-removals#product-projection-parameters) in Product Search. + * The query parameters used for the deprecated [data integration with Product Projection parameters](/api/deprecations-and-removals#product-projection-parameters) in Product Search. * */ export interface ProductSearchProjectionParams { @@ -104,43 +104,43 @@ export interface ProductSearchProjectionParams { */ readonly expand?: string[] /** - * Set to `true` to retrieve the [staged](/../api/projects/productProjections#current--staged) Product Projection + * Whether to retrieve the [staged](/api/projects/productProjections#current--staged) Product Projection * * */ readonly staged?: boolean /** - * The currency used for [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). + * The currency used for [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). * * */ readonly priceCurrency?: string /** - * The country used for [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). It can be used only *in conjunction with* the `priceCurrency` parameter. + * The country used for [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). It can be used only *in conjunction with* the `priceCurrency` parameter. * * */ readonly priceCountry?: string /** - * `id` of an existing [CustomerGroup](ctp:api:type:CustomerGroup) used for [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). It can be used only *in conjunction with* the `priceCurrency` parameter. + * `id` of an existing [CustomerGroup](ctp:api:type:CustomerGroup) used for [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). It can be used only *in conjunction with* the `priceCurrency` parameter. * * */ readonly priceCustomerGroup?: string /** - * IDs of existing [CustomerGroups](ctp:api:type:CustomerGroup) used for [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection), when using [multiple Customer Groups](/../api/customers-overview#customer-groups). It can be used only *in conjunction with* the `priceCurrency` parameter. + * IDs of existing [CustomerGroups](ctp:api:type:CustomerGroup) used for [Product price selection](/api/pricing-and-discounts-overview#product-price-selection), when using [multiple Customer Groups](/api/customers-overview#customer-groups). It can be used only *in conjunction with* the `priceCurrency` parameter. * * */ readonly priceCustomerGroupAssignments?: string[] /** - * `id` of an existing [Channel](ctp:api:type:Channel) used for [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). It can be used only *in conjunction with* the `priceCurrency` parameter. + * `id` of an existing [Channel](ctp:api:type:Channel) used for [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). It can be used only *in conjunction with* the `priceCurrency` parameter. * * */ readonly priceChannel?: string /** - * Used for [locale-based projection](/../api/projects/productProjections#locales). + * Used for [locale-based projection](/api/projects/productProjections#locales). * * */ @@ -148,12 +148,12 @@ export interface ProductSearchProjectionParams { /** * `key` of an existing [Store](ctp:api:type:Store). * If the Store has defined `languages`, `countries`, `distributionChannels`, or `supplyChannels`, - * they are used for projections based on [locale](/../api/projects/productProjections#locales), [price](/../api/projects/productProjections#prices), - * and [inventory](/../api/projects/productProjections#inventory-entries). + * they are used for projections based on [locale](/api/projects/productProjections#locales), [price](/api/projects/productProjections#prices), + * and [inventory](/api/projects/productProjections#inventory-entries). * - * For Projects with active [Product Selections](/../api/projects/product-selections), the API does not take the [availability of the Product in the specified Store](/../api/project-configuration-overview#products-available-in-store) into account. + * For Projects with active [Product Selections](/api/projects/product-selections), the API does not take the [availability of the Product in the specified Store](/api/project-configuration-overview#products-available-in-store) into account. * - * [Product Tailoring](/../api/projects/product-tailoring) modifies the product information returned in API responses. However, you can only specify [query expressions](/../api/search-query-language#simple-expressions) for the original Product data, not for tailored data. + * [Product Tailoring](/api/projects/product-tailoring) modifies the product information returned in API responses. However, you can only specify [query expressions](/api/search-query-language#simple-expressions) for the original Product data, not for tailored data. * * */ @@ -161,26 +161,26 @@ export interface ProductSearchProjectionParams { } export interface ProductSearchRequest { /** - * The search query against [searchable Product fields](/../api/projects/product-search#searchable-product-fields). + * The search query against [searchable Product fields](/api/projects/product-search#searchable-product-fields). * * */ readonly query?: _SearchQuery /** - * Controls how results to your query are [sorted](/../api/projects/product-search#sorting). + * Controls how results to your query are [sorted](/api/projects/product-search#sorting). * If not provided, the results are sorted by relevance score in descending order. * * */ readonly sort?: SearchSorting[] /** - * The maximum number of search results to be returned in one [page](/../api/projects/product-search#pagination). + * The maximum number of search results to be returned in one [page](/api/projects/product-search#pagination). * * */ readonly limit?: number /** - * The number of search results to be skipped in the response for [pagination](/../api/projects/product-search#pagination). + * The number of search results to be skipped in the response for [pagination](/api/projects/product-search#pagination). * * */ @@ -188,20 +188,20 @@ export interface ProductSearchRequest { /** * If `query` specifies an expression for a Product Variant field, * set this to `true` to get additional information for each returned Product about which Product Variants match the search query. - * For details, see [matching variants](/../api/projects/product-search#matching-variants). + * For details, see [matching variants](/api/projects/product-search#matching-variants). * * */ readonly markMatchingVariants?: boolean /** - * Controls deprecated data integration [with Product Projection parameters](/../api/deprecations-and-removals#product-projection-parameters). + * Controls deprecated data integration [with Product Projection parameters](/api/deprecations-and-removals#product-projection-parameters). * If not set, the result does not include the Product Projection. * * @deprecated */ readonly productProjectionParameters?: ProductSearchProjectionParams /** - * Set this field to request [facets](/../api/projects/product-search#facets). + * Set this field to request [facets](/api/projects/product-search#facets). * * */ @@ -230,7 +230,7 @@ export interface ProductSearchResult { readonly matchingVariants?: ProductSearchMatchingVariants /** * Projected data of the Product with `id`. - * Only present if deprecated data integration [with Product Projection parameters](/../api/deprecations-and-removals#product-projection-parameters) is requested. + * Only present if deprecated data integration [with Product Projection parameters](/api/deprecations-and-removals#product-projection-parameters) is requested. * * @deprecated */ @@ -325,7 +325,7 @@ export interface ProductSearchFacetDistinctValue { */ readonly limit?: number /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -422,7 +422,7 @@ export interface ProductSearchFacetRangesValue { */ readonly ranges: ProductSearchFacetRangesFacetRange[] /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -446,7 +446,7 @@ export type _ProductSearchFacetResult = | ProductSearchFacetResultCount | ProductSearchFacetResultStats /** - * Result of a [distinct facet](/../api/projects/product-search#distinct-facets) or a [ranges facet](/../api/projects/product-search#ranges-facets). + * Result of a [distinct facet](/api/projects/product-search#distinct-facets) or a [ranges facet](/api/projects/product-search#ranges-facets). * */ export interface ProductSearchFacetResultBucket extends ProductSearchFacetResult { @@ -469,7 +469,7 @@ export interface ProductSearchFacetResultBucketEntry { readonly count: number } /** - * Result of a [count facet](/../api/projects/product-search#count-facets). + * Result of a [count facet](/api/projects/product-search#count-facets). * */ export interface ProductSearchFacetResultCount extends ProductSearchFacetResult { @@ -480,7 +480,7 @@ export interface ProductSearchFacetResultCount extends ProductSearchFacetResult readonly value: number } /** - * Result of a [stats facet](/../api/projects/product-search#stats-facets). + * Result of a [stats facet](/api/projects/product-search#stats-facets). * The data type of `min` `max`, `mean`, and `sum` matches the data type of the `field` in the [facet expression](ctp:api:type:ProductSearchFacetStatsExpression). * */ diff --git a/src/lib/types/models/product-selection.ts b/src/lib/types/models/product-selection.ts index 937508318e..54c77c40c6 100644 --- a/src/lib/types/models/product-selection.ts +++ b/src/lib/types/models/product-selection.ts @@ -67,13 +67,13 @@ export interface AssignedProductSelection { */ export interface AssignedProductSelectionPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -87,8 +87,8 @@ export interface AssignedProductSelectionPagedQueryResponse { /** * Total number of results matching the query. * Present only when the `withTotal` query parameter is set to `true`. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -122,12 +122,12 @@ export interface ProductSelection extends BaseResource { */ readonly lastModifiedAt: string /** - * Present on resources updated after 1/02/2019 except for [events not tracked](/../api/general-concepts#events-tracked). + * Present on resources updated after 1/02/2019 except for [events not tracked](/api/general-concepts#events-tracked). * */ readonly lastModifiedBy?: LastModifiedBy /** - * Present on resources created after 1/02/2019 except for [events not tracked](/../api/general-concepts#events-tracked). + * Present on resources created after 1/02/2019 except for [events not tracked](/api/general-concepts#events-tracked). * */ readonly createdBy?: CreatedBy @@ -182,7 +182,7 @@ export interface ProductSelectionAssignment { * If undefined all Variants of the referenced Product are included. * * This field is only available for assignments to a Product Selection with `Individual` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). - * The list of SKUs will be updated automatically on any change of those performed on the respective Product itself. + * The list of SKUs will be updated automatically on any published change of those performed on the respective Product itself. Staged changes do not affect this field. * * */ @@ -192,7 +192,7 @@ export interface ProductSelectionAssignment { * If undefined all Variants of the referenced Product are excluded. * * This field is only available for assignments to a Product Selection with `IndividualExclusion` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). - * The list of SKUs will be updated automatically on any change of those performed on the respective Product itself. + * The list of SKUs will be updated automatically on any published change of those performed on the respective Product itself. Staged changes do not affect this field. * * */ @@ -236,13 +236,13 @@ export type ProductSelectionMode = 'Individual' | 'IndividualExclusion' | (strin */ export interface ProductSelectionPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -276,13 +276,13 @@ export interface ProductSelectionPagedQueryResponse { */ export interface ProductSelectionProductPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -296,8 +296,8 @@ export interface ProductSelectionProductPagedQueryResponse { /** * Total number of results matching the query. * Present only when the `withTotal` query parameter is set to `true`. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -321,14 +321,14 @@ export interface ProductSelectionReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded ProductSelection. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for ProductSelections. + * Contains the representation of the expanded ProductSelection. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for ProductSelections. * * */ readonly obj?: ProductSelection } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ProductSelection](ctp:api:type:ProductSelection). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ProductSelection](ctp:api:type:ProductSelection). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ProductSelectionResourceIdentifier extends IResourceIdentifier { @@ -373,12 +373,12 @@ export interface IProductSelectionUpdateAction { readonly action: string } /** - * Only Product Variants with the explicitly listed SKUs are part of a Product Selection with `IndividualExclusion` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). + * Defines the Product Variants that are excluded from a Product Selection with `IndividualExclusion` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). Product Variants not listed remain available in the Product Selection. * */ export interface ProductVariantExclusion { /** - * Non-empty array of SKUs representing Product Variants to be included in the Product Selection with `IndividualExclusion` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). + * Non-empty array of SKUs representing Product Variants to be excluded from the Product Selection with `IndividualExclusion` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). * * */ @@ -431,24 +431,20 @@ export enum ProductVariantSelectionTypeEnumValues { } export type ProductVariantSelectionTypeEnum = - | 'exclusion' - | 'includeAllExcept' - | 'includeOnly' - | 'inclusion' - | (string & {}) + 'exclusion' | 'includeAllExcept' | 'includeOnly' | 'inclusion' | (string & {}) /** * [PagedQueryResult](/general-concepts#pagedqueryresult) containing an array of [ProductSelectionAssignment](ctp:api:type:ProductSelectionAssignment). * */ export interface ProductsInStorePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -462,8 +458,8 @@ export interface ProductsInStorePagedQueryResponse { /** * Total number of results matching the query. * Present only when the `withTotal` query parameter is set to `true`. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -535,7 +531,7 @@ export interface ProductSelectionRemoveProductAction extends IProductSelectionUp export interface ProductSelectionSetCustomFieldAction extends IProductSelectionUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -552,14 +548,16 @@ export interface ProductSelectionSetCustomFieldAction extends IProductSelectionU export interface ProductSelectionSetCustomTypeAction extends IProductSelectionUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the ProductSelection with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the ProductSelection with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ProductSelection. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the ProductSelection. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the ProductSelection. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -588,7 +586,7 @@ export interface ProductSelectionSetVariantExclusionAction extends IProductSelec */ readonly product: ProductResourceIdentifier /** - * Determines which Variants of the previously excluded Product are to be included in the Product Selection with `IndividualExclusion` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). + * Determines which Variants of the previously excluded Product are to be excluded from the Product Selection with `IndividualExclusion` [ProductSelectionMode](ctp:api:type:ProductSelectionMode). * Leave it empty to unset an existing Variant Exclusion. * * diff --git a/src/lib/types/models/product-tailoring.ts b/src/lib/types/models/product-tailoring.ts index 88def44b9a..e486833232 100644 --- a/src/lib/types/models/product-tailoring.ts +++ b/src/lib/types/models/product-tailoring.ts @@ -10,9 +10,9 @@ import { AssetSource, BaseResource, CreatedBy, - Image, IReference, IResourceIdentifier, + Image, LastModifiedBy, LocalizedString, } from './common.js' @@ -80,7 +80,7 @@ export interface ProductTailoring extends BaseResource { */ readonly product: ProductReference /** - * If `true`, the tailored information contained in the `current` [ProductTailoringData](ctp:api:type:ProductTailoringData) is provided when [retrieving the ProductProjection in Store](/../api/projects/product-tailoring#retrieve-product-projection-with-tailored-information). + * Whether the tailored information contained in the `current` [ProductTailoringData](ctp:api:type:ProductTailoringData) is provided when [retrieving the ProductProjection in Store](/api/projects/product-tailoring#retrieve-product-projection-with-tailored-information). * For information not part of the ProductTailoringData, the original information contained in the [ProductData](ctp:api:type:ProductData) is provided. * If `false`, only the original information contained in the ProductData is provided. * @@ -100,7 +100,7 @@ export interface ProductTailoring extends BaseResource { */ readonly staged: ProductTailoringData /** - * `true` if the `staged` data is different from the `current` data. + * Whether the `staged` data is different from the `current` data. * * */ @@ -258,7 +258,7 @@ export interface ProductTailoringDraft { */ readonly slug?: LocalizedString /** - * Set to `true` to [publish](/../api/projects/product-tailoring#stage-and-publish-tailored-product-information) the ProductTailoring immediately. + * Whether to [publish](/api/projects/product-tailoring#stage-and-publish-tailored-product-information) the ProductTailoring immediately. * Otherwise, the tailored product information is just staged. * * @@ -333,7 +333,7 @@ export interface ProductTailoringInStoreDraft { */ readonly slug?: LocalizedString /** - * If `true`, the ProductTailoring is published immediately. + * Whether the ProductTailoring is published immediately. * * */ @@ -353,18 +353,18 @@ export interface ProductTailoringInStoreDraft { readonly attributes?: ProductTailoringAttribute[] } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [ProductTailoring](ctp:api:type:ProductTailoring). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [ProductTailoring](ctp:api:type:ProductTailoring). * */ export interface ProductTailoringPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -378,8 +378,8 @@ export interface ProductTailoringPagedQueryResponse { /** * Total number of results matching the query. * Present only when the `withTotal` query parameter is set to `true`. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -404,7 +404,7 @@ export interface ProductTailoringReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded ProductTailoring. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for ProductTailoring. + * Contains the representation of the expanded ProductTailoring. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for ProductTailoring. * * */ @@ -451,6 +451,7 @@ export type ProductTailoringUpdateAction = | ProductTailoringSetDescriptionAction | ProductTailoringSetExternalImagesAction | ProductTailoringSetImageLabelAction + | ProductTailoringSetKeyAction | ProductTailoringSetMetaAttributesAction | ProductTailoringSetMetaDescriptionAction | ProductTailoringSetMetaKeywordsAction @@ -466,54 +467,53 @@ export interface IProductTailoringUpdateAction { readonly action: string } /** - * The tailoring of a [ProductVariant](ctp:api:type:ProductVariant). + * The tailoring of a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)). * */ export interface ProductVariantTailoring { /** - * The `id` of the tailored [ProductVariant](ctp:api:type:ProductVariant). + * The `id` of the tailored [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)). * * */ readonly id: number /** * Images of the tailored Product Variant. - * If present, these images will override the images of the corresponding [ProductVariant](ctp:api:type:ProductVariant) in total. + * If present, these images will override the images of the corresponding [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) in total. * * */ readonly images?: Image[] /** * Media assets of the tailored Product Variant. - * If present, these assets will override the assets of the corresponding [ProductVariant](ctp:api:type:ProductVariant) in total. + * If present, these assets will override the assets of the corresponding [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) in total. * * */ readonly assets?: Asset[] /** * Attributes of the tailored Product Variant. - * If present, these Attributes are selectively merged into the `attributes` of the corresponding [ProductVariant](ctp:api:type:ProductVariant): + * If present, these Attributes are selectively merged into the `attributes` of the corresponding [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)): * - * - If the ProductVariant contains an Attribute with the same `name`, its `value` is overwritten, - * - otherwise the Attribute and its value are added to the ProductVariant. + * - If the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) contains an Attribute with the same `name`, its `value` is overwritten. Otherwise, the Attribute and its value are added to the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)). * * */ readonly attributes?: ProductTailoringAttribute[] } /** - * Either `id` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. + * Either `id` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. * */ export interface ProductVariantTailoringDraft { /** - * The `id` of the [ProductVariant](ctp:api:type:ProductVariant) to be tailored. + * The `id` of the [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) to be tailored. * * */ readonly id?: number /** - * The `sku` of the [ProductVariant](ctp:api:type:ProductVariant) to be tailored. + * The `sku` of the [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) to be tailored. * * */ @@ -532,35 +532,34 @@ export interface ProductVariantTailoringDraft { readonly assets?: Asset[] /** * Attributes of the tailored Product Variant according to the respective [AttributeDefinition](ctp:api:type:AttributeDefinition). - * If provided, these Attributes are selectively merged into the `attributes` of the corresponding [ProductVariant](ctp:api:type:ProductVariant): + * If provided, these Attributes are selectively merged into the `attributes` of the corresponding [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)): * - * - If the ProductVariant contains an Attribute with the same `name`, its `value` is overwritten, - * - otherwise the Attribute and its value are added to the ProductVariant. + * - If the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) contains an Attribute with the same `name`, its `value` is overwritten. Otherwise, the Attribute and its value are added to the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)). * * */ readonly attributes?: ProductTailoringAttribute[] } /** - * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. + * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. * */ export interface ProductTailoringAddAssetAction extends IProductTailoringUpdateAction { readonly action: 'addAsset' /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly variantId?: number /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly sku?: string /** - * If `true`, only the staged `assets` are updated. If `false`, both the current and staged `assets` are updated. + * Whether only the staged `assets` are updated. If `false`, both the current and staged `assets` are updated. * * */ @@ -579,19 +578,19 @@ export interface ProductTailoringAddAssetAction extends IProductTailoringUpdateA readonly position?: number } /** - * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. Produces the [ProductTailoringImageAdded](/projects/messages/product-catalog-messages#product-tailoring-image-added) Message. + * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. Produces the [ProductTailoringImageAdded](/projects/messages/product-catalog-messages#product-tailoring-image-added) Message. * */ export interface ProductTailoringAddExternalImageAction extends IProductTailoringUpdateAction { readonly action: 'addExternalImage' /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly variantId?: number /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ @@ -603,27 +602,27 @@ export interface ProductTailoringAddExternalImageAction extends IProductTailorin */ readonly image: Image /** - * If `true`, only the staged `images` is updated. If `false`, both the current and staged `images` is updated. + * Whether only the staged `images` is updated. If `false`, both the current and staged `images` are updated. * * */ readonly staged?: boolean } /** - * Either `id` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. + * Either `id` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. * Produces the [ProductVariantTailoringAdded](ctp:api:type:ProductVariantTailoringAddedMessage) Message. * */ export interface ProductTailoringAddVariantAction extends IProductTailoringUpdateAction { readonly action: 'addVariant' /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly id?: number /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ @@ -647,7 +646,7 @@ export interface ProductTailoringAddVariantAction extends IProductTailoringUpdat */ readonly attributes?: ProductTailoringAttribute[] /** - * If `true` the new Product Variant Tailoring is only staged. If `false` the new Product Variant Tailoring is both current and staged. + * Whether the new Product Variant Tailoring is only staged. If `false` the new Product Variant Tailoring is both current and staged. * * */ @@ -673,7 +672,7 @@ export interface ProductTailoringChangeAssetNameAction extends IProductTailoring */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -716,7 +715,7 @@ export interface ProductTailoringChangeAssetOrderAction extends IProductTailorin */ readonly sku?: string /** - * If `true`, only the staged `assets` is updated. If `false`, both the current and staged `assets` are updated. + * Whether only the staged `assets` is updated. If `false`, both the current and staged `assets` are updated. * * */ @@ -729,19 +728,19 @@ export interface ProductTailoringChangeAssetOrderAction extends IProductTailorin readonly assetOrder: string[] } /** - * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. + * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. * */ export interface ProductTailoringMoveImageToPositionAction extends IProductTailoringUpdateAction { readonly action: 'moveImageToPosition' /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly variantId?: number /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ @@ -759,7 +758,7 @@ export interface ProductTailoringMoveImageToPositionAction extends IProductTailo */ readonly position: number /** - * If `true`, only the staged `images` is updated. If `false`, both the current and staged `images` is updated. + * Whether only the staged `images` is updated. If `false`, both the current and staged `images` are updated. * * */ @@ -774,26 +773,26 @@ export interface ProductTailoringPublishAction extends IProductTailoringUpdateAc readonly action: 'publish' } /** - * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. + * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. * The Asset to remove must be specified using either `assetId` or `assetKey`. * */ export interface ProductTailoringRemoveAssetAction extends IProductTailoringUpdateAction { readonly action: 'removeAsset' /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly variantId?: number /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly sku?: string /** - * If `true`, only the staged Asset is removed. If `false`, both the current and staged Asset is removed. + * Whether only the staged Asset is removed. If `false`, both the current and staged Asset is removed. * * */ @@ -812,19 +811,19 @@ export interface ProductTailoringRemoveAssetAction extends IProductTailoringUpda readonly assetKey?: string } /** - * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. + * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. * */ export interface ProductTailoringRemoveImageAction extends IProductTailoringUpdateAction { readonly action: 'removeImage' /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly variantId?: number /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ @@ -836,7 +835,7 @@ export interface ProductTailoringRemoveImageAction extends IProductTailoringUpda */ readonly imageUrl: string /** - * If `true`, only the staged image is removed. If `false`, both the current and staged image is removed. + * Whether only the staged image is removed. If `false`, both the current and staged image is removed. * * */ @@ -850,19 +849,19 @@ export interface ProductTailoringRemoveImageAction extends IProductTailoringUpda export interface ProductTailoringRemoveVariantAction extends IProductTailoringUpdateAction { readonly action: 'removeVariant' /** - * The `id` of the ProductVariant to remove from the Tailoring. + * The `id` of the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to remove from the Tailoring. * * */ readonly id?: number /** - * The `sku` of the ProductVariant to remove from the Tailoring. + * The `sku` of the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to remove from the Tailoring. * * */ readonly sku?: string /** - * If `true`, only the staged Product Variant Tailoring is removed. If `false`, both the current and staged Product Variant Tailoring is removed. + * Whether only the staged Product Variant Tailoring is removed. If `false`, both the current and staged Product Variant Tailoring is removed. * * */ @@ -888,7 +887,7 @@ export interface ProductTailoringSetAssetCustomFieldAction extends IProductTailo */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -906,7 +905,7 @@ export interface ProductTailoringSetAssetCustomFieldAction extends IProductTailo */ readonly assetKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -940,7 +939,7 @@ export interface ProductTailoringSetAssetCustomTypeAction extends IProductTailor */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -958,14 +957,16 @@ export interface ProductTailoringSetAssetCustomTypeAction extends IProductTailor */ readonly assetKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Asset with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Asset with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Asset. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Asset. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Asset. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -991,7 +992,7 @@ export interface ProductTailoringSetAssetDescriptionAction extends IProductTailo */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1034,7 +1035,7 @@ export interface ProductTailoringSetAssetKeyAction extends IProductTailoringUpda */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1072,7 +1073,7 @@ export interface ProductTailoringSetAssetSourcesAction extends IProductTailoring */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false` both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1116,7 +1117,7 @@ export interface ProductTailoringSetAssetTagsAction extends IProductTailoringUpd */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1147,14 +1148,14 @@ export interface ProductTailoringSetAssetTagsAction extends IProductTailoringUpd export interface ProductTailoringSetAttributeAction extends IProductTailoringUpdateAction { readonly action: 'setAttribute' /** - * The `id` of the ProductVariant to update. + * The `id` of the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * Required if `sku` is absent. * * */ readonly variantId?: number /** - * The `sku` of the ProductVariant to update. + * The `sku` of the ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * Required if `variantId` is absent. * * @@ -1185,7 +1186,7 @@ export interface ProductTailoringSetAttributeAction extends IProductTailoringUpd */ readonly value?: any /** - * If `true`, only the staged Attribute is set. If `false`, both current and staged Attribute is set. + * Whether only the staged Attribute is set. If `false`, both current and staged Attribute is set. * * */ @@ -1222,7 +1223,7 @@ export interface ProductTailoringSetAttributeInAllVariantsAction extends IProduc */ readonly value?: any /** - * If `true`, only the staged Attributes are set. If `false`, both the current and staged Attributes are set. + * Whether only the staged Attributes are set. If `false`, both the current and staged Attributes are set. * * */ @@ -1241,60 +1242,60 @@ export interface ProductTailoringSetDescriptionAction extends IProductTailoringU */ readonly description?: LocalizedString /** - * If `true`, only the staged `description` is updated. If `false`, both the current and staged `description` are updated. + * Whether only the staged `description` is updated. If `false`, both the current and staged `description` are updated. * * */ readonly staged?: boolean } /** - * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. Produces the [ProductTailoringImagesSet](/projects/messages/product-catalog-messages#product-tailoring-images-set) Message. + * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. Produces the [ProductTailoringImagesSet](/projects/messages/product-catalog-messages#product-tailoring-images-set) Message. * */ export interface ProductTailoringSetExternalImagesAction extends IProductTailoringUpdateAction { readonly action: 'setImages' /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly variantId?: number /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly sku?: string /** - * Images of the tailored ProductVariant. + * Images of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)). * - * Don't provide this field if you want to remove all images from the tailored Product Variant. - * Set to `[]` (empty) if you want to hide all images of the original ProductVariant on the tailored ProductVariant. + * Don't provide this field if you want to remove all images from the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)). + * Set to `[]` (empty) if you want to hide all images of the original ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) on the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)). * * */ readonly images?: Image[] /** - * If `true`, only the staged `images` is updated. If `false`, both the current and staged `images` is updated. + * Whether only the staged `images` is updated. If `false`, both the current and staged `images` are updated. * * */ readonly staged?: boolean } /** - * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) that exists. + * Either `variantId` or `sku` is required to reference a [ProductVariant](ctp:api:type:ProductVariant) or [Variant](ctp:api:type:Variant) ([BETA](/offering/compatibility#public-beta)) that exists. * */ export interface ProductTailoringSetImageLabelAction extends IProductTailoringUpdateAction { readonly action: 'setImageLabel' /** - * The `sku` of the tailored ProductVariant to update. + * The `sku` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ readonly sku?: string /** - * The `id` of the tailored ProductVariant to update. + * The `id` of the tailored ProductVariant or Variant ([BETA](/offering/compatibility#public-beta)) to update. * * */ @@ -1312,12 +1313,25 @@ export interface ProductTailoringSetImageLabelAction extends IProductTailoringUp */ readonly label?: string /** - * If `true`, only the staged image is updated. If `false`, both the current and staged image is updated. + * Whether only the staged image is updated. If `false`, both the current and staged image is updated. * * */ readonly staged?: boolean } +/** + * Generates the [ProductTailoringKeySet](ctp:api:type:ProductTailoringKeySetMessage) Message. + * + */ +export interface ProductTailoringSetKeyAction extends IProductTailoringUpdateAction { + readonly action: 'setKey' + /** + * Value to set. Must be unique. If empty, any existing value will be removed. + * + * + */ + readonly key?: string +} /** * Updates all meta attributes at the same time. */ @@ -1342,7 +1356,7 @@ export interface ProductTailoringSetMetaAttributesAction extends IProductTailori */ readonly metaKeywords?: LocalizedString /** - * If `true`, only the staged attributes are updated. If `false`, both the current and staged attributes are updated. + * Whether only the staged attributes are updated. If `false`, both the current and staged attributes are updated. * * */ @@ -1357,7 +1371,7 @@ export interface ProductTailoringSetMetaDescriptionAction extends IProductTailor */ readonly metaDescription?: LocalizedString /** - * If `true`, only the staged `metaDescription` is updated. If `false`, both the current and staged `metaDescription` are updated. + * Whether only the staged `metaDescription` is updated. If `false`, both the current and staged `metaDescription` are updated. * * */ @@ -1372,7 +1386,7 @@ export interface ProductTailoringSetMetaKeywordsAction extends IProductTailoring */ readonly metaKeywords?: LocalizedString /** - * If `true`, only the staged `metaKeywords` is updated. If `false`, both the current and staged `metaKeywords` are updated. + * Whether only the staged `metaKeywords` is updated. If `false`, both the current and staged `metaKeywords` are updated. * * */ @@ -1387,7 +1401,7 @@ export interface ProductTailoringSetMetaTitleAction extends IProductTailoringUpd */ readonly metaTitle?: LocalizedString /** - * If `true`, only the staged `metaTitle` is updated. If `false`, both the current and staged `metaTitle` are updated. + * Whether only the staged `metaTitle` is updated. If `false`, both the current and staged `metaTitle` are updated. * * */ @@ -1406,7 +1420,7 @@ export interface ProductTailoringSetNameAction extends IProductTailoringUpdateAc */ readonly name?: LocalizedString /** - * If `true`, only the staged `name` is updated. If `false`, both the current and staged `name` are updated. + * Whether only the staged `name` is updated. If `false`, both the current and staged `name` are updated. * * */ @@ -1438,7 +1452,7 @@ export interface ProductTailoringSetProductAttributeAction extends IProductTailo */ readonly value?: any /** - * If `true`, then only the staged Attribute is set. If `false`, then both the current and staged Attributes are set. + * Whether only the staged Attribute is set. If `false`, both the current and staged Attributes are set. * * */ @@ -1457,7 +1471,7 @@ export interface ProductTailoringSetSlugAction extends IProductTailoringUpdateAc */ readonly slug?: LocalizedString /** - * If `true`, only the staged `slug` is updated. If `false`, both the current and staged `slug` are updated. + * Whether only the staged `slug` is updated. If `false`, both the current and staged `slug` are updated. * * */ diff --git a/src/lib/types/models/product-type.ts b/src/lib/types/models/product-type.ts index 240d2577eb..b4f7acc81e 100644 --- a/src/lib/types/models/product-type.ts +++ b/src/lib/types/models/product-type.ts @@ -41,7 +41,7 @@ export interface AttributeDefinition { */ readonly label: LocalizedString /** - * If `true`, the Attribute must have a value on a [ProductVariant](ctp:api:type:ProductVariant). + * Whether the Attribute must have a value on a [ProductVariant](ctp:api:type:ProductVariant). * */ readonly isRequired: boolean @@ -69,12 +69,14 @@ export interface AttributeDefinition { */ readonly inputHint: TextInputHint /** - * If `true`, the Attribute's values are available in the [Product Search](/../api/projects/product-search) or the [Product Projection Search](/../api/projects/product-projection-search) API for use in full-text search queries, filters, and facets. + * Whether the Attribute's values are available in the [Product Search](/api/projects/product-search) or the [Product Projection Search](/api/projects/product-projection-search) API for use in full-text search queries, filters, and facets. * However, if an Attribute's `level` is set as `Product`, then Product Projection Search does **not support** the Attribute. + * To use the Attribute in search, filters, or facets, set `isSearchable` to `true` for all AttributeDefinitions with the same `name` across different ProductTypes. + * If the `isSearchable` values are different, the Attribute isn't available for search, filters, or facets. * * The exact features that are available with this flag depend on the specific [AttributeType](ctp:api:type:AttributeType). - * The maximum size of a searchable field is **restricted** by the [Field content size limit](/../api/limits#field-content-size). - * This constraint is enforced at both [Product creation](ctp:api:endpoint:/{projectKey}/products:POST) and [Product update](/../api/projects/products#update-product). + * The maximum size of a searchable field is **restricted** by the [Field content size limit](/api/limits#field-content-size). + * This constraint is enforced at both [Product creation](ctp:api:endpoint:/{projectKey}/products:POST) and [Product update](/api/projects/products#update-product). * If the length of the input exceeds the maximum size, an [InvalidField](ctp:api:type:InvalidFieldError) error is returned. * */ @@ -94,10 +96,10 @@ export interface AttributeDefinitionDraft { */ readonly type: AttributeType /** - * User-defined name of the Attribute that is unique to the [Project](ctp:api:type:Project). + * User-defined name of the Attribute that must be unique within the ProductType. * - * When using the same `name` for an Attribute in multiple ProductTypes, all fields of the AttributeDefinition of this Attribute must be the same across the ProductTypes, else an [AttributeDefinitionAlreadyExists](ctp:api:type:AttributeDefinitionAlreadyExistsError) error is returned. - * An exception to this are the values of an `enum` or `lenum` Type and sets thereof. + * To use the same `name` in multiple ProductTypes, each AttributeDefinition must have the same `type`; otherwise, an [AttributeDefinitionTypeConflict](ctp:api:type:AttributeDefinitionTypeConflictError) error is returned. + * For `enum` or `lenum` Types and sets of these AttributeTypes, the enum values can be different for each ProductType. * */ readonly name: string @@ -107,7 +109,7 @@ export interface AttributeDefinitionDraft { */ readonly label: LocalizedString /** - * Set to `true` if the Attribute is required to have a value on a [ProductVariant](ctp:api:type:ProductVariant). + * Whether the Attribute is required to have a value on a [ProductVariant](ctp:api:type:ProductVariant). * * */ @@ -138,12 +140,13 @@ export interface AttributeDefinitionDraft { */ readonly inputHint?: TextInputHint /** - * Set as `true` if you want the Attribute's values to be available in the [Product Search](/../api/projects/product-search) or the [Product Projection Search](/../api/projects/product-projection-search) API and can be used in full-text search queries, filters, and facets. + * Set as `true` if you want the Attribute's values to be available in the [Product Search](/api/projects/product-search) or the [Product Projection Search](/api/projects/product-projection-search) API and can be used in full-text search queries, filters, and facets. * If an Attribute's `level` is set as `Product`, then Product Projection Search does **not support** the Attribute. - * + * To use the Attribute in search, filters, or facets, set `isSearchable` to `true` for all AttributeDefinitions with the same `name` across different ProductTypes. + * If the `isSearchable` values are different, the Attribute isn't available for search, filters, or facets. * * Which exact features are available with this flag depends on the specific [AttributeType](ctp:api:type:AttributeType). - * The maximum size of a searchable field is **restricted** by the [Field content size limit](/../api/limits#field-content-size). + * The maximum size of a searchable field is **restricted** by the [Field content size limit](/api/limits#field-content-size). * This constraint is enforced at both Product creation and Product update. * If the length of the input exceeds the maximum size, an [InvalidField](ctp:api:type:InvalidFieldError) error is returned. * @@ -212,6 +215,7 @@ export enum AttributeReferenceTypeIdValues { Review = 'review', ShippingMethod = 'shipping-method', State = 'state', + Variant = 'variant', Zone = 'zone', } @@ -231,6 +235,7 @@ export type AttributeReferenceTypeId = | 'review' | 'shipping-method' | 'state' + | 'variant' | 'zone' | (string & {}) /** @@ -462,18 +467,18 @@ export interface ProductTypeDraft { readonly attributes?: AttributeDefinitionDraft[] } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [ProductType](ctp:api:type:ProductType). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [ProductType](ctp:api:type:ProductType). * */ export interface ProductTypePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -486,10 +491,10 @@ export interface ProductTypePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -514,14 +519,14 @@ export interface ProductTypeReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded ProductType. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for ProductTypes. + * Contains the representation of the expanded ProductType. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for ProductTypes. * * */ readonly obj?: ProductType } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ProductType](ctp:api:type:ProductType). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ProductType](ctp:api:type:ProductType). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ProductTypeResourceIdentifier extends IResourceIdentifier { @@ -670,10 +675,10 @@ export interface ProductTypeChangeAttributeNameAction extends IProductTypeUpdate */ readonly attributeName: string /** - * New user-defined name of the Attribute that is unique to the [Project](ctp:api:type:Project). + * New user-defined name of the Attribute that must be unique within the ProductType. * - * When using the same `name` for an Attribute in two or more ProductTypes, all fields of the AttributeDefinition of this Attribute must be the same across the ProductTypes. If not, an [AttributeDefinitionAlreadyExists](ctp:api:type:AttributeDefinitionAlreadyExistsError) error is returned. - * An exception to this are the values of an `enum` or `lenum` type and sets thereof. + * To use the same `name` in multiple ProductTypes, each AttributeDefinition must have the same `type`; otherwise, an [AttributeDefinitionTypeConflict](ctp:api:type:AttributeDefinitionTypeConflictError) error is returned. + * For `enum` or `lenum` Types and sets of these AttributeTypes, the enum values can be different for each ProductType. * */ readonly newAttributeName: string @@ -743,6 +748,7 @@ export interface ProductTypeChangeInputHintAction extends IProductTypeUpdateActi } /** * Following this update the Products are reindexed asynchronously to reflect this change on the search endpoint. When enabling search on an existing Attribute type definition, the constraint regarding the maximum size of a searchable Attribute will not be enforced. Instead, AttributeDefinitions exceeding this limit will be treated as not searchable and will not be available for full-text search. + * To use the Attribute in search, filters, or facets, set `isSearchable` to `true` for all AttributeDefinitions with the same `name` across different ProductTypes. If the `isSearchable` values are different, the Attribute isn't available for search, filters, or facets. * */ export interface ProductTypeChangeIsSearchableAction extends IProductTypeUpdateAction { @@ -860,6 +866,8 @@ export interface ProductTypeChangePlainEnumValueOrderAction extends IProductType /** * Removes an AttributeDefinition and also deletes all corresponding Attributes on all [Products](/projects/products) with this ProductType. The removal of the Attributes is [eventually consistent](/general-concepts#eventual-consistency). * + * Do not remove an AttributeDefinition and add a new AttributeDefinition with the same `name` in the same update request. Because the removal is eventually consistent, wait until it is complete before sending another update request for the ProductType. + * * The `CombinationUnique` constraint is not checked when an Attribute is removed, and uniqueness violations may occur when you remove an Attribute with a `CombinationUnique` constraint. * */ diff --git a/src/lib/types/models/product.ts b/src/lib/types/models/product.ts index e32a8af8ff..7cbb9c723c 100644 --- a/src/lib/types/models/product.ts +++ b/src/lib/types/models/product.ts @@ -13,9 +13,9 @@ import { BaseResource, CreatedBy, DiscountedPriceDraft, - Image, IReference, IResourceIdentifier, + Image, LastModifiedBy, LocalizedString, Price, @@ -27,6 +27,7 @@ import { ReviewRatingStatistics } from './review.js' import { StateReference, StateResourceIdentifier } from './state.js' import { TaxCategoryReference, TaxCategoryResourceIdentifier } from './tax-category.js' import { FieldContainer, TypeResourceIdentifier } from './type.js' +import { VariantReference, VariantResourceIdentifier } from './variant.js' import { WarningObject } from './warning.js' export interface Attribute { @@ -142,7 +143,8 @@ export interface FacetResults { } export interface FacetTerm { /** - * Value for the field specified in the [term facet expression](/../api/projects/product-projection-search#term-facet-expression) for which at least one [ProductVariant](ctp:api:type:ProductVariant) could be found. + * Value for the field specified in the [term facet expression](/api/projects/product-projection-search#term-facet-expression) for which at least one [ProductVariant](ctp:api:type:ProductVariant) could be found. + * For [AttributeNumberType](ctp:api:type:AttributeNumberType) Attributes, numeric values are returned as decimals, for example `1.0` instead of `1`. * * */ @@ -155,7 +157,7 @@ export interface FacetTerm { readonly count: number /** * Number of [Products](ctp:api:type:Product) for which the `term` applies. - * Only available if the `counting products` [extension](/../api/projects/product-projection-search#counting-products) is enabled. + * Only available if the `counting products` [extension](/api/projects/product-projection-search#counting-products) is enabled. * * */ @@ -171,13 +173,13 @@ export type FacetTypes = 'filter' | 'range' | 'terms' | (string & {}) export interface FilteredFacetResult extends IFacetResult { readonly type: 'filter' /** - * Number of [ProductVariants](ctp:api:type:ProductVariant) matching the value specified in [filtered facet expression](/../api/projects/product-projection-search#filtered-facet-expression). + * Number of [ProductVariants](ctp:api:type:ProductVariant) matching the value specified in [filtered facet expression](/api/projects/product-projection-search#filtered-facet-expression). * * */ readonly count: number /** - * Number of [Products](ctp:api:type:Product) matching the value specified in [filtered facet expression](/../api/projects/product-projection-search#filtered-facet-expression). + * Number of [Products](ctp:api:type:Product) matching the value specified in [filtered facet expression](/api/projects/product-projection-search#filtered-facet-expression). * * Present only if the `counting products` [extension](/projects/product-projection-search#counting-products) is enabled. * @@ -275,7 +277,7 @@ export interface Product extends BaseResource { } export interface ProductCatalogData { /** - * If `true`, the `current` representation of the Product is retrievable in the [Product Projection](/projects/productProjections) endpoints and indexed for [Product Search](/../api/projects/product-search). + * Whether the `current` representation of the Product is retrievable in the [Product Projection](/projects/productProjections) endpoints and indexed for [Product Search](/api/projects/product-search). * * */ @@ -293,7 +295,7 @@ export interface ProductCatalogData { */ readonly staged: ProductData /** - * `true` if the `staged` data is different from the `current` data. + * Whether the `staged` data is different from the `current` data. * * */ @@ -353,12 +355,16 @@ export interface ProductData { /** * The Master Variant of the Product. * + * Omitted when the Project has the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Modular`. Use the [Variants API](/projects/variants) instead. + * * */ readonly masterVariant: ProductVariant /** * Additional Product Variants. * + * Empty when the Project has the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Modular`. Use the [Variants API](/projects/variants) instead. + * * */ readonly variants: ProductVariant[] @@ -375,6 +381,12 @@ export interface ProductData { * */ readonly attributes: Attribute[] + /** + * Reference to the default [Variant](ctp:api:type:Variant) of the Product. Only available for Projects with [productCatalogModel](/projects/project#productcatalogmodel) set to `Modular`. The reference is automatically cleared when the referenced Variant is deleted; in that case, the response of the [Delete Variant](/projects/variants#delete-variant) request includes a `DefaultVariantDeleted` warning. + * + * + */ + readonly defaultVariant?: VariantReference } export interface ProductDraft { /** @@ -400,7 +412,7 @@ export interface ProductDraft { /** * User-defined unique identifier for the Product. * - * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Products with the [Import API](/../api/import-export/overview) and the [Merchant Center](/../merchant-center/import-data). + * This field is optional for backwards compatibility reasons, but we strongly recommend setting it. Keys are mandatory for importing Products with the [Import API](/api/import-export/overview) and the [Merchant Center](/merchant-center/import-data). * * */ @@ -442,7 +454,9 @@ export interface ProductDraft { */ readonly metaKeywords?: LocalizedString /** - * The Product Variant to be the Master Variant for the Product. Required if `variants` are provided also. + * The Product Variant to be the Master Variant for the Product. Required if `variants` are provided or if the referenced Product Type contains any Variant-level [AttributeDefinition](ctp:api:type:AttributeDefinition) with `isRequired` set to `true`. + * + * Must not be provided when the Project has the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Modular`. Use the [Variants API](/projects/variants) to create Variants instead. * * */ @@ -450,6 +464,8 @@ export interface ProductDraft { /** * The additional Product Variants for the Product. * + * Must not be provided when the Project has the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Modular`. Use the [Variants API](/projects/variants) to create Variants instead. + * * */ readonly variants?: ProductVariantDraft[] @@ -472,8 +488,8 @@ export interface ProductDraft { */ readonly state?: StateResourceIdentifier /** - * If `true`, the platform sets the `published` flag on the resulting [ProductCatalogData](ctp:api:type:ProductCatalogData) to `true`. - * This makes the current representation retrievable in [Product Projection](/projects/productProjections) endpoints and indexes it for [Product Search](/../api/projects/product-search). + * Whether the platform sets the `published` flag on the resulting [ProductCatalogData](ctp:api:type:ProductCatalogData) to `true`. + * This makes the current representation retrievable in [Product Projection](/projects/productProjections) endpoints and indexes it for [Product Search](/api/projects/product-search). * You can also set this flag later using the [Publish](/projects/products#publish) update action. * * @@ -494,18 +510,18 @@ export interface ProductDraft { readonly attributes?: Attribute[] } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [Product](ctp:api:type:Product). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [Product](ctp:api:type:Product). * */ export interface ProductPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -518,10 +534,10 @@ export interface ProductPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](ctp:api:type:QueryPredicate), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](ctp:api:type:QueryPredicate), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -534,8 +550,12 @@ export interface ProductPagedQueryResponse { readonly results: Product[] } /** + * * This mode determines the type of Prices used for [price selection](/../api/pricing-and-discounts-overview#price-selection) by Line Items and Products. - * For more information about the difference between the Prices, see [Pricing](/../api/pricing-and-discounts-overview). + * For more information about the difference between the Prices, see [Pricing](/api/pricing-and-discounts-overview). + * + * In Projects with the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Classic`, you can configure the price mode. + * In Projects with the `Modular` catalog model, the price mode is always `Standalone` and cannot be configured. * */ export enum ProductPriceModeEnumValues { @@ -597,7 +617,7 @@ export interface ProductProjection extends BaseResource { * User-defined identifier used in a deep-link URL for the [Product](ctp:api:type:Product). * Must be unique across a Project, but can be the same for Products in different locales. * Matches the pattern `[a-zA-Z0-9_\-]{2,256}`. - * For [good performance](/../api/predicates/query#performance-considerations), indexes are provided for the first 15 `languages` set in the [Project](ctp:api:type:Project). + * For [good performance](/api/predicates/query#performance-considerations), indexes are provided for the first 15 `languages` set in the [Project](ctp:api:type:Project). * * */ @@ -633,19 +653,19 @@ export interface ProductProjection extends BaseResource { */ readonly metaKeywords?: LocalizedString /** - * Used by [Search Term Suggestions](/../api/projects/search-term-suggestions), but is also considered for a [full text search](/projects/product-projection-search#full-text-search) in the Product Projection Search API. + * Used by [Search Term Suggestions](/api/projects/search-term-suggestions), but is also considered for a [full text search](/projects/product-projection-search#full-text-search) in the Product Projection Search API. * * */ readonly searchKeywords?: SearchKeywords /** - * `true` if the staged data is different from the current data. + * Whether the staged data is different from the current data. * * */ readonly hasStagedChanges?: boolean /** - * `true` if the [Product](ctp:api:type:Product) is [published](ctp:api:type:CurrentStaged). + * Whether the [Product](ctp:api:type:Product) is [published](ctp:api:type:CurrentStaged). * * */ @@ -653,12 +673,16 @@ export interface ProductProjection extends BaseResource { /** * The Master Variant of the [Product](ctp:api:type:Product). * + * Omitted when the Project has the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Modular`. Use the [Variant Projections API](/projects/variant-projections) instead. + * * */ readonly masterVariant: ProductVariant /** * Additional Product Variants. * + * Empty when the Project has the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Modular`. Use the [Variant Projections API](/projects/variant-projections) instead. + * * */ readonly variants: ProductVariant[] @@ -681,7 +705,9 @@ export interface ProductProjection extends BaseResource { */ readonly reviewRatingStatistics?: ReviewRatingStatistics /** - * Indicates whether the Prices of the Product Projection are [embedded](ctp:api:type:Price) or [standalone](ctp:api:type:StandalonePrice). [Projecting Prices](#prices) only works with `Embedded`, there is currently no support for `Standalone`. + * Indicates whether the Prices of the Product Projection are [embedded](ctp:api:type:Price) or [standalone](ctp:api:type:StandalonePrice). + * + * When [projecting Prices by Store](/api/projects/productProjections#projection-by-store), the API supports only Embedded Prices (`Embedded`). * * */ @@ -695,7 +721,7 @@ export interface ProductProjection extends BaseResource { } export interface ProductProjectionPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ @@ -708,16 +734,16 @@ export interface ProductProjectionPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ readonly total?: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -730,19 +756,19 @@ export interface ProductProjectionPagedQueryResponse { readonly results: ProductProjection[] } /** - * The response returned to a [Product Projection Search](/../api/projects/product-projection-search#product-projection-search) request. - * The object contains the [query results](/../api/projects/product-projection-search#query-results) with Product Projections where at least one ProductVariant matches the search query, as well as the [facet results](/../api/projects/product-projection-search#facet-results), if requested. + * The response returned to a [Product Projection Search](/api/projects/product-projection-search#product-projection-search) request. + * The object contains the [query results](/api/projects/product-projection-search#query-results) with Product Projections where at least one ProductVariant matches the search query, as well as the [facet results](/api/projects/product-projection-search#facet-results), if requested. * */ export interface ProductProjectionPagedSearchResponse { /** - * The maximum number of results returned on a [page](/../api/projects/product-projection-search#pagination). + * The maximum number of results returned on a [page](/api/projects/product-projection-search#pagination). * * */ readonly limit: number /** - * The starting point for the retrieved [paginated](/../api/projects/product-projection-search#pagination) result. + * The starting point for the retrieved [paginated](/api/projects/product-projection-search#pagination) result. * * */ @@ -761,13 +787,13 @@ export interface ProductProjectionPagedSearchResponse { readonly total?: number /** * [ProductProjections](ctp:api:type:ProductProjection) where at least one [ProductVariant](ctp:api:type:ProductVariant) matches the search query, provided with the `text.{language}` and/or `filter.query` or `filter` query parameter. - * If the query parameter `markMatchingVariants=true` was provided with the request, the [matching variants](/../api/projects/product-projection-search#matching-variants) are marked as such. + * If the query parameter `markMatchingVariants=true` was provided with the request, the [matching variants](/api/projects/product-projection-search#matching-variants) are marked as such. * * */ readonly results: ProductProjection[] /** - * Facet results for each [facet expression](/../api/projects/product-projection-search#facets) specified in the search request. + * Facet results for each [facet expression](/api/projects/product-projection-search#facets) specified in the search request. * * Only present if at least one `facet` parameter was provided with the search request. * @@ -788,14 +814,14 @@ export interface ProductReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Product. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Products. + * Contains the representation of the expanded Product. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Products. * * */ readonly obj?: Product } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Product](ctp:api:type:Product). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Product](ctp:api:type:Product). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ProductResourceIdentifier extends IResourceIdentifier { @@ -858,6 +884,7 @@ export type ProductUpdateAction = | ProductSetAttributeAction | ProductSetAttributeInAllVariantsAction | ProductSetCategoryOrderHintAction + | ProductSetDefaultVariantAction | ProductSetDescriptionAction | ProductSetDiscountedPriceAction | ProductSetImageLabelAction @@ -883,6 +910,13 @@ export interface IProductUpdateAction { */ readonly action: string } +/** + * Represents a Product Variant embedded in a [Product](ctp:api:type:Product). + * + * Only available for Projects with the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Classic`. + * When the Project has the `Modular` catalog model, use the [Variants API](/projects/variants) instead. + * + */ export interface ProductVariant { /** * A unique, sequential identifier of the Product Variant within the Product. @@ -891,13 +925,13 @@ export interface ProductVariant { */ readonly id: number /** - * User-defined unique SKU of the Product Variant. + * User-defined SKU of the Product Variant. Unique across all ProductVariants in a Project. * * */ readonly sku?: string /** - * User-defined unique identifier of the ProductVariant. + * User-defined identifier of the ProductVariant. Unique among ProductVariants in the same Product. * * This is different from [Product](ctp:api:type:Product) `key`. * @@ -905,8 +939,9 @@ export interface ProductVariant { */ readonly key?: string /** - * The Embedded Prices of the Product Variant. - * Cannot contain two Prices of the same Price scope (with same currency, country, Customer Group, Channel, `validFrom` and `validUntil`). + * If the Product is [projected by Store](/api/projects/productProjections#projection-by-store), this field only contains Embedded Prices that are valid for that Store. + * + * Cannot contain two Embedded Prices with the same scopes (currency, country, Customer Group, Channel, `validFrom` and `validUntil`). * * */ @@ -918,7 +953,7 @@ export interface ProductVariant { */ readonly attributes?: Attribute[] /** - * Only available when [price selection](/../api/pricing-and-discounts-overview#price-selection) is used. + * Only present when [price selection](/api/pricing-and-discounts-overview#price-selection) is applied. * Cannot be used in a [Query Predicate](ctp:api:type:QueryPredicate). * * @@ -945,29 +980,29 @@ export interface ProductVariant { */ readonly availability?: ProductVariantAvailability /** - * `true` if the Product Variant matches the search query. - * Only available in response to a [Product Projection Search](ctp:api:type:ProductProjectionSearch) request. + * Whether the Product Variant matches the search query. + * Only available in response to a [Product Projection Search](/api/projects/product-projection-search) request. * * */ readonly isMatchingVariant?: boolean /** - * Only available in response to a [Product Projection Search](ctp:api:type:ProductProjectionSearch) request - * with [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). + * Only available in response to a [Product Projection Search](/api/projects/product-projection-search) request + * with [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). * Can be used to sort, [filter](ctp:api:type:ProductProjectionSearchFilterScopedPrice), and facet. * * */ readonly scopedPrice?: ScopedPrice /** - * Only available in response to a [Product Projection Search](ctp:api:type:ProductProjectionSearchFilterScopedPrice) request - * with [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). + * Only available in response to a [Product Projection Search](/api/projects/product-projection-search) request + * with [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). * * */ readonly scopedPriceDiscounted?: boolean /** - * Only available when [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection) is used. + * Only available when [Product price selection](/api/pricing-and-discounts-overview#product-price-selection) is used. * Cannot be used in a [Query Predicate](ctp:api:type:QueryPredicate). * * @@ -977,6 +1012,8 @@ export interface ProductVariant { /** * The [InventoryEntry](ctp:api:type:InventoryEntry) information of the Product Variant. If there is a supply [Channel](ctp:api:type:Channel) for the InventoryEntry, then `channels` is returned. If not, then `isOnStock`, `restockableInDays`, and `availableQuantity` are returned. * + * Only available for Projects with the [ProductCatalogModel](ctp:api:type:ProductCatalogModel) `Classic`. + * */ export interface ProductVariantAvailability { /** @@ -986,7 +1023,8 @@ export interface ProductVariantAvailability { */ readonly channels?: ProductVariantChannelAvailabilityMap /** - * Indicates whether a Product Variant is in stock. + * Whether the Product Variant is in stock, based on an [InventoryEntry](ctp:api:type:InventoryEntry) that has no assigned supply [Channel](ctp:api:type:Channel). + * This value reflects global or default availability; it does not aggregate the channel-specific availabilities found in the `channels` field. * * */ @@ -1049,7 +1087,7 @@ export interface ProductVariantChannelAvailability { readonly version: number } /** - * JSON object where the keys are supply [Channel](/projects/channels) `id`, and the values are [ProductVariantChannelAvailability](/projects/products#productvariantchannelavailability). + * JSON object where the keys are supply [Channel](/projects/channels) `id`, and the values are [ProductVariantChannelAvailability](ctp:api:type:ProductVariantChannelAvailability). * */ export interface ProductVariantChannelAvailabilityMap { @@ -1057,13 +1095,13 @@ export interface ProductVariantChannelAvailabilityMap { } export interface ProductVariantDraft { /** - * User-defined unique SKU of the Product Variant. + * User-defined SKU of the Product Variant. Must be unique across all ProductVariants in a Project. * * */ readonly sku?: string /** - * User-defined unique identifier for the ProductVariant. + * User-defined identifier for the ProductVariant. Must be unique among ProductVariants in the same Product. * * */ @@ -1164,13 +1202,13 @@ export interface TermFacetResult extends IFacetResult { */ readonly dataType: TermFacetResultType /** - * Number of [ProductVariants](ctp:api:type:ProductVariant) that have no value for the specified [term facet expression](/../api/projects/product-projection-search#term-facet-expression). + * Number of [ProductVariants](ctp:api:type:ProductVariant) that have no value for the specified [term facet expression](/api/projects/product-projection-search#term-facet-expression). * * */ readonly missing: number /** - * Number of terms matching the [term facet expression](/../api/projects/product-projection-search#term-facet-expression). + * Number of terms matching the [term facet expression](/api/projects/product-projection-search#term-facet-expression). * * - If the expression refers to Product fields like `categories.id` and `reviewRatingStatistics.count`, the value represents the number of Products. * - If the expression is defined for fields specific to Product Variants, for example, `variants.attributes.{name}`, the value represents the number of Product Variants matching the expression. @@ -1185,7 +1223,7 @@ export interface TermFacetResult extends IFacetResult { */ readonly other: number /** - * Values for the field specified in [term facet expression](/../api/projects/product-projection-search#term-facet-expression) for which at least one [ProductVariant](ctp:api:type:ProductVariant) could be found. + * Values for the field specified in [term facet expression](/api/projects/product-projection-search#term-facet-expression) for which at least one [ProductVariant](ctp:api:type:ProductVariant) could be found. * * By default, facet terms are returned in a descending order of their `count`. * @@ -1235,7 +1273,7 @@ export interface ProductAddAssetAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged `assets` are updated. If `false`, both the current and staged `assets` are updated. + * Whether only staged `assets` are updated. If `false`, both current and staged `assets` are updated. * * */ @@ -1278,7 +1316,7 @@ export interface ProductAddExternalImageAction extends IProductUpdateAction { */ readonly image: Image /** - * If `true`, only the staged `images` is updated. If `false`, both the current and staged `images` is updated. + * Whether only staged `images` are updated. If `false`, both current and staged `images` are updated. * * */ @@ -1310,7 +1348,7 @@ export interface ProductAddPriceAction extends IProductUpdateAction { */ readonly price: PriceDraft /** - * If `true`, only the staged `prices` is updated. If `false`, both the current and staged `prices` are updated. + * Whether only staged `prices` are updated. If `false`, both current and staged `prices` are updated. * * */ @@ -1334,7 +1372,7 @@ export interface ProductAddToCategoryAction extends IProductUpdateAction { */ readonly orderHint?: string /** - * If `true`, only the staged `categories` and `categoryOrderHints` are updated. If `false`, both the current and staged `categories` and `categoryOrderHints` are updated. + * Whether only staged `categories` and `categoryOrderHints` are updated. If `false`, both current and staged `categories` and `categoryOrderHints` are updated. * * */ @@ -1343,13 +1381,13 @@ export interface ProductAddToCategoryAction extends IProductUpdateAction { export interface ProductAddVariantAction extends IProductUpdateAction { readonly action: 'addVariant' /** - * Value to set. Must be unique. + * Value to set. Must be unique across all ProductVariants in a Project. * * */ readonly sku?: string /** - * Value to set. Must be unique. + * Value to set. Must be unique among ProductVariants in the same Product. * * */ @@ -1372,7 +1410,7 @@ export interface ProductAddVariantAction extends IProductUpdateAction { */ readonly attributes?: Attribute[] /** - * If `true` the new Product Variant is only staged. If `false` the new Product Variant is both current and staged. + * Whether the new Product Variant is only staged. If `false` the new Product Variant is both current and staged. * * */ @@ -1403,7 +1441,7 @@ export interface ProductChangeAssetNameAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset are updated. * * */ @@ -1446,7 +1484,7 @@ export interface ProductChangeAssetOrderAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged `assets` is updated. If `false`, both the current and staged `assets` are updated. + * Whether only staged `assets` are updated. If `false`, both current and staged `assets` are updated. * * */ @@ -1478,7 +1516,7 @@ export interface ProductChangeMasterVariantAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Master Variant is changed. If `false`, both the current and staged Master Variant are changed. + * Whether only the staged Master Variant is changed. If `false`, both the current and staged Master Variant are changed. * * */ @@ -1493,12 +1531,16 @@ export interface ProductChangeNameAction extends IProductUpdateAction { */ readonly name: LocalizedString /** - * If `true`, only the staged `name` is updated. If `false`, both the current and staged `name` are updated. + * Whether only the staged `name` is updated. If `false`, both the current and staged `name` are updated. * * */ readonly staged?: boolean } +/** + * This action produces the [ProductPriceChanged](ctp:api:type:ProductPriceChangedMessage) Message. + * + */ export interface ProductChangePriceAction extends IProductUpdateAction { readonly action: 'changePrice' /** @@ -1514,7 +1556,7 @@ export interface ProductChangePriceAction extends IProductUpdateAction { */ readonly price: PriceDraft /** - * If `true`, only the staged Embedded Price is updated. If `false`, both the current and staged Embedded Price are updated. + * Whether only the staged Embedded Price is updated. If `false`, both the current and staged Embedded Price are updated. * * */ @@ -1532,7 +1574,7 @@ export interface ProductChangeSlugAction extends IProductUpdateAction { */ readonly slug: LocalizedString /** - * If `true`, only the staged `slug` is updated. If `false`, both the current and staged `slug` are updated. + * Whether only the staged `slug` is updated. If `false`, both the current and staged `slug` are updated. * * */ @@ -1569,7 +1611,7 @@ export interface ProductMoveImageToPositionAction extends IProductUpdateAction { */ readonly position: number /** - * If `true`, only the staged `images` is updated. If `false`, both the current and staged `images` is updated. + * Whether only staged `images` are updated. If `false`, both current and staged `images` are updated. * * */ @@ -1577,7 +1619,7 @@ export interface ProductMoveImageToPositionAction extends IProductUpdateAction { } /** * Copies the product data from the Product's staged representation to its current representation and sets the `published` flag on the resulting [ProductCatalogData](ctp:api:type:ProductCatalogData) to `true`. - * This makes the current representation retrievable in [Product Projection](/projects/productProjections) endpoints and indexes it for [Product Search](/../api/projects/product-search). + * This makes the current representation retrievable in [Product Projection](/projects/productProjections) endpoints and indexes it for [Product Search](/api/projects/product-search). * * Produces the [ProductPublished](ctp:api:type:ProductPublishedMessage) Message. */ @@ -1609,7 +1651,7 @@ export interface ProductRemoveAssetAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is removed. If `false`, both the current and staged Asset is removed. + * Whether only the staged Asset is removed. If `false`, both the current and staged Asset is removed. * * */ @@ -1639,16 +1681,16 @@ export interface ProductRemoveFromCategoryAction extends IProductUpdateAction { */ readonly category: CategoryResourceIdentifier /** - * If `true`, only the staged `categories` and `categoryOrderHints` are removed. If `false`, both the current and staged `categories` and `categoryOrderHints` are removed. + * Whether only the staged `categories` and `categoryOrderHints` are removed. If `false`, both the current and staged `categories` and `categoryOrderHints` are removed. * * */ readonly staged?: boolean } /** - * Removes a Product image and deletes it from the Content Delivery Network (CDN) if it had been [uploaded to our CDN](/../api/projects/products#upload-product-image). + * Removes a Product image and deletes it from the Content Delivery Network (CDN) if it had been [uploaded to our CDN](/api/projects/products#upload-product-image). * External images will not be deleted. - * The API deletes the removed image from the CDN in an [eventual consistent](/../api/general-concepts#eventual-consistency) way. + * The API deletes the removed image from the CDN in an [eventual consistent](/api/general-concepts#eventual-consistency) way. * Either `variantId` or `sku` is required. * */ @@ -1673,7 +1715,7 @@ export interface ProductRemoveImageAction extends IProductUpdateAction { */ readonly imageUrl: string /** - * If `true`, only the staged image is removed. If `false`, both the current and staged image is removed. + * Whether only the staged image is removed. If `false`, both the current image and staged image are removed. * * */ @@ -1688,7 +1730,7 @@ export interface ProductRemovePriceAction extends IProductUpdateAction { */ readonly priceId: string /** - * If `true`, only the staged Embedded Price is removed. If `false`, both the current and staged Embedded Price are removed. + * Whether only the staged Embedded Price is removed. If `false`, both the current and staged Embedded Price are removed. * * */ @@ -1716,7 +1758,7 @@ export interface ProductRemoveVariantAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged ProductVariant is removed. If `false`, both the current and staged ProductVariant is removed. + * Whether only the staged ProductVariant is removed. If `false`, both the current and staged ProductVariant is removed. * * */ @@ -1761,7 +1803,7 @@ export interface ProductSetAssetCustomFieldAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1779,7 +1821,7 @@ export interface ProductSetAssetCustomFieldAction extends IProductUpdateAction { */ readonly assetKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -1812,7 +1854,7 @@ export interface ProductSetAssetCustomTypeAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1830,14 +1872,16 @@ export interface ProductSetAssetCustomTypeAction extends IProductUpdateAction { */ readonly assetKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the Asset with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Asset with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Asset. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Asset. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Asset. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -1862,7 +1906,7 @@ export interface ProductSetAssetDescriptionAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1905,7 +1949,7 @@ export interface ProductSetAssetKeyAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1942,7 +1986,7 @@ export interface ProductSetAssetSourcesAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false` both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -1985,7 +2029,7 @@ export interface ProductSetAssetTagsAction extends IProductUpdateAction { */ readonly sku?: string /** - * If `true`, only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. * * */ @@ -2049,7 +2093,7 @@ export interface ProductSetAttributeAction extends IProductUpdateAction { */ readonly value?: any /** - * If `true`, only the staged Attribute is set. If `false`, both the current and staged Attributes are set. + * Whether only the staged Attribute is set. If `false`, both the current and staged Attributes are set. * * */ @@ -2085,7 +2129,7 @@ export interface ProductSetAttributeInAllVariantsAction extends IProductUpdateAc */ readonly value?: any /** - * If `true`, only the staged Attributes are set. If `false`, both the current and staged Attributes are set. + * Whether only the staged Attributes are set. If `false`, both the current and staged Attributes are set. * * */ @@ -2106,7 +2150,26 @@ export interface ProductSetCategoryOrderHintAction extends IProductUpdateAction */ readonly orderHint?: string /** - * If `true`, only the staged `categoryOrderHints` is updated. If `false`, both the current and staged `categoryOrderHints` are updated. + * Whether only the staged `categoryOrderHints` is updated. If `false`, both the current and staged `categoryOrderHints` are updated. + * + * + */ + readonly staged?: boolean +} +/** + * Sets the [defaultVariant](/projects/products#product) of the Product. Only available for Projects with [productCatalogModel](/projects/project#productcatalogmodel) set to `Modular`. The Variant must belong to the Product. If `variant` is omitted, any existing default Variant is cleared. + * + */ +export interface ProductSetDefaultVariantAction extends IProductUpdateAction { + readonly action: 'setDefaultVariant' + /** + * The Variant to set as default. If empty, any existing value will be removed. + * + * + */ + readonly variant?: VariantResourceIdentifier + /** + * Whether only the staged `defaultVariant` is updated. If `false`, both the current and staged `defaultVariant` are updated. * * */ @@ -2121,7 +2184,7 @@ export interface ProductSetDescriptionAction extends IProductUpdateAction { */ readonly description?: LocalizedString /** - * If `true`, only the staged `description` is updated. If `false`, both the current and staged `description` are updated. + * Whether only the staged `description` is updated. If `false`, both the current and staged `description` are updated. * * */ @@ -2140,7 +2203,7 @@ export interface ProductSetDiscountedPriceAction extends IProductUpdateAction { */ readonly priceId: string /** - * If `true`, only the staged Embedded Price is updated. If `false`, both the current and staged Embedded Price are updated. + * Whether only the staged Embedded Price is updated. If `false`, both the current and staged Embedded Price are updated. * * */ @@ -2184,7 +2247,7 @@ export interface ProductSetImageLabelAction extends IProductUpdateAction { */ readonly label?: string /** - * If `true`, only the staged image is updated. If `false`, both the current and staged image is updated. + * Whether only the staged image is updated. If `false`, both the current and staged image is updated. * * */ @@ -2195,7 +2258,7 @@ export interface ProductSetKeyAction extends IProductUpdateAction { /** * Value to set. If empty, any existing value will be removed. * - * To update a Product using the [Import API](/../api/import-export/overview) and the [Merchant Center](/../merchant-center/import-data), the Product `key` must match the pattern `^[A-Za-z0-9_-]{2,256}$`. + * To update a Product using the [Import API](/api/import-export/overview) and the [Merchant Center](/merchant-center/import-data), the Product `key` must match the pattern `^[A-Za-z0-9_-]{2,256}$`. * * */ @@ -2210,7 +2273,7 @@ export interface ProductSetMetaDescriptionAction extends IProductUpdateAction { */ readonly metaDescription?: LocalizedString /** - * If `true`, only the staged `metaDescription` is updated. If `false`, both the current and staged `metaDescription` are updated. + * Whether only the staged `metaDescription` is updated. If `false`, both the current and staged `metaDescription` are updated. * * */ @@ -2225,7 +2288,7 @@ export interface ProductSetMetaKeywordsAction extends IProductUpdateAction { */ readonly metaKeywords?: LocalizedString /** - * If `true`, only the staged `metaKeywords` is updated. If `false`, both the current and staged `metaKeywords` are updated. + * Whether only the staged `metaKeywords` is updated. If `false`, both the current and staged `metaKeywords` are updated. * * */ @@ -2240,7 +2303,7 @@ export interface ProductSetMetaTitleAction extends IProductUpdateAction { */ readonly metaTitle?: LocalizedString /** - * If `true`, only the staged `metaTitle` is updated. If `false`, both the current and staged `metaTitle` are updated. + * Whether only the staged `metaTitle` is updated. If `false`, both the current and staged `metaTitle` are updated. * * */ @@ -2259,7 +2322,7 @@ export interface ProductSetPriceKeyAction extends IProductUpdateAction { */ readonly priceId: string /** - * If `true`, only the staged [Embedded Price](ctp:api:type:Price) is updated. If `false`, both the current and staged Embedded Price are updated. + * Whether only the staged [Embedded Price](ctp:api:type:Price) is updated. If `false`, both the current and staged Embedded Price are updated. * * */ @@ -2310,7 +2373,7 @@ export interface ProductSetPricesAction extends IProductUpdateAction { */ readonly prices: PriceDraft[] /** - * If `true`, only the staged ProductVariant is updated. If `false`, both the current and staged ProductVariant are updated. + * Whether only the staged ProductVariant is updated. If `false`, both the current and staged ProductVariant are updated. * * */ @@ -2340,7 +2403,7 @@ export interface ProductSetProductAttributeAction extends IProductUpdateAction { */ readonly value?: any /** - * If `true`, only the staged Attribute is set. If `false`, both the current and staged Attributes are set. + * Whether only the staged Attribute is set. If `false`, both the current and staged Attributes are set. * * */ @@ -2355,13 +2418,13 @@ export interface ProductSetProductPriceCustomFieldAction extends IProductUpdateA */ readonly priceId: string /** - * If `true`, only the staged Embedded Price Custom Field is updated. If `false`, both the current and staged Embedded Price Custom Field are updated. + * Whether only the staged Embedded Price Custom Field is updated. If `false`, both the current and staged Embedded Price Custom Field are updated. * * */ readonly staged?: boolean /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -2384,20 +2447,22 @@ export interface ProductSetProductPriceCustomTypeAction extends IProductUpdateAc */ readonly priceId: string /** - * If `true`, only the staged Embedded Price is updated. If `false`, both the current and staged Embedded Price is updated. + * Whether only the staged Embedded Price is updated. If `false`, both the current and staged Embedded Price is updated. * * */ readonly staged?: boolean /** - * Defines the [Type](ctp:api:type:Type) that extends the Price with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Price with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Embedded Price. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Embedded Price. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Embedded Price. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -2422,13 +2487,13 @@ export interface ProductSetProductVariantKeyAction extends IProductUpdateAction */ readonly sku?: string /** - * Value to set. Must be unique. If empty, any existing value will be removed. + * Value to set. Must be unique among ProductVariants in the same Product. If empty, any existing value will be removed. * * */ readonly key?: string /** - * If `true`, only the staged `key` is set. If `false`, both the current and staged `key` are set. + * Whether only the staged `key` is set. If `false`, both the current and staged `key` are set. * * */ @@ -2443,7 +2508,7 @@ export interface ProductSetSearchKeywordsAction extends IProductUpdateAction { */ readonly searchKeywords: SearchKeywords /** - * If `true`, only the staged `searchKeywords` is updated. If `false`, both the current and staged `searchKeywords` are updated. + * Whether only the staged `searchKeywords` is updated. If `false`, both the current and staged `searchKeywords` are updated. * * */ @@ -2464,13 +2529,13 @@ export interface ProductSetSkuAction extends IProductUpdateAction { */ readonly variantId: number /** - * Value to set. Must be unique. If empty, any existing value will be removed. + * Value to set. Must be unique across all ProductVariants in a Project. If empty, any existing value will be removed. * * */ readonly sku?: string /** - * If `true`, only the staged `sku` is updated. If `false`, both the current and staged `sku` are updated. + * Whether only the staged `sku` is updated. If `false`, both the current and staged `sku` are updated. * * */ @@ -2502,7 +2567,7 @@ export interface ProductTransitionStateAction extends IProductUpdateAction { */ readonly state?: StateResourceIdentifier /** - * If `true`, validations are disabled. + * Whether validations are disabled. * * */ @@ -2510,7 +2575,7 @@ export interface ProductTransitionStateAction extends IProductUpdateAction { } /** * Sets the `published` flag on the [ProductCatalogData](ctp:api:type:ProductCatalogData) to `false`. - * This makes the [current](/../api/projects/productProjections#current--staged) representation of a Product unavailable in [Product Projection](/projects/productProjections) endpoints by default, and excludes it from [Product Search](/../api/projects/product-search). + * This makes the [current](/api/projects/productProjections#current--staged) representation of a Product unavailable in [Product Projection](/projects/productProjections) endpoints by default, and excludes it from [Product Search](/api/projects/product-search). * To retrieve unpublished Products on Product Projection endpoints, set parameter `staged=true`. * * Produces the [ProductUnpublished](ctp:api:type:ProductUnpublishedMessage) Message. diff --git a/src/lib/types/models/project.ts b/src/lib/types/models/project.ts index feda42e5bc..99db0861c2 100644 --- a/src/lib/types/models/project.ts +++ b/src/lib/types/models/project.ts @@ -49,7 +49,7 @@ export interface BusinessUnitConfiguration { readonly myBusinessUnitAssociateRoleOnCreation?: AssociateRoleKeyReference } /** - * Default value for [Business Unit Status](ctp:api:type:BusinessUnitStatus) configured though [Project settings](/../api/projects/project#change-my-business-unit-status-on-creation). + * Default value for [Business Unit Status](ctp:api:type:BusinessUnitStatus) configured though [Project settings](/api/projects/project#change-my-business-unit-status-on-creation). */ export enum BusinessUnitConfigurationStatusValues { Active = 'Active', @@ -58,7 +58,7 @@ export enum BusinessUnitConfigurationStatusValues { export type BusinessUnitConfigurationStatus = 'Active' | 'Inactive' | (string & {}) /** - * Specifies the status of the [Business Unit Search](/../api/projects/business-unit-search) index. + * Specifies the status of the [Business Unit Search](/api/projects/business-unit-search) index. * You can change the status using the [Change Business Unit Search Status](ctp:api:type:ProjectChangeBusinessUnitSearchStatusAction) update action. * */ @@ -101,7 +101,7 @@ export interface CartsConfiguration { readonly taxRoundingMode?: RoundingMode } /** - * Specifies the status of the [Customer Search](/../api/projects/customer-search) index. + * Specifies the status of the [Customer Search](/api/projects/customer-search) index. * You can change the status using the [Change Customer Search Status](ctp:api:type:ProjectChangeCustomerSearchStatusAction) update action. * */ @@ -134,9 +134,13 @@ export interface DiscountsConfiguration { readonly discountCombinationMode: DiscountCombinationMode } /** - * Represents a RFC 7662 compliant [OAuth 2.0 Token Introspection](https://datatracker.ietf.org/doc/html/rfc7662) endpoint. For more information, see [Requesting an access token using an external OAuth 2.0 server](/../api/authorization#request-an-access-token-using-an-external-oauth-server). + * Represents an RFC 7662-compliant [OAuth 2.0 Token Introspection](https://datatracker.ietf.org/doc/html/rfc7662) endpoint. + * For more information, see [Requesting an access token using an external OAuth 2.0 server](/api/authorization#request-an-access-token-using-an-external-oauth-server). * - * You can only configure **one** external OAuth 2.0 endpoint per Project. To authenticate using multiple external services (such as social network logins), use a middle layer authentication service. + * You can only configure **one** external OAuth 2.0 endpoint per Project. + * To authenticate using multiple external services (such as social network logins), use a middle layer authentication service that delegates to those services and exposes a single RFC 7662-compliant OAuth 2.0 Token Introspection endpoint to the commercetools APIs. + * This middle layer is a custom service that you build and host. + * It receives the token introspection request from the APIs, routes the token validation to the appropriate external service, and returns the introspection response in the expected format. * */ export interface ExternalOAuth { @@ -153,7 +157,26 @@ export interface ExternalOAuth { readonly authorizationHeader: string } /** - * Specifies the status of the [Order Search](/../api/projects/order-search) index. + * Inventory configuration settings for a Project. + * + */ +export interface InventoryConfiguration { + /** + * The number of minutes after which a [Reservation](ctp:api:type:Reservation) expires. To use the [ReserveOnCart](ctp:api:type:InventoryMode) inventory mode, this field must be set. + * + * + */ + readonly reservationExpirationInMinutes?: number + /** + * Whether [Reservations](ctp:api:type:Reservation) are marked as `Expired` once their + * `reservationExpirationInMinutes` is reached. The reserved inventory is then made available. If set to `false`, tracking Line Items with expired reservations becomes your responsibility. + * + * + */ + readonly releaseExpiredReservations: boolean +} +/** + * Specifies the status of the [Order Search](/api/projects/order-search) index. */ export enum OrderSearchStatusValues { Activated = 'Activated', @@ -161,6 +184,16 @@ export enum OrderSearchStatusValues { } export type OrderSearchStatus = 'Activated' | 'Deactivated' | (string & {}) +/** + * Determines how Product Variants are managed in the Project. + * + */ +export enum ProductCatalogModelValues { + Classic = 'Classic', + Modular = 'Modular', +} + +export type ProductCatalogModel = 'Classic' | 'Modular' | (string & {}) export enum ProductSearchIndexingModeValues { ProductProjectionsSearch = 'ProductProjectionsSearch', ProductsSearch = 'ProductsSearch', @@ -217,19 +250,19 @@ export interface Project { */ readonly trialUntil?: string /** - * Holds the configuration for the [Messages Query](/../api/projects/messages) feature. + * Holds the configuration for the [Messages Query](/api/projects/messages) feature. * * */ readonly messages: MessagesConfiguration /** - * Holds the configuration for the [Carts](/../api/projects/carts) feature. + * Holds the configuration for the [Carts](/api/projects/carts) feature. * * */ readonly carts: CartsConfiguration /** - * Holds the configuration for the [Shopping Lists](/../api/projects/shoppingLists) feature. + * Holds the configuration for the [Shopping Lists](/api/projects/shoppingLists) feature. * * */ @@ -258,12 +291,25 @@ export interface Project { * */ readonly businessUnits?: BusinessUnitConfiguration + /** + * Holds configuration specific to inventory. + * + * + */ + readonly inventory: InventoryConfiguration /** * Holds configuration specific to discounts, including how Product and Cart Discounts are combined in every Cart of the Project. * * */ readonly discounts: DiscountsConfiguration + /** + * Determines how Product Variants are managed in the Project. + * If not set, defaults to `Classic` behavior. + * + * + */ + readonly productCatalogModel?: ProductCatalogModel } export interface ProjectUpdate { /** @@ -299,6 +345,9 @@ export type ProjectUpdateAction = | ProjectSetBusinessUnitAssociateRoleOnCreationAction | ProjectSetDiscountsConfigurationAction | ProjectSetExternalOAuthAction + | ProjectSetProductCatalogModelAction + | ProjectSetReleaseExpiredReservationsAction + | ProjectSetReservationExpirationInMinutesAction | ProjectSetShippingRateInputTypeAction export interface IProjectUpdateAction { /** @@ -312,27 +361,27 @@ export interface IProjectUpdateAction { */ export interface SearchIndexingConfiguration { /** - * Configuration for the [Product Projection Search](/../api/projects/product-projection-search) and [Search Term Suggestions](/../api/projects/search-term-suggestions) APIs. + * Configuration for the [Product Projection Search](/api/projects/product-projection-search) and [Search Term Suggestions](/api/projects/search-term-suggestions) APIs. * */ readonly products?: SearchIndexingConfigurationValues /** - * Configuration for the [Product Search](/../api/projects/product-search) feature. + * Configuration for the [Product Search](/api/projects/product-search) feature. * */ readonly productsSearch?: SearchIndexingConfigurationValues /** - * Configuration for the [Order Search](/../api/projects/order-search) feature. + * Configuration for the [Order Search](/api/projects/order-search) feature. * */ readonly orders?: SearchIndexingConfigurationValues /** - * Configuration for the [Customer Search](/../api/projects/customer-search) feature. + * Configuration for the [Customer Search](/api/projects/customer-search) feature. * */ readonly customers?: SearchIndexingConfigurationValues /** - * Configuration for the [Business Unit Search](/../api/projects/business-unit-search) feature. + * Configuration for the [Business Unit Search](/api/projects/business-unit-search) feature. * */ readonly businessUnits?: SearchIndexingConfigurationValues @@ -431,7 +480,7 @@ export interface ProjectChangeBusinessUnitStatusOnCreationAction extends IProjec export interface ProjectChangeCartsConfigurationAction extends IProjectUpdateAction { readonly action: 'changeCartsConfiguration' /** - * Configuration for the [Carts](/../api/projects/carts) feature. + * Configuration for the [Carts](/api/projects/carts) feature. * * */ @@ -466,7 +515,7 @@ export interface ProjectChangeCurrenciesAction extends IProjectUpdateAction { export interface ProjectChangeCustomerSearchStatusAction extends IProjectUpdateAction { readonly action: 'changeCustomerSearchStatus' /** - * Activates or deactivates the [Customer Search](/../api/projects/customer-search) feature. Activation will trigger building a search index for the Customers in the Project. + * Activates or deactivates the [Customer Search](/api/projects/customer-search) feature. Activation will trigger building a search index for the Customers in the Project. * */ readonly status: CustomerSearchStatus @@ -487,7 +536,7 @@ export interface ProjectChangeLanguagesAction extends IProjectUpdateAction { export interface ProjectChangeMessagesConfigurationAction extends IProjectUpdateAction { readonly action: 'changeMessagesConfiguration' /** - * Configuration for the [Messages Query](/../api/projects/messages) feature. + * Configuration for the [Messages Query](/api/projects/messages) feature. * */ readonly messagesConfiguration: MessagesConfigurationDraft @@ -504,7 +553,7 @@ export interface ProjectChangeNameAction extends IProjectUpdateAction { export interface ProjectChangeOrderSearchStatusAction extends IProjectUpdateAction { readonly action: 'changeOrderSearchStatus' /** - * Activates or deactivates the [Order Search](/../api/projects/order-search) feature. Activation will trigger building a search index for the Orders in the Project. + * Activates or deactivates the [Order Search](/api/projects/order-search) feature. Activation will trigger building a search index for the Orders in the Project. * */ readonly status: OrderSearchStatus @@ -520,14 +569,14 @@ export interface ProjectChangePriceRoundingModeAction extends IProjectUpdateActi export interface ProjectChangeProductSearchIndexingEnabledAction extends IProjectUpdateAction { readonly action: 'changeProductSearchIndexingEnabled' /** - * - If `false`, the indexing of [Product](ctp:api:type:Product) information will stop and the [Product Projection Search](/../api/projects/product-projection-search) as well as the [Search Term Suggestions](/../api/projects/search-term-suggestions) API will no longer be available for this Project. The Project's [SearchIndexingConfiguration](ctp:api:type:SearchIndexingConfiguration) `status` for `products` will be changed to `"Deactivated"`. - * - If `true`, the indexing of [Product](ctp:api:type:Product) information will start and the [Product Projection Search](/../api/projects/product-projection-search) as well as the [Search Term Suggestions](/../api/projects/search-term-suggestions) API will become available soon after for this Project. Proportional to the amount of information being indexed, the Project's [SearchIndexingConfiguration](ctp:api:type:SearchIndexingConfiguration) `status` for `products` will be shown as `"Indexing"` during this time. As soon as the indexing has finished, the configuration status will be changed to `"Activated"` making the aforementioned APIs fully available for this Project. + * - If `false`, the indexing of [Product](ctp:api:type:Product) information will stop and the [Product Projection Search](/api/projects/product-projection-search) as well as the [Search Term Suggestions](/api/projects/search-term-suggestions) API will no longer be available for this Project. The Project's [SearchIndexingConfiguration](ctp:api:type:SearchIndexingConfiguration) `status` for `products` will be changed to `"Deactivated"`. + * - If `true`, the indexing of [Product](ctp:api:type:Product) information will start and the [Product Projection Search](/api/projects/product-projection-search) as well as the [Search Term Suggestions](/api/projects/search-term-suggestions) API will become available soon after for this Project. Proportional to the amount of information being indexed, the Project's [SearchIndexingConfiguration](ctp:api:type:SearchIndexingConfiguration) `status` for `products` will be shown as `"Indexing"` during this time. As soon as the indexing has finished, the configuration status will be changed to `"Activated"` making the aforementioned APIs fully available for this Project. * * */ readonly enabled: boolean /** - * Controls whether the action should apply to [Product Projection Search](/../api/projects/product-projection-search) or to [Product Search](/../api/projects/product-search). + * Controls whether the action should apply to [Product Projection Search](/api/projects/product-projection-search) or to [Product Search](/api/projects/product-search). * * */ @@ -536,7 +585,7 @@ export interface ProjectChangeProductSearchIndexingEnabledAction extends IProjec export interface ProjectChangeShoppingListsConfigurationAction extends IProjectUpdateAction { readonly action: 'changeShoppingListsConfiguration' /** - * Configuration for the [Shopping Lists](/../api/projects/shoppingLists) feature. + * Configuration for the [Shopping Lists](/api/projects/shoppingLists) feature. * * */ @@ -577,6 +626,53 @@ export interface ProjectSetExternalOAuthAction extends IProjectUpdateAction { */ readonly externalOAuth?: ExternalOAuth } +export interface ProjectSetProductCatalogModelAction extends IProjectUpdateAction { + readonly action: 'setProductCatalogModel' + /** + * Configuration for the Product catalog model in the Project. + * + * When set to `Classic`, Product Variants are embedded in the Product. + * + * When set to `Modular`, Product Variants are managed as standalone entities. + * In this mode: + * - Variant-related update actions on Products return a `400` error. + * - Products must be created without `masterVariant` and `variants`. + * - Products cannot be deleted while Variants reference them. + * - Products cannot be unpublished while they have published Variants. + * - [Carts](/projects/carts) read variant data from the Variant API instead of embedded Product Variants. + * - `priceMode` on Products is set to `Standalone`. + * + * + */ + readonly productCatalogModel: ProductCatalogModel +} +/** + * If set to `true`, [Reservations](ctp:api:type:Reservation) are marked as `Expired` once their + * `reservationExpirationInMinutes` is reached. The reserved inventory is then made available. If set to `false`, tracking Line Items with expired reservations becomes your responsibility. + * + */ +export interface ProjectSetReleaseExpiredReservationsAction extends IProjectUpdateAction { + readonly action: 'setReleaseExpiredReservations' + /** + * Value to set. + * + */ + readonly releaseExpiredReservations: boolean +} +/** + * To use the [ReserveOnCart](ctp:api:type:InventoryMode) Line Item inventory mode, you must set the `reservationExpirationInMinutes` field on the [Project](ctp:api:type:Project) using this update action. + * + * To override the Project setting, use the [Set Reservation Expiration In Minutes](ctp:api:type:InventoryEntrySetReservationExpirationInMinutesAction) update action on specific [InventoryEntries](ctp:api:type:InventoryEntry). + * + */ +export interface ProjectSetReservationExpirationInMinutesAction extends IProjectUpdateAction { + readonly action: 'setReservationExpirationInMinutes' + /** + * Value to set. + * + */ + readonly reservationExpirationInMinutes: number +} export interface ProjectSetShippingRateInputTypeAction extends IProjectUpdateAction { readonly action: 'setShippingRateInputType' /** diff --git a/src/lib/types/models/quote-request.ts b/src/lib/types/models/quote-request.ts index 31b04634df..758bbc276e 100644 --- a/src/lib/types/models/quote-request.ts +++ b/src/lib/types/models/quote-request.ts @@ -16,8 +16,8 @@ import { ShippingInfo, ShippingRateInput, TaxCalculationMode, - TaxedPrice, TaxMode, + TaxedPrice, } from './cart.js' import { Address, @@ -91,7 +91,7 @@ export interface QuoteRequest extends BaseResource { */ readonly comment?: string /** - * The [Buyer](/../api/quotes-overview#buyer) who owns the request. + * The [Buyer](/api/quotes-overview#buyer) who owns the request. * * */ @@ -104,7 +104,7 @@ export interface QuoteRequest extends BaseResource { */ readonly customerGroup?: CustomerGroupReference /** - * The Store to which the [Buyer](/../api/quotes-overview#buyer) belongs. + * The Store to which the [Buyer](/api/quotes-overview#buyer) belongs. * * */ @@ -244,7 +244,7 @@ export interface QuoteRequest extends BaseResource { */ readonly cart?: CartReference /** - * The [BusinessUnit](ctp:api:type:BusinessUnit) for the Quote Request. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * The [BusinessUnit](ctp:api:type:BusinessUnit) for the Quote Request. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -300,18 +300,18 @@ export interface QuoteRequestDraft { readonly purchaseOrderNumber?: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [QuoteRequest](ctp:api:type:QuoteRequest). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [QuoteRequest](ctp:api:type:QuoteRequest). * */ export interface QuoteRequestPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -324,10 +324,10 @@ export interface QuoteRequestPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -353,7 +353,7 @@ export interface QuoteRequestReference extends IReference { readonly id: string /** * Contains the representation of the expanded QuoteRequest. - * Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for QuoteRequest. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for QuoteRequest. * * */ @@ -448,7 +448,7 @@ export interface QuoteRequestChangeQuoteRequestStateAction extends IQuoteRequest export interface QuoteRequestSetCustomFieldAction extends IQuoteRequestUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -465,14 +465,16 @@ export interface QuoteRequestSetCustomFieldAction extends IQuoteRequestUpdateAct export interface QuoteRequestSetCustomTypeAction extends IQuoteRequestUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the QuoteRequest with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the QuoteRequest with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the QuoteRequest. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the QuoteRequest. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the QuoteRequest. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/quote.ts b/src/lib/types/models/quote.ts index 5d6e112a92..52c5c00591 100644 --- a/src/lib/types/models/quote.ts +++ b/src/lib/types/models/quote.ts @@ -14,8 +14,8 @@ import { ShippingInfo, ShippingRateInput, TaxCalculationMode, - TaxedPrice, TaxMode, + TaxedPrice, } from './cart.js' import { Address, @@ -91,7 +91,7 @@ export interface Quote extends BaseResource { */ readonly stagedQuote: StagedQuoteReference /** - * The [Buyer](/../api/quotes-overview#buyer) who owns the Quote. + * The [Buyer](/api/quotes-overview#buyer) who owns the Quote. * * */ @@ -111,19 +111,19 @@ export interface Quote extends BaseResource { */ readonly validTo?: string /** - * Message from the [Seller](/../api/quotes-overview#seller) included in the offer. + * Message from the [Seller](/api/quotes-overview#seller) included in the offer. * * */ readonly sellerComment?: string /** - * Message from the [Buyer](/../api/quotes-overview#buyer) included in the [renegotiation request](ctp:api:type:QuoteRequestQuoteRenegotiationAction). + * Message from the [Buyer](/api/quotes-overview#buyer) included in the [renegotiation request](ctp:api:type:QuoteRequestQuoteRenegotiationAction). * * */ readonly buyerComment?: string /** - * The Store to which the [Buyer](/../api/quotes-overview#buyer) belongs. + * The Store to which the [Buyer](/api/quotes-overview#buyer) belongs. * * */ @@ -256,13 +256,13 @@ export interface Quote extends BaseResource { readonly state?: StateReference /** * The purchase order number is typically set by the [Buyer](/quotes-overview#buyer) on a [QuoteRequest](ctp:api:type:QuoteRequest) to - * track the purchase order during the [quote and order flow](/../api/quotes-overview#intended-workflow). + * track the purchase order during the [quote and order flow](/api/quotes-overview#intended-workflow). * * */ readonly purchaseOrderNumber?: string /** - * The [BusinessUnit](ctp:api:type:BusinessUnit) for the Quote. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * The [BusinessUnit](ctp:api:type:BusinessUnit) for the Quote. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -287,7 +287,7 @@ export interface QuoteDraft { */ readonly stagedQuoteVersion: number /** - * If `true`, the `stagedQuoteState` of the referenced [StagedQuote](/../api/projects/staged-quotes#stagedquote) will be set to `Sent`. + * Whether the `stagedQuoteState` of the referenced [StagedQuote](ctp:api:type:StagedQuote) will be set to `Sent`. * * */ @@ -300,28 +300,28 @@ export interface QuoteDraft { */ readonly state?: StateReference /** - * [Custom Fields](/../api/projects/custom-fields) to be added to the Quote. + * [Custom Fields](ctp:api:type:CustomFields) to be added to the Quote. * - * - If specified, the Custom Fields are merged with the Custom Fields on the referenced [StagedQuote](/../api/projects/staged-quotes#stagedquote) and added to the Quote. - * - If empty, the Custom Fields on the referenced [StagedQuote](/../api/projects/staged-quotes#stagedquote) are added to the Quote automatically. + * - If specified, the Custom Fields are merged with the Custom Fields on the referenced [StagedQuote](ctp:api:type:StagedQuote) and added to the Quote. + * - If empty, the Custom Fields on the referenced [StagedQuote](ctp:api:type:StagedQuote) are added to the Quote automatically. * * */ readonly custom?: CustomFieldsDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [Quote](ctp:api:type:Quote). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [Quote](ctp:api:type:Quote). * */ export interface QuotePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -334,10 +334,10 @@ export interface QuotePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -363,7 +363,7 @@ export interface QuoteReference extends IReference { readonly id: string /** * Contains the representation of the expanded Quote. - * Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Quote. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Quote. * * */ @@ -475,7 +475,7 @@ export interface QuoteRequestQuoteRenegotiationAction extends IQuoteUpdateAction export interface QuoteSetCustomFieldAction extends IQuoteUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -492,14 +492,16 @@ export interface QuoteSetCustomFieldAction extends IQuoteUpdateAction { export interface QuoteSetCustomTypeAction extends IQuoteUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Quote with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Quote with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Quote. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Quote. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Quote. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/recurrence-policy.ts b/src/lib/types/models/recurrence-policy.ts index b80ee067a7..1b8cb97aca 100644 --- a/src/lib/types/models/recurrence-policy.ts +++ b/src/lib/types/models/recurrence-policy.ts @@ -106,18 +106,18 @@ export interface RecurrencePolicyDraft { readonly schedule: RecurrencePolicyScheduleDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [RecurrencePolicy](ctp:api:type:RecurrencePolicy). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [RecurrencePolicy](ctp:api:type:RecurrencePolicy). * */ export interface RecurrencePolicyPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -130,10 +130,10 @@ export interface RecurrencePolicyPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -159,14 +159,14 @@ export interface RecurrencePolicyReference extends IReference { readonly id: string /** * Contains the representation of the expanded RecurrencePolicy. - * Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for RecurrencePolicies. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for RecurrencePolicies. * * */ readonly obj?: RecurrencePolicy } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [RecurrencePolicy](ctp:api:type:RecurrencePolicy). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [RecurrencePolicy](ctp:api:type:RecurrencePolicy). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface RecurrencePolicyResourceIdentifier extends IResourceIdentifier { diff --git a/src/lib/types/models/recurring-order.ts b/src/lib/types/models/recurring-order.ts index c2d0c429bc..359d78bc0a 100644 --- a/src/lib/types/models/recurring-order.ts +++ b/src/lib/types/models/recurring-order.ts @@ -116,8 +116,8 @@ export interface RecurringOrder extends BaseResource { readonly cart: CartReference /** * [Reference](ctp:api:type:Reference) to the original [Order](ctp:api:type:Order) that generated this RecurringOrder. - * This field is automatically populated when the RecurringOrder is created via the [Create Order from Cart](/../api/projects/orders#create-order-from-cart) endpoint and the Cart contains Line Items with defined `recurrenceInfo`. - * When the RecurringOrder is created directly via the [Create RecurringOrder](/../api/projects/recurring-orders#create-recurringorder) endpoint, this field remains empty. + * This field is automatically populated when the RecurringOrder is created via the [Create Order from Cart](/api/projects/orders#create-order-from-cart) endpoint and the Cart contains Line Items with defined `recurrenceInfo`. + * When the RecurringOrder is created directly via the [Create RecurringOrder](/api/projects/recurring-orders#create-recurringorder) endpoint, this field remains empty. * * */ @@ -280,18 +280,18 @@ export interface RecurringOrderDraft { readonly custom?: CustomFieldsDraft } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [RecurringOrder](ctp:api:type:RecurringOrder). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [RecurringOrder](ctp:api:type:RecurringOrder). * */ export interface RecurringOrderPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -304,10 +304,10 @@ export interface RecurringOrderPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -333,14 +333,14 @@ export interface RecurringOrderReference extends IReference { readonly id: string /** * Contains the representation of the expanded RecurringOrder. - * Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for RecurringOrders. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for RecurringOrders. * * */ readonly obj?: RecurringOrder } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [RecurringOrder](ctp:api:type:RecurringOrder). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [RecurringOrder](ctp:api:type:RecurringOrder). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface RecurringOrderResourceIdentifier extends IResourceIdentifier { @@ -376,10 +376,7 @@ export type RecurringOrderState = 'Active' | 'Canceled' | 'Expired' | 'Failed' | * */ export type RecurringOrderStateDraft = - | RecurringOrderActive - | RecurringOrderCanceled - | RecurringOrderExpired - | RecurringOrderPaused + RecurringOrderActive | RecurringOrderCanceled | RecurringOrderExpired | RecurringOrderPaused export interface IRecurringOrderStateDraft { /** * @@ -560,10 +557,7 @@ export interface NonRecurringOrdersOnly extends IRecurringOrderScope { * */ export type RecurringOrderScopeDraft = - | AnyOrderDraft - | ApplicableRecurrencePoliciesDraft - | NonRecurringOrdersOnlyDraft - | RecurringOrdersOnlyDraft + AnyOrderDraft | ApplicableRecurrencePoliciesDraft | NonRecurringOrdersOnlyDraft | RecurringOrdersOnlyDraft export interface IRecurringOrderScopeDraft { /** * @@ -622,7 +616,7 @@ export interface RecurringOrdersOnlyDraft extends IRecurringOrderScopeDraft { export interface RecurringOrderSetCustomFieldAction extends IRecurringOrderUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -643,14 +637,16 @@ export interface RecurringOrderSetCustomFieldAction extends IRecurringOrderUpdat export interface RecurringOrderSetCustomTypeAction extends IRecurringOrderUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the RecurringOrder with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the RecurringOrder with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the RecurringOrder. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the RecurringOrder. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the RecurringOrder. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -756,7 +752,7 @@ export interface RecurringOrderTransitionStateAction extends IRecurringOrderUpda */ readonly state: StateResourceIdentifier /** - * Set to `true` to turn off validation. + * Whether to turn off validation. * * */ diff --git a/src/lib/types/models/reservation.ts b/src/lib/types/models/reservation.ts new file mode 100644 index 0000000000..07713d29ac --- /dev/null +++ b/src/lib/types/models/reservation.ts @@ -0,0 +1,121 @@ +/** + * Code generated by [commercetools RMF-Codegen](https://github.com/commercetools/rmf-codegen). DO NOT EDIT. + * Please don't change this file manually but run `rmf-codegen generate raml_file_path -o output_path -t typescript_client` to update it. + * For more information about the commercetools platform APIs, visit https://docs.commercetools.com/. + */ + +import { BaseResource, CreatedBy, IReference, LastModifiedBy, Reference } from './common.js' +import { InventoryEntryReference } from './inventory.js' + +/** + * [Reference](ctp:api:type:Reference) to a [Reservation](ctp:api:type:Reservation). + * + */ +export interface ReservationReference extends IReference { + readonly typeId: 'reservation' + /** + * Unique identifier of the referenced [Reservation](ctp:api:type:Reservation). + * + * + */ + readonly id: string + /** + * Contains the representation of the expanded Reservation. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Reservations. + * + * + */ + readonly obj?: Reservation +} +/** + * A Reservation represents a quantity of inventory that is reserved. + * + */ +export interface Reservation extends BaseResource { + /** + * Unique identifier of the Reservation. + * + * + */ + readonly id: string + /** + * Current version of the Reservation. + * + * + */ + readonly version: number + /** + * Date and time (UTC) the Reservation was initially created. + * + * + */ + readonly createdAt: string + /** + * Date and time (UTC) the Reservation was last updated. + * + * + */ + readonly lastModifiedAt: string + /** + * Date and time (UTC) the Reservation will no longer be valid. It can take a few minutes after expiry + * for the `state` to be updated to `Expired` and the stock to be released. + * + * + */ + readonly expiresAt: string + /** + * IDs and references that last modified the Reservation. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Reservation. + * + * + */ + readonly createdBy?: CreatedBy + /** + * Reference to the related [InventoryEntry](ctp:api:type:InventoryEntry) used to manage the inventory. + * + * + */ + readonly inventoryEntry: InventoryEntryReference + /** + * The quantity of inventory that is reserved. + * + * + */ + readonly quantity: number + /** + * Reference to the owner of the Reservation. + * + * + */ + readonly owner: Reference + /** + * Unique identifier of the LineItem this Reservation is associated with. + * + * + */ + readonly lineItemId: string + /** + * Current state of the Reservation. + * + * + */ + readonly state: ReservationState +} +/** + * Status of the [Reservation](ctp:api:type:Reservation). + * + */ +export enum ReservationStateValues { + Committed = 'Committed', + Created = 'Created', + Expired = 'Expired', + Released = 'Released', + Updated = 'Updated', +} + +export type ReservationState = 'Committed' | 'Created' | 'Expired' | 'Released' | 'Updated' | (string & {}) diff --git a/src/lib/types/models/review.ts b/src/lib/types/models/review.ts index 35d9e937e8..9b015915fa 100644 --- a/src/lib/types/models/review.ts +++ b/src/lib/types/models/review.ts @@ -100,7 +100,7 @@ export interface Review extends BaseResource { */ readonly rating?: number /** - * State of the Review. Used for approval processes, see [Review approval process](/../tutorials/review-ratings#review-approval-process) for details. + * State of the Review. Used for approval processes, see [Review approval process](/tutorials/review-ratings#review-approval-process) for details. * * */ @@ -164,7 +164,7 @@ export interface ReviewDraft { */ readonly target?: ProductResourceIdentifier | ChannelResourceIdentifier /** - * State of the Review. Used for approval processes, see [Review approval process](/../tutorials/review-ratings#review-approval-process) for details. + * State of the Review. Used for approval processes, see [Review approval process](/tutorials/review-ratings#review-approval-process) for details. * * */ @@ -191,7 +191,7 @@ export interface ReviewDraft { } export interface ReviewPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ @@ -204,16 +204,16 @@ export interface ReviewPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ readonly total?: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -268,14 +268,14 @@ export interface ReviewReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Review. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Reviews. + * Contains the representation of the expanded Review. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Reviews. * * */ readonly obj?: Review } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Review](ctp:api:type:Review). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Review](ctp:api:type:Review). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ReviewResourceIdentifier extends IResourceIdentifier { @@ -337,7 +337,7 @@ export interface ReviewSetAuthorNameAction extends IReviewUpdateAction { export interface ReviewSetCustomFieldAction extends IReviewUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -354,14 +354,16 @@ export interface ReviewSetCustomFieldAction extends IReviewUpdateAction { export interface ReviewSetCustomTypeAction extends IReviewUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Review with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Review with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Review. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Review. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Review. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/search.ts b/src/lib/types/models/search.ts index 39ec44ae72..e89f9c1c1b 100644 --- a/src/lib/types/models/search.ts +++ b/src/lib/types/models/search.ts @@ -5,7 +5,7 @@ */ /** - * Possible values for the `fieldType` property on [simple expressions](/../api/search-query-language#simple-expressions) indicating the data type of the `field`. + * Possible values for the `fieldType` property on [simple expressions](/api/search-query-language#simple-expressions) indicating the data type of the `field`. */ export enum SearchFieldTypeValues { Boolean = 'boolean', @@ -78,11 +78,7 @@ export interface SearchQuery {} export type _SearchQuery = SearchQuery | _SearchCompoundExpression | _SearchQueryExpression export interface SearchCompoundExpression extends SearchQuery {} export type _SearchCompoundExpression = - | SearchCompoundExpression - | SearchAndExpression - | SearchFilterExpression - | SearchNotExpression - | SearchOrExpression + SearchCompoundExpression | SearchAndExpression | SearchFilterExpression | SearchNotExpression | SearchOrExpression export interface SearchAndExpression extends SearchCompoundExpression { /** * @@ -192,7 +188,7 @@ export interface SearchQueryExpressionValue { */ readonly boost?: number /** - * Possible values for the `fieldType` property on [simple expressions](/../api/search-query-language#simple-expressions) indicating the data type of the `field`. + * Possible values for the `fieldType` property on [simple expressions](/api/search-query-language#simple-expressions) indicating the data type of the `field`. * */ readonly fieldType?: SearchFieldType @@ -216,7 +212,7 @@ export interface SearchAnyValue extends SearchQueryExpressionValue { */ readonly value: any /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -272,7 +268,7 @@ export interface SearchExactValue extends SearchQueryExpressionValue { */ readonly values?: any[] /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -284,7 +280,7 @@ export interface SearchExactValue extends SearchQueryExpressionValue { } export interface SearchExistsValue extends SearchQueryExpressionValue { /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -296,7 +292,7 @@ export interface SearchFullTextPrefixValue extends SearchQueryExpressionValue { */ readonly value: any /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -312,7 +308,7 @@ export interface SearchFullTextValue extends SearchQueryExpressionValue { */ readonly value: any /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -419,7 +415,7 @@ export interface SearchSorting { */ readonly field: string /** - * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. + * String value specifying linguistic and regional preferences using the [IETF language tag format](https://en.wikipedia.org/wiki/IETF_language_tag), as described in [BCP 47](https://www.rfc-editor.org/info/bcp47/). The format combines language, script, and region using hyphen-separated subtags. For example: `en`, `en-US`, `zh-Hans-SG`. * * */ @@ -444,7 +440,7 @@ export interface SearchSorting { */ readonly fieldType?: SearchFieldType /** - * Allows you to apply a [sort filter](/../api/search-query-language#sort-filter). + * Allows you to apply a [sort filter](/api/search-query-language#sort-filter). * * */ diff --git a/src/lib/types/models/shipping-method.ts b/src/lib/types/models/shipping-method.ts index 1a54f973b4..1a6c7eafb1 100644 --- a/src/lib/types/models/shipping-method.ts +++ b/src/lib/types/models/shipping-method.ts @@ -14,13 +14,14 @@ import { LocalizedString, _Money, } from './common.js' +import { StoreKeyReference, StoreResourceIdentifier } from './store.js' import { TaxCategoryReference, TaxCategoryResourceIdentifier } from './tax-category.js' import { CustomFields, CustomFieldsDraft, FieldContainer, TypeResourceIdentifier } from './type.js' import { ZoneReference, ZoneResourceIdentifier } from './zone.js' export interface PriceFunction { /** - * Currency code compliant to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). + * A currency code compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) or a [non-standard currency](ctp:api:type:NonStandardCurrency). * * */ @@ -112,7 +113,7 @@ export interface ShippingMethod extends BaseResource { */ readonly active: boolean /** - * If `true`, this ShippingMethod is the [Project](ctp:api:type:Project)'s default ShippingMethod. When retrieving [matching Shipping Methods](/projects/shippingMethods#get-matching-shipping-methods), it is returned as the first item in the array. This flag does not automatically apply the Shipping Method to Carts. + * Whether this ShippingMethod is the [Project](ctp:api:type:Project)'s default ShippingMethod. When retrieving [matching Shipping Methods](/projects/shippingMethods#get-matching-shipping-methods), it is returned as the first item in the array. This flag does not automatically apply the Shipping Method to Carts. * * */ @@ -128,6 +129,13 @@ export interface ShippingMethod extends BaseResource { * */ readonly custom?: CustomFields + /** + * - If a value exists, the Shipping Method applies to [Carts](ctp:api:type:Cart) with a [Store](ctp:api:type:Store) that matches any Store in this field. + * - If empty, the Shipping Method applies to all [Carts](ctp:api:type:Cart), irrespective of a Store. + * + * + */ + readonly stores: StoreKeyReference[] } export interface ShippingMethodDraft { /** @@ -168,13 +176,13 @@ export interface ShippingMethodDraft { */ readonly zoneRates: ZoneRateDraft[] /** - * If set to `true`, the ShippingMethod can be used during the creation or update of a Cart or Order. + * Whether the ShippingMethod can be used during the creation or update of a Cart or Order. * * */ readonly active?: boolean /** - * If set to `true`, the ShippingMethod will be the [Project](ctp:api:type:Project)'s default ShippingMethod. When retrieving [matching Shipping Methods](/projects/shippingMethods#get-matching-shipping-methods), it is returned as the first item in the array. This flag does not automatically apply the Shipping Method to Carts. + * Whether the ShippingMethod will be the [Project](ctp:api:type:Project)'s default ShippingMethod. When retrieving [matching Shipping Methods](/projects/shippingMethods#get-matching-shipping-methods), it is returned as the first item in the array. This flag does not automatically apply the Shipping Method to Carts. * * */ @@ -190,6 +198,15 @@ export interface ShippingMethodDraft { * */ readonly custom?: CustomFieldsDraft + /** + * - If defined and not empty, the Shipping Method applies to [Carts](ctp:api:type:Cart) with a [Store](ctp:api:type:Store) that matches any Store in this field. + * - If not defined or empty, the Shipping Method applies to all Carts, irrespective of a Store. + * + * If the number of referenced Stores exceeds the [Stores per Shipping Method limit](/api/limits#shipping-methods), an [InvalidOperation](ctp:api:type:InvalidOperationError) error is returned. + * + * + */ + readonly stores?: StoreResourceIdentifier[] } /** * [PagedQueryResult](/general-concepts#pagedqueryresult) with `results` containing an array of [ShippingMethod](ctp:api:type:ShippingMethod). @@ -197,7 +214,7 @@ export interface ShippingMethodDraft { */ export interface ShippingMethodPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ @@ -210,16 +227,16 @@ export interface ShippingMethodPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ readonly total?: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -244,14 +261,14 @@ export interface ShippingMethodReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded ShippingMethod. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for ShippingMethods. + * Contains the representation of the expanded ShippingMethod. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for ShippingMethods. * * */ readonly obj?: ShippingMethod } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ShippingMethod](ctp:api:type:ShippingMethod). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ShippingMethod](ctp:api:type:ShippingMethod). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ShippingMethodResourceIdentifier extends IResourceIdentifier { @@ -277,7 +294,7 @@ export interface ShippingMethodUpdate { */ readonly version: number /** - * Update actions to be performed on the [ShippingMethod](/projects/shippingMethods#shippingmethod). + * Update actions to be performed on the [ShippingMethod](ctp:api:type:ShippingMethod). * * */ @@ -285,12 +302,14 @@ export interface ShippingMethodUpdate { } export type ShippingMethodUpdateAction = | ShippingMethodAddShippingRateAction + | ShippingMethodAddStoreAction | ShippingMethodAddZoneAction | ShippingMethodChangeActiveAction | ShippingMethodChangeIsDefaultAction | ShippingMethodChangeNameAction | ShippingMethodChangeTaxCategoryAction | ShippingMethodRemoveShippingRateAction + | ShippingMethodRemoveStoreAction | ShippingMethodRemoveZoneAction | ShippingMethodSetCustomFieldAction | ShippingMethodSetCustomTypeAction @@ -299,6 +318,7 @@ export type ShippingMethodUpdateAction = | ShippingMethodSetLocalizedDescriptionAction | ShippingMethodSetLocalizedNameAction | ShippingMethodSetPredicateAction + | ShippingMethodSetStoresAction export interface IShippingMethodUpdateAction { /** * @@ -312,12 +332,12 @@ export interface ShippingRate { */ readonly price: CentPrecisionMoney /** - * [Free shipping](/../api/shipping-delivery-overview#free-shipping) is applied if the sum of the (Custom) Line Item Prices reaches the specified value. + * [Free shipping](/api/shipping-delivery-overview#free-shipping) is applied if the sum of the (Custom) Line Item Prices reaches the specified value. * */ readonly freeAbove?: CentPrecisionMoney /** - * `true` if the ShippingRate matches given [Cart](ctp:api:type:Cart) or [Location](ctp:api:type:Location). + * Whether the ShippingRate matches given [Cart](ctp:api:type:Cart) or [Location](ctp:api:type:Location). * Only appears in response to requests for [Get ShippingMethods for a Cart](ctp:api:endpoint:/{projectKey}/shipping-methods/matching-cart:GET) or * [Get ShippingMethods for a Location](ctp:api:endpoint:/{projectKey}/shipping-methods/matching-location:GET). * @@ -337,7 +357,7 @@ export interface ShippingRateDraft { */ readonly price: _Money /** - * [Free shipping](/../api/shipping-delivery-overview#free-shipping) is applied if the sum of the (Custom) Line Item Prices reaches the specified value. + * [Free shipping](/api/shipping-delivery-overview#free-shipping) is applied if the sum of the (Custom) Line Item Prices reaches the specified value. * */ readonly freeAbove?: _Money @@ -361,7 +381,7 @@ export interface IShippingRatePriceTier { export interface CartClassificationTier extends IShippingRatePriceTier { readonly type: 'CartClassification' /** - * `key` selected from the `values` of the [CartClassificationType](/projects/project#cartclassificationtype) configured in the Project. + * `key` selected from the `values` of the [CartClassificationType](ctp:api:type:CartClassificationType) configured in the Project. * * */ @@ -387,7 +407,7 @@ export interface CartClassificationTier extends IShippingRatePriceTier { export interface CartScoreTier extends IShippingRatePriceTier { readonly type: 'CartScore' /** - * Abstract value for categorizing a Cart. The range starts at `0`. The default price covers `0`, tiers start at `1`. See [Tiered shipping rates](/../api/shipping-delivery-overview#tiered-shipping-rates) for details and examples. + * Abstract value for categorizing a Cart. The range starts at `0`. The default price covers `0`, tiers start at `1`. See [Tiered shipping rates](/api/shipping-delivery-overview#tiered-shipping-rates) for details and examples. * * */ @@ -493,11 +513,26 @@ export interface ShippingMethodAddShippingRateAction extends IShippingMethodUpda */ readonly shippingRate: ShippingRateDraft } +/** + * Associates the ShippingMethod with a Store. + * + */ +export interface ShippingMethodAddStoreAction extends IShippingMethodUpdateAction { + readonly action: 'addStore' + /** + * ResourceIdentifier of the Store to add. + * + * + */ + readonly store: StoreResourceIdentifier +} export interface ShippingMethodAddZoneAction extends IShippingMethodUpdateAction { readonly action: 'addZone' /** * Value to add to `zoneRates`. * + * Adds a new [ZoneRate](ctp:api:type:ZoneRate) entry to the `zoneRates` array with the specified [Zone](ctp:api:type:Zone) and an empty `shippingRates` array. After adding the Zone, you can add [ShippingRates](ctp:api:type:ShippingRate) for this Zone using the [Add ShippingRate](ctp:api:type:ShippingMethodAddShippingRateAction) update action. + * * */ readonly zone: ZoneResourceIdentifier @@ -552,11 +587,27 @@ export interface ShippingMethodRemoveShippingRateAction extends IShippingMethodU */ readonly shippingRate: ShippingRateDraft } +/** + * Removes the association to a Store from the ShippingMethod. + * If no more Stores are assigned, the ShippingMethod becomes a global ShippingMethod. + * + */ +export interface ShippingMethodRemoveStoreAction extends IShippingMethodUpdateAction { + readonly action: 'removeStore' + /** + * ResourceIdentifier of the Store to remove. + * + * + */ + readonly store: StoreResourceIdentifier +} export interface ShippingMethodRemoveZoneAction extends IShippingMethodUpdateAction { readonly action: 'removeZone' /** * Value to remove from `zoneRates`. * + * Removes the entire [ZoneRate](ctp:api:type:ZoneRate) entry for the specified [Zone](ctp:api:type:Zone) from the `zoneRates` array. This action deletes both the Zone reference and all [ShippingRates](ctp:api:type:ShippingRate) associated with that Zone. + * * */ readonly zone: ZoneResourceIdentifier @@ -568,7 +619,7 @@ export interface ShippingMethodRemoveZoneAction extends IShippingMethodUpdateAct export interface ShippingMethodSetCustomFieldAction extends IShippingMethodUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -585,14 +636,16 @@ export interface ShippingMethodSetCustomFieldAction extends IShippingMethodUpdat export interface ShippingMethodSetCustomTypeAction extends IShippingMethodUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the ShippingMethod with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the ShippingMethod with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ShippingMethod. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the ShippingMethod. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the ShippingMethod. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -638,3 +691,19 @@ export interface ShippingMethodSetPredicateAction extends IShippingMethodUpdateA */ readonly predicate?: string } +/** + * Sets the Stores the ShippingMethod is associated with. + * If empty, the ShippingMethod becomes a global ShippingMethod. + * + */ +export interface ShippingMethodSetStoresAction extends IShippingMethodUpdateAction { + readonly action: 'setStores' + /** + * ResourceIdentifiers of the Stores to set. + * Overrides the current list of Stores. + * If empty, any existing values are removed. + * + * + */ + readonly stores: StoreResourceIdentifier[] +} diff --git a/src/lib/types/models/shopping-list.ts b/src/lib/types/models/shopping-list.ts index cbbe9d8511..32952e9a78 100644 --- a/src/lib/types/models/shopping-list.ts +++ b/src/lib/types/models/shopping-list.ts @@ -83,7 +83,7 @@ export interface ShoppingList extends BaseResource { */ readonly store?: StoreKeyReference /** - * [Reference](ctp:api:type:Reference) to the Business Unit the Shopping List belongs to. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * [Reference](ctp:api:type:Reference) to the Business Unit the Shopping List belongs to. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -181,7 +181,7 @@ export interface ShoppingListDraft { */ readonly store?: StoreResourceIdentifier /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) of the Business Unit the Shopping List should belong to. When the `customer` of the Shopping List is set, the [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) of the Business Unit the Shopping List should belong to. When the `customer` of the Shopping List is set, the [Customer](ctp:api:type:Customer) must be an [Associate](ctp:api:type:Associate) of the Business Unit. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ @@ -212,7 +212,7 @@ export interface ShoppingListLineItem { */ readonly custom?: CustomFields /** - * If the Product or Product Variant is deleted, `deactivatedAt` is the date and time (UTC) of deletion. + * If the Product or Product Variant is deleted or unpublished, `deactivatedAt` is the date and time (UTC) this occurred. * * This data is updated in an [eventual consistent manner](/general-concepts#eventual-consistency) when the Product Variant cannot be ordered anymore. * @@ -266,6 +266,8 @@ export interface ShoppingListLineItem { /** * `id` of the [ProductVariant](ctp:api:type:ProductVariant) the ShoppingListLineItem refers to. If not set, the ShoppingListLineItem refers to the Master Variant. * + * For a Project with [ProductCatalogModel](ctp:api:type:ProductCatalogModel) (BETA) set to `Modular`, when `variantId` is not set, the ShoppingListLineItem refers to the Product's default [Variant](ctp:api:type:Variant) (BETA) (`defaultVariant`) instead of the Master Variant. If no default Variant is set, the ShoppingListLineItem refers to the Variant with the lowest `variantId`. + * * */ readonly variantId?: number @@ -305,6 +307,8 @@ export interface ShoppingListLineItemDraft { /** * `id` of the [ProductVariant](ctp:api:type:ProductVariant). If not set, the ShoppingListLineItem refers to the Master Variant. * + * For a Project with [ProductCatalogModel](ctp:api:type:ProductCatalogModel) (BETA) set to `Modular`, when `variantId` is not set, the ShoppingListLineItem refers to the Product's default [Variant](ctp:api:type:Variant) (BETA) (`defaultVariant`) instead of the Master Variant. If no default Variant is set, the ShoppingListLineItem refers to the Variant with the lowest `variantId`. + * * */ readonly variantId?: number @@ -335,7 +339,7 @@ export interface ShoppingListLineItemDraft { } export interface ShoppingListPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ @@ -348,16 +352,16 @@ export interface ShoppingListPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ readonly total?: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -382,14 +386,14 @@ export interface ShoppingListReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded ShoppingList. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for ShoppingLists. + * Contains the representation of the expanded ShoppingList. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for ShoppingLists. * * */ readonly obj?: ShoppingList } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ShoppingList](ctp:api:type:ShoppingList). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [ShoppingList](ctp:api:type:ShoppingList). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ShoppingListResourceIdentifier extends IResourceIdentifier { @@ -570,6 +574,8 @@ export interface ShoppingListAddLineItemAction extends IShoppingListUpdateAction /** * `id` of the [ProductVariant](ctp:api:type:ProductVariant). If not set, the ShoppingListLineItem refers to the Master Variant. * + * For a Project with [ProductCatalogModel](ctp:api:type:ProductCatalogModel) (BETA) set to `Modular`, when `variantId` is not set, the ShoppingListLineItem refers to the Product's default [Variant](ctp:api:type:Variant) (BETA) (`defaultVariant`) instead of the Master Variant. If no default Variant is set, the ShoppingListLineItem refers to the Variant with the lowest `variantId`. + * * */ readonly variantId?: number @@ -787,7 +793,7 @@ export interface ShoppingListSetAnonymousIdAction extends IShoppingListUpdateAct export interface ShoppingListSetBusinessUnitAction extends IShoppingListUpdateAction { readonly action: 'setBusinessUnit' /** - * The Business Unit to assign to the Shopping List, which must have access to the [Store](/../api/projects/stores) that is set on the Shopping List. + * The Business Unit to assign to the Shopping List, which must have access to the [Store](/api/projects/stores) that is set on the Shopping List. * * */ @@ -796,7 +802,7 @@ export interface ShoppingListSetBusinessUnitAction extends IShoppingListUpdateAc export interface ShoppingListSetCustomFieldAction extends IShoppingListUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -813,14 +819,16 @@ export interface ShoppingListSetCustomFieldAction extends IShoppingListUpdateAct export interface ShoppingListSetCustomTypeAction extends IShoppingListUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the ShoppingList with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the ShoppingList with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ShoppingList. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the ShoppingList. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the ShoppingList. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -880,7 +888,7 @@ export interface ShoppingListSetLineItemCustomFieldAction extends IShoppingListU */ readonly lineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -909,14 +917,16 @@ export interface ShoppingListSetLineItemCustomTypeAction extends IShoppingListUp */ readonly lineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the ShoppingListLineItem with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the ShoppingListLineItem with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the ShoppingListLineItem. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the ShoppingListLineItem. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the ShoppingListLineItem. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -955,7 +965,7 @@ export interface ShoppingListSetTextLineItemCustomFieldAction extends IShoppingL */ readonly textLineItemKey?: string /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -984,14 +994,16 @@ export interface ShoppingListSetTextLineItemCustomTypeAction extends IShoppingLi */ readonly textLineItemKey?: string /** - * Defines the [Type](ctp:api:type:Type) that extends the TextLineItem with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the TextLineItem with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the TextLineItem. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the TextLineItem. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the TextLineItem. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/staged-quote.ts b/src/lib/types/models/staged-quote.ts index 5e063998cf..0345eda49c 100644 --- a/src/lib/types/models/staged-quote.ts +++ b/src/lib/types/models/staged-quote.ts @@ -62,7 +62,7 @@ export interface StagedQuote extends BaseResource { */ readonly stagedQuoteState: StagedQuoteState /** - * The [Buyer](/../api/quotes-overview#buyer) who requested the Quote. + * The [Buyer](/api/quotes-overview#buyer) who requested the Quote. * * */ @@ -86,7 +86,7 @@ export interface StagedQuote extends BaseResource { */ readonly validTo?: string /** - * Message from the [Seller](/../api/quotes-overview#seller) included in the offer. + * Message from the [Seller](/api/quotes-overview#seller) included in the offer. * * */ @@ -105,19 +105,19 @@ export interface StagedQuote extends BaseResource { readonly state?: StateReference /** * The purchase order number is typically set by the [Buyer](/quotes-overview#buyer) on a [QuoteRequest](ctp:api:type:QuoteRequest) to - * track the purchase order during the [quote and order flow](/../api/quotes-overview#intended-workflow). + * track the purchase order during the [quote and order flow](/api/quotes-overview#intended-workflow). * * */ readonly purchaseOrderNumber?: string /** - * The [BusinessUnit](ctp:api:type:BusinessUnit) for the Staged Quote. Only available for [B2B](/../offering/composable-commerce#composable-commerce-for-b2b)-enabled Projects. + * The [BusinessUnit](ctp:api:type:BusinessUnit) for the Staged Quote. Only available for [B2B](/offering/commerce-b2b)-enabled Projects. * * */ readonly businessUnit?: BusinessUnitKeyReference /** - * The Store to which the [Buyer](/../api/quotes-overview#buyer) belongs. + * The Store to which the [Buyer](/api/quotes-overview#buyer) belongs. * * */ @@ -137,7 +137,7 @@ export interface StagedQuoteDraft { */ readonly quoteRequestVersion: number /** - * If `true`, the `quoteRequestState` of the referenced [QuoteRequest](ctp:api:type:QuoteRequest) will be set to `Accepted`. + * Whether the `quoteRequestState` of the referenced [QuoteRequest](ctp:api:type:QuoteRequest) will be set to `Accepted`. * * */ @@ -149,7 +149,7 @@ export interface StagedQuoteDraft { */ readonly key?: string /** - * [Custom Fields](/../api/projects/custom-fields) to be added to the StagedQuote. + * [Custom Fields](ctp:api:type:CustomFields) to be added to the StagedQuote. * * - If specified, the Custom Fields are merged with the Custom Fields on the referenced [QuoteRequest](ctp:api:type:QuoteRequest) and added to the StagedQuote. * - If empty, the Custom Fields on the referenced [QuoteRequest](ctp:api:type:QuoteRequest) are added to the StagedQuote automatically. @@ -166,18 +166,18 @@ export interface StagedQuoteDraft { readonly state?: StateReference } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [StagedQuote](ctp:api:type:StagedQuote). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [StagedQuote](ctp:api:type:StagedQuote). * */ export interface StagedQuotePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -190,10 +190,10 @@ export interface StagedQuotePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -219,7 +219,7 @@ export interface StagedQuoteReference extends IReference { readonly id: string /** * Contains the representation of the expanded StagedQuote. - * Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for StagedQuote. + * Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for StagedQuote. * * */ @@ -294,7 +294,7 @@ export interface StagedQuoteChangeStagedQuoteStateAction extends IStagedQuoteUpd export interface StagedQuoteSetCustomFieldAction extends IStagedQuoteUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -311,14 +311,16 @@ export interface StagedQuoteSetCustomFieldAction extends IStagedQuoteUpdateActio export interface StagedQuoteSetCustomTypeAction extends IStagedQuoteUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the StagedQuote with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the StagedQuote with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the StagedQuote. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the StagedQuote. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the StagedQuote. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/standalone-price.ts b/src/lib/types/models/standalone-price.ts index ea4b7d6460..3a5e6eb8cc 100644 --- a/src/lib/types/models/standalone-price.ts +++ b/src/lib/types/models/standalone-price.ts @@ -130,7 +130,7 @@ export interface StandalonePrice extends BaseResource { */ readonly validFrom?: string /** - * Date until the Price is valid. Standalone Prices that are no longer valid are not automatically deleted, but they can be [deleted](/../api/projects/standalone-prices#delete-standaloneprice) if necessary. + * Date until the Price is valid. Standalone Prices that are no longer valid are not automatically deleted, but they can be [deleted](/api/projects/standalone-prices#delete-standaloneprice) if necessary. * * */ @@ -144,10 +144,7 @@ export interface StandalonePrice extends BaseResource { */ readonly tiers?: PriceTier[] /** - * Set if a matching [ProductDiscount](ctp:api:type:ProductDiscount) exists. If set, the API uses the `discounted` value for the [Line Item price selection](/../api/pricing-and-discounts-overview#line-item-price-selection). - * When a [relative discount](/../api/projects/productDiscounts#productdiscountvaluerelative) is applied and the fraction part of the `discounted` price is 0.5, the discounted price is rounded in favor of the customer with the [half down rounding](https://en.wikipedia.org/wiki/Rounding#Rounding_half_down). - * - * If an [absolute discount](ctp:api:type:ProductDiscountValueAbsolute) value exceeds the price of the Product Variant, the discounted price is a negative value. + * Set if a matching [ProductDiscount](ctp:api:type:ProductDiscount) exists. If set, the API uses the `discounted` value for the [Line Item price selection](/api/pricing-and-discounts-overview#line-item-price-selection). * * */ @@ -165,8 +162,8 @@ export interface StandalonePrice extends BaseResource { */ readonly staged?: StagedStandalonePrice /** - * If set to `true`, the StandalonePrice is considered during [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). - * If set to `false`, the StandalonePrice is not considered during [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection) and any associated Line Items in a Cart cannot be ordered. + * Whether the StandalonePrice is considered during [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). + * If set to `false`, the StandalonePrice is not considered during [Product price selection](/api/pricing-and-discounts-overview#product-price-selection) and any associated Line Items in a Cart cannot be ordered. * * */ @@ -223,7 +220,7 @@ export interface StandalonePriceDraft { */ readonly validFrom?: string /** - * Sets the date until the Price is valid. Must be at least 1 ms later than `validFrom`. Standalone Prices that are no longer valid are not automatically deleted, but they can be [deleted](/../api/projects/standalone-prices#delete-standaloneprice) if necessary. + * Sets the date until the Price is valid. Must be at least 1 ms later than `validFrom`. Standalone Prices that are no longer valid are not automatically deleted, but they can be [deleted](/api/projects/standalone-prices#delete-standaloneprice) if necessary. * * */ @@ -261,7 +258,7 @@ export interface StandalonePriceDraft { */ readonly staged?: StagedPriceDraft /** - * Set to `false`, if the StandalonePrice should not be considered during [Product price selection](/../api/pricing-and-discounts-overview#product-price-selection). + * Set to `false`, if the StandalonePrice should not be considered during [Product price selection](/api/pricing-and-discounts-overview#product-price-selection). * * */ @@ -292,10 +289,10 @@ export interface StandalonePricePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -320,7 +317,7 @@ export interface StandalonePriceReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded StandalonePrice. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for StandalonePrice. + * Contains the representation of the expanded StandalonePrice. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for StandalonePrice. * * */ @@ -433,7 +430,7 @@ export interface StandalonePriceChangeValueAction extends IStandalonePriceUpdate */ readonly value: _Money /** - * If set to `true` the update action applies to the [StagedStandalonePrice](ctp:api:type:StagedStandalonePrice). If set to `false`, the update action applies to the current [StandalonePrice](ctp:api:type:StandalonePrice). + * Whether the update action applies to the [StagedStandalonePrice](ctp:api:type:StagedStandalonePrice). If set to `false`, the update action applies to the current [StandalonePrice](ctp:api:type:StandalonePrice). * * */ @@ -463,7 +460,7 @@ export interface StandalonePriceRemoveStagedChangesAction extends IStandalonePri export interface StandalonePriceSetCustomFieldAction extends IStandalonePriceUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -480,14 +477,16 @@ export interface StandalonePriceSetCustomFieldAction extends IStandalonePriceUpd export interface StandalonePriceSetCustomTypeAction extends IStandalonePriceUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the StandalonePrice with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the StandalonePrice with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the StandalonePrice. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the StandalonePrice. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the StandalonePrice. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ diff --git a/src/lib/types/models/state.ts b/src/lib/types/models/state.ts index 65461b3467..0239786f2c 100644 --- a/src/lib/types/models/state.ts +++ b/src/lib/types/models/state.ts @@ -143,18 +143,18 @@ export interface StateDraft { readonly transitions?: StateResourceIdentifier[] } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [State](ctp:api:type:State). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [State](ctp:api:type:State). * */ export interface StatePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -167,10 +167,10 @@ export interface StatePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -195,14 +195,14 @@ export interface StateReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded State. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for States. + * Contains the representation of the expanded State. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for States. * * */ readonly obj?: State } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [State](ctp:api:type:State). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [State](ctp:api:type:State). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface StateResourceIdentifier extends IResourceIdentifier { @@ -300,7 +300,7 @@ export interface StateAddRolesAction extends IStateUpdateAction { export interface StateChangeInitialAction extends IStateUpdateAction { readonly action: 'changeInitial' /** - * Set to `true` for defining the State as initial State in a state machine and making it the first step in a workflow. + * Whether to define the State as the initial State in a state machine and make it the first step in a workflow. * * */ diff --git a/src/lib/types/models/store.ts b/src/lib/types/models/store.ts index 64e2585a41..42285beae7 100644 --- a/src/lib/types/models/store.ts +++ b/src/lib/types/models/store.ts @@ -25,7 +25,7 @@ export interface ProductSelectionSetting { */ readonly productSelection: ProductSelectionReference /** - * If `true`, all Products assigned to this Product Selection are part of the Store's assortment. + * Whether all Products assigned to this Product Selection are part of the Store's assortment. * */ readonly active: boolean @@ -37,7 +37,7 @@ export interface ProductSelectionSettingDraft { */ readonly productSelection: ProductSelectionResourceIdentifier /** - * Set to `true` if all Products assigned to the Product Selection should become part of the Store's assortment. + * Whether all Products assigned to the Product Selection should become part of the Store's assortment. * * */ @@ -203,18 +203,18 @@ export interface StoreKeyReference extends IKeyReference { readonly key: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [Store](ctp:api:type:Store). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with results containing an array of [Store](ctp:api:type:Store). * */ export interface StorePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -227,10 +227,10 @@ export interface StorePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -255,14 +255,14 @@ export interface StoreReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Store. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Stores. + * Contains the representation of the expanded Store. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Stores. * * */ readonly obj?: Store } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Store](ctp:api:type:Store). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Store](ctp:api:type:Store). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface StoreResourceIdentifier extends IResourceIdentifier { @@ -350,7 +350,7 @@ export interface StoreAddDistributionChannelAction extends IStoreUpdateAction { readonly distributionChannel: ChannelResourceIdentifier } /** - * To make all included Products available to your customers of a given Store, add the [Product Selections](/../api/projects/product-selections) to the respective Store. This action has no effect if the given Product Selection is already present in the Store and has the same `active` flag. + * To make all included Products available to your customers of a given Store, add the [Product Selections](/api/projects/product-selections) to the respective Store. This action has no effect if the given Product Selection is already present in the Store and has the same `active` flag. * */ export interface StoreAddProductSelectionAction extends IStoreUpdateAction { @@ -362,7 +362,7 @@ export interface StoreAddProductSelectionAction extends IStoreUpdateAction { */ readonly productSelection: ProductSelectionResourceIdentifier /** - * Set to `true` to make all Products assigned to the referenced Product Selection available in the Store. + * Whether to make all Products assigned to the referenced Product Selection available in the Store. * * */ @@ -398,7 +398,7 @@ export interface StoreChangeProductSelectionAction extends IStoreUpdateAction { */ readonly productSelection: ProductSelectionResourceIdentifier /** - * Set to `true` if all Products assigned to the Product Selection should become part of the Store's assortment. + * Whether all Products assigned to the Product Selection should become part of the Store's assortment. * * */ @@ -473,7 +473,7 @@ export interface StoreSetCountriesAction extends IStoreUpdateAction { export interface StoreSetCustomFieldAction extends IStoreUpdateAction { readonly action: 'setCustomField' /** - * Name of the [Custom Field](/../api/projects/custom-fields). + * Name of the [Custom Field](/api/projects/custom-fields). * * */ @@ -490,14 +490,16 @@ export interface StoreSetCustomFieldAction extends IStoreUpdateAction { export interface StoreSetCustomTypeAction extends IStoreUpdateAction { readonly action: 'setCustomType' /** - * Defines the [Type](ctp:api:type:Type) that extends the Store with [Custom Fields](/../api/projects/custom-fields). + * Defines the [Type](ctp:api:type:Type) that extends the Store with [Custom Fields](ctp:api:type:CustomFields). * If absent, any existing Type and Custom Fields are removed from the Store. * * */ readonly type?: TypeResourceIdentifier /** - * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Store. + * Object containing the [Custom Fields](ctp:api:type:CustomFields) fields for the Store. + * + * Required if at least one Custom Field is defined as required in the `fieldDefinitions` of the referenced [Type](ctp:api:type:Type). * * */ @@ -547,7 +549,7 @@ export interface StoreSetNameAction extends IStoreUpdateAction { readonly name?: LocalizedString } /** - * Instead of adding or removing [Product Selections](/../api/projects/product-selections) individually, you can also change all the Store's Product Selections in one go using this update action. The Store will only contain the Product Selections specified in the request. + * Instead of adding or removing [Product Selections](/api/projects/product-selections) individually, you can also change all the Store's Product Selections in one go using this update action. The Store will only contain the Product Selections specified in the request. * */ export interface StoreSetProductSelectionsAction extends IStoreUpdateAction { diff --git a/src/lib/types/models/subscription.ts b/src/lib/types/models/subscription.ts index 0324ad0b3c..526c1d0928 100644 --- a/src/lib/types/models/subscription.ts +++ b/src/lib/types/models/subscription.ts @@ -176,7 +176,7 @@ export interface CloudEventsPayload { */ readonly sequencetype?: string /** - * The URI from which the message can be retrieved if messages are [enabled](/../api/projects/messages#enable-querying-messages-via-the-api). Only set for [MessageSubscriptions](ctp:api:type:MessageSubscription). + * The URI from which the message can be retrieved if messages are [enabled](/api/projects/messages#enable-querying-messages-via-the-api). Only set for [MessageSubscriptions](ctp:api:type:MessageSubscription). * * */ @@ -196,7 +196,8 @@ export interface IDeliveryFormat { readonly type: string } /** - * The CloudEventsFormat can be used with any [Destination](#destination-1), and the payload is delivered in the `JSON Event Format`. [AzureEventGridDestination](ctp:api:type:AzureEventGridDestination) offers native support to filter and route CloudEvents. + * The CloudEventsFormat can be used with any [Destination](ctp:api:type:Destination), and the payload is delivered in the `JSON Event Format`. + * [AzureEventGridDestination](ctp:api:type:AzureEventGridDestination) offers native support to filter and route CloudEvents. * */ export interface CloudEventsFormat extends IDeliveryFormat { @@ -419,7 +420,7 @@ export interface GoogleCloudPubSubDestination extends IDestination { readonly topic: string } /** - * Messages will be delivered even if the Messages Query HTTP API [is not enabled](/../api/projects/messages#enable-querying-messages-via-the-api). + * Messages will be delivered even if the Messages Query HTTP API [is not enabled](/api/projects/messages#enable-querying-messages-via-the-api). * * For MessageSubscriptions, the format of the payload is [MessageDeliveryPayload](ctp:api:type:MessageDeliveryPayload). * @@ -507,7 +508,7 @@ export interface PayloadNotIncluded { readonly payloadType: string } /** - * The PlatformFormat uses constructs that are similar to the ones used in the REST API, for example, on the [Messages Query HTTP API](/../api/projects/messages). + * The PlatformFormat uses constructs that are similar to the ones used in the REST API, for example, on the [Messages Query HTTP API](/api/projects/messages). * */ export interface PlatformFormat extends IDeliveryFormat { @@ -965,7 +966,7 @@ export interface ResourceDeletedDeliveryPayload extends IDeliveryPayload { */ readonly modifiedAt: string /** - * `true` if the `dataErasure` [parameter](/../api/gdpr#data-erasure-of-personal-data) on the `DELETE` request was set to `true`. + * Whether the `dataErasure` [parameter](/api/gdpr#data-erasure-of-personal-data) on the `DELETE` request was set to `true`. * * */ @@ -1016,18 +1017,18 @@ export interface ResourceUpdatedDeliveryPayload extends IDeliveryPayload { readonly modifiedAt: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [Subscription](ctp:api:type:Subscription). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [Subscription](ctp:api:type:Subscription). * */ export interface SubscriptionPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -1040,10 +1041,10 @@ export interface SubscriptionPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ diff --git a/src/lib/types/models/tax-category.ts b/src/lib/types/models/tax-category.ts index 63e029dc84..d71f04956e 100644 --- a/src/lib/types/models/tax-category.ts +++ b/src/lib/types/models/tax-category.ts @@ -7,7 +7,7 @@ import { BaseResource, CreatedBy, IReference, IResourceIdentifier, LastModifiedBy } from './common.js' /** - * It is used to calculate the [taxPortions](/../api/projects/carts#taxedprice) field in a Cart or Order. + * It is used to calculate the [taxPortions](/api/projects/carts#taxedprice) field in a Cart or Order. */ export interface SubRate { /** @@ -110,18 +110,18 @@ export interface TaxCategoryDraft { readonly key?: string } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [TaxCategory](ctp:api:type:TaxCategory). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [TaxCategory](ctp:api:type:TaxCategory). * */ export interface TaxCategoryPagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -134,10 +134,10 @@ export interface TaxCategoryPagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -162,14 +162,14 @@ export interface TaxCategoryReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded TaxCategory. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for TaxCategories. + * Contains the representation of the expanded TaxCategory. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for TaxCategories. * * */ readonly obj?: TaxCategory } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [TaxCategory](ctp:api:type:TaxCategory). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [TaxCategory](ctp:api:type:TaxCategory). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface TaxCategoryResourceIdentifier extends IResourceIdentifier { @@ -224,7 +224,7 @@ export interface TaxRate { */ readonly id?: string /** - * User-defined unique identifier of the TaxRate. + * User-defined identifier of the TaxRate. Unique within the TaxCategory containing it. * Present when set using [TaxRateDraft](ctp:api:type:TaxRateDraft). Not available for external TaxRates created using [ExternalTaxRateDraft](ctp:api:type:ExternalTaxRateDraft). * * @@ -243,7 +243,7 @@ export interface TaxRate { */ readonly amount: number /** - * If `true`, tax is included in [Embedded Prices](ctp:api:type:Price) or [Standalone Prices](ctp:api:type:StandalonePrice), and the `taxedPrice` is present on [LineItems](ctp:api:type:LineItem). In this case, the `totalNet` price on [TaxedPrice](ctp:api:type:TaxedPrice) includes the TaxRate. + * Whether tax is included in [Embedded Prices](ctp:api:type:Price) or [Standalone Prices](ctp:api:type:StandalonePrice), and the `taxedPrice` is present on [LineItems](ctp:api:type:LineItem). In this case, the `totalNet` price on [TaxedPrice](ctp:api:type:TaxedPrice) includes the TaxRate. * * */ @@ -256,6 +256,7 @@ export interface TaxRate { readonly country: string /** * State within the country, such as Texas in the United States. + * The value is case-sensitive and must use the same casing as the `state` value in the Cart `shippingAddress`. * * */ @@ -283,7 +284,7 @@ export interface TaxRateDraft { */ readonly amount?: number /** - * If `true`, tax is included in [Embedded Prices](ctp:api:type:Price) or [Standalone Prices](ctp:api:type:StandalonePrice), and the `taxedPrice` is present on [LineItems](ctp:api:type:LineItem). In this case, the `totalNet` price on [TaxedPrice](ctp:api:type:TaxedPrice) includes the TaxRate. + * Whether tax is included in [Embedded Prices](ctp:api:type:Price) or [Standalone Prices](ctp:api:type:StandalonePrice), and the `taxedPrice` is present on [LineItems](ctp:api:type:LineItem). In this case, the `totalNet` price on [TaxedPrice](ctp:api:type:TaxedPrice) includes the TaxRate. * * */ @@ -296,6 +297,7 @@ export interface TaxRateDraft { readonly country: string /** * State within the country, such as Texas in the United States. + * The value is case-sensitive and must use the same casing as the `state` value in the Cart `shippingAddress`. * * */ @@ -308,7 +310,7 @@ export interface TaxRateDraft { */ readonly subRates?: SubRate[] /** - * User-defined unique identifier of the TaxRate. + * User-defined identifier of the TaxRate. Must be unique within the TaxCategory containing it. * * */ diff --git a/src/lib/types/models/type.ts b/src/lib/types/models/type.ts index 7b16dc54b1..41c14824fc 100644 --- a/src/lib/types/models/type.ts +++ b/src/lib/types/models/type.ts @@ -64,6 +64,7 @@ export enum CustomFieldReferenceValueValues { Review = 'review', ShippingMethod = 'shipping-method', State = 'state', + Variant = 'variant', Zone = 'zone', } @@ -85,6 +86,7 @@ export type CustomFieldReferenceValue = | 'review' | 'shipping-method' | 'state' + | 'variant' | 'zone' | (string & {}) /** @@ -99,14 +101,14 @@ export interface CustomFields { */ readonly type: TypeReference /** - * Object containing the Custom Fields of the [customized resource or data type](/../api/projects/types#resourcetypeid). + * Object containing the Custom Fields of the [customized resource or data type](/api/projects/types#resourcetypeid). * * */ readonly fields: FieldContainer } /** - * The representation used when creating or updating a [customizable data type](/../api/projects/types#resourcetypeid) with Custom Fields. + * The representation used when creating or updating a [customizable data type](/api/projects/types#resourcetypeid) with Custom Fields. * */ export interface CustomFieldsDraft { @@ -117,7 +119,7 @@ export interface CustomFieldsDraft { */ readonly type: TypeResourceIdentifier /** - * Object containing the Custom Fields for the [customized resource or data type](/../api/projects/types#resourcetypeid). + * Object containing the Custom Fields for the [customized resource or data type](/api/projects/types#resourcetypeid). * * */ @@ -127,8 +129,8 @@ export interface FieldContainer { [key: string]: any } /** - * Defines a [Custom Field](/../api/projects/custom-fields) and its meta-information. - * This FieldDefinition is similar to an [AttributeDefinition](ctp:api:type:AttributeDefinition) of [Product Types](/../api/projects/productTypes). + * Defines a [Custom Field](/api/projects/custom-fields) and its meta-information. + * This FieldDefinition is similar to an [AttributeDefinition](ctp:api:type:AttributeDefinition) of [Product Types](/api/projects/productTypes). * */ export interface FieldDefinition { @@ -323,6 +325,7 @@ export enum ResourceTypeIdValues { ProductTailoring = 'product-tailoring', Quote = 'quote', RecurringOrder = 'recurring-order', + Reservation = 'reservation', Review = 'review', Shipping = 'shipping', ShippingMethod = 'shipping-method', @@ -363,6 +366,7 @@ export type ResourceTypeId = | 'product-tailoring' | 'quote' | 'recurring-order' + | 'reservation' | 'review' | 'shipping' | 'shipping-method' @@ -467,18 +471,18 @@ export interface TypeDraft { readonly fieldDefinitions?: FieldDefinition[] } /** - * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with `results` containing an array of [Types](ctp:api:type:Type). + * [PagedQueryResult](/api/general-concepts#pagedqueryresult) with `results` containing an array of [Types](ctp:api:type:Type). * */ export interface TypePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -491,10 +495,10 @@ export interface TypePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](ctp:api:type:QueryPredicate), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](ctp:api:type:QueryPredicate), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -527,7 +531,7 @@ export interface TypeReference extends IReference { readonly obj?: Type } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) of a [Type](ctp:api:type:Type). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) of a [Type](ctp:api:type:Type). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface TypeResourceIdentifier extends IResourceIdentifier { @@ -792,7 +796,7 @@ export interface TypeRemoveFieldDefinitionAction extends ITypeUpdateAction { readonly action: 'removeFieldDefinition' /** * `name` of the [FieldDefinition](ctp:api:type:FieldDefinition) to remove. - * The removal of a FieldDefinition deletes [asynchronously](/../api/general-concepts#eventual-consistency) all Custom Fields using the FieldDefinition as well. + * The removal of a FieldDefinition deletes [asynchronously](/api/general-concepts#eventual-consistency) all Custom Fields using the FieldDefinition as well. * * */ diff --git a/src/lib/types/models/variant-attributes.ts b/src/lib/types/models/variant-attributes.ts new file mode 100644 index 0000000000..4e2e7ffc0d --- /dev/null +++ b/src/lib/types/models/variant-attributes.ts @@ -0,0 +1,154 @@ +/** + * Code generated by [commercetools RMF-Codegen](https://github.com/commercetools/rmf-codegen). DO NOT EDIT. + * Please don't change this file manually but run `rmf-codegen generate raml_file_path -o output_path -t typescript_client` to update it. + * For more information about the commercetools platform APIs, visit https://docs.commercetools.com/. + */ + +import { LocalizedString } from './common.js' +import { Attribute } from './product.js' + +/** + * A lightweight representation of a [Product's](ctp:api:type:Product) Variants with only the requested Attributes and minimal availability data. + * Designed for building attribute selectors on product detail pages (PDPs). + * + */ +export interface VariantAttributes { + /** + * Unique identifier of the [Product](ctp:api:type:Product). + * + * + */ + readonly productId: string + /** + * User-defined unique identifier of the [Product](ctp:api:type:Product). + * + * + */ + readonly productKey?: string + /** + * Metadata for the requested Attributes, derived from the [ProductType](ctp:api:type:ProductType). + * Attributes not found in the ProductType are silently omitted. + * + * + */ + readonly attributes: VariantAttributesAttributeMetadata[] + /** + * All Variants of the Product with their requested Attributes and availability. + * + * + */ + readonly variants: VariantAttributesVariant[] +} +/** + * Metadata about a requested [Attribute](ctp:api:type:AttributeDefinition), derived from the [ProductType](ctp:api:type:ProductType). + * + */ +export interface VariantAttributesAttributeMetadata { + /** + * Name of the Attribute as defined in the [ProductType](ctp:api:type:ProductType). + * + * + */ + readonly name: string + /** + * Localized label of the Attribute as defined in the [ProductType](ctp:api:type:ProductType). + * Subject to [locale projection](/../api/projects/productProjections#locales) if `localeProjection` is specified. + * + * + */ + readonly label: LocalizedString + /** + * Name of the [AttributeType](ctp:api:type:AttributeType), for example `boolean`, `text`, `ltext`, `enum`, `lenum`, `number`, `money`, `date`, `time`, `datetime`, `reference`, `set`, or `nested`. + * + * + */ + readonly type: string +} +/** + * Lightweight availability information for a Variant. Present only if [InventoryEntries](ctp:api:type:InventoryEntry) exist for the Variant's SKU. + * + */ +export interface VariantAttributesAvailability { + /** + * Indicates whether the Variant is in stock. + * + * + */ + readonly isOnStock?: boolean + /** + * Number of items of this Variant that are in stock. + * + * + */ + readonly availableQuantity?: number + /** + * Per-channel availability for the requested supply [Channels](ctp:api:type:Channel). + * Present only when the `filter[supplyChannels]` query parameter is provided. + * + * + */ + readonly channels?: VariantAttributesChannelAvailabilityMap +} +/** + * Availability of a Variant in a specific supply [Channel](ctp:api:type:Channel). + * + */ +export interface VariantAttributesChannelAvailability { + /** + * Indicates whether the Variant is in stock in the specified [Channel](ctp:api:type:Channel). + * + * + */ + readonly isOnStock?: boolean + /** + * Number of items of this Variant that are in stock in the specified [Channel](ctp:api:type:Channel). + * + * + */ + readonly availableQuantity?: number +} +/** + * JSON object where the keys are supply [Channel](ctp:api:type:Channel) `id`, and the values are [VariantAttributesChannelAvailability](ctp:api:type:VariantAttributesChannelAvailability). + * + */ +export interface VariantAttributesChannelAvailabilityMap { + [key: string]: VariantAttributesChannelAvailability +} +/** + * A Variant with its requested Attributes and lightweight availability information. + * + */ +export interface VariantAttributesVariant { + /** + * Unique identifier of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly id: string + /** + * SKU of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly sku?: string + /** + * Key of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly key?: string + /** + * Availability information for this variant. + * Present only if [InventoryEntries](ctp:api:type:InventoryEntry) exist for the variant's SKU. + * + * + */ + readonly availability?: VariantAttributesAvailability + /** + * Requested [Attributes](ctp:api:type:Attribute) of the Variant. + * Only Variant-level Attributes that exist on this Variant and were requested via `filter[attributes]` are included. + * + * + */ + readonly attributes: Attribute[] +} diff --git a/src/lib/types/models/variant.ts b/src/lib/types/models/variant.ts new file mode 100644 index 0000000000..90db75c328 --- /dev/null +++ b/src/lib/types/models/variant.ts @@ -0,0 +1,1166 @@ +/** + * Code generated by [commercetools RMF-Codegen](https://github.com/commercetools/rmf-codegen). DO NOT EDIT. + * Please don't change this file manually but run `rmf-codegen generate raml_file_path -o output_path -t typescript_client` to update it. + * For more information about the commercetools platform APIs, visit https://docs.commercetools.com/. + */ + +import { CategoryReference } from './category.js' +import { + Asset, + AssetDraft, + AssetSource, + BaseResource, + CreatedBy, + IReference, + IResourceIdentifier, + Image, + LastModifiedBy, + LocalizedString, + Price, +} from './common.js' +import { ErrorObject } from './error.js' +import { Attribute, CategoryOrderHints, ProductReference, ProductResourceIdentifier } from './product.js' +import { FieldContainer, TypeResourceIdentifier } from './type.js' +import { WarningObject } from './warning.js' + +/** + * A Variant represents a single Variant with both current (published) and staged (draft) data. + * Variants are writable resources that support create, update, and delete operations. + * + */ +export interface Variant extends BaseResource { + /** + * Unique identifier of the Variant. + * + * + */ + readonly id: string + /** + * Current version of the Variant. + * + * + */ + readonly version: number + /** + * Date and time (UTC) the Variant was initially created. + * + * + */ + readonly createdAt: string + /** + * Date and time (UTC) the Variant was last updated. + * + * + */ + readonly lastModifiedAt: string + /** + * IDs and references that last modified the Variant. + * + * + */ + readonly lastModifiedBy?: LastModifiedBy + /** + * IDs and references that created the Variant. + * + * + */ + readonly createdBy?: CreatedBy + /** + * User-defined unique identifier of the Variant. + * This is different from [Product](ctp:api:type:Product) `key`. + * + * + */ + readonly key?: string + /** + * A unique, sequential identifier of the Variant within the parent Product. + * + * + */ + readonly variantId: number + /** + * Reference to the parent [Product](ctp:api:type:Product) the Variant belongs to. + * + * + */ + readonly product: ProductReference + /** + * Whether the Variant is published, `false` if it is unpublished. + * + * + */ + readonly published: boolean + /** + * The current data of the Variant. + * + * + */ + readonly current: VariantData + /** + * The staged data of the Variant. + * Only present if there are staged changes that differ from the current data. + * + * + */ + readonly staged?: VariantData + /** + * Warnings about processing of a request. + * Appears in response to requests with response status code `202 Accepted`. + * + * + */ + readonly warnings?: WarningObject[] +} +/** + * The request body for a bulk update of Variants. + * + */ +export interface VariantBulkUpdate { + /** + * List of Variants to update. Each item must identify the Variant by `id` or `key`. + * + * + */ + readonly items: VariantBulkUpdateItem[] + /** + * The update action to apply to each Variant. Only [Publish](ctp:api:type:VariantPublishAction) and [Unpublish](ctp:api:type:VariantUnpublishAction) actions are supported. + * An empty array results in a no-op: all items are returned as successful with no changes applied. + * + * + */ + readonly actions: VariantUpdateAction[] +} +/** + * Identifies a single Variant to be updated in a bulk update request. + * Provide either `id` or `key` to identify the Variant. + * + */ +export interface VariantBulkUpdateItem { + /** + * Unique identifier of the Variant to update. Either `id` or `key` must be provided. + * + * + */ + readonly id?: string + /** + * User-defined unique identifier of the Variant to update. Either `id` or `key` must be provided. + * + * + */ + readonly key?: string + /** + * Expected version of the Variant. Required when the `versionControl` query parameter is `On` (the default). + * If the version does not match, a [ConcurrentModification](ctp:api:type:ConcurrentModificationError) error is returned for that item. + * Not required when `versionControl=Off`. + * + * + */ + readonly version?: number +} +/** + * A lightweight reference containing the `id` and updated `version` of a Variant after a successful bulk update. + * + */ +export interface VariantBulkUpdateResource { + /** + * Unique identifier of the updated Variant. + * + * + */ + readonly id: string + /** + * The new version of the Variant after the update. + * + * + */ + readonly version: number +} +/** + * The response body for a bulk update of Variants. Contains the individual result for each Variant in the request. + * + */ +export interface VariantBulkUpdateResponse { + /** + * Number of Variants that were successfully updated. + * + * + */ + readonly successCount: number + /** + * Number of Variants that failed to update. + * + * + */ + readonly failureCount: number + /** + * Results for each Variant in the request, in the same order as the `items` in the request body. + * + * + */ + readonly results: VariantBulkUpdateResult[] +} +/** + * Represents the result of a single Variant update within a bulk update request. + * Use `status` to determine whether the update succeeded or failed. + * + */ +export type VariantBulkUpdateResult = VariantBulkUpdateFailResult | VariantBulkUpdateSuccessResult +export interface IVariantBulkUpdateResult { + /** + * Unique identifier of the Variant from the request. Present when the Variant was identified by `id`. + * + * + */ + readonly id?: string + /** + * User-defined unique identifier of the Variant from the request. Present when the Variant was identified by `key`. + * + * + */ + readonly key?: string + /** + * Indicates whether the update succeeded or failed. + * + * + */ + readonly status: string +} +/** + * Result for a Variant that failed to update in a bulk update request. + * + */ +export interface VariantBulkUpdateFailResult extends IVariantBulkUpdateResult { + readonly status: 'Fail' + /** + * Unique identifier of the Variant from the request. Present when the Variant was identified by `id`. + * + * + */ + readonly id?: string + /** + * User-defined unique identifier of the Variant from the request. Present when the Variant was identified by `key`. + * + * + */ + readonly key?: string + /** + * Errors that caused the update to fail for this Variant. + * + * + */ + readonly errors: ErrorObject[] +} +/** + * Result for a Variant that was successfully updated in a bulk update request. + * + */ +export interface VariantBulkUpdateSuccessResult extends IVariantBulkUpdateResult { + readonly status: 'Success' + /** + * Unique identifier of the Variant from the request. Present when the Variant was identified by `id`. + * + * + */ + readonly id?: string + /** + * User-defined unique identifier of the Variant from the request. Present when the Variant was identified by `key`. + * + * + */ + readonly key?: string + /** + * A lightweight reference containing the `id` and updated `version` of the Variant. + * + * + */ + readonly resource: VariantBulkUpdateResource +} +/** + * Contains the actual data for a Variant in either current (published) or staged (draft) state. + * + */ +export interface VariantData { + /** + * User-defined unique SKU of the Variant. + * + * + */ + readonly sku?: string + /** + * Images of the Variant. + * + * + */ + readonly images?: Image[] + /** + * Attributes of the Variant according to the respective [AttributeDefinition](ctp:api:type:AttributeDefinition). + * + * + */ + readonly attributes?: Attribute[] + /** + * Media assets of the Variant. + * + * + */ + readonly assets?: Asset[] +} +/** + * Draft for creating a new Variant. When a Variant is created, only the current version is set. The staged version is only set when the Variant is updated with different current and staged data. + * + */ +export interface VariantDraft { + /** + * User-defined unique identifier for the Variant. + * This field is optional, but we strongly recommend setting it. + * + * + */ + readonly key?: string + /** + * User-defined unique SKU of the Variant. + * + * + */ + readonly sku?: string + /** + * ResourceIdentifier of the [Product](ctp:api:type:Product) the Variant belongs to. + * + * + */ + readonly product: ProductResourceIdentifier + /** + * Indicates whether the Variant is published. + * If `true`, the Variant will be immediately available in the current published state. + * + * + */ + readonly publish?: boolean + /** + * Images for the Variant. + * + * + */ + readonly images?: Image[] + /** + * Variant Attributes according to the respective [AttributeDefinition](ctp:api:type:AttributeDefinition). + * + * + */ + readonly attributes?: Attribute[] + /** + * Media assets for the Variant. + * + * + */ + readonly assets?: AssetDraft[] +} +/** + * [PagedQueryResult](/../api/general-concepts#pagedqueryresult) with results containing an array of [Variant](ctp:api:type:Variant). + * + */ +export interface VariantPagedQueryResponse { + /** + * Number of [results requested](/../api/general-concepts#limit). + * + * + */ + readonly limit: number + /** + * Number of [elements skipped](/../api/general-concepts#offset). + * + * + */ + readonly offset: number + /** + * Actual number of results returned. + * + * + */ + readonly count: number + /** + * Total number of results matching the query. + * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This field is returned by default. + * Unless absolutely necessary, use the query parameter `withTotal=false` to improve performance by deactivating the calculation of this field. + * When the results are filtered with a [Query Predicate](ctp:api:type:QueryPredicate), `total` is subject to a [limit](/../api/limits#queries). + * + * + */ + readonly total?: number + /** + * [Variants](ctp:api:type:Variant) matching the query. + * + * + */ + readonly results: Variant[] +} +/** + * A lightweight, read-only projection of a single Variant with embedded Product data. + * Variant Projections are automatically created and updated when Variants or their parent Products change. + * + */ +export interface VariantProjection { + /** + * Unique identifier of the Variant within its parent Product. + * + * + */ + readonly id: string + /** + * Current version of the Variant Projection. + * + * + */ + readonly version: number + /** + * Date and time (UTC) the Variant Projection was initially created. + * + * + */ + readonly createdAt: string + /** + * `true` for the staged (draft) projection, `false` for the current (published) projection. + * + * + */ + readonly staged: boolean + /** + * The `id` of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly variantId: number + /** + * [Reference](ctp:api:type:Reference) to the parent [Product](ctp:api:type:Product). + * + * + */ + readonly product: ProductReference + /** + * Name of the parent [Product](ctp:api:type:Product). + * + * + */ + readonly name: LocalizedString + /** + * Slug of the parent [Product](ctp:api:type:Product). + * + * + */ + readonly slug: LocalizedString + /** + * Description of the parent [Product](ctp:api:type:Product). + * + * + */ + readonly description?: LocalizedString + /** + * [Categories](ctp:api:type:Category) assigned to the parent [Product](ctp:api:type:Product). + * + * + */ + readonly categories: CategoryReference[] + /** + * Order of the parent [Product](ctp:api:type:Product) in [Categories](ctp:api:type:Category). + * + * + */ + readonly categoryOrderHints?: CategoryOrderHints + /** + * User-defined unique identifier of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly key?: string + /** + * SKU of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly sku?: string + /** + * Images of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly images: Image[] + /** + * Assets of the [Variant](ctp:api:type:Variant). + * + * + */ + readonly assets: Asset[] + /** + * Attributes of the [Variant](ctp:api:type:Variant), including product-level Attributes merged at projection time. + * + * + */ + readonly attributes: Attribute[] + /** + * The selected price based on the [price selection](/../api/projects/productProjections#prices) query parameters. + * Only present when price selection parameters are provided. + * + * + */ + readonly price?: Price + /** + * Whether this Variant is the default Variant of its [Product](ctp:api:type:Product) (see [Product.defaultVariant](/projects/products#product)). + * + * + */ + readonly default: boolean +} +export interface VariantProjectionPagedQueryResponse { + /** + * Number of [results requested](/../api/general-concepts#limit). + * + * + */ + readonly limit: number + /** + * Actual number of results returned. + * + * + */ + readonly count: number + /** + * Total number of results matching the query. + * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This field is returned by default. + * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. + * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * + * + */ + readonly total?: number + /** + * Number of [elements skipped](/../api/general-concepts#offset). + * + * + */ + readonly offset: number + /** + * [VariantProjections](ctp:api:type:VariantProjection) matching the query. + * + * + */ + readonly results: VariantProjection[] +} +/** + * [Reference](ctp:api:type:Reference) to a [Variant](ctp:api:type:Variant). + * + */ +export interface VariantReference extends IReference { + readonly typeId: 'variant' + /** + * Unique identifier of the referenced [Variant](ctp:api:type:Variant). + * + * + */ + readonly id: string + /** + * Contains the representation of the expanded Variant. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Variants. + * + * + */ + readonly obj?: Variant +} +/** + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Variant](ctp:api:type:Variant). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * + */ +export interface VariantResourceIdentifier extends IResourceIdentifier { + readonly typeId: 'variant' + /** + * Unique identifier of the referenced [Variant](ctp:api:type:Variant). Required if `key` is absent. + * + * + */ + readonly id?: string + /** + * User-defined unique identifier of the referenced [Variant](ctp:api:type:Variant). Required if `id` is absent. + * + * + */ + readonly key?: string +} +export interface VariantUpdate { + /** + * Expected version of the Variant on which the changes should be applied. If the expected version does not match the actual version, a [ConcurrentModification](ctp:api:type:ConcurrentModificationError) error will be returned. + * + * + */ + readonly version: number + /** + * Update actions to be performed on the Variant. + * + * + */ + readonly actions: VariantUpdateAction[] +} +export type VariantUpdateAction = + | VariantAddAssetAction + | VariantAddExternalImageAction + | VariantChangeAssetNameAction + | VariantChangeAssetOrderAction + | VariantMoveImageToPositionAction + | VariantPublishAction + | VariantRemoveAssetAction + | VariantRemoveImageAction + | VariantRemoveStagedChangesAction + | VariantSetAssetCustomFieldAction + | VariantSetAssetCustomTypeAction + | VariantSetAssetDescriptionAction + | VariantSetAssetKeyAction + | VariantSetAssetSourcesAction + | VariantSetAssetTagsAction + | VariantSetAssetsAction + | VariantSetAttributeAction + | VariantSetAttributesAction + | VariantSetImageLabelAction + | VariantSetImagesAction + | VariantSetKeyAction + | VariantSetSkuAction + | VariantUnpublishAction +export interface IVariantUpdateAction { + /** + * + */ + readonly action: string +} +/** + * Adds an asset to existing variant's assets. + * + */ +export interface VariantAddAssetAction extends IVariantUpdateAction { + readonly action: 'addAsset' + /** + * Whether only the staged `assets` are updated. If `false`, both the current and staged `assets` are updated. + * + * + */ + readonly staged?: boolean + /** + * Value to append. + * + * + */ + readonly asset: AssetDraft + /** + * Position in `assets` where the Asset should be put. When specified, the value must be between `0` and the total number of Assets minus `1`. + * + * + */ + readonly position?: number +} +/** + * Adds an image to existing variant's images. + * Generates the [VariantImageAdded](ctp:api:type:VariantImageAddedMessage) Message. + * + */ +export interface VariantAddExternalImageAction extends IVariantUpdateAction { + readonly action: 'addExternalImage' + /** + * Value to add to `images`. + * + * + */ + readonly image: Image + /** + * Whether only the staged `images` is updated. If `false`, both the current and staged `images` are updated. + * + * + */ + readonly staged?: boolean +} +/** + * Changes the name of an existing Asset on a Variant. The Asset to update must be specified using either `assetId` or `assetKey`. + * + */ +export interface VariantChangeAssetNameAction extends IVariantUpdateAction { + readonly action: 'changeAssetName' + /** + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to update. + * + * + */ + readonly assetId?: string + /** + * The `key` of the Asset to update. + * + * + */ + readonly assetKey?: string + /** + * New value to set. Must not be empty. + * + * + */ + readonly name: LocalizedString +} +/** + * Changes the order of Assets on a Variant. + * + */ +export interface VariantChangeAssetOrderAction extends IVariantUpdateAction { + readonly action: 'changeAssetOrder' + /** + * Whether only the staged `assets` is updated. If `false`, both the current and staged `assets` are updated. + * + * + */ + readonly staged?: boolean + /** + * All existing Asset `id`s of the Variant in the desired new order. + * + * + */ + readonly assetOrder: string[] +} +/** + * Moves a Variant's image to a new position. + * + */ +export interface VariantMoveImageToPositionAction extends IVariantUpdateAction { + readonly action: 'moveImageToPosition' + /** + * The URL of the image to update. + * + * + */ + readonly imageUrl: string + /** + * Position in `images` where the image should be moved. Must be between `0` and the total number of images minus `1`. + * + * + */ + readonly position: number + /** + * If `true`, only the staged `images` is updated. If `false`, both the current and staged `images` is updated. + * + * + */ + readonly staged?: boolean +} +/** + * Publishes the Variant by copying the staged data to the current data and setting the `published` flag to `true`. Staged will be empty. + * The parent Product must be published before a Variant can be published. + * Generates the [VariantPublished](ctp:api:type:VariantPublishedMessage) Message. + * + */ +export interface VariantPublishAction extends IVariantUpdateAction { + readonly action: 'publish' +} +/** + * Removes an asset from an existing Variant's assets. The asset to remove must be specified using either `assetId` or `assetKey`. + * + */ +export interface VariantRemoveAssetAction extends IVariantUpdateAction { + readonly action: 'removeAsset' + /** + * Whether only the staged Asset is removed. If `false`, both the current and staged Asset is removed. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to remove. + * + * + */ + readonly assetId?: string + /** + * The `key` of the Asset to remove. + * + * + */ + readonly assetKey?: string +} +/** + * Removes a Variant's image. + * + */ +export interface VariantRemoveImageAction extends IVariantUpdateAction { + readonly action: 'removeImage' + /** + * The URL of the image to remove. + * + * + */ + readonly imageUrl: string + /** + * Whether only the staged image is removed. If `false`, both the current and staged image is removed. + * + * + */ + readonly staged?: boolean +} +/** + * Removes all staged changes from the Variant, only the current data remains. + * Generates the [VariantStagedChangesRemoved](ctp:api:type:VariantStagedChangesRemovedMessage) Message. + * + */ +export interface VariantRemoveStagedChangesAction extends IVariantUpdateAction { + readonly action: 'removeStagedChanges' +} +/** + * Sets or removes a Custom Field on an existing Asset of a Variant. The Asset to update must be specified using either `assetId` or `assetKey`. + * + */ +export interface VariantSetAssetCustomFieldAction extends IVariantUpdateAction { + readonly action: 'setAssetCustomField' + /** + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to update. + * + * + */ + readonly assetId?: string + /** + * The `key` of the Asset to update. + * + * + */ + readonly assetKey?: string + /** + * Name of the [Custom Field](/../api/projects/custom-fields). + * + * + */ + readonly name: string + /** + * If `value` is absent or `null`, this field will be removed if it exists. + * Removing a field that does not exist returns an [InvalidOperation](ctp:api:type:InvalidOperationError) error. + * If `value` is provided, it is set for the field defined by `name`. + * + * + */ + readonly value?: any +} +/** + * Sets or removes the Custom Type on an existing Asset of a Variant. The Asset to update must be specified using either `assetId` or `assetKey`. + * + */ +export interface VariantSetAssetCustomTypeAction extends IVariantUpdateAction { + readonly action: 'setAssetCustomType' + /** + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to update. + * + * + */ + readonly assetId?: string + /** + * The `key` of the Asset to update. + * + * + */ + readonly assetKey?: string + /** + * Defines the [Type](ctp:api:type:Type) that extends the Asset with [Custom Fields](/../api/projects/custom-fields). + * If absent, any existing Type and Custom Fields are removed from the Asset. + * + * + */ + readonly type?: TypeResourceIdentifier + /** + * Sets the [Custom Fields](/../api/projects/custom-fields) fields for the Asset. + * + * + */ + readonly fields?: FieldContainer +} +/** + * Sets the description of an existing Asset on a Variant. The Asset to update must be specified using either `assetId` or `assetKey`. + * + */ +export interface VariantSetAssetDescriptionAction extends IVariantUpdateAction { + readonly action: 'setAssetDescription' + /** + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to update. + * + * + */ + readonly assetId?: string + /** + * The `key` of the Asset to update. + * + * + */ + readonly assetKey?: string + /** + * Value to set. If empty, any existing value will be removed. + * + * + */ + readonly description?: LocalizedString +} +/** + * Sets the key of an existing Asset on a Variant. + * + */ +export interface VariantSetAssetKeyAction extends IVariantUpdateAction { + readonly action: 'setAssetKey' + /** + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to update. + * + * + */ + readonly assetId: string + /** + * Value to set. If empty, any existing value will be removed. + * + * + */ + readonly assetKey?: string +} +/** + * Sets the sources of an existing Asset on a Variant. The Asset to update must be specified using either `assetId` or `assetKey`. + * + */ +export interface VariantSetAssetSourcesAction extends IVariantUpdateAction { + readonly action: 'setAssetSources' + /** + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to update. + * + * + */ + readonly assetId?: string + /** + * The `key` of the Asset to update. + * + * + */ + readonly assetKey?: string + /** + * Value to set. + * + * + */ + readonly sources: AssetSource[] +} +/** + * Sets the tags of an existing Asset on a Variant. The Asset to update must be specified using either `assetId` or `assetKey`. + * + */ +export interface VariantSetAssetTagsAction extends IVariantUpdateAction { + readonly action: 'setAssetTags' + /** + * Whether only the staged Asset is updated. If `false`, both the current and staged Asset is updated. + * + * + */ + readonly staged?: boolean + /** + * The `id` of the Asset to update. + * + * + */ + readonly assetId?: string + /** + * The `key` of the Asset to update. + * + * + */ + readonly assetKey?: string + /** + * Keywords for categorizing and organizing Assets. + * + * + */ + readonly tags?: string[] +} +/** + * Sets the assets of the Variant. Existing assets will be replaced with the new ones. + * + */ +export interface VariantSetAssetsAction extends IVariantUpdateAction { + readonly action: 'setAssets' + /** + * Assets to set for the Variant. + * + * + */ + readonly assets: AssetDraft[] + /** + * Whether only the staged assets are set. If `false`, both the current and staged assets are updated. + * + * + */ + readonly staged?: boolean +} +/** + * Set a specific Variant attribute. + * + */ +export interface VariantSetAttributeAction extends IVariantUpdateAction { + readonly action: 'setAttribute' + /** + * Name of the Attribute to set. + * + * + */ + readonly name: string + /** + * Value to set for the Attribute. If empty, any existing value will be removed. + * + * The [AttributeType](ctp:api:type:AttributeType) determines the format of the Attribute `value` to be provided: + * + * - For [Enum Type](ctp:api:type:AttributeEnumType) and [Localized Enum Type](ctp:api:type:AttributeLocalizedEnumType), use the `key` of the [Plain Enum Value](ctp:api:type:AttributePlainEnumValue) or [Localized Enum Value](ctp:api:type:AttributeLocalizedEnumValue) object or the complete object as `value`. + * - For [Localizable Text Type](ctp:api:type:AttributeLocalizableTextType), use the [LocalizedString](ctp:api:type:LocalizedString) object as `value`. + * - For [Money Type](ctp:api:type:AttributeMoneyType) Attributes, use the [Money](ctp:api:type:Money) object as `value`. + * - For [Set Type](ctp:api:type:AttributeSetType) Attributes, use the entire `set` object as `value`. + * - For [Nested Type](ctp:api:type:AttributeNestedType) Attributes, use the list of values of all Attributes of the nested Variant as `value`. + * - For [Reference Type](ctp:api:type:AttributeReferenceType) Attributes, use the [Reference](ctp:api:type:Reference) object as `value`. + * + * + */ + readonly value?: any + /** + * Whether only the staged Attribute is set. If `false`, both the current and staged Attributes are set. + * + * + */ + readonly staged?: boolean +} +/** + * Sets the attributes of the Variant. Existing attributes will be replaced with the new ones. + * + */ +export interface VariantSetAttributesAction extends IVariantUpdateAction { + readonly action: 'setAttributes' + /** + * Attributes to set for the Variant according to the respective [AttributeDefinition](ctp:api:type:AttributeDefinition). + * + * + */ + readonly attributes: Attribute[] + /** + * Whether only the staged attributes are updated. If `false`, both the current and staged attributes are updated. + * + * + */ + readonly staged?: boolean +} +/** + * Sets the label of a Variant's image. + * + */ +export interface VariantSetImageLabelAction extends IVariantUpdateAction { + readonly action: 'setImageLabel' + /** + * The URL of the image to set the label. + * + * + */ + readonly imageUrl: string + /** + * Value to set. If empty, any existing value will be removed. + * + * + */ + readonly label?: string + /** + * If `true`, only the staged image is updated. If `false`, both the current and staged image is updated. + * + * + */ + readonly staged?: boolean +} +/** + * Sets the images of the Variant. Existing images will be replaced with the new ones. + * Generates the [VariantImagesSet](ctp:api:type:VariantImagesSetMessage) Message. + * + */ +export interface VariantSetImagesAction extends IVariantUpdateAction { + readonly action: 'setImages' + /** + * Images to set for the Variant. + * + * + */ + readonly images: Image[] + /** + * Whether only the staged images are updated. If `false`, both the current and staged images are updated. + * + * + */ + readonly staged?: boolean +} +/** + * Sets the key of the Variant. + * Generates the [VariantKeySet](ctp:api:type:VariantKeySetMessage) Message. + * + */ +export interface VariantSetKeyAction extends IVariantUpdateAction { + readonly action: 'setKey' + /** + * Value to set. Must be unique. + * + * + */ + readonly key?: string +} +/** + * Sets the SKU of the Variant. + * SKU cannot be changed or removed if it is associated with an [InventoryEntry](ctp:api:type:InventoryEntry). + * + */ +export interface VariantSetSkuAction extends IVariantUpdateAction { + readonly action: 'setSku' + /** + * Value to set. Must be unique. + * + * + */ + readonly sku?: string + /** + * Whether only the staged `sku` is updated. If `false`, both the current and staged `sku` are updated. + * + * + */ + readonly staged?: boolean +} +/** + * Unpublishes the Variant by setting the `published` flag to `false`. + * Generates the [VariantUnpublished](ctp:api:type:VariantUnpublishedMessage) Message. + * + */ +export interface VariantUnpublishAction extends IVariantUpdateAction { + readonly action: 'unpublish' +} diff --git a/src/lib/types/models/warning.ts b/src/lib/types/models/warning.ts index c7bbdad82b..da1f31276f 100644 --- a/src/lib/types/models/warning.ts +++ b/src/lib/types/models/warning.ts @@ -7,7 +7,11 @@ /** * Represents a warning related to the returned response. */ -export type WarningObject = ImageProcessingOngoingWarning +export type WarningObject = + | CannotChangeReservationExpiryWarning + | CannotCreateReservationWarning + | CannotUpdateReservationWarning + | ImageProcessingOngoingWarning export interface IWarningObject { /** * Identifier for the type of warning. @@ -23,7 +27,114 @@ export interface IWarningObject { readonly message: string } /** - * Contained in responses to an [Upload Product image](/projects/products#upload-product-image) or an [Upload Product Tailoring image](/projects/product-tailoring#upload-product-tailoring-image) request with response status code `202 Accepted`. + * Contained in responses to a [Cart](/projects/carts) update operation. + * Indicates that a `ReserveOnCart` [Reservation](ctp:api:type:Reservation) was found for a Line Item but its + * expiration date and time cannot be changed using the [Set Reservation Expiration In Minutes](/projects/carts#set-reservation-expiration-in-minutes) update action. + * + */ +export interface CannotChangeReservationExpiryWarning extends IWarningObject { + readonly code: 'CannotChangeReservationExpiry' + /** + * `"The reservation expiration for line item $lineItemId cannot be changed."` + * + * + */ + readonly message: string + /** + * The ID of the Line Item. + * + * + */ + readonly lineItemId: string +} +/** + * Contained in responses to a [Cart](/projects/carts) operation. Indicates that a reservation could not be created for the specified Product. + * + */ +export interface CannotCreateReservationWarning extends IWarningObject { + readonly code: 'CannotCreateReservation' + /** + * `"Failed to create a reservation for product $productId (SKU: $sku, Supply Channel: $supplyChannel) with quantity $quantity."` + * + * + */ + readonly message: string + /** + * The ID of the Product for which the reservation could not be created. + * + * + */ + readonly productId: string + /** + * The SKU of the Product Variant for which the reservation could not be created. + * + * + */ + readonly sku?: string + /** + * The ID of the Supply Channel for which the reservation could not be created. + * + * + */ + readonly supplyChannel?: string + /** + * The quantity for which the reservation could not be created. + * + * + */ + readonly quantity: number +} +/** + * Contained in responses to a [Cart](/projects/carts) operation. Indicates that the reservation for a Line Item could not be updated to the requested quantity. The existing reserved amount remains unchanged. + * + */ +export interface CannotUpdateReservationWarning extends IWarningObject { + readonly code: 'CannotUpdateReservation' + /** + * `"Failed to update the reservation for line item $lineItemId (Product ID: $productId, SKU: $sku, Supply Channel: $supplyChannel) to a quantity of $requestedQuantity. The reserved amount is still $reservedQuantity."` + * + * + */ + readonly message: string + /** + * The ID of the Line Item. + * + * + */ + readonly lineItemId: string + /** + * The quantity that was requested for the Line Item. + * + * + */ + readonly requestedQuantity: number + /** + * The quantity that remains reserved for the Line Item. + * + * + */ + readonly reservedQuantity: number + /** + * The ID of the Product associated with the Line Item. + * + * + */ + readonly productId: string + /** + * The SKU of the Product Variant associated with the Line Item. + * + * + */ + readonly sku?: string + /** + * The ID of the Supply Channel associated with the reservation. + * + * + */ + readonly supplyChannel?: string +} +/** + * Contained in responses to an [Upload Product image](/projects/products#upload-product-image), [Upload Variant image](/projects/variants#upload-variant-image) (BETA), or an [Upload Product Tailoring image](/projects/product-tailoring#upload-product-tailoring-image) request with response status code `202 Accepted`. * Indicates that the API is still creating the remaining sizes of the uploaded image. They will be available on the Content Delivery Network (CDN) soon. * */ diff --git a/src/lib/types/models/zone.ts b/src/lib/types/models/zone.ts index a75d6d0df0..4fed380510 100644 --- a/src/lib/types/models/zone.ts +++ b/src/lib/types/models/zone.ts @@ -106,13 +106,13 @@ export interface ZoneDraft { */ export interface ZonePagedQueryResponse { /** - * Number of [results requested](/../api/general-concepts#limit). + * Number of [results requested](/api/general-concepts#limit). * * */ readonly limit: number /** - * Number of [elements skipped](/../api/general-concepts#offset). + * Number of [elements skipped](/api/general-concepts#offset). * * */ @@ -125,10 +125,10 @@ export interface ZonePagedQueryResponse { readonly count: number /** * Total number of results matching the query. - * This number is an estimation that is not [strongly consistent](/../api/general-concepts#strong-consistency). + * This number is an estimation that is not [strongly consistent](/api/general-concepts#strong-consistency). * This field is returned by default. * For improved performance, calculating this field can be deactivated by using the query parameter `withTotal=false`. - * When the results are filtered with a [Query Predicate](/../api/predicates/query), `total` is subject to a [limit](/../api/limits#queries). + * When the results are filtered with a [Query Predicate](/api/predicates/query), `total` is subject to a [limit](/api/limits#queries). * * */ @@ -153,14 +153,14 @@ export interface ZoneReference extends IReference { */ readonly id: string /** - * Contains the representation of the expanded Zone. Only present in responses to requests with [Reference Expansion](/../api/general-concepts#reference-expansion) for Zones. + * Contains the representation of the expanded Zone. Only present in responses to requests with [Reference Expansion](/api/general-concepts#reference-expansion) for Zones. * * */ readonly obj?: Zone } /** - * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Zone](ctp:api:type:Zone). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](/../api/errors#invalidjsoninput) error is returned. + * [ResourceIdentifier](ctp:api:type:ResourceIdentifier) to a [Zone](ctp:api:type:Zone). Either `id` or `key` is required. If both are set, an [InvalidJsonInput](ctp:api:type:InvalidJsonInputError) error is returned. * */ export interface ZoneResourceIdentifier extends IResourceIdentifier { @@ -194,11 +194,7 @@ export interface ZoneUpdate { readonly actions: ZoneUpdateAction[] } export type ZoneUpdateAction = - | ZoneAddLocationAction - | ZoneChangeNameAction - | ZoneRemoveLocationAction - | ZoneSetDescriptionAction - | ZoneSetKeyAction + ZoneAddLocationAction | ZoneChangeNameAction | ZoneRemoveLocationAction | ZoneSetDescriptionAction | ZoneSetKeyAction export interface IZoneUpdateAction { /** *