From 6fd24bb45efc60133f809dd0654c5b46184ca253 Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Sun, 7 Jun 2026 20:58:11 +0300 Subject: [PATCH 1/6] Add Query.globalSearch --- package-lock.json | 130 ++++++++-------- package.json | 2 +- packages/api/src/resolvers/queries/index.ts | 2 + .../resolvers/queries/search/globalSearch.ts | 145 ++++++++++++++++++ .../type/global-search-result-types.ts | 21 +++ packages/api/src/resolvers/type/index.ts | 2 + packages/api/src/schema/inputTypes.ts | 5 + packages/api/src/schema/query.ts | 10 ++ packages/api/src/schema/types/search.ts | 35 +++++ 9 files changed, 286 insertions(+), 66 deletions(-) create mode 100644 packages/api/src/resolvers/queries/search/globalSearch.ts create mode 100644 packages/api/src/resolvers/type/global-search-result-types.ts diff --git a/package-lock.json b/package-lock.json index 4ad82de9f9..8725190b7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -62,7 +62,7 @@ "prettier": "^3.7.4", "typedoc": "^0.28.15", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.60.1" }, "engines": { "node": ">=22.0.0", @@ -4154,17 +4154,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz", - "integrity": "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.1.tgz", + "integrity": "sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/type-utils": "8.59.0", - "@typescript-eslint/utils": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/type-utils": "8.60.1", + "@typescript-eslint/utils": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -4177,7 +4177,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.59.0", + "@typescript-eslint/parser": "^8.60.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -4193,16 +4193,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", - "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.1.tgz", + "integrity": "sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "debug": "^4.4.3" }, "engines": { @@ -4218,14 +4218,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.0.tgz", - "integrity": "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.1.tgz", + "integrity": "sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.0", - "@typescript-eslint/types": "^8.59.0", + "@typescript-eslint/tsconfig-utils": "^8.60.1", + "@typescript-eslint/types": "^8.60.1", "debug": "^4.4.3" }, "engines": { @@ -4240,14 +4240,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz", - "integrity": "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.1.tgz", + "integrity": "sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0" + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4258,9 +4258,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz", - "integrity": "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz", + "integrity": "sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==", "dev": true, "license": "MIT", "engines": { @@ -4275,15 +4275,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz", - "integrity": "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.1.tgz", + "integrity": "sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/utils": "8.59.0", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -4300,9 +4300,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.0.tgz", - "integrity": "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", + "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", "dev": true, "license": "MIT", "engines": { @@ -4314,16 +4314,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz", - "integrity": "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.1.tgz", + "integrity": "sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.59.0", - "@typescript-eslint/tsconfig-utils": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/visitor-keys": "8.59.0", + "@typescript-eslint/project-service": "8.60.1", + "@typescript-eslint/tsconfig-utils": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/visitor-keys": "8.60.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -4342,16 +4342,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.0.tgz", - "integrity": "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.1.tgz", + "integrity": "sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.0", - "@typescript-eslint/types": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0" + "@typescript-eslint/scope-manager": "8.60.1", + "@typescript-eslint/types": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4366,13 +4366,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz", - "integrity": "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.1.tgz", + "integrity": "sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/types": "8.60.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -16232,9 +16232,9 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { @@ -16667,16 +16667,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.59.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.0.tgz", - "integrity": "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==", + "version": "8.60.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.1.tgz", + "integrity": "sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.59.0", - "@typescript-eslint/parser": "8.59.0", - "@typescript-eslint/typescript-estree": "8.59.0", - "@typescript-eslint/utils": "8.59.0" + "@typescript-eslint/eslint-plugin": "8.60.1", + "@typescript-eslint/parser": "8.60.1", + "@typescript-eslint/typescript-estree": "8.60.1", + "@typescript-eslint/utils": "8.60.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index a204b665ac..63c77e6d2d 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,7 @@ "prettier": "^3.7.4", "typedoc": "^0.28.15", "typescript": "^5.9.3", - "typescript-eslint": "^8.50.0" + "typescript-eslint": "^8.60.1" }, "trustedDependencies": [ "@mongodb-js/zstd" diff --git a/packages/api/src/resolvers/queries/index.ts b/packages/api/src/resolvers/queries/index.ts index a76d01c9c0..6c4ff76152 100755 --- a/packages/api/src/resolvers/queries/index.ts +++ b/packages/api/src/resolvers/queries/index.ts @@ -45,6 +45,7 @@ import productsCount from './products/productsCount.ts'; import quotation from './quotations/quotation.ts'; import quotations from './quotations/quotations.ts'; import quotationsCount from './quotations/quotationsCount.ts'; +import globalSearch from './search/globalSearch.ts'; import searchAssortments from './filters/searchAssortments.ts'; import searchProducts from './filters/searchProducts.ts'; import shopInfo from './shopInfo.ts'; @@ -131,6 +132,7 @@ export default { quotation: acl(actions.viewQuotation)(quotation), quotations: acl(actions.viewQuotations)(quotations), quotationsCount: acl(actions.viewQuotations)(quotationsCount), + globalSearch: acl(actions.search)(globalSearch), searchProducts: acl(actions.search)(searchProducts), searchAssortments: acl(actions.search)(searchAssortments), workQueue: acl(actions.viewWorkQueue)(workQueue), diff --git a/packages/api/src/resolvers/queries/search/globalSearch.ts b/packages/api/src/resolvers/queries/search/globalSearch.ts new file mode 100644 index 0000000000..735ac9b53b --- /dev/null +++ b/packages/api/src/resolvers/queries/search/globalSearch.ts @@ -0,0 +1,145 @@ +import { log } from '@unchainedshop/logger'; +import { checkAction } from '../../../acl.ts'; +import { actions } from '../../../roles/index.ts'; +import type { Context } from '../../../context.ts'; + +type SearchableEntity = + | 'PRODUCT' + | 'USER' + | 'ORDER' + | 'ASSORTMENT' + | 'FILTER' + | 'ENROLLMENT' + | 'QUOTATION' + | 'WORK'; + +interface TypeLimitInput { + type: SearchableEntity; + limit: number; +} + +const ALL_TYPES: SearchableEntity[] = [ + 'PRODUCT', + 'USER', + 'ORDER', + 'ASSORTMENT', + 'FILTER', + 'ENROLLMENT', + 'QUOTATION', + 'WORK', +]; + +const DEFAULT_LIMIT = 5; + +const typeActionMap: Record = { + PRODUCT: actions.viewProducts, + USER: actions.viewUsers, + ORDER: actions.viewOrders, + ASSORTMENT: actions.viewAssortments, + FILTER: actions.viewFilters, + ENROLLMENT: actions.viewEnrollments, + QUOTATION: actions.viewQuotations, + WORK: actions.viewWorkQueue, +}; + +function getLimitForType( + type: SearchableEntity, + defaultLimit: number, + typeLimits?: TypeLimitInput[], +): number { + return typeLimits?.find((tl) => tl.type === type)?.limit ?? defaultLimit; +} + +async function searchType( + type: SearchableEntity, + queryString: string, + limit: number, + modules: Context['modules'], +): Promise { + switch (type) { + case 'PRODUCT': + return modules.products.findProducts({ queryString, limit, offset: 0 }); + case 'USER': + return modules.users.findUsers({ queryString, limit, offset: 0 }); + case 'ORDER': + return modules.orders.findOrders({ queryString, limit, offset: 0 }); + case 'ASSORTMENT': + return modules.assortments.findAssortments({ queryString, limit, offset: 0 }); + case 'FILTER': + return modules.filters.findFilters({ queryString, limit, offset: 0 }); + case 'ENROLLMENT': + return modules.enrollments.findEnrollments({ queryString, limit, offset: 0 }); + case 'QUOTATION': + return modules.quotations.findQuotations({ queryString, limit, offset: 0 }); + case 'WORK': + return modules.worker.findWorkQueue({ queryString, limit, skip: 0 }); + default: + return []; + } +} + +async function countType( + type: SearchableEntity, + queryString: string, + modules: Context['modules'], +): Promise { + switch (type) { + case 'PRODUCT': + return modules.products.count({ queryString }); + case 'USER': + return modules.users.count({ queryString }); + case 'ORDER': + return modules.orders.count({ queryString }); + case 'ASSORTMENT': + return modules.assortments.count({ queryString }); + case 'FILTER': + return modules.filters.count({ queryString }); + case 'ENROLLMENT': + return modules.enrollments.count({ queryString }); + case 'QUOTATION': + return modules.quotations.count({ queryString }); + case 'WORK': + return modules.worker.count({ queryString }); + default: + return 0; + } +} + +export default async function globalSearch( + root: never, + params: { + query: string; + types?: SearchableEntity[]; + limit?: number; + typeLimits?: TypeLimitInput[]; + }, + context: Context, +) { + const { query: queryString, types, limit = DEFAULT_LIMIT, typeLimits } = params; + const { modules, userId } = context; + + if (!queryString?.trim()) return { results: [], counts: [] }; + + log(`query globalSearch: "${queryString}" types: ${types?.join(',') || 'all'}`, { userId }); + + const searchTypes = types?.length ? types : ALL_TYPES; + + await Promise.all(searchTypes.map((type) => checkAction(context, typeActionMap[type]))); + + const [resultsByType, countsByType] = await Promise.all([ + Promise.all( + searchTypes.map((type) => + searchType(type, queryString, getLimitForType(type, limit, typeLimits), modules), + ), + ), + Promise.all(searchTypes.map((type) => countType(type, queryString, modules))), + ]); + + const results = resultsByType.flat(); + const counts = searchTypes.map((type, i) => ({ + type, + totalCount: countsByType[i], + })); + + return { results, counts }; +} diff --git a/packages/api/src/resolvers/type/global-search-result-types.ts b/packages/api/src/resolvers/type/global-search-result-types.ts new file mode 100644 index 0000000000..1b830829ec --- /dev/null +++ b/packages/api/src/resolvers/type/global-search-result-types.ts @@ -0,0 +1,21 @@ +import { ProductType } from '@unchainedshop/core-products'; + +const productTypeMap: Record = { + [ProductType.CONFIGURABLE_PRODUCT]: 'ConfigurableProduct', + [ProductType.BUNDLE_PRODUCT]: 'BundleProduct', + [ProductType.PLAN_PRODUCT]: 'PlanProduct', + [ProductType.TOKENIZED_PRODUCT]: 'TokenizedProduct', +}; + +export const GlobalSearchResult = { + __resolveType(obj: Record): string { + if (obj.emails || obj.username || obj.lastLogin) return 'User'; + if (obj.orderNumber != null || obj.paymentId || obj.deliveryId) return 'Order'; + if (obj.isRoot !== undefined) return 'Assortment'; + if (obj.key && obj.options) return 'Filter'; + if (obj.billingAddress) return 'Enrollment'; + if (obj.priority != null && obj.scheduled) return 'Work'; + if (obj.quotationNumber != null || obj.expires) return 'Quotation'; + return productTypeMap[obj.type] || 'SimpleProduct'; + }, +}; diff --git a/packages/api/src/resolvers/type/index.ts b/packages/api/src/resolvers/type/index.ts index 1d66dd2109..401879bdef 100755 --- a/packages/api/src/resolvers/type/index.ts +++ b/packages/api/src/resolvers/type/index.ts @@ -16,6 +16,7 @@ import { EnrollmentDelivery } from './enrollment/enrollment-delivery-types.ts'; import { EnrollmentPayment } from './enrollment/enrollment-payment-types.ts'; import { EnrollmentPeriod } from './enrollment/enrollment-period-types.ts'; import { EnrollmentPlan } from './enrollment/enrollment-plan-tyes.ts'; +import { GlobalSearchResult } from './global-search-result-types.ts'; import { Filter } from './filter/filter-types.ts'; import { FilterOption } from './filter/filter-option-types.ts'; import { Language } from './language-types.ts'; @@ -92,6 +93,7 @@ const types = { EnrollmentPeriod, EnrollmentPlan, Filter, + GlobalSearchResult, FilterOption, Language, LoadedFilter, diff --git a/packages/api/src/schema/inputTypes.ts b/packages/api/src/schema/inputTypes.ts index e2215a0d83..af6700577e 100644 --- a/packages/api/src/schema/inputTypes.ts +++ b/packages/api/src/schema/inputTypes.ts @@ -262,5 +262,10 @@ export default [ start: DateTime end: DateTime } + + input GlobalSearchTypeLimitInput { + type: SearchableEntity! + limit: Int! + } `, ]; diff --git a/packages/api/src/schema/query.ts b/packages/api/src/schema/query.ts index 4699fd9ed8..3ac17e99ec 100644 --- a/packages/api/src/schema/query.ts +++ b/packages/api/src/schema/query.ts @@ -415,6 +415,16 @@ export default [ """ enrollment(enrollmentId: ID!): Enrollment + """ + Search across multiple entity types in a single request + """ + globalSearch( + query: String! + types: [SearchableEntity!] + limit: Int = 5 + typeLimits: [GlobalSearchTypeLimitInput!] + ): GlobalSearchResponse! @cacheControl(maxAge: 30) + """ Search products """ diff --git a/packages/api/src/schema/types/search.ts b/packages/api/src/schema/types/search.ts index 539bd9263d..29ca55a296 100644 --- a/packages/api/src/schema/types/search.ts +++ b/packages/api/src/schema/types/search.ts @@ -28,5 +28,40 @@ export default [ assortmentsCount: Int! assortments(limit: Int = 10, offset: Int = 0): [Assortment!]! } + + enum SearchableEntity { + PRODUCT + USER + ORDER + ASSORTMENT + FILTER + ENROLLMENT + QUOTATION + WORK + } + + union GlobalSearchResult = + | SimpleProduct + | ConfigurableProduct + | BundleProduct + | PlanProduct + | TokenizedProduct + | User + | Order + | Assortment + | Filter + | Enrollment + | Quotation + | Work + + type GlobalSearchTypeCount { + type: SearchableEntity! + totalCount: Int! + } + + type GlobalSearchResponse @cacheControl(maxAge: 30) { + results: [GlobalSearchResult!]! + counts: [GlobalSearchTypeCount!]! + } `, ]; From 3bdcbbc7b11e2b3b8cd3f380ade79a905d70c323 Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Sun, 7 Jun 2026 22:46:40 +0300 Subject: [PATCH 2/6] Add global search feature in admin-ui --- admin-ui/src/gql/types.ts | 12527 ++++++++-------- admin-ui/src/i18n/de.json | 4 + admin-ui/src/i18n/en.json | 4 + .../src/modules/common/components/Layout.tsx | 663 +- admin-ui/src/modules/search/SearchContext.tsx | 31 + .../search/components/CommandPalette.tsx | 454 + .../search/fragments/GlobalSearchFragment.ts | 20 + .../modules/search/hooks/useGlobalSearch.ts | 158 + .../resolvers/queries/search/globalSearch.ts | 80 +- packages/api/src/schema/query.ts | 4 + 10 files changed, 7429 insertions(+), 6516 deletions(-) create mode 100644 admin-ui/src/modules/search/SearchContext.tsx create mode 100644 admin-ui/src/modules/search/components/CommandPalette.tsx create mode 100644 admin-ui/src/modules/search/fragments/GlobalSearchFragment.ts create mode 100644 admin-ui/src/modules/search/hooks/useGlobalSearch.ts diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index 960d81d4d6..055fa63d9b 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -16,8 +16,8 @@ export type MakeEmpty< export type Incremental = | T | { - [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; - }; + [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; + }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: { input: string; output: string }; @@ -6610,140 +6610,140 @@ export type IAssortmentProductsQuery = { sortKey: number; tags?: Array | null; product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + }; }> | null; } | null; }; @@ -7032,126 +7032,126 @@ export type IOrdersWithItemsQuery = { }; discounted?: Array< | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } > | null; }> | null; payment?: - | { + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | null; contact?: { telNumber?: string | null; emailAddress?: string | null; @@ -7178,393 +7178,393 @@ export type IOrdersWithItemsQuery = { regionCode?: string | null; } | null; delivery?: + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + activePickUpLocation?: { + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + } | null; + provider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; + label?: string | null; + version?: string | null; } | null; - provider?: + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + discounted?: Array< | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } - | null; - fee?: { + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + provider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { isTaxable: boolean; isNetPrice: boolean; amount: number; currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { + }; + discounted?: Array< + | { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { + orderDiscount: { _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | null; - total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; - items?: Array<{ - _id: string; - quantity: number; - product: - | { - _id: string; - texts?: { + } + | { _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | null; + total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; + items?: Array<{ + _id: string; + quantity: number; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; unitPrice?: { amount: number; isTaxable: boolean; @@ -7821,50 +7821,50 @@ export type ICreateDeliveryProviderMutationVariables = Exact<{ export type ICreateDeliveryProviderMutation = { createDeliveryProvider: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + }>; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + }; }; export type IDeliveryInterfacesQueryVariables = Exact<{ @@ -7885,114 +7885,114 @@ export type IDeliveryProviderQueryVariables = Exact<{ export type IDeliveryProviderQuery = { deliveryProvider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + }>; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; +}; + +export type IDeliveryProvidersTypeQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type IDeliveryProvidersTypeQuery = { + deliveryProviderType?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; +}; + +export type IDeliveryProvidersQueryVariables = Exact<{ + type?: InputMaybe; +}>; + +export type IDeliveryProvidersQuery = { + deliveryProvidersCount: number; + deliveryProviders: Array< | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; } | null; - } - | null; -}; - -export type IDeliveryProvidersTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IDeliveryProvidersTypeQuery = { - deliveryProviderType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IDeliveryProvidersQueryVariables = Exact<{ - type?: InputMaybe; -}>; - -export type IDeliveryProvidersQuery = { - deliveryProvidersCount: number; - deliveryProviders: Array< - | { + }>; + interface?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } + label?: string | null; + version?: string | null; + } | null; + } | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } + label?: string | null; + version?: string | null; + } | null; + } >; }; @@ -8011,50 +8011,50 @@ export type IUpdateDeliveryProviderMutationVariables = Exact<{ export type IUpdateDeliveryProviderMutation = { updateDeliveryProvider: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + }>; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + }; }; export type IEnrollmentDetailFragment = { @@ -8087,43 +8087,43 @@ export type IEnrollmentDetailFragment = { } | null; delivery?: { provider?: - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | null; + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | null; } | null; payment?: { provider?: { @@ -8245,43 +8245,43 @@ export type IEnrollmentQuery = { } | null; delivery?: { provider?: - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | null; + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | null; } | null; payment?: { provider?: { @@ -8849,126 +8849,126 @@ export type IOrderDetailFragment = { }; discounted?: Array< | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } > | null; }> | null; payment?: - | { + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | null; contact?: { telNumber?: string | null; emailAddress?: string | null } | null; country?: { _id: string; @@ -8988,393 +8988,393 @@ export type IOrderDetailFragment = { regionCode?: string | null; } | null; delivery?: + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + activePickUpLocation?: { + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + } | null; + provider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; + label?: string | null; + version?: string | null; } | null; - provider?: + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + discounted?: Array< | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } - | null; - fee?: { + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + provider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { isTaxable: boolean; isNetPrice: boolean; amount: number; currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { + }; + discounted?: Array< + | { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { + orderDiscount: { _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { + orderDiscount: { _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | null; + } + > | null; + }; + }> | null; + } + | null; total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; items?: Array<{ _id: string; quantity: number; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; unitPrice?: { amount: number; isTaxable: boolean; @@ -9483,126 +9483,126 @@ export type IOrderQuery = { }; discounted?: Array< | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { + _id: string; + orderDiscount: { _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - } + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } > | null; }> | null; payment?: - | { + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | null; contact?: { telNumber?: string | null; emailAddress?: string | null; @@ -9629,418 +9629,418 @@ export type IOrderQuery = { regionCode?: string | null; } | null; delivery?: + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + activePickUpLocation?: { + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + } | null; + provider?: | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; } | null; - provider?: + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + discounted?: Array< | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } - | null; - fee?: { + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + provider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { isTaxable: boolean; isNetPrice: boolean; amount: number; currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { + }; + discounted?: Array< + | { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { + orderDiscount: { _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } | { + _id: string; + orderDiscount: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { + orderDiscount: { _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | null; + } + > | null; + }; + }> | null; + } + | null; total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; items?: Array<{ _id: string; quantity: number; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - unitPrice?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - total?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - }> | null; - } | null; -}; - -export type IOrdersQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - includeCarts?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - paymentProviderIds?: InputMaybe>; - deliveryProviderIds?: InputMaybe>; - dateRange?: InputMaybe; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + unitPrice?: { + amount: number; + isTaxable: boolean; + isNetPrice: boolean; + currencyCode: string; + } | null; + total?: { + amount: number; + isTaxable: boolean; + isNetPrice: boolean; + currencyCode: string; + } | null; + }> | null; + } | null; +}; + +export type IOrdersQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + includeCarts?: InputMaybe; + queryString?: InputMaybe; + sort?: InputMaybe>; + paymentProviderIds?: InputMaybe>; + deliveryProviderIds?: InputMaybe>; + dateRange?: InputMaybe; status?: InputMaybe>; }>; @@ -10305,7 +10305,135 @@ export type IProductReviewDetailFragment = { avatar?: { _id: string; url?: string | null } | null; }; product: - | { + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; +}; + +export type IProductReviewDetailFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IAddProductReviewVoteMutationVariables = Exact<{ + productReviewId: Scalars['ID']['input']; + type: IProductReviewVoteType; + meta?: InputMaybe; + forceLocale?: InputMaybe; +}>; + +export type IAddProductReviewVoteMutation = { + addProductReviewVote: { _id: string }; +}; + +export type ICreateProductReviewMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + productReview: IProductReviewInput; + forceLocale?: InputMaybe; +}>; + +export type ICreateProductReviewMutation = { + createProductReview: { _id: string }; +}; + +export type IProductReviewByProductQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + sort?: InputMaybe>; + forceLocale?: InputMaybe; +}>; + +export type IProductReviewByProductQuery = { + product?: + | { + _id: string; + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { _id: string; texts?: { _id: string; @@ -10317,7 +10445,7 @@ export type IProductReviewDetailFragment = { file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; texts?: { _id: string; @@ -10329,7 +10457,7 @@ export type IProductReviewDetailFragment = { file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; texts?: { _id: string; @@ -10341,7 +10469,7 @@ export type IProductReviewDetailFragment = { file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; texts?: { _id: string; @@ -10353,7 +10481,7 @@ export type IProductReviewDetailFragment = { file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; texts?: { _id: string; @@ -10365,536 +10493,102 @@ export type IProductReviewDetailFragment = { file?: { _id: string; url?: string | null } | null; }>; }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; -}; - -export type IProductReviewDetailFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IAddProductReviewVoteMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; - type: IProductReviewVoteType; - meta?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IAddProductReviewVoteMutation = { - addProductReviewVote: { _id: string }; -}; - -export type ICreateProductReviewMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - productReview: IProductReviewInput; - forceLocale?: InputMaybe; -}>; - -export type ICreateProductReviewMutation = { - createProductReview: { _id: string }; -}; - -export type IProductReviewByProductQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IProductReviewByProductQuery = { - product?: - | { + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | { + _id: string; + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { _id: string; - reviewsCount: number; - reviews: Array<{ + texts?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - reviewsCount: number; - reviews: Array<{ + texts?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - reviewsCount: number; - reviews: Array<{ + texts?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - reviewsCount: number; - reviews: Array<{ + texts?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - reviewsCount: number; - reviews: Array<{ + texts?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | null; -}; - -export type IRemoveProductReviewMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; -}>; - -export type IRemoveProductReviewMutation = { - removeProductReview: { _id: string }; -}; - -export type IRemoveProductReviewVoteMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; - type: IProductReviewVoteType; - forceLocale?: InputMaybe; -}>; - -export type IRemoveProductReviewVoteMutation = { - removeProductReviewVote: { _id: string }; -}; - -export type IUserProductReviewsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IUserProductReviewsQuery = { - user?: { + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | { _id: string; reviewsCount: number; reviews: Array<{ @@ -10908,141 +10602,6 @@ export type IUserProductReviewsQuery = { upVote?: number | null; downVote?: number | null; voteReport?: number | null; - product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; author: { _id: string; username?: string | null; @@ -11057,666 +10616,1107 @@ export type IUserProductReviewsQuery = { } | null; avatar?: { _id: string; url?: string | null } | null; }; + product: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; }>; - } | null; -}; - -export type IProductAssignmentFragment = { - _id: string; - vectors?: Array<{ + } + | { _id: string; - option?: { + reviewsCount: number; + reviews: Array<{ _id: string; - value?: string | null; - texts?: { + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - } | null; - variation?: { - _id: string; - key?: string | null; - texts?: { _id: string; locale: any; title?: string | null } | null; - } | null; - }> | null; - product?: - | { + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { _id: string; texts?: { _id: string; title?: string | null; - slug?: string | null; subtitle?: string | null; } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - | { + | { _id: string; texts?: { _id: string; title?: string | null; - slug?: string | null; subtitle?: string | null; } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - | { + | { _id: string; texts?: { _id: string; title?: string | null; - slug?: string | null; subtitle?: string | null; } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - | { + | { _id: string; texts?: { _id: string; title?: string | null; - slug?: string | null; subtitle?: string | null; } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - | { + | { _id: string; texts?: { _id: string; title?: string | null; - slug?: string | null; subtitle?: string | null; } | null; - } - | null; -}; - -export type IProductAssignmentFragmentVariables = Exact<{ - [key: string]: never; -}>; - -type IProductBriefFragment_BundleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | { _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_ConfigurableProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_PlanProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_SimpleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_TokenizedProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -export type IProductBriefFragment = - | IProductBriefFragment_BundleProduct - | IProductBriefFragment_ConfigurableProduct - | IProductBriefFragment_PlanProduct - | IProductBriefFragment_SimpleProduct - | IProductBriefFragment_TokenizedProduct; - -export type IProductBriefFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductCatalogPriceFragment = { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - minQuantity?: number | null; - country: { - _id: string; - isoCode?: string | null; - name?: string | null; - flagEmoji?: string | null; - }; - currency: { _id: string; isoCode: string; isActive?: boolean | null }; -}; - -export type IProductCatalogPriceFragmentVariables = Exact<{ - [key: string]: never; -}>; - -type IProductDetailFragment_BundleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { _id: string; - media: Array<{ + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + } | null; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - >; -}; - -type IProductDetailFragment_ConfigurableProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | null; }; -type IProductDetailFragment_PlanProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ +export type IRemoveProductReviewMutationVariables = Exact<{ + productReviewId: Scalars['ID']['input']; +}>; + +export type IRemoveProductReviewMutation = { + removeProductReview: { _id: string }; +}; + +export type IRemoveProductReviewVoteMutationVariables = Exact<{ + productReviewId: Scalars['ID']['input']; + type: IProductReviewVoteType; + forceLocale?: InputMaybe; +}>; + +export type IRemoveProductReviewVoteMutation = { + removeProductReviewVote: { _id: string }; +}; + +export type IUserProductReviewsQueryVariables = Exact<{ + userId: Scalars['ID']['input']; + limit?: InputMaybe; + offset?: InputMaybe; + sort?: InputMaybe>; + forceLocale?: InputMaybe; +}>; + +export type IUserProductReviewsQuery = { + user?: { _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + product: + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_SimpleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - >; -}; - -type IProductDetailFragment_TokenizedProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { + }; + author: { _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } | null; }; -export type IProductDetailFragment = - | IProductDetailFragment_BundleProduct - | IProductDetailFragment_ConfigurableProduct - | IProductDetailFragment_PlanProduct - | IProductDetailFragment_SimpleProduct - | IProductDetailFragment_TokenizedProduct; - -export type IProductDetailFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductDimensionFragment = { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; +export type IProductAssignmentFragment = { + _id: string; + vectors?: Array<{ + _id: string; + option?: { + _id: string; + value?: string | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + } | null; + variation?: { + _id: string; + key?: string | null; + texts?: { _id: string; locale: any; title?: string | null } | null; + } | null; + }> | null; + product?: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | null; }; -export type IProductDimensionFragmentVariables = Exact<{ +export type IProductAssignmentFragmentVariables = Exact<{ [key: string]: never; }>; -export type IProductMediaFragment = { +type IProductBriefFragment_BundleProduct = { _id: string; + sequence: number; + status: IProductStatus; tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; + updated?: any | null; + published?: any | null; + proxies: Array< + { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } + >; texts?: { _id: string; - locale: any; + slug?: string | null; title?: string | null; subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; }; -export type IProductMediaFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductMediaTextsFragment = { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; -}; - -export type IProductMediaTextsFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductPlanConfigurationFragment = { - usageCalculationType: IProductPlanUsageCalculationType; - billingInterval: IProductPlanConfigurationInterval; - trialInterval?: IProductPlanConfigurationInterval | null; - trialIntervalCount?: number | null; - billingIntervalCount?: number | null; -}; - -export type IProductPlanConfigurationFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductTextsFragment = { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; -}; - -export type IProductTextsFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductVariationFragment = { +type IProductBriefFragment_ConfigurableProduct = { _id: string; - type?: IProductVariationType | null; - key?: string | null; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; texts?: { _id: string; - locale: any; + slug?: string | null; title?: string | null; subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; } | null; - options?: Array<{ + media: Array<{ _id: string; - value?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }> | null; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; }; -export type IProductVariationFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type ITokenFragment = { +type IProductBriefFragment_PlanProduct = { _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; +}; + +type IProductBriefFragment_SimpleProduct = { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; +}; + +type IProductBriefFragment_TokenizedProduct = { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; +}; + +export type IProductBriefFragment = + | IProductBriefFragment_BundleProduct + | IProductBriefFragment_ConfigurableProduct + | IProductBriefFragment_PlanProduct + | IProductBriefFragment_SimpleProduct + | IProductBriefFragment_TokenizedProduct; + +export type IProductBriefFragmentVariables = Exact<{ [key: string]: never }>; + +export type IProductCatalogPriceFragment = { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + minQuantity?: number | null; + country: { + _id: string; + isoCode?: string | null; + name?: string | null; + flagEmoji?: string | null; + }; + currency: { _id: string; isoCode: string; isActive?: boolean | null }; +}; + +export type IProductCatalogPriceFragmentVariables = Exact<{ + [key: string]: never; +}>; + +type IProductDetailFragment_BundleProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; + +type IProductDetailFragment_ConfigurableProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; + +type IProductDetailFragment_PlanProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; + +type IProductDetailFragment_SimpleProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; + +type IProductDetailFragment_TokenizedProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; + +export type IProductDetailFragment = + | IProductDetailFragment_BundleProduct + | IProductDetailFragment_ConfigurableProduct + | IProductDetailFragment_PlanProduct + | IProductDetailFragment_SimpleProduct + | IProductDetailFragment_TokenizedProduct; + +export type IProductDetailFragmentVariables = Exact<{ [key: string]: never }>; + +export type IProductDimensionFragment = { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; +}; + +export type IProductDimensionFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductMediaFragment = { + _id: string; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; +}; + +export type IProductMediaFragmentVariables = Exact<{ [key: string]: never }>; + +export type IProductMediaTextsFragment = { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; +}; + +export type IProductMediaTextsFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductPlanConfigurationFragment = { + usageCalculationType: IProductPlanUsageCalculationType; + billingInterval: IProductPlanConfigurationInterval; + trialInterval?: IProductPlanConfigurationInterval | null; + trialIntervalCount?: number | null; + billingIntervalCount?: number | null; +}; + +export type IProductPlanConfigurationFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductTextsFragment = { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; +}; + +export type IProductTextsFragmentVariables = Exact<{ [key: string]: never }>; + +export type IProductVariationFragment = { + _id: string; + type?: IProductVariationType | null; + key?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + options?: Array<{ + _id: string; + value?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }> | null; +}; + +export type IProductVariationFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type ITokenFragment = { + _id: string; + walletAddress?: string | null; + status: ITokenExportStatus; + quantity: number; + contractAddress?: string | null; chainId?: string | null; tokenSerialNumber?: string | null; invalidatedDate?: any | null; @@ -11726,3064 +11726,3064 @@ export type ITokenFragment = { isInvalidateable: boolean; }; -export type ITokenFragmentVariables = Exact<{ [key: string]: never }>; - -export type IAddProductAssignmentMutationVariables = Exact<{ - proxyId: Scalars['ID']['input']; - productId: Scalars['ID']['input']; - vectors: Array; +export type ITokenFragmentVariables = Exact<{ [key: string]: never }>; + +export type IAddProductAssignmentMutationVariables = Exact<{ + proxyId: Scalars['ID']['input']; + productId: Scalars['ID']['input']; + vectors: Array; +}>; + +export type IAddProductAssignmentMutation = { + addProductAssignment: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IPrepareProductMediaUploadMutationVariables = Exact<{ + mediaName: Scalars['String']['input']; + productId: Scalars['ID']['input']; +}>; + +export type IPrepareProductMediaUploadMutation = { + prepareProductMediaUpload: { _id: string; putURL: string; expires: any }; +}; + +export type ICreateProductMutationVariables = Exact<{ + product: ICreateProductInput; + texts?: InputMaybe>; +}>; + +export type ICreateProductMutation = { + createProduct: + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + }; +}; + +export type ICreateProductBundleItemMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + item: ICreateProductBundleItemInput; +}>; + +export type ICreateProductBundleItemMutation = { + createProductBundleItem: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type ICreateProductVariationMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + variation: ICreateProductVariationInput; + texts?: InputMaybe>; +}>; + +export type ICreateProductVariationMutation = { + createProductVariation: { _id: string }; +}; + +export type ICreateProductVariationOptionMutationVariables = Exact<{ + productVariationId: Scalars['ID']['input']; + option: Scalars['String']['input']; + texts?: InputMaybe>; +}>; + +export type ICreateProductVariationOptionMutation = { + createProductVariationOption: { _id: string }; +}; + +export type IExportTokenMutationVariables = Exact<{ + tokenId: Scalars['ID']['input']; + quantity?: Scalars['Int']['input']; + recipientWalletAddress: Scalars['String']['input']; +}>; + +export type IExportTokenMutation = { + exportToken: { + _id: string; + walletAddress?: string | null; + status: ITokenExportStatus; + quantity: number; + contractAddress?: string | null; + chainId?: string | null; + tokenSerialNumber?: string | null; + invalidatedDate?: any | null; + expiryDate?: any | null; + ercMetadata?: any | null; + accessKey: string; + isInvalidateable: boolean; + }; +}; + +export type IProductQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductQuery = { + product?: + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | null; +}; + +export type IProductAssignmentsQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductAssignmentsQuery = { + product?: + | { _id: string } + | { + _id: string; + texts?: { + _id: string; + subtitle?: string | null; + slug?: string | null; + title?: string | null; + } | null; + variations?: Array<{ + _id: string; + key?: string | null; + texts?: { _id: string; title?: string | null } | null; + options?: Array<{ + _id: string; + value?: string | null; + texts?: { _id: string; title?: string | null } | null; + }> | null; + }> | null; + assignments: Array<{ + _id: string; + vectors?: Array<{ + _id: string; + option?: { + _id: string; + value?: string | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + } | null; + variation?: { + _id: string; + key?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + } | null; + } | null; + }> | null; + product?: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | null; + }>; + } + | { _id: string } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductBundleItemsQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; + forceLocale?: InputMaybe; +}>; + +export type IProductBundleItemsQuery = { + product?: + | { + _id: string; + bundleItems?: Array<{ + quantity: number; + product: + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + }; + }> | null; + } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductCatalogPricesQueryVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; + +export type IProductCatalogPricesQuery = { + productCatalogPrices: Array<{ + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + minQuantity?: number | null; + country: { + _id: string; + isoCode?: string | null; + name?: string | null; + flagEmoji?: string | null; + }; + currency: { _id: string; isoCode: string; isActive?: boolean | null }; + }>; +}; + +export type IProductFulfillmentSimulationQueryVariables = Exact<{ + productId?: InputMaybe; + deliveryProviderType?: InputMaybe; + quantity?: InputMaybe; + referenceDate?: InputMaybe; +}>; + +export type IProductFulfillmentSimulationQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { + _id: string; + simulatedDispatches?: Array<{ + shipping?: any | null; + earliestDelivery?: any | null; + deliveryProvider?: + | { + _id: string; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + warehousingProvider?: { + _id: string; + type?: IWarehousingProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + }> | null; + simulatedStocks?: Array<{ + quantity?: number | null; + deliveryProvider?: + | { + _id: string; + type?: IDeliveryProviderType | null; + interface?: { _id: string; label?: string | null } | null; + } + | { + _id: string; + type?: IDeliveryProviderType | null; + interface?: { _id: string; label?: string | null } | null; + } + | null; + warehousingProvider?: { + _id: string; + interface?: { _id: string; label?: string | null } | null; + } | null; + }> | null; + } + | { _id: string } + | null; +}; + +export type IProductMediaQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductMediaQuery = { + product?: + | { + _id: string; + media: Array<{ + _id: string; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }>; + } + | null; +}; + +export type IProductPlanQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductPlanQuery = { + product?: + | { _id: string } + | { _id: string } + | { + _id: string; + plan?: { + usageCalculationType: IProductPlanUsageCalculationType; + billingInterval: IProductPlanConfigurationInterval; + trialInterval?: IProductPlanConfigurationInterval | null; + trialIntervalCount?: number | null; + billingIntervalCount?: number | null; + } | null; + } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductPlanConfigurationOptionsQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductPlanConfigurationOptionsQuery = { + usageCalculationTypes?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; + configurationIntervals?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; +}; + +export type IProductReviewsQueryVariables = Exact<{ + queryString?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + sort?: InputMaybe>; + forceLocale?: InputMaybe; +}>; + +export type IProductReviewsQuery = { + productReviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; +}; + +export type IProductSupplyQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductSupplyQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { + _id: string; + dimensions?: { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; + } | null; + } + | { _id: string } + | null; +}; + +export type IProductTokenizationQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductTokenizationQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { + contractStandard?: ISmartContractStandard | null; + contractAddress?: string | null; + _id: string; + contractConfiguration?: { tokenId: string; supply: number } | null; + } + | null; +}; + +export type IProductVariationTypeQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductVariationTypeQuery = { + variationTypes?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; +}; + +export type IProductVariationsQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; + locale?: InputMaybe; +}>; + +export type IProductVariationsQuery = { + product?: + | { _id: string } + | { + _id: string; + variations?: Array<{ + _id: string; + type?: IProductVariationType | null; + key?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + options?: Array<{ + _id: string; + value?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }> | null; + }> | null; + } + | { _id: string } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductWarehousingQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductWarehousingQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { sku?: string | null; baseUnit?: string | null; _id: string } + | { _id: string } + | null; +}; + +export type IProductsQueryVariables = Exact<{ + queryString?: InputMaybe; + tags?: InputMaybe>; + slugs?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + includeDrafts?: InputMaybe; + sort?: InputMaybe>; + forceLocale?: InputMaybe; +}>; + +export type IProductsQuery = { + productsCount: number; + products: Array< + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + sku?: string | null; + baseUnit?: string | null; + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + dimensions?: { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; + } | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; + +export type IProductsCountQueryVariables = Exact<{ + queryString?: InputMaybe; + tags?: InputMaybe>; + slugs?: InputMaybe>; + includeDrafts?: InputMaybe; }>; -export type IAddProductAssignmentMutation = { - addProductAssignment: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; +export type IProductsCountQuery = { productsCount: number }; -export type IPrepareProductMediaUploadMutationVariables = Exact<{ - mediaName: Scalars['String']['input']; +export type IPublishProductMutationVariables = Exact<{ productId: Scalars['ID']['input']; }>; -export type IPrepareProductMediaUploadMutation = { - prepareProductMediaUpload: { _id: string; putURL: string; expires: any }; -}; - -export type ICreateProductMutationVariables = Exact<{ - product: ICreateProductInput; - texts?: InputMaybe>; -}>; - -export type ICreateProductMutation = { - createProduct: - | { +export type IPublishProductMutation = { + publishProduct: + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { + media: Array<{ _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - }; -}; - -export type ICreateProductBundleItemMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - item: ICreateProductBundleItemInput; -}>; - -export type ICreateProductBundleItemMutation = { - createProductBundleItem: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type ICreateProductVariationMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - variation: ICreateProductVariationInput; - texts?: InputMaybe>; -}>; - -export type ICreateProductVariationMutation = { - createProductVariation: { _id: string }; -}; - -export type ICreateProductVariationOptionMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; - option: Scalars['String']['input']; - texts?: InputMaybe>; -}>; - -export type ICreateProductVariationOptionMutation = { - createProductVariationOption: { _id: string }; -}; - -export type IExportTokenMutationVariables = Exact<{ - tokenId: Scalars['ID']['input']; - quantity?: Scalars['Int']['input']; - recipientWalletAddress: Scalars['String']['input']; -}>; - -export type IExportTokenMutation = { - exportToken: { + } + >; + } + | { _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; - }; -}; - -export type IProductQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductQuery = { - product?: - | { + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { + media: Array<{ _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { + media: Array<{ _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { + media: Array<{ _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | null; -}; - -export type IProductAssignmentsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductAssignmentsQuery = { - product?: - | { _id: string } - | { + | { _id: string; - texts?: { + media: Array<{ _id: string; - subtitle?: string | null; - slug?: string | null; - title?: string | null; - } | null; - variations?: Array<{ + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ _id: string; - key?: string | null; - texts?: { _id: string; title?: string | null } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { _id: string; title?: string | null } | null; - }> | null; - }> | null; - assignments: Array<{ + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ _id: string; - vectors?: Array<{ - _id: string; - option?: { - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - } | null; - variation?: { - _id: string; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - } | null; - } | null; - }> | null; - product?: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | null; + file?: { _id: string; url?: string | null } | null; }>; } - | { _id: string } - | { _id: string } - | { _id: string } - | null; + >; + }; }; -export type IProductBundleItemsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - forceLocale?: InputMaybe; +export type IReOrderProductMediaMutationVariables = Exact<{ + sortKeys: Array; }>; -export type IProductBundleItemsQuery = { - product?: - | { - _id: string; - bundleItems?: Array<{ - quantity: number; - product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - }> | null; - } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | null; +export type IReOrderProductMediaMutation = { + reorderProductMedia: Array<{ _id: string }>; }; -export type IProductCatalogPricesQueryVariables = Exact<{ +export type IRemoveBundleItemMutationVariables = Exact<{ productId: Scalars['ID']['input']; + index: Scalars['Int']['input']; }>; -export type IProductCatalogPricesQuery = { - productCatalogPrices: Array<{ - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - minQuantity?: number | null; - country: { - _id: string; - isoCode?: string | null; - name?: string | null; - flagEmoji?: string | null; - }; - currency: { _id: string; isoCode: string; isActive?: boolean | null }; +export type IRemoveBundleItemMutation = { + removeBundleItem: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IRemoveProductMutationVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; + +export type IRemoveProductMutation = { + removeProduct: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IRemoveProductAssignmentMutationVariables = Exact<{ + proxyId: Scalars['ID']['input']; + vectors: Array; +}>; + +export type IRemoveProductAssignmentMutation = { + removeProductAssignment: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IRemoveProductMediaMutationVariables = Exact<{ + productMediaId: Scalars['ID']['input']; +}>; + +export type IRemoveProductMediaMutation = { + removeProductMedia: { _id: string }; +}; + +export type IRemoveProductVariationMutationVariables = Exact<{ + productVariationId: Scalars['ID']['input']; +}>; + +export type IRemoveProductVariationMutation = { + removeProductVariation: { _id: string }; +}; + +export type IRemoveProductVariationOptionMutationVariables = Exact<{ + productVariationId: Scalars['ID']['input']; + productVariationOptionValue: Scalars['String']['input']; +}>; + +export type IRemoveProductVariationOptionMutation = { + removeProductVariationOption: { _id: string }; +}; + +export type ISmartContractStandardsQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type ISmartContractStandardsQuery = { + smartContractStandards?: { + options?: Array<{ value: string; label: string }> | null; + } | null; +}; + +export type ITranslatedProductMediaTextsQueryVariables = Exact<{ + productMediaId: Scalars['ID']['input']; +}>; + +export type ITranslatedProductMediaTextsQuery = { + translatedProductMediaTexts: Array<{ + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; }>; }; -export type IProductFulfillmentSimulationQueryVariables = Exact<{ - productId?: InputMaybe; - deliveryProviderType?: InputMaybe; - quantity?: InputMaybe; - referenceDate?: InputMaybe; +export type ITranslatedProductTextsQueryVariables = Exact<{ + productId: Scalars['ID']['input']; }>; -export type IProductFulfillmentSimulationQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { - _id: string; - simulatedDispatches?: Array<{ - shipping?: any | null; - earliestDelivery?: any | null; - deliveryProvider?: - | { - _id: string; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - warehousingProvider?: { - _id: string; - type?: IWarehousingProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - }> | null; - simulatedStocks?: Array<{ - quantity?: number | null; - deliveryProvider?: - | { - _id: string; - type?: IDeliveryProviderType | null; - interface?: { _id: string; label?: string | null } | null; - } - | { - _id: string; - type?: IDeliveryProviderType | null; - interface?: { _id: string; label?: string | null } | null; - } - | null; - warehousingProvider?: { - _id: string; - interface?: { _id: string; label?: string | null } | null; - } | null; - }> | null; - } - | { _id: string } - | null; +export type ITranslatedProductTextsQuery = { + translatedProductTexts: Array<{ + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + }>; }; -export type IProductMediaQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; +export type IUnpublishProductMutationVariables = Exact<{ + productId: Scalars['ID']['input']; }>; -export type IProductMediaQuery = { - product?: - | { +export type IUnpublishProductMutation = { + unpublishProduct: + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; media: Array<{ _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; + file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; + file?: { _id: string; url?: string | null } | null; }>; } - | null; -}; - -export type IProductPlanQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductPlanQuery = { - product?: - | { _id: string } - | { _id: string } - | { + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - plan?: { - usageCalculationType: IProductPlanUsageCalculationType; - billingInterval: IProductPlanConfigurationInterval; - trialInterval?: IProductPlanConfigurationInterval | null; - trialIntervalCount?: number | null; - billingIntervalCount?: number | null; - } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - | { _id: string } - | { _id: string } - | null; -}; - -export type IProductPlanConfigurationOptionsQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductPlanConfigurationOptionsQuery = { - usageCalculationTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; - configurationIntervals?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IProductReviewsQueryVariables = Exact<{ - queryString?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IProductReviewsQuery = { - productReviews: Array<{ + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { _id: string; + sequence: number; + status: IProductStatus; created?: any | null; + tags?: Array | null; updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< | { + _id: string; + media: Array<{ _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + file?: { _id: string; url?: string | null } | null; + }>; + } | { + _id: string; + media: Array<{ _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + file?: { _id: string; url?: string | null } | null; + }>; + } | { + _id: string; + media: Array<{ _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + file?: { _id: string; url?: string | null } | null; + }>; + } | { + _id: string; + media: Array<{ _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + file?: { _id: string; url?: string | null } | null; + }>; + } | { + _id: string; + media: Array<{ _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; -}; - -export type IProductSupplyQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductSupplyQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - | { _id: string } - | null; -}; - -export type IProductTokenizationQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductTokenizationQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { - contractStandard?: ISmartContractStandard | null; - contractAddress?: string | null; + | { _id: string; - contractConfiguration?: { tokenId: string; supply: number } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - | null; -}; - -export type IProductVariationTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductVariationTypeQuery = { - variationTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IProductVariationsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - locale?: InputMaybe; -}>; - -export type IProductVariationsQuery = { - product?: - | { _id: string } - | { + | { _id: string; - variations?: Array<{ + media: Array<{ _id: string; - type?: IProductVariationType | null; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }> | null; - }> | null; + file?: { _id: string; url?: string | null } | null; + }>; } - | { _id: string } - | { _id: string } - | { _id: string } - | null; -}; - -export type IProductWarehousingQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductWarehousingQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { sku?: string | null; baseUnit?: string | null; _id: string } - | { _id: string } - | null; + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + }; }; -export type IProductsQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - slugs?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - includeDrafts?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; +export type IUpdateProductMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + product: IUpdateProductInput; }>; -export type IProductsQuery = { - productsCount: number; - products: Array< - | { +export type IUpdateProductMutation = { + updateProduct?: + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { + media: Array<{ _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { - sku?: string | null; - baseUnit?: string | null; + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { + media: Array<{ _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { + media: Array<{ _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - >; -}; - -export type IProductsCountQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - slugs?: InputMaybe>; - includeDrafts?: InputMaybe; -}>; - -export type IProductsCountQuery = { productsCount: number }; - -export type IPublishProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type IPublishProductMutation = { - publishProduct: - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - }; -}; - -export type IReOrderProductMediaMutationVariables = Exact<{ - sortKeys: Array; -}>; - -export type IReOrderProductMediaMutation = { - reorderProductMedia: Array<{ _id: string }>; -}; - -export type IRemoveBundleItemMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - index: Scalars['Int']['input']; -}>; - -export type IRemoveBundleItemMutation = { - removeBundleItem: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type IRemoveProductMutation = { - removeProduct: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductAssignmentMutationVariables = Exact<{ - proxyId: Scalars['ID']['input']; - vectors: Array; -}>; - -export type IRemoveProductAssignmentMutation = { - removeProductAssignment: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductMediaMutationVariables = Exact<{ - productMediaId: Scalars['ID']['input']; -}>; - -export type IRemoveProductMediaMutation = { - removeProductMedia: { _id: string }; -}; - -export type IRemoveProductVariationMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; -}>; - -export type IRemoveProductVariationMutation = { - removeProductVariation: { _id: string }; -}; - -export type IRemoveProductVariationOptionMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; - productVariationOptionValue: Scalars['String']['input']; -}>; - -export type IRemoveProductVariationOptionMutation = { - removeProductVariationOption: { _id: string }; -}; - -export type ISmartContractStandardsQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type ISmartContractStandardsQuery = { - smartContractStandards?: { - options?: Array<{ value: string; label: string }> | null; - } | null; -}; - -export type ITranslatedProductMediaTextsQueryVariables = Exact<{ - productMediaId: Scalars['ID']['input']; -}>; - -export type ITranslatedProductMediaTextsQuery = { - translatedProductMediaTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type ITranslatedProductTextsQueryVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type ITranslatedProductTextsQuery = { - translatedProductTexts: Array<{ - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - }>; -}; - -export type IUnpublishProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; - -export type IUnpublishProductMutation = { - unpublishProduct: - | { + } + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + >; + } + | null; +}; + +export type IUpdateProductCommerceMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + commerce: IUpdateProductCommerceInput; +}>; + +export type IUpdateProductCommerceMutation = { + updateProductCommerce?: + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - }; -}; - -export type IUpdateProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - product: IUpdateProductInput; -}>; - -export type IUpdateProductMutation = { - updateProduct?: - | { + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | null; -}; - -export type IUpdateProductCommerceMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - commerce: IUpdateProductCommerceInput; -}>; - -export type IUpdateProductCommerceMutation = { - updateProductCommerce?: - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - reviews: Array<{ + } + | { + _id: string; + media: Array<{ _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + file?: { _id: string; url?: string | null } | null; }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; } - | null; + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + } + | null; }; export type IUpdateProductMediaTextsMutationVariables = Exact<{ @@ -14807,12 +14807,12 @@ export type IUpdateProductPlanMutationVariables = Exact<{ export type IUpdateProductPlanMutation = { updateProductPlan?: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | null; + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | null; }; export type IUpdateProductSupplyMutationVariables = Exact<{ @@ -14822,20 +14822,20 @@ export type IUpdateProductSupplyMutationVariables = Exact<{ export type IUpdateProductSupplyMutation = { updateProductSupply?: - | { _id: string } - | { _id: string } - | { _id: string } - | { - _id: string; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - } - | { _id: string } - | null; + | { _id: string } + | { _id: string } + | { _id: string } + | { + _id: string; + dimensions?: { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; + } | null; + } + | { _id: string } + | null; }; export type IUpdateProductTextsMutationVariables = Exact<{ @@ -14883,12 +14883,12 @@ export type IUpdateProductWarehousingMutationVariables = Exact<{ export type IUpdateProductWarehousingMutation = { updateProductWarehousing?: - | { _id: string } - | { _id: string } - | { _id: string } - | { sku?: string | null; baseUnit?: string | null; _id: string } - | { _id: string } - | null; + | { _id: string } + | { _id: string } + | { _id: string } + | { sku?: string | null; baseUnit?: string | null; _id: string } + | { _id: string } + | null; }; export type IUserTokensQueryVariables = Exact<{ @@ -14966,82 +14966,82 @@ export type IQuotationDetailFragment = { configuration?: Array<{ key: string; value: string }> | null; country?: { _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { _id: string; isoCode: string; isActive?: boolean | null } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + isoCode?: string | null; + flagEmoji?: string | null; + name?: string | null; + } | null; + currency?: { _id: string; isoCode: string; isActive?: boolean | null } | null; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; }; export type IQuotationDetailFragmentVariables = Exact<{ [key: string]: never }>; @@ -15064,76 +15064,76 @@ export type IQuotationFragment = { primaryEmail?: { verified: boolean; address: string } | null; }; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; currency?: { _id: string; contractAddress?: string | null; @@ -15170,86 +15170,86 @@ export type IMakeQuotationProposalMutation = { configuration?: Array<{ key: string; value: string }> | null; country?: { _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { + isoCode?: string | null; + flagEmoji?: string | null; + name?: string | null; + } | null; + currency?: { + _id: string; + isoCode: string; + isActive?: boolean | null; + } | null; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; }; }; @@ -15289,76 +15289,76 @@ export type IQuotationQuery = { isActive?: boolean | null; } | null; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; } | null; }; @@ -15383,82 +15383,82 @@ export type IQuotationsQuery = { rejected?: any | null; user: { _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; + username?: string | null; + name: string; + avatar?: { _id: string; url?: string | null } | null; + primaryEmail?: { verified: boolean; address: string } | null; + }; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; }; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; currency?: { _id: string; contractAddress?: string | null; @@ -15504,175 +15504,175 @@ export type IRejectQuotationMutation = { isActive?: boolean | null; } | null; product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; + }; +}; + +export type IUserQuotationsQueryVariables = Exact<{ + userId: Scalars['ID']['input']; + queryString?: InputMaybe; +}>; + +export type IUserQuotationsQuery = { + user?: { + _id: string; + quotations: Array<{ + _id: string; + status: IQuotationStatus; + created: any; + expires?: any | null; + updated?: any | null; + isExpired?: boolean | null; + quotationNumber?: string | null; + fulfilled?: any | null; + rejected?: any | null; + user: { + _id: string; + username?: string | null; + name: string; + avatar?: { _id: string; url?: string | null } | null; + primaryEmail?: { verified: boolean; address: string } | null; + }; + product: | { + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } | { + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } | { + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - }; -}; - -export type IUserQuotationsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - queryString?: InputMaybe; -}>; - -export type IUserQuotationsQuery = { - user?: { - _id: string; - quotations: Array<{ - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; }; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; currency?: { _id: string; contractAddress?: string | null; @@ -15719,76 +15719,213 @@ export type IVerifyQuotationMutation = { isActive?: boolean | null; } | null; product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; + }; +}; + +type IGlobalSearchProductFragment_BundleProduct = { + __typename: 'BundleProduct'; + _id: string; + texts?: { _id: string; title?: string | null; slug?: string | null } | null; + media: Array<{ file?: { url?: string | null } | null }>; +}; + +type IGlobalSearchProductFragment_ConfigurableProduct = { + __typename: 'ConfigurableProduct'; + _id: string; + texts?: { _id: string; title?: string | null; slug?: string | null } | null; + media: Array<{ file?: { url?: string | null } | null }>; +}; + +type IGlobalSearchProductFragment_PlanProduct = { + __typename: 'PlanProduct'; + _id: string; + texts?: { _id: string; title?: string | null; slug?: string | null } | null; + media: Array<{ file?: { url?: string | null } | null }>; +}; + +type IGlobalSearchProductFragment_SimpleProduct = { + __typename: 'SimpleProduct'; + _id: string; + texts?: { _id: string; title?: string | null; slug?: string | null } | null; + media: Array<{ file?: { url?: string | null } | null }>; +}; + +type IGlobalSearchProductFragment_TokenizedProduct = { + __typename: 'TokenizedProduct'; + _id: string; + texts?: { _id: string; title?: string | null; slug?: string | null } | null; + media: Array<{ file?: { url?: string | null } | null }>; +}; + +export type IGlobalSearchProductFragment = + | IGlobalSearchProductFragment_BundleProduct + | IGlobalSearchProductFragment_ConfigurableProduct + | IGlobalSearchProductFragment_PlanProduct + | IGlobalSearchProductFragment_SimpleProduct + | IGlobalSearchProductFragment_TokenizedProduct; + +export type IGlobalSearchProductFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IGlobalSearchQueryVariables = Exact<{ + query: Scalars['String']['input']; + types?: InputMaybe>; + limit?: InputMaybe; + includeDraftProducts?: InputMaybe; + includeInactiveAssortments?: InputMaybe; + includeGuestUsers?: InputMaybe; + includeCarts?: InputMaybe; +}>; + +export type IGlobalSearchQuery = { + globalSearch: { + counts: Array<{ type: ISearchableEntity; totalCount: number }>; + results: Array< | { + __typename: 'Assortment'; + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { + __typename: 'BundleProduct'; + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { + __typename: 'ConfigurableProduct'; + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } + | { __typename: 'Enrollment'; _id: string } + | { __typename: 'Filter'; _id: string; key?: string | null } + | { __typename: 'Order'; _id: string; orderNumber?: string | null } | { + __typename: 'PlanProduct'; + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } + | { __typename: 'Quotation'; _id: string } | { + __typename: 'SimpleProduct'; + _id: string; + texts?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } + | { + __typename: 'TokenizedProduct'; + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } + | { + __typename: 'User'; + _id: string; + username?: string | null; + name: string; + emails?: Array<{ address: string; verified: boolean }> | null; + avatar?: { url?: string | null } | null; + } + | { __typename: 'Work'; _id: string; type: IWorkType } + >; }; }; diff --git a/admin-ui/src/i18n/de.json b/admin-ui/src/i18n/de.json index 25619923da..810f830118 100644 --- a/admin-ui/src/i18n/de.json +++ b/admin-ui/src/i18n/de.json @@ -404,6 +404,9 @@ "go_back": "Zurück", "go_back_home": "Zurück zur Startseite", "go_to_login": "Zur Anmeldung", + "global_search_error": "Suche fehlgeschlagen. Bitte erneut versuchen.", + "global_search_hint": "Mindestens 2 Zeichen eingeben", + "global_search_placeholder": "Produkte, Bestellungen, Benutzer suchen...", "goodbye_simple": "Auf Wiedersehen\\!", "goodbye_user": "Auf Wiedersehen, {name}\\!", "gross_price": "Brutto", @@ -521,6 +524,7 @@ "no_orders_title": "Noch keine Bestellungen", "no_payload": "Payload", "no_result_found": "Kein Ergebnis gefunden", + "no_results_found": "Keine Ergebnisse gefunden", "no_tag": "Kein Tag", "no_variations_configured": "Noch keine Variationen konfiguriert. Bitte fügen Sie zuerst Variationen und deren Optionen im Variationen-Tab hinzu.", "non_taxable": "Nicht steuerpflichtig", diff --git a/admin-ui/src/i18n/en.json b/admin-ui/src/i18n/en.json index fc13ebf649..e22149859c 100644 --- a/admin-ui/src/i18n/en.json +++ b/admin-ui/src/i18n/en.json @@ -469,6 +469,9 @@ "go_back": "Go Back", "go_back_home": "Go back home", "go_to_login": "Go to Login", + "global_search_error": "Search failed. Please try again.", + "global_search_hint": "Type at least 2 characters to search", + "global_search_placeholder": "Search products, orders, users...", "goodbye_simple": "Goodbye!", "goodbye_user": "See you later, {name}!", "gross_price": "Gross", @@ -597,6 +600,7 @@ "no_payload": "Payload", "no_price": "N/A", "no_result_found": "No result found", + "no_results_found": "No results found", "no_retries": "No retries", "no_statistics_available": "No statistics available", "no_tag": "No Tag", diff --git a/admin-ui/src/modules/common/components/Layout.tsx b/admin-ui/src/modules/common/components/Layout.tsx index 5b68d604b0..7e31a41371 100644 --- a/admin-ui/src/modules/common/components/Layout.tsx +++ b/admin-ui/src/modules/common/components/Layout.tsx @@ -17,7 +17,7 @@ import { FolderArrowDownIcon, } from '@heroicons/react/24/outline'; import Link from 'next/link'; -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import { useIntl } from 'react-intl'; import useCurrentUser from '../../accounts/hooks/useCurrentUser'; import useShopInfo from '../hooks/useShopInfo'; @@ -50,6 +50,9 @@ const resolveIcon = (iconName?: string) => { .join('') + 'Icon'; return HeroIcons[pascalCase] || null; }; +import CommandPalette from '../../search/components/CommandPalette'; +import { SearchProvider, useSearch } from '../../search/SearchContext'; +import { MagnifyingGlassIcon } from '@heroicons/react/24/outline'; const QuotationIcon = ({ className }) => ( ( ); +const useIsMac = () => { + const [isMac, setIsMac] = useState(false); + useEffect(() => { + setIsMac(navigator.platform?.toUpperCase().includes('MAC')); + }, []); + return isMac; +}; + +const SearchButton = ({ narrowNav }: { narrowNav: boolean }) => { + const { open } = useSearch(); + const { formatMessage } = useIntl(); + const isMac = useIsMac(); + + return ( + + ); +}; + const Layout = ({ children, pageHeader = '', @@ -347,232 +386,110 @@ const Layout = ({ }); return ( - -
- -
-
-
-
- -
- -
- -
- -
-
- {!narrowNav && ( - <> +
+
- {currentUser?.avatar ? ( +
- ) : ( - - )} -
-
- {formatMessage({ - id: 'account', - defaultMessage: 'Account', - })} -
-
- {formatUsername(currentUser)} -
+
+ setHideNav(!hideNav)} + /> +
+
+ + {currentUser?.avatar ? ( + + ) : ( + + )} +
+
+ {formatMessage({ + id: 'account', + defaultMessage: 'Account', + })} +
+
+ {formatUsername(currentUser)} +
+
+ +
- - )} - {narrowNav && ( -
- - {currentUser?.avatar ? ( - - ) : ( - - )} - - -
- )} +
-
- {narrowNav ? ( -
+ +
+
+
+
- - - ) : ( -
- -
+
+ +
+ +
+ + +
+
+ {!narrowNav && ( + <> + + {currentUser?.avatar ? ( + + ) : ( + + )} +
+
+ {formatMessage({ + id: 'account', + defaultMessage: 'Account', + })} +
+
+ {formatUsername(currentUser)} +
+
+ + + + )} + {narrowNav && ( +
+ + {currentUser?.avatar ? ( + + ) : ( + + )} + + - +
-
- )} + )} +
+
+ {narrowNav ? ( + + ) : ( +
+ +
+ + + + + +
+
+ )} +
-
-
-
- - -
-
- + {formatMessage({ + id: 'open_sidebar', + defaultMessage: ' Open sidebar', })} - /> + + + + +
+
+ +
-
-
- - - - - +
+ + + + + + +
+
+

+ {pageHeader} +

+ {React.cloneElement(children)} +
-
-

- {pageHeader} -

- {React.cloneElement(children)} -
-
- + + ); }; diff --git a/admin-ui/src/modules/search/SearchContext.tsx b/admin-ui/src/modules/search/SearchContext.tsx new file mode 100644 index 0000000000..be31acbf35 --- /dev/null +++ b/admin-ui/src/modules/search/SearchContext.tsx @@ -0,0 +1,31 @@ +import React, { createContext, useContext, useState, useCallback } from 'react'; + +interface SearchContextValue { + isOpen: boolean; + open: () => void; + close: () => void; + toggle: () => void; +} + +const SearchContext = createContext({ + isOpen: false, + open: () => {}, + close: () => {}, + toggle: () => {}, +}); + +export const SearchProvider = ({ children }: { children: React.ReactNode }) => { + const [isOpen, setIsOpen] = useState(false); + + const open = useCallback(() => setIsOpen(true), []); + const close = useCallback(() => setIsOpen(false), []); + const toggle = useCallback(() => setIsOpen((prev) => !prev), []); + + return ( + + {children} + + ); +}; + +export const useSearch = () => useContext(SearchContext); diff --git a/admin-ui/src/modules/search/components/CommandPalette.tsx b/admin-ui/src/modules/search/components/CommandPalette.tsx new file mode 100644 index 0000000000..97a697fdfb --- /dev/null +++ b/admin-ui/src/modules/search/components/CommandPalette.tsx @@ -0,0 +1,454 @@ +import React, { useEffect, useState, useRef, useMemo } from 'react'; +import { useRouter } from 'next/router'; +import { useIntl } from 'react-intl'; +import { + MagnifyingGlassIcon, + CubeIcon, + UserIcon, + InboxStackIcon, + RectangleStackIcon, + AdjustmentsHorizontalIcon, + CalendarIcon, + DocumentTextIcon, + BoltIcon, + ExclamationTriangleIcon, +} from '@heroicons/react/24/outline'; +import useGlobalSearch from '../hooks/useGlobalSearch'; +import { useSearch } from '../SearchContext'; +import deBounce from '../../common/utils/deBounce'; +import ImageWithFallback from '@/components/ui/ImageWithFallback'; +import generateUniqueId from '../../common/utils/getUniqueId'; +import type { IGlobalSearchQuery, ISearchableEntity } from '../../../gql/types'; + +type SearchResult = IGlobalSearchQuery['globalSearch']['results'][number]; + +const typeIcons: Record = { + SimpleProduct: CubeIcon, + ConfigurableProduct: CubeIcon, + BundleProduct: CubeIcon, + PlanProduct: CubeIcon, + TokenizedProduct: CubeIcon, + User: UserIcon, + Order: InboxStackIcon, + Assortment: RectangleStackIcon, + Filter: AdjustmentsHorizontalIcon, + Enrollment: CalendarIcon, + Quotation: DocumentTextIcon, + Work: BoltIcon, +}; + +const typeLabels: Record = { + SimpleProduct: 'Product', + ConfigurableProduct: 'Product', + BundleProduct: 'Product', + PlanProduct: 'Product', + TokenizedProduct: 'Product', + User: 'User', + Order: 'Order', + Assortment: 'Assortment', + Filter: 'Filter', + Enrollment: 'Enrollment', + Quotation: 'Quotation', + Work: 'Work', +}; + +const typeViewAllPaths: Record = { + PRODUCT: '/products', + USER: '/users', + ORDER: '/orders', + ASSORTMENT: '/assortments', + FILTER: '/filters', + ENROLLMENT: '/enrollments', + QUOTATION: '/quotations', + WORK: '/works', +}; + +function getResultTitle(result: SearchResult): string { + switch (result.__typename) { + case 'SimpleProduct': + case 'ConfigurableProduct': + case 'BundleProduct': + case 'PlanProduct': + case 'TokenizedProduct': + case 'Assortment': + return result.texts?.title || result._id; + case 'User': + return ( + result.name || + result.username || + result.emails?.[0]?.address || + result._id + ); + case 'Order': + return result.orderNumber || result._id; + case 'Filter': + return result.key || result._id; + case 'Enrollment': + case 'Quotation': + return result._id; + case 'Work': + return `${result.type} - ${result._id.slice(0, 8)}`; + } +} + +function getResultImageUrl(result: SearchResult): string | null { + switch (result.__typename) { + case 'SimpleProduct': + case 'ConfigurableProduct': + case 'BundleProduct': + case 'PlanProduct': + case 'TokenizedProduct': + case 'Assortment': + return result.media?.[0]?.file?.url || null; + case 'User': + return result.avatar?.url || null; + default: + return null; + } +} + +function getResultHref(result: SearchResult): string { + switch (result.__typename) { + case 'SimpleProduct': + case 'ConfigurableProduct': + case 'BundleProduct': + case 'PlanProduct': + case 'TokenizedProduct': + return `/products?slug=${generateUniqueId(result)}`; + case 'User': + return `/users?userId=${result._id}`; + case 'Order': + return `/orders?orderId=${result._id}`; + case 'Assortment': + return `/assortments?assortmentSlug=${generateUniqueId(result)}`; + case 'Filter': + return `/filters?filterId=${result._id}`; + case 'Enrollment': + return `/enrollments?enrollmentId=${result._id}`; + case 'Quotation': + return `/quotations?quotationId=${result._id}`; + case 'Work': + return `/works?workerId=${result._id}`; + } +} + +const LoadingSkeleton = () => ( +
+ {[...Array(4)].map((_, i) => ( +
+
+
+
+
+
+
+ ))} +
+); + +const CommandPalette = () => { + const { isOpen, close, toggle } = useSearch(); + const [query, setQuery] = useState(''); + const [activeIndex, setActiveIndex] = useState(0); + const [keyboardNav, setKeyboardNav] = useState(false); + const { search, clear, results, counts, loading, error } = useGlobalSearch(); + const router = useRouter(); + const { formatMessage } = useIntl(); + const inputRef = useRef(null); + const listRef = useRef(null); + + const quickNavItems = useMemo( + () => [ + { + label: formatMessage({ id: 'products', defaultMessage: 'Products' }), + href: '/products', + icon: CubeIcon, + }, + { + label: formatMessage({ id: 'orders', defaultMessage: 'Orders' }), + href: '/orders', + icon: InboxStackIcon, + }, + { + label: formatMessage({ id: 'users', defaultMessage: 'Users' }), + href: '/users', + icon: UserIcon, + }, + { + label: formatMessage({ + id: 'assortments', + defaultMessage: 'Assortments', + }), + href: '/assortments', + icon: RectangleStackIcon, + }, + ], + [formatMessage], + ); + + const debouncedSearch = useMemo( + () => + deBounce(300)((value: string) => { + if (value.trim().length >= 2) { + search(value); + } else { + clear(); + } + }), + [search, clear], + ); + + useEffect(() => { + const handleKeyDown = (e: KeyboardEvent) => { + if ((e.metaKey || e.ctrlKey) && e.key === 'k') { + e.preventDefault(); + toggle(); + } + if (e.key === 'Escape' && isOpen) { + close(); + } + }; + document.addEventListener('keydown', handleKeyDown); + return () => document.removeEventListener('keydown', handleKeyDown); + }, [isOpen, close, toggle]); + + useEffect(() => { + if (isOpen) { + setTimeout(() => inputRef.current?.focus(), 50); + } else { + setQuery(''); + setActiveIndex(0); + clear(); + } + }, [isOpen, clear]); + + useEffect(() => { + const handleRouteChange = () => close(); + router.events.on('routeChangeStart', handleRouteChange); + return () => router.events.off('routeChangeStart', handleRouteChange); + }, [router, close]); + + useEffect(() => { + if (!keyboardNav) return; + const activeItem = listRef.current?.children[activeIndex] as HTMLElement; + activeItem?.scrollIntoView({ block: 'nearest' }); + }, [activeIndex, keyboardNav]); + + const handleInputChange = (e: React.ChangeEvent) => { + const value = e.target.value; + setQuery(value); + setActiveIndex(0); + debouncedSearch(value); + }; + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'ArrowDown') { + e.preventDefault(); + setKeyboardNav(true); + setActiveIndex((prev) => Math.min(prev + 1, results.length - 1)); + } else if (e.key === 'ArrowUp') { + e.preventDefault(); + setKeyboardNav(true); + setActiveIndex((prev) => Math.max(prev - 1, 0)); + } else if (e.key === 'Enter' && results[activeIndex]) { + e.preventDefault(); + router.push(getResultHref(results[activeIndex])); + close(); + } + }; + + const handleResultClick = (result: SearchResult) => { + router.push(getResultHref(result)); + close(); + }; + + const handleMouseEnter = (index: number) => { + setKeyboardNav(false); + setActiveIndex(index); + }; + + if (!isOpen) return null; + + const hasQuery = query.trim().length >= 2; + + return ( +
+
+
+
+
+ + + + ESC + +
+ +
+ {error && ( +
+ +

+ {formatMessage({ + id: 'global_search_error', + defaultMessage: 'Search failed. Please try again.', + })} +

+
+ )} + + {!error && loading && hasQuery && results.length === 0 && ( + + )} + + {!error && !loading && hasQuery && results.length === 0 && ( +
+ {formatMessage({ + id: 'no_results_found', + defaultMessage: 'No results found', + })} +
+ )} + + {!error && results.length > 0 && ( + <> +
    + {results.map((result: SearchResult, index: number) => { + const Icon = typeIcons[result.__typename] || CubeIcon; + const label = typeLabels[result.__typename] || 'Unknown'; + const isActive = index === activeIndex; + const imageUrl = getResultImageUrl(result); + + return ( +
  • handleResultClick(result)} + onMouseEnter={() => handleMouseEnter(index)} + role="option" + aria-selected={isActive} + className={`flex items-center px-4 py-2.5 cursor-pointer ${ + isActive + ? 'bg-slate-100 dark:bg-slate-800' + : 'hover:bg-slate-50 dark:hover:bg-slate-800/50' + }`} + > + {imageUrl ? ( +
    + +
    + ) : ( + + )} +
    + + {getResultTitle(result)} + +
    + + {label} + +
  • + ); + })} +
+ {loading && ( +
+
+
+ )} + + )} + + {!error && counts.length > 0 && ( +
+ {counts + .filter((c) => c.totalCount > 0) + .map((c) => { + const path = typeViewAllPaths[c.type]; + return ( + + ); + })} +
+ )} +
+ + {!hasQuery && !error && ( +
+

+ {formatMessage({ + id: 'global_search_hint', + defaultMessage: 'Type at least 2 characters to search', + })} +

+
+ {quickNavItems.map((item) => ( + + ))} +
+
+ )} +
+
+
+ ); +}; + +export default CommandPalette; diff --git a/admin-ui/src/modules/search/fragments/GlobalSearchFragment.ts b/admin-ui/src/modules/search/fragments/GlobalSearchFragment.ts new file mode 100644 index 0000000000..864863a261 --- /dev/null +++ b/admin-ui/src/modules/search/fragments/GlobalSearchFragment.ts @@ -0,0 +1,20 @@ +import { gql } from '@apollo/client'; + +const GlobalSearchProductFragment = gql` + fragment GlobalSearchProductFragment on Product { + _id + __typename + texts { + _id + title + slug + } + media(limit: 1) { + file { + url + } + } + } +`; + +export default GlobalSearchProductFragment; diff --git a/admin-ui/src/modules/search/hooks/useGlobalSearch.ts b/admin-ui/src/modules/search/hooks/useGlobalSearch.ts new file mode 100644 index 0000000000..6c231691fd --- /dev/null +++ b/admin-ui/src/modules/search/hooks/useGlobalSearch.ts @@ -0,0 +1,158 @@ +import { gql } from '@apollo/client'; +import { useLazyQuery } from '@apollo/client/react'; +import { useCallback, useState } from 'react'; +import GlobalSearchProductFragment from '../fragments/GlobalSearchFragment'; +import type { + IGlobalSearchQuery, + IGlobalSearchQueryVariables, +} from '../../../gql/types'; + +const GLOBAL_SEARCH_QUERY = gql` + query GlobalSearch( + $query: String! + $types: [SearchableEntity!] + $limit: Int + $includeDraftProducts: Boolean + $includeInactiveAssortments: Boolean + $includeGuestUsers: Boolean + $includeCarts: Boolean + ) { + globalSearch( + query: $query + types: $types + limit: $limit + includeDraftProducts: $includeDraftProducts + includeInactiveAssortments: $includeInactiveAssortments + includeGuestUsers: $includeGuestUsers + includeCarts: $includeCarts + ) { + counts { + type + totalCount + } + results { + ...GlobalSearchProductFragment + ... on User { + _id + __typename + username + name + emails { + address + verified + } + avatar { + url + } + } + ... on Order { + _id + __typename + orderNumber + } + ... on Assortment { + _id + __typename + texts { + _id + title + slug + } + media(limit: 1) { + file { + url + } + } + } + ... on Filter { + _id + __typename + key + } + ... on Enrollment { + _id + __typename + } + ... on Quotation { + _id + __typename + } + ... on Work { + _id + __typename + type + } + } + } + } + ${GlobalSearchProductFragment} +`; + +interface SearchOptions { + includeDraftProducts?: boolean; + includeInactiveAssortments?: boolean; + includeGuestUsers?: boolean; + includeCarts?: boolean; +} + +const useGlobalSearch = (options: SearchOptions = {}) => { + const { + includeDraftProducts = true, + includeInactiveAssortments = true, + includeGuestUsers = false, + includeCarts = false, + } = options; + + const [cleared, setCleared] = useState(false); + const [searchFn, { data, loading, error, called }] = useLazyQuery< + IGlobalSearchQuery, + IGlobalSearchQueryVariables + >(GLOBAL_SEARCH_QUERY, { + fetchPolicy: 'cache-and-network', + notifyOnNetworkStatusChange: true, + }); + + const search = useCallback( + ( + query: string, + types?: IGlobalSearchQueryVariables['types'], + limit?: number, + ) => { + setCleared(false); + return searchFn({ + variables: { + query, + types, + limit, + includeDraftProducts, + includeInactiveAssortments, + includeGuestUsers, + includeCarts, + } as any, + }); + }, + [ + searchFn, + includeDraftProducts, + includeInactiveAssortments, + includeGuestUsers, + includeCarts, + ], + ); + + const clear = useCallback(() => setCleared(true), []); + + const results = cleared ? [] : data?.globalSearch?.results || []; + const counts = cleared ? [] : data?.globalSearch?.counts || []; + + return { + search, + clear, + results, + counts, + loading: loading && called && !cleared, + error, + }; +}; + +export default useGlobalSearch; diff --git a/packages/api/src/resolvers/queries/search/globalSearch.ts b/packages/api/src/resolvers/queries/search/globalSearch.ts index 735ac9b53b..34964a5179 100644 --- a/packages/api/src/resolvers/queries/search/globalSearch.ts +++ b/packages/api/src/resolvers/queries/search/globalSearch.ts @@ -50,23 +50,56 @@ function getLimitForType( return typeLimits?.find((tl) => tl.type === type)?.limit ?? defaultLimit; } +interface SearchOptions { + includeDraftProducts: boolean; + includeInactiveAssortments: boolean; + includeGuestUsers: boolean; + includeCarts: boolean; +} + async function searchType( type: SearchableEntity, queryString: string, limit: number, modules: Context['modules'], + options: SearchOptions, ): Promise { switch (type) { case 'PRODUCT': - return modules.products.findProducts({ queryString, limit, offset: 0 }); + return modules.products.findProducts({ + queryString, + limit, + offset: 0, + includeDrafts: options.includeDraftProducts, + }); case 'USER': - return modules.users.findUsers({ queryString, limit, offset: 0 }); + return modules.users.findUsers({ + queryString, + limit, + offset: 0, + includeGuests: options.includeGuestUsers, + }); case 'ORDER': - return modules.orders.findOrders({ queryString, limit, offset: 0 }); + return modules.orders.findOrders({ + queryString, + limit, + offset: 0, + includeCarts: options.includeCarts, + }); case 'ASSORTMENT': - return modules.assortments.findAssortments({ queryString, limit, offset: 0 }); + return modules.assortments.findAssortments({ + queryString, + limit, + offset: 0, + includeInactive: options.includeInactiveAssortments, + }); case 'FILTER': - return modules.filters.findFilters({ queryString, limit, offset: 0 }); + return modules.filters.findFilters({ + queryString, + limit, + offset: 0, + includeInactive: options.includeInactiveAssortments, + }); case 'ENROLLMENT': return modules.enrollments.findEnrollments({ queryString, limit, offset: 0 }); case 'QUOTATION': @@ -82,18 +115,19 @@ async function countType( type: SearchableEntity, queryString: string, modules: Context['modules'], + options: SearchOptions, ): Promise { switch (type) { case 'PRODUCT': - return modules.products.count({ queryString }); + return modules.products.count({ queryString, includeDrafts: options.includeDraftProducts }); case 'USER': - return modules.users.count({ queryString }); + return modules.users.count({ queryString, includeGuests: options.includeGuestUsers }); case 'ORDER': - return modules.orders.count({ queryString }); + return modules.orders.count({ queryString, includeCarts: options.includeCarts }); case 'ASSORTMENT': - return modules.assortments.count({ queryString }); + return modules.assortments.count({ queryString, includeInactive: options.includeInactiveAssortments }); case 'FILTER': - return modules.filters.count({ queryString }); + return modules.filters.count({ queryString, includeInactive: options.includeInactiveAssortments }); case 'ENROLLMENT': return modules.enrollments.count({ queryString }); case 'QUOTATION': @@ -112,10 +146,23 @@ export default async function globalSearch( types?: SearchableEntity[]; limit?: number; typeLimits?: TypeLimitInput[]; + includeDraftProducts?: boolean; + includeInactiveAssortments?: boolean; + includeGuestUsers?: boolean; + includeCarts?: boolean; }, context: Context, ) { - const { query: queryString, types, limit = DEFAULT_LIMIT, typeLimits } = params; + const { + query: queryString, + types, + limit = DEFAULT_LIMIT, + typeLimits, + includeDraftProducts = true, + includeInactiveAssortments = true, + includeGuestUsers = false, + includeCarts = false, + } = params; const { modules, userId } = context; if (!queryString?.trim()) return { results: [], counts: [] }; @@ -126,13 +173,20 @@ export default async function globalSearch( await Promise.all(searchTypes.map((type) => checkAction(context, typeActionMap[type]))); + const searchOptions: SearchOptions = { + includeDraftProducts, + includeInactiveAssortments, + includeGuestUsers, + includeCarts, + }; + const [resultsByType, countsByType] = await Promise.all([ Promise.all( searchTypes.map((type) => - searchType(type, queryString, getLimitForType(type, limit, typeLimits), modules), + searchType(type, queryString, getLimitForType(type, limit, typeLimits), modules, searchOptions), ), ), - Promise.all(searchTypes.map((type) => countType(type, queryString, modules))), + Promise.all(searchTypes.map((type) => countType(type, queryString, modules, searchOptions))), ]); const results = resultsByType.flat(); diff --git a/packages/api/src/schema/query.ts b/packages/api/src/schema/query.ts index 3ac17e99ec..6df4b79d2a 100644 --- a/packages/api/src/schema/query.ts +++ b/packages/api/src/schema/query.ts @@ -423,6 +423,10 @@ export default [ types: [SearchableEntity!] limit: Int = 5 typeLimits: [GlobalSearchTypeLimitInput!] + includeDraftProducts: Boolean = true + includeInactiveAssortments: Boolean = true + includeGuestUsers: Boolean = false + includeCarts: Boolean = false ): GlobalSearchResponse! @cacheControl(maxAge: 30) """ From 5781351a2a7a1b73ea1698613b45588b78480700 Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Wed, 10 Jun 2026 15:20:25 +0300 Subject: [PATCH 3/6] Add global search feature with command palette, API resolver, and integration tests --- admin-ui/src/gql/types.ts | 1 + admin-ui/src/i18n/de.json | 1 + admin-ui/src/i18n/en.json | 1 + .../src/modules/common/components/Layout.tsx | 4 +- .../search/components/CommandPalette.tsx | 257 ++++++++++++------ .../modules/search/hooks/useGlobalSearch.ts | 22 +- .../resolvers/queries/search/globalSearch.ts | 66 ++++- .../type/global-search-result-types.ts | 12 +- packages/api/src/schema/query.ts | 1 + packages/api/src/schema/types/search.ts | 2 +- tests/global-search.test.js | 133 +++++++++ 11 files changed, 388 insertions(+), 112 deletions(-) create mode 100644 tests/global-search.test.js diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index 055fa63d9b..0b4f7ea62f 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -15844,6 +15844,7 @@ export type IGlobalSearchQueryVariables = Exact<{ limit?: InputMaybe; includeDraftProducts?: InputMaybe; includeInactiveAssortments?: InputMaybe; + includeInactiveFilters?: InputMaybe; includeGuestUsers?: InputMaybe; includeCarts?: InputMaybe; }>; diff --git a/admin-ui/src/i18n/de.json b/admin-ui/src/i18n/de.json index 810f830118..f552db13c1 100644 --- a/admin-ui/src/i18n/de.json +++ b/admin-ui/src/i18n/de.json @@ -990,6 +990,7 @@ "worker.noStatistics": "Keine Statistiken verfügbar", "worker.startCount": "Start", "worker.successCount": "Erfolgreich", + "work": "Arbeit", "workers": "Arbeiter", "ordered": "Bestellt", "registered": "Eingetragen", diff --git a/admin-ui/src/i18n/en.json b/admin-ui/src/i18n/en.json index e22149859c..b596d23d15 100644 --- a/admin-ui/src/i18n/en.json +++ b/admin-ui/src/i18n/en.json @@ -1064,6 +1064,7 @@ "worker.startCount": "Start", "worker.successCount": "Success", "worker_dynamic": "{worker}", + "work": "Work", "workers": "Workers", "write_review": "Write a Review" } diff --git a/admin-ui/src/modules/common/components/Layout.tsx b/admin-ui/src/modules/common/components/Layout.tsx index 7e31a41371..048466fe29 100644 --- a/admin-ui/src/modules/common/components/Layout.tsx +++ b/admin-ui/src/modules/common/components/Layout.tsx @@ -69,7 +69,9 @@ const QuotationIcon = ({ className }) => ( const useIsMac = () => { const [isMac, setIsMac] = useState(false); useEffect(() => { - setIsMac(navigator.platform?.toUpperCase().includes('MAC')); + const platform = + (navigator as any).userAgentData?.platform || navigator.platform || ''; + setIsMac(platform.toUpperCase().includes('MAC')); }, []); return isMac; }; diff --git a/admin-ui/src/modules/search/components/CommandPalette.tsx b/admin-ui/src/modules/search/components/CommandPalette.tsx index 97a697fdfb..b078c77e10 100644 --- a/admin-ui/src/modules/search/components/CommandPalette.tsx +++ b/admin-ui/src/modules/search/components/CommandPalette.tsx @@ -1,4 +1,10 @@ -import React, { useEffect, useState, useRef, useMemo } from 'react'; +import React, { + useEffect, + useState, + useRef, + useMemo, + useCallback, +} from 'react'; import { useRouter } from 'next/router'; import { useIntl } from 'react-intl'; import { @@ -15,10 +21,11 @@ import { } from '@heroicons/react/24/outline'; import useGlobalSearch from '../hooks/useGlobalSearch'; import { useSearch } from '../SearchContext'; -import deBounce from '../../common/utils/deBounce'; import ImageWithFallback from '@/components/ui/ImageWithFallback'; import generateUniqueId from '../../common/utils/getUniqueId'; -import type { IGlobalSearchQuery, ISearchableEntity } from '../../../gql/types'; +import useAuth from '../../Auth/useAuth'; +import { IRoleAction } from '../../../gql/types'; +import type { IGlobalSearchQuery } from '../../../gql/types'; type SearchResult = IGlobalSearchQuery['globalSearch']['results'][number]; @@ -63,6 +70,17 @@ const typeViewAllPaths: Record = { WORK: '/works', }; +const typeViewAllRoles: Record = { + PRODUCT: IRoleAction.ViewProducts, + USER: IRoleAction.ViewUsers, + ORDER: IRoleAction.ViewOrders, + ASSORTMENT: IRoleAction.ViewAssortments, + FILTER: IRoleAction.ViewFilters, + ENROLLMENT: IRoleAction.ViewEnrollments, + QUOTATION: IRoleAction.ViewQuotations, + WORK: IRoleAction.ViewWorkQueue, +}; + function getResultTitle(result: SearchResult): string { switch (result.__typename) { case 'SimpleProduct': @@ -146,6 +164,37 @@ const LoadingSkeleton = () => (
); +const allQuickNavItems = [ + { + labelId: 'products', + defaultLabel: 'Products', + href: '/products', + icon: CubeIcon, + requiredRole: IRoleAction.ViewProducts, + }, + { + labelId: 'orders', + defaultLabel: 'Orders', + href: '/orders', + icon: InboxStackIcon, + requiredRole: IRoleAction.ViewOrders, + }, + { + labelId: 'users', + defaultLabel: 'Users', + href: '/users', + icon: UserIcon, + requiredRole: IRoleAction.ViewUsers, + }, + { + labelId: 'assortments', + defaultLabel: 'Assortments', + href: '/assortments', + icon: RectangleStackIcon, + requiredRole: IRoleAction.ViewAssortments, + }, +]; + const CommandPalette = () => { const { isOpen, close, toggle } = useSearch(); const [query, setQuery] = useState(''); @@ -154,47 +203,49 @@ const CommandPalette = () => { const { search, clear, results, counts, loading, error } = useGlobalSearch(); const router = useRouter(); const { formatMessage } = useIntl(); + const { hasRole } = useAuth(); const inputRef = useRef(null); const listRef = useRef(null); + const debounceTimerRef = useRef | null>(null); const quickNavItems = useMemo( - () => [ - { - label: formatMessage({ id: 'products', defaultMessage: 'Products' }), - href: '/products', - icon: CubeIcon, - }, - { - label: formatMessage({ id: 'orders', defaultMessage: 'Orders' }), - href: '/orders', - icon: InboxStackIcon, - }, - { - label: formatMessage({ id: 'users', defaultMessage: 'Users' }), - href: '/users', - icon: UserIcon, - }, - { - label: formatMessage({ - id: 'assortments', - defaultMessage: 'Assortments', - }), - href: '/assortments', - icon: RectangleStackIcon, - }, - ], - [formatMessage], + () => + allQuickNavItems + .filter((item) => hasRole(item.requiredRole)) + .map((item) => ({ + label: formatMessage({ + id: item.labelId, + defaultMessage: item.defaultLabel, + }), + href: item.href, + icon: item.icon, + })), + [formatMessage, hasRole], ); - const debouncedSearch = useMemo( + const visibleCounts = useMemo( () => - deBounce(300)((value: string) => { + counts.filter( + (c) => c.totalCount > 0 && hasRole(typeViewAllRoles[c.type]), + ), + [counts, hasRole], + ); + + const totalSelectableItems = results.length + visibleCounts.length; + + const debouncedSearch = useCallback( + (value: string) => { + if (debounceTimerRef.current) { + clearTimeout(debounceTimerRef.current); + } + debounceTimerRef.current = setTimeout(() => { if (value.trim().length >= 2) { search(value); } else { clear(); } - }), + }, 300); + }, [search, clear], ); @@ -220,6 +271,11 @@ const CommandPalette = () => { setActiveIndex(0); clear(); } + return () => { + if (debounceTimerRef.current) { + clearTimeout(debounceTimerRef.current); + } + }; }, [isOpen, clear]); useEffect(() => { @@ -241,19 +297,32 @@ const CommandPalette = () => { debouncedSearch(value); }; + const navigateToResult = (index: number) => { + if (index < results.length) { + router.push(getResultHref(results[index])); + } else { + const countIndex = index - results.length; + const c = visibleCounts[countIndex]; + if (c) { + const path = typeViewAllPaths[c.type]; + router.push(`${path}?queryString=${encodeURIComponent(query)}`); + } + } + close(); + }; + const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === 'ArrowDown') { e.preventDefault(); setKeyboardNav(true); - setActiveIndex((prev) => Math.min(prev + 1, results.length - 1)); + setActiveIndex((prev) => Math.min(prev + 1, totalSelectableItems - 1)); } else if (e.key === 'ArrowUp') { e.preventDefault(); setKeyboardNav(true); setActiveIndex((prev) => Math.max(prev - 1, 0)); - } else if (e.key === 'Enter' && results[activeIndex]) { + } else if (e.key === 'Enter' && totalSelectableItems > 0) { e.preventDefault(); - router.push(getResultHref(results[activeIndex])); - close(); + navigateToResult(activeIndex); } }; @@ -270,6 +339,8 @@ const CommandPalette = () => { if (!isOpen) return null; const hasQuery = query.trim().length >= 2; + const activeOptionId = + totalSelectableItems > 0 ? `search-option-${activeIndex}` : undefined; return (
{ 0} + aria-controls="search-listbox" + aria-activedescendant={activeOptionId} value={query} onChange={handleInputChange} onKeyDown={handleKeyDown} @@ -300,10 +375,6 @@ const CommandPalette = () => { id: 'global_search_placeholder', defaultMessage: 'Search products, orders, users...', })} - aria-label={formatMessage({ - id: 'global_search_placeholder', - defaultMessage: 'Search products, orders, users...', - })} /> ESC @@ -336,9 +407,14 @@ const CommandPalette = () => {
)} - {!error && results.length > 0 && ( + {!error && totalSelectableItems > 0 && ( <> -
    +
      {results.map((result: SearchResult, index: number) => { const Icon = typeIcons[result.__typename] || CubeIcon; const label = typeLabels[result.__typename] || 'Unknown'; @@ -348,6 +424,7 @@ const CommandPalette = () => { return (
    • handleResultClick(result)} onMouseEnter={() => handleMouseEnter(index)} role="option" @@ -382,41 +459,53 @@ const CommandPalette = () => {
    • ); })} -
    - {loading && ( -
    -
    -
    - )} - - )} - - {!error && counts.length > 0 && ( -
    - {counts - .filter((c) => c.totalCount > 0) - .map((c) => { - const path = typeViewAllPaths[c.type]; + {visibleCounts.map((c, i) => { + const globalIndex = results.length + i; + const isActive = globalIndex === activeIndex; return ( - + + {formatMessage({ + id: c.type.toLowerCase(), + defaultMessage: + c.type.charAt(0) + c.type.slice(1).toLowerCase(), + })} + : {c.totalCount} + + + {formatMessage({ + id: 'view', + defaultMessage: 'View', + })} + {' →'} + + ); })} -
    +
+ {loading && ( +
+
+
+ )} + )}
@@ -428,21 +517,23 @@ const CommandPalette = () => { defaultMessage: 'Type at least 2 characters to search', })}

-
- {quickNavItems.map((item) => ( - - ))} -
+ {quickNavItems.length > 0 && ( +
+ {quickNavItems.map((item) => ( + + ))} +
+ )}
)}
diff --git a/admin-ui/src/modules/search/hooks/useGlobalSearch.ts b/admin-ui/src/modules/search/hooks/useGlobalSearch.ts index 6c231691fd..3aa07eb661 100644 --- a/admin-ui/src/modules/search/hooks/useGlobalSearch.ts +++ b/admin-ui/src/modules/search/hooks/useGlobalSearch.ts @@ -1,6 +1,6 @@ import { gql } from '@apollo/client'; import { useLazyQuery } from '@apollo/client/react'; -import { useCallback, useState } from 'react'; +import { useCallback, useRef, useState } from 'react'; import GlobalSearchProductFragment from '../fragments/GlobalSearchFragment'; import type { IGlobalSearchQuery, @@ -14,6 +14,7 @@ const GLOBAL_SEARCH_QUERY = gql` $limit: Int $includeDraftProducts: Boolean $includeInactiveAssortments: Boolean + $includeInactiveFilters: Boolean $includeGuestUsers: Boolean $includeCarts: Boolean ) { @@ -23,6 +24,7 @@ const GLOBAL_SEARCH_QUERY = gql` limit: $limit includeDraftProducts: $includeDraftProducts includeInactiveAssortments: $includeInactiveAssortments + includeInactiveFilters: $includeInactiveFilters includeGuestUsers: $includeGuestUsers includeCarts: $includeCarts ) { @@ -91,6 +93,7 @@ const GLOBAL_SEARCH_QUERY = gql` interface SearchOptions { includeDraftProducts?: boolean; includeInactiveAssortments?: boolean; + includeInactiveFilters?: boolean; includeGuestUsers?: boolean; includeCarts?: boolean; } @@ -99,11 +102,13 @@ const useGlobalSearch = (options: SearchOptions = {}) => { const { includeDraftProducts = true, includeInactiveAssortments = true, + includeInactiveFilters = true, includeGuestUsers = false, includeCarts = false, } = options; const [cleared, setCleared] = useState(false); + const abortRef = useRef<(() => void) | null>(null); const [searchFn, { data, loading, error, called }] = useLazyQuery< IGlobalSearchQuery, IGlobalSearchQueryVariables @@ -119,28 +124,37 @@ const useGlobalSearch = (options: SearchOptions = {}) => { limit?: number, ) => { setCleared(false); - return searchFn({ + const result = searchFn({ variables: { query, types, limit, includeDraftProducts, includeInactiveAssortments, + includeInactiveFilters, includeGuestUsers, includeCarts, - } as any, + }, }); + return result; }, [ searchFn, includeDraftProducts, includeInactiveAssortments, + includeInactiveFilters, includeGuestUsers, includeCarts, ], ); - const clear = useCallback(() => setCleared(true), []); + const clear = useCallback(() => { + setCleared(true); + if (abortRef.current) { + abortRef.current(); + abortRef.current = null; + } + }, []); const results = cleared ? [] : data?.globalSearch?.results || []; const counts = cleared ? [] : data?.globalSearch?.counts || []; diff --git a/packages/api/src/resolvers/queries/search/globalSearch.ts b/packages/api/src/resolvers/queries/search/globalSearch.ts index 34964a5179..4a6803c588 100644 --- a/packages/api/src/resolvers/queries/search/globalSearch.ts +++ b/packages/api/src/resolvers/queries/search/globalSearch.ts @@ -53,10 +53,22 @@ function getLimitForType( interface SearchOptions { includeDraftProducts: boolean; includeInactiveAssortments: boolean; + includeInactiveFilters: boolean; includeGuestUsers: boolean; includeCarts: boolean; } +const typeNameMap: Record = { + PRODUCT: 'Product', + USER: 'User', + ORDER: 'Order', + ASSORTMENT: 'Assortment', + FILTER: 'Filter', + ENROLLMENT: 'Enrollment', + QUOTATION: 'Quotation', + WORK: 'Work', +}; + async function searchType( type: SearchableEntity, queryString: string, @@ -64,51 +76,62 @@ async function searchType( modules: Context['modules'], options: SearchOptions, ): Promise { + let results: any[]; switch (type) { case 'PRODUCT': - return modules.products.findProducts({ + results = await modules.products.findProducts({ queryString, limit, offset: 0, includeDrafts: options.includeDraftProducts, }); + break; case 'USER': - return modules.users.findUsers({ + results = await modules.users.findUsers({ queryString, limit, offset: 0, includeGuests: options.includeGuestUsers, }); + break; case 'ORDER': - return modules.orders.findOrders({ + results = await modules.orders.findOrders({ queryString, limit, offset: 0, includeCarts: options.includeCarts, }); + break; case 'ASSORTMENT': - return modules.assortments.findAssortments({ + results = await modules.assortments.findAssortments({ queryString, limit, offset: 0, includeInactive: options.includeInactiveAssortments, }); + break; case 'FILTER': - return modules.filters.findFilters({ + results = await modules.filters.findFilters({ queryString, limit, offset: 0, - includeInactive: options.includeInactiveAssortments, + includeInactive: options.includeInactiveFilters, }); + break; case 'ENROLLMENT': - return modules.enrollments.findEnrollments({ queryString, limit, offset: 0 }); + results = await modules.enrollments.findEnrollments({ queryString, limit, offset: 0 }); + break; case 'QUOTATION': - return modules.quotations.findQuotations({ queryString, limit, offset: 0 }); + results = await modules.quotations.findQuotations({ queryString, limit, offset: 0 }); + break; case 'WORK': - return modules.worker.findWorkQueue({ queryString, limit, skip: 0 }); + results = await modules.worker.findWorkQueue({ queryString, limit, skip: 0 }); + break; default: return []; } + const __typename = typeNameMap[type]; + return results.map((r) => ({ ...r, __typename })); } async function countType( @@ -125,9 +148,12 @@ async function countType( case 'ORDER': return modules.orders.count({ queryString, includeCarts: options.includeCarts }); case 'ASSORTMENT': - return modules.assortments.count({ queryString, includeInactive: options.includeInactiveAssortments }); + return modules.assortments.count({ + queryString, + includeInactive: options.includeInactiveAssortments, + }); case 'FILTER': - return modules.filters.count({ queryString, includeInactive: options.includeInactiveAssortments }); + return modules.filters.count({ queryString, includeInactive: options.includeInactiveFilters }); case 'ENROLLMENT': return modules.enrollments.count({ queryString }); case 'QUOTATION': @@ -148,6 +174,7 @@ export default async function globalSearch( typeLimits?: TypeLimitInput[]; includeDraftProducts?: boolean; includeInactiveAssortments?: boolean; + includeInactiveFilters?: boolean; includeGuestUsers?: boolean; includeCarts?: boolean; }, @@ -160,14 +187,16 @@ export default async function globalSearch( typeLimits, includeDraftProducts = true, includeInactiveAssortments = true, + includeInactiveFilters = true, includeGuestUsers = false, includeCarts = false, } = params; const { modules, userId } = context; - if (!queryString?.trim()) return { results: [], counts: [] }; + const sanitizedQuery = queryString?.trim().slice(0, 200); + if (!sanitizedQuery) return { results: [], counts: [] }; - log(`query globalSearch: "${queryString}" types: ${types?.join(',') || 'all'}`, { userId }); + log(`query globalSearch: "${sanitizedQuery}" types: ${types?.join(',') || 'all'}`, { userId }); const searchTypes = types?.length ? types : ALL_TYPES; @@ -176,6 +205,7 @@ export default async function globalSearch( const searchOptions: SearchOptions = { includeDraftProducts, includeInactiveAssortments, + includeInactiveFilters, includeGuestUsers, includeCarts, }; @@ -183,10 +213,16 @@ export default async function globalSearch( const [resultsByType, countsByType] = await Promise.all([ Promise.all( searchTypes.map((type) => - searchType(type, queryString, getLimitForType(type, limit, typeLimits), modules, searchOptions), + searchType( + type, + sanitizedQuery, + getLimitForType(type, limit, typeLimits), + modules, + searchOptions, + ), ), ), - Promise.all(searchTypes.map((type) => countType(type, queryString, modules, searchOptions))), + Promise.all(searchTypes.map((type) => countType(type, sanitizedQuery, modules, searchOptions))), ]); const results = resultsByType.flat(); diff --git a/packages/api/src/resolvers/type/global-search-result-types.ts b/packages/api/src/resolvers/type/global-search-result-types.ts index 1b830829ec..5fb4632f27 100644 --- a/packages/api/src/resolvers/type/global-search-result-types.ts +++ b/packages/api/src/resolvers/type/global-search-result-types.ts @@ -9,13 +9,9 @@ const productTypeMap: Record = { export const GlobalSearchResult = { __resolveType(obj: Record): string { - if (obj.emails || obj.username || obj.lastLogin) return 'User'; - if (obj.orderNumber != null || obj.paymentId || obj.deliveryId) return 'Order'; - if (obj.isRoot !== undefined) return 'Assortment'; - if (obj.key && obj.options) return 'Filter'; - if (obj.billingAddress) return 'Enrollment'; - if (obj.priority != null && obj.scheduled) return 'Work'; - if (obj.quotationNumber != null || obj.expires) return 'Quotation'; - return productTypeMap[obj.type] || 'SimpleProduct'; + if (obj.__typename === 'Product') { + return productTypeMap[obj.type] || 'SimpleProduct'; + } + return obj.__typename; }, }; diff --git a/packages/api/src/schema/query.ts b/packages/api/src/schema/query.ts index 6df4b79d2a..8728acc37e 100644 --- a/packages/api/src/schema/query.ts +++ b/packages/api/src/schema/query.ts @@ -425,6 +425,7 @@ export default [ typeLimits: [GlobalSearchTypeLimitInput!] includeDraftProducts: Boolean = true includeInactiveAssortments: Boolean = true + includeInactiveFilters: Boolean = true includeGuestUsers: Boolean = false includeCarts: Boolean = false ): GlobalSearchResponse! @cacheControl(maxAge: 30) diff --git a/packages/api/src/schema/types/search.ts b/packages/api/src/schema/types/search.ts index 29ca55a296..1cd3c5f1a2 100644 --- a/packages/api/src/schema/types/search.ts +++ b/packages/api/src/schema/types/search.ts @@ -59,7 +59,7 @@ export default [ totalCount: Int! } - type GlobalSearchResponse @cacheControl(maxAge: 30) { + type GlobalSearchResponse { results: [GlobalSearchResult!]! counts: [GlobalSearchTypeCount!]! } diff --git a/tests/global-search.test.js b/tests/global-search.test.js new file mode 100644 index 0000000000..b48382f2e2 --- /dev/null +++ b/tests/global-search.test.js @@ -0,0 +1,133 @@ +import { + setupDatabase, + createLoggedInGraphqlFetch, + createAnonymousGraphqlFetch, + disconnect, +} from './helpers.js'; +import { ADMIN_TOKEN } from './seeds/users.js'; +import assert from 'node:assert'; +import test from 'node:test'; + +const GLOBAL_SEARCH_QUERY = /* GraphQL */ ` + query GlobalSearch($query: String!, $types: [SearchableEntity!], $limit: Int) { + globalSearch(query: $query, types: $types, limit: $limit) { + results { + ... on SimpleProduct { + _id + __typename + } + ... on ConfigurableProduct { + _id + __typename + } + ... on User { + _id + __typename + } + ... on Order { + _id + __typename + } + ... on Assortment { + _id + __typename + } + ... on Filter { + _id + __typename + } + } + counts { + type + totalCount + } + } + } +`; + +let graphqlFetch; +let graphqlFetchAsAnonymousUser; + +test.describe('Query.globalSearch', () => { + test.before(async () => { + await setupDatabase(); + graphqlFetch = createLoggedInGraphqlFetch(ADMIN_TOKEN); + graphqlFetchAsAnonymousUser = createAnonymousGraphqlFetch(); + }); + + test.after(async () => { + await disconnect(); + }); + + test.describe('Admin user', () => { + test('return results and counts for a broad search', async () => { + const { + data: { globalSearch }, + } = await graphqlFetch({ + query: GLOBAL_SEARCH_QUERY, + variables: { query: 'a', limit: 5 }, + }); + + assert.ok(Array.isArray(globalSearch.results)); + assert.ok(Array.isArray(globalSearch.counts)); + assert.ok(globalSearch.counts.length > 0); + + for (const count of globalSearch.counts) { + assert.ok(typeof count.type === 'string'); + assert.ok(typeof count.totalCount === 'number'); + } + }); + + test('filter by specific type', async () => { + const { + data: { globalSearch }, + } = await graphqlFetch({ + query: GLOBAL_SEARCH_QUERY, + variables: { query: 'a', types: ['PRODUCT'], limit: 5 }, + }); + + assert.ok(Array.isArray(globalSearch.results)); + assert.strictEqual(globalSearch.counts.length, 1); + assert.strictEqual(globalSearch.counts[0].type, 'PRODUCT'); + }); + + test('return empty results for empty query', async () => { + const { + data: { globalSearch }, + } = await graphqlFetch({ + query: GLOBAL_SEARCH_QUERY, + variables: { query: '' }, + }); + + assert.deepStrictEqual(globalSearch.results, []); + assert.deepStrictEqual(globalSearch.counts, []); + }); + + test('return empty results for whitespace-only query', async () => { + const { + data: { globalSearch }, + } = await graphqlFetch({ + query: GLOBAL_SEARCH_QUERY, + variables: { query: ' ' }, + }); + + assert.deepStrictEqual(globalSearch.results, []); + assert.deepStrictEqual(globalSearch.counts, []); + }); + }); + + test.describe('Anonymous user', () => { + test('return NoPermissionError', async () => { + const { errors } = await graphqlFetchAsAnonymousUser({ + query: GLOBAL_SEARCH_QUERY, + variables: { query: 'test' }, + }); + + assert.ok(errors?.length > 0); + assert.ok( + ['NoPermissionError', 'INTERNAL_SERVER_ERROR'].includes(errors[0].extensions?.code), + `Expected permission error, got: ${errors[0].extensions?.code}`, + ); + }); + }); +}); From 2ebb6fbdca9c3de296c01993441a56cd50f7b30d Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Thu, 11 Jun 2026 12:57:30 +0300 Subject: [PATCH 4/6] Fix global search permission handling, remove dead code, and type resolver --- admin-ui/src/gql/types.ts | 158 +++++++++++------- .../modules/search/hooks/useGlobalSearch.ts | 8 +- .../resolvers/queries/search/globalSearch.ts | 72 ++++++-- packages/api/src/schema/types/search.ts | 1 + tests/global-search.test.js | 19 ++- 5 files changed, 172 insertions(+), 86 deletions(-) diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index 0b4f7ea62f..176ba1338a 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -924,6 +924,36 @@ export type IGeoPosition = { longitude: Scalars['Float']['output']; }; +export type IGlobalSearchResponse = { + counts: Array; + results: Array; +}; + +export type IGlobalSearchResult = + | IAssortment + | IBundleProduct + | IConfigurableProduct + | IEnrollment + | IFilter + | IOrder + | IPlanProduct + | IQuotation + | ISimpleProduct + | ITokenizedProduct + | IUser + | IWork; + +export type IGlobalSearchTypeCount = { + authorized: Scalars['Boolean']['output']; + totalCount: Scalars['Int']['output']; + type: ISearchableEntity; +}; + +export type IGlobalSearchTypeLimitInput = { + limit: Scalars['Int']['input']; + type: ISearchableEntity; +}; + export type ILanguage = { _id: Scalars['ID']['output']; isActive?: Maybe; @@ -12824,69 +12854,69 @@ export type IProductFulfillmentSimulationQueryVariables = Exact<{ export type IProductFulfillmentSimulationQuery = { product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { + | { _id: string } + | { _id: string } + | { _id: string } + | { + _id: string; + simulatedDispatches?: Array<{ + shipping?: any | null; + earliestDelivery?: any | null; + deliveryProvider?: + | { _id: string; - simulatedDispatches?: Array<{ - shipping?: any | null; - earliestDelivery?: any | null; - deliveryProvider?: - | { - _id: string; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - warehousingProvider?: { - _id: string; - type?: IWarehousingProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - }> | null; - simulatedStocks?: Array<{ - quantity?: number | null; - deliveryProvider?: - | { - _id: string; - type?: IDeliveryProviderType | null; - interface?: { _id: string; label?: string | null } | null; - } - | { - _id: string; - type?: IDeliveryProviderType | null; - interface?: { _id: string; label?: string | null } | null; - } - | null; - warehousingProvider?: { - _id: string; - interface?: { _id: string; label?: string | null } | null; - } | null; - }> | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; } - | { _id: string } - | null; + | { + _id: string; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + warehousingProvider?: { + _id: string; + type?: IWarehousingProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + }> | null; + simulatedStocks?: Array<{ + quantity?: number | null; + deliveryProvider?: + | { + _id: string; + type?: IDeliveryProviderType | null; + interface?: { _id: string; label?: string | null } | null; + } + | { + _id: string; + type?: IDeliveryProviderType | null; + interface?: { _id: string; label?: string | null } | null; + } + | null; + warehousingProvider?: { + _id: string; + interface?: { _id: string; label?: string | null } | null; + } | null; + }> | null; + } + | { _id: string } + | null; }; export type IProductMediaQueryVariables = Exact<{ @@ -15851,7 +15881,11 @@ export type IGlobalSearchQueryVariables = Exact<{ export type IGlobalSearchQuery = { globalSearch: { - counts: Array<{ type: ISearchableEntity; totalCount: number }>; + counts: Array<{ + type: ISearchableEntity; + totalCount: number; + authorized: boolean; + }>; results: Array< | { __typename: 'Assortment'; diff --git a/admin-ui/src/modules/search/hooks/useGlobalSearch.ts b/admin-ui/src/modules/search/hooks/useGlobalSearch.ts index 3aa07eb661..2e54a4848e 100644 --- a/admin-ui/src/modules/search/hooks/useGlobalSearch.ts +++ b/admin-ui/src/modules/search/hooks/useGlobalSearch.ts @@ -1,6 +1,6 @@ import { gql } from '@apollo/client'; import { useLazyQuery } from '@apollo/client/react'; -import { useCallback, useRef, useState } from 'react'; +import { useCallback, useState } from 'react'; import GlobalSearchProductFragment from '../fragments/GlobalSearchFragment'; import type { IGlobalSearchQuery, @@ -31,6 +31,7 @@ const GLOBAL_SEARCH_QUERY = gql` counts { type totalCount + authorized } results { ...GlobalSearchProductFragment @@ -108,7 +109,6 @@ const useGlobalSearch = (options: SearchOptions = {}) => { } = options; const [cleared, setCleared] = useState(false); - const abortRef = useRef<(() => void) | null>(null); const [searchFn, { data, loading, error, called }] = useLazyQuery< IGlobalSearchQuery, IGlobalSearchQueryVariables @@ -150,10 +150,6 @@ const useGlobalSearch = (options: SearchOptions = {}) => { const clear = useCallback(() => { setCleared(true); - if (abortRef.current) { - abortRef.current(); - abortRef.current = null; - } }, []); const results = cleared ? [] : data?.globalSearch?.results || []; diff --git a/packages/api/src/resolvers/queries/search/globalSearch.ts b/packages/api/src/resolvers/queries/search/globalSearch.ts index 4a6803c588..071fbc94c0 100644 --- a/packages/api/src/resolvers/queries/search/globalSearch.ts +++ b/packages/api/src/resolvers/queries/search/globalSearch.ts @@ -2,6 +2,14 @@ import { log } from '@unchainedshop/logger'; import { checkAction } from '../../../acl.ts'; import { actions } from '../../../roles/index.ts'; import type { Context } from '../../../context.ts'; +import type { Product } from '@unchainedshop/core-products'; +import type { User } from '@unchainedshop/core-users'; +import type { Order } from '@unchainedshop/core-orders'; +import type { Assortment } from '@unchainedshop/core-assortments'; +import type { Filter } from '@unchainedshop/core-filters'; +import type { Enrollment } from '@unchainedshop/core-enrollments'; +import type { Quotation } from '@unchainedshop/core-quotations'; +import type { Work } from '@unchainedshop/core-worker'; type SearchableEntity = | 'PRODUCT' @@ -18,6 +26,19 @@ interface TypeLimitInput { limit: number; } +type SearchResultItem = ( + | Product + | User + | Order + | Assortment + | Filter + | Enrollment + | Quotation + | Work +) & { + __typename: string; +}; + const ALL_TYPES: SearchableEntity[] = [ 'PRODUCT', 'USER', @@ -75,8 +96,8 @@ async function searchType( limit: number, modules: Context['modules'], options: SearchOptions, -): Promise { - let results: any[]; +): Promise { + let results: (Product | User | Order | Assortment | Filter | Enrollment | Quotation | Work)[]; switch (type) { case 'PRODUCT': results = await modules.products.findProducts({ @@ -165,6 +186,28 @@ async function countType( } } +async function checkTypeAuthorization( + context: Context, + types: SearchableEntity[], +): Promise<{ authorized: SearchableEntity[]; unauthorized: Set }> { + const results = await Promise.allSettled( + types.map(async (type) => { + await checkAction(context, typeActionMap[type]); + return type; + }), + ); + const authorized: SearchableEntity[] = []; + const unauthorized = new Set(); + results.forEach((result, i) => { + if (result.status === 'fulfilled') { + authorized.push(types[i]); + } else { + unauthorized.add(types[i]); + } + }); + return { authorized, unauthorized }; +} + export default async function globalSearch( root: never, params: { @@ -198,9 +241,8 @@ export default async function globalSearch( log(`query globalSearch: "${sanitizedQuery}" types: ${types?.join(',') || 'all'}`, { userId }); - const searchTypes = types?.length ? types : ALL_TYPES; - - await Promise.all(searchTypes.map((type) => checkAction(context, typeActionMap[type]))); + const requestedTypes = types?.length ? types : ALL_TYPES; + const { authorized, unauthorized } = await checkTypeAuthorization(context, requestedTypes); const searchOptions: SearchOptions = { includeDraftProducts, @@ -212,7 +254,7 @@ export default async function globalSearch( const [resultsByType, countsByType] = await Promise.all([ Promise.all( - searchTypes.map((type) => + authorized.map((type) => searchType( type, sanitizedQuery, @@ -222,14 +264,22 @@ export default async function globalSearch( ), ), ), - Promise.all(searchTypes.map((type) => countType(type, sanitizedQuery, modules, searchOptions))), + Promise.all(authorized.map((type) => countType(type, sanitizedQuery, modules, searchOptions))), ]); const results = resultsByType.flat(); - const counts = searchTypes.map((type, i) => ({ - type, - totalCount: countsByType[i], - })); + const counts = [ + ...authorized.map((type, i) => ({ + type, + totalCount: countsByType[i], + authorized: true, + })), + ...[...unauthorized].map((type) => ({ + type, + totalCount: 0, + authorized: false, + })), + ]; return { results, counts }; } diff --git a/packages/api/src/schema/types/search.ts b/packages/api/src/schema/types/search.ts index 1cd3c5f1a2..af5e568f7e 100644 --- a/packages/api/src/schema/types/search.ts +++ b/packages/api/src/schema/types/search.ts @@ -57,6 +57,7 @@ export default [ type GlobalSearchTypeCount { type: SearchableEntity! totalCount: Int! + authorized: Boolean! } type GlobalSearchResponse { diff --git a/tests/global-search.test.js b/tests/global-search.test.js index b48382f2e2..9a46c5fad7 100644 --- a/tests/global-search.test.js +++ b/tests/global-search.test.js @@ -40,6 +40,7 @@ const GLOBAL_SEARCH_QUERY = /* GraphQL */ ` counts { type totalCount + authorized } } } @@ -75,6 +76,7 @@ test.describe('Query.globalSearch', () => { for (const count of globalSearch.counts) { assert.ok(typeof count.type === 'string'); assert.ok(typeof count.totalCount === 'number'); + assert.strictEqual(count.authorized, true); } }); @@ -117,17 +119,20 @@ test.describe('Query.globalSearch', () => { }); test.describe('Anonymous user', () => { - test('return NoPermissionError', async () => { - const { errors } = await graphqlFetchAsAnonymousUser({ + test('return empty results with all types unauthorized', async () => { + const { + data: { globalSearch }, + } = await graphqlFetchAsAnonymousUser({ query: GLOBAL_SEARCH_QUERY, variables: { query: 'test' }, }); - assert.ok(errors?.length > 0); - assert.ok( - ['NoPermissionError', 'INTERNAL_SERVER_ERROR'].includes(errors[0].extensions?.code), - `Expected permission error, got: ${errors[0].extensions?.code}`, - ); + assert.deepStrictEqual(globalSearch.results, []); + assert.ok(globalSearch.counts.length > 0); + for (const count of globalSearch.counts) { + assert.strictEqual(count.authorized, false); + assert.strictEqual(count.totalCount, 0); + } }); }); }); From 06bd113ea4c2ea7424b9bbbfd10df5338aaab7dc Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Thu, 11 Jun 2026 13:04:19 +0300 Subject: [PATCH 5/6] Fix --- .../src/module/configureOrdersModule-queries.ts | 1 + tests/global-search.test.js | 17 +++++++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/core-orders/src/module/configureOrdersModule-queries.ts b/packages/core-orders/src/module/configureOrdersModule-queries.ts index 62397da9a6..12c3bf873b 100644 --- a/packages/core-orders/src/module/configureOrdersModule-queries.ts +++ b/packages/core-orders/src/module/configureOrdersModule-queries.ts @@ -143,6 +143,7 @@ export const configureOrdersModuleQueries = ({ Orders }: { Orders: mongodb.Colle if (queryString) { return Orders.find(selector, { + ...findOptions, ...options, projection: { score: { $meta: 'textScore' } }, sort: { score: { $meta: 'textScore' } }, diff --git a/tests/global-search.test.js b/tests/global-search.test.js index 9a46c5fad7..6d075dd83f 100644 --- a/tests/global-search.test.js +++ b/tests/global-search.test.js @@ -119,20 +119,17 @@ test.describe('Query.globalSearch', () => { }); test.describe('Anonymous user', () => { - test('return empty results with all types unauthorized', async () => { - const { - data: { globalSearch }, - } = await graphqlFetchAsAnonymousUser({ + test('return NoPermissionError', async () => { + const { errors } = await graphqlFetchAsAnonymousUser({ query: GLOBAL_SEARCH_QUERY, variables: { query: 'test' }, }); - assert.deepStrictEqual(globalSearch.results, []); - assert.ok(globalSearch.counts.length > 0); - for (const count of globalSearch.counts) { - assert.strictEqual(count.authorized, false); - assert.strictEqual(count.totalCount, 0); - } + assert.ok(errors?.length > 0); + assert.ok( + ['NoPermissionError', 'INTERNAL_SERVER_ERROR'].includes(errors[0].extensions?.code), + `Expected permission error, got: ${errors[0].extensions?.code}`, + ); }); }); }); From 44e010a46621267ec534c2a303867dc576f4934d Mon Sep 17 00:00:00 2001 From: Mikael Araya Date: Wed, 8 Jul 2026 22:41:19 +0300 Subject: [PATCH 6/6] Rebase --- admin-ui/src/gql/types.ts | 13367 ++++++++++++++++++------------------ 1 file changed, 6696 insertions(+), 6671 deletions(-) diff --git a/admin-ui/src/gql/types.ts b/admin-ui/src/gql/types.ts index 176ba1338a..eba5948167 100644 --- a/admin-ui/src/gql/types.ts +++ b/admin-ui/src/gql/types.ts @@ -16,8 +16,8 @@ export type MakeEmpty< export type Incremental = | T | { - [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; - }; + [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; + }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: { input: string; output: string }; @@ -2863,6 +2863,8 @@ export type IQuery = { filters: Array; /** Returns total number of filters */ filtersCount: Scalars['Int']['output']; + /** Search across multiple entity types in a single request */ + globalSearch: IGlobalSearchResponse; /** User impersonating currently logged in user */ impersonator?: Maybe; /** Get a specific language */ @@ -3102,6 +3104,18 @@ export type IQueryFiltersCountArgs = { queryString?: InputMaybe; }; +export type IQueryGlobalSearchArgs = { + includeCarts?: InputMaybe; + includeDraftProducts?: InputMaybe; + includeGuestUsers?: InputMaybe; + includeInactiveAssortments?: InputMaybe; + includeInactiveFilters?: InputMaybe; + limit?: InputMaybe; + query: Scalars['String']['input']; + typeLimits?: InputMaybe>; + types?: InputMaybe>; +}; + export type IQueryLanguageArgs = { languageId: Scalars['ID']['input']; }; @@ -3551,6 +3565,17 @@ export type ISearchResultProductsArgs = { offset?: InputMaybe; }; +export enum ISearchableEntity { + Assortment = 'ASSORTMENT', + Enrollment = 'ENROLLMENT', + Filter = 'FILTER', + Order = 'ORDER', + Product = 'PRODUCT', + Quotation = 'QUOTATION', + User = 'USER', + Work = 'WORK', +} + export type IShop = { _id: Scalars['ID']['output']; adminUiConfig: IAdminUiConfig; @@ -6640,140 +6665,140 @@ export type IAssortmentProductsQuery = { sortKey: number; tags?: Array | null; product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + }; }> | null; } | null; }; @@ -7062,126 +7087,126 @@ export type IOrdersWithItemsQuery = { }; discounted?: Array< | { - _id: string; - orderDiscount: { _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + } > | null; }> | null; payment?: - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { + | { _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | null; contact?: { telNumber?: string | null; emailAddress?: string | null; @@ -7208,393 +7233,393 @@ export type IOrdersWithItemsQuery = { regionCode?: string | null; } | null; delivery?: - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + activePickUpLocation?: { _id: string; - label?: string | null; - version?: string | null; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } + provider?: | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { + } + | null; + fee?: { isTaxable: boolean; isNetPrice: boolean; amount: number; currencyCode: string; - }; - discounted?: Array< - | { + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { _id: string; - orderDiscount: { + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; }; - } + discounted?: Array< + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + provider?: | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { _id: string; - orderDiscount: { + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; }; - } - > | null; - }; - }> | null; - } - | null; + discounted?: Array< + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | null; total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; items?: Array<{ _id: string; quantity: number; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; unitPrice?: { amount: number; isTaxable: boolean; @@ -7851,50 +7876,50 @@ export type ICreateDeliveryProviderMutationVariables = Exact<{ export type ICreateDeliveryProviderMutation = { createDeliveryProvider: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + }>; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + }; }; export type IDeliveryInterfacesQueryVariables = Exact<{ @@ -7915,51 +7940,51 @@ export type IDeliveryProviderQueryVariables = Exact<{ export type IDeliveryProviderQuery = { deliveryProvider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + }>; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; }; export type IDeliveryProvidersTypeQueryVariables = Exact<{ @@ -7980,49 +8005,49 @@ export type IDeliveryProvidersQuery = { deliveryProvidersCount: number; deliveryProviders: Array< | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + }>; + interface?: { + _id: string; + label?: string | null; + version?: string | null; } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } + } | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { _id: string; - label?: string | null; - version?: string | null; - } | null; - } + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } >; }; @@ -8041,50 +8066,50 @@ export type IUpdateDeliveryProviderMutationVariables = Exact<{ export type IUpdateDeliveryProviderMutation = { updateDeliveryProvider: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - pickUpLocations: Array<{ - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - }>; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + pickUpLocations: Array<{ + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + }>; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + }; }; export type IEnrollmentDetailFragment = { @@ -8117,43 +8142,43 @@ export type IEnrollmentDetailFragment = { } | null; delivery?: { provider?: - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | null; + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | null; } | null; payment?: { provider?: { @@ -8275,43 +8300,43 @@ export type IEnrollmentQuery = { } | null; delivery?: { provider?: - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | { - _id: string; - configuration?: any | null; - configurationError?: IDeliveryProviderError | null; - isActive?: boolean | null; - type?: IDeliveryProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - simulatedPrice?: { - amount: number; - currencyCode: string; - isNetPrice: boolean; - isTaxable: boolean; - } | null; - } - | null; + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | { + _id: string; + configuration?: any | null; + configurationError?: IDeliveryProviderError | null; + isActive?: boolean | null; + type?: IDeliveryProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + simulatedPrice?: { + amount: number; + currencyCode: string; + isNetPrice: boolean; + isTaxable: boolean; + } | null; + } + | null; } | null; payment?: { provider?: { @@ -8879,126 +8904,126 @@ export type IOrderDetailFragment = { }; discounted?: Array< | { - _id: string; - orderDiscount: { _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } | { - _id: string; - orderDiscount: { _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; total: { amount: number; currencyCode: string; isTaxable: boolean; isNetPrice: boolean; }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } + } > | null; }> | null; payment?: - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { + | { _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | null; contact?: { telNumber?: string | null; emailAddress?: string | null } | null; country?: { _id: string; @@ -9018,269 +9043,700 @@ export type IOrderDetailFragment = { regionCode?: string | null; } | null; delivery?: - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + activePickUpLocation?: { _id: string; - label?: string | null; - version?: string | null; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< + provider?: | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; }; - } + discounted?: Array< + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + provider?: | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } + } | { - _id: string; - orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; }; - } - > | null; - }; - }> | null; - } - | { + discounted?: Array< + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; + }; + }> | null; + } + | null; + total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; + items?: Array<{ _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; + quantity: number; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + unitPrice?: { + amount: number; + isTaxable: boolean; + isNetPrice: boolean; + currencyCode: string; } | null; - provider?: - | { + total?: { + amount: number; + isTaxable: boolean; + isNetPrice: boolean; + currencyCode: string; + } | null; + }> | null; +}; + +export type IOrderDetailFragmentVariables = Exact<{ [key: string]: never }>; + +export type IOrderFragment = { + _id: string; + status?: IOrderStatus | null; + created?: any | null; + updated?: any | null; + ordered?: any | null; + orderNumber?: string | null; + confirmed?: any | null; + fulfilled?: any | null; + contact?: { telNumber?: string | null; emailAddress?: string | null } | null; + total?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + user?: { + _id: string; + username?: string | null; + isGuest: boolean; + avatar?: { _id: string; url?: string | null } | null; + profile?: { + displayName?: string | null; + address?: { firstName?: string | null; lastName?: string | null } | null; + } | null; + } | null; +}; + +export type IOrderFragmentVariables = Exact<{ [key: string]: never }>; + +export type IConfirmOrderMutationVariables = Exact<{ + orderId: Scalars['ID']['input']; +}>; + +export type IConfirmOrderMutation = { confirmOrder: { _id: string } }; + +export type IDeliverOrderMutationVariables = Exact<{ + orderId: Scalars['ID']['input']; +}>; + +export type IDeliverOrderMutation = { deliverOrder: { _id: string } }; + +export type IOrderQueryVariables = Exact<{ + orderId: Scalars['ID']['input']; +}>; + +export type IOrderQuery = { + order?: { + _id: string; + orderNumber?: string | null; + status?: IOrderStatus | null; + created?: any | null; + updated?: any | null; + ordered?: any | null; + confirmed?: any | null; + fulfilled?: any | null; + totalTax?: { amount: number; currencyCode: string } | null; + itemsTotal?: { amount: number; currencyCode: string } | null; + totalDiscount?: { amount: number; currencyCode: string } | null; + totalPayment?: { amount: number; currencyCode: string } | null; + totalDelivery?: { amount: number; currencyCode: string } | null; + user?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; + username?: string | null; + isGuest: boolean; + avatar?: { _id: string; url?: string | null } | null; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; } | null; - } - | { + } | null; + discounts?: Array<{ _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; + trigger: IOrderDiscountTrigger; + code?: string | null; interface?: { _id: string; label?: string | null; version?: string | null; } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + discounted?: Array< + | { _id: string; orderDiscount: { _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; total: { - isTaxable: boolean; - isNetPrice: boolean; amount: number; currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; }; }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; total: { + amount: number; + currencyCode: string; isTaxable: boolean; isNetPrice: boolean; + }; + }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + total: { amount: number; currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; }; }; + total: { + amount: number; + currencyCode: string; + isTaxable: boolean; + isNetPrice: boolean; + }; } - | { + > | null; + }> | null; + payment?: + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | { + _id: string; + status?: IOrderPaymentStatus | null; + paid?: any | null; + provider?: { + _id: string; + type?: IPaymentProviderType | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + fee?: { currencyCode: string; amount: number } | null; + } + | null; + contact?: { + telNumber?: string | null; + emailAddress?: string | null; + } | null; + country?: { + _id: string; + isoCode?: string | null; + flagEmoji?: string | null; + name?: string | null; + } | null; + currency?: { + _id: string; + isoCode: string; + isActive?: boolean | null; + } | null; + billingAddress?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + delivery?: + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + activePickUpLocation?: { + _id: string; + name: string; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + } | null; + provider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ _id: string; orderDiscount: { _id: string; @@ -9298,9 +9754,140 @@ export type IOrderDetailFragment = { amount: number; currencyCode: string; }; + discounted?: Array< + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; }; - } - | { + }> | null; + } + | { + _id: string; + status?: IOrderDeliveryStatus | null; + delivered?: any | null; + address?: { + firstName?: string | null; + lastName?: string | null; + company?: string | null; + addressLine?: string | null; + postalCode?: string | null; + city?: string | null; + countryCode?: string | null; + regionCode?: string | null; + } | null; + provider?: + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + type?: IDeliveryProviderType | null; + configuration?: any | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + fee?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + discounts?: Array<{ _id: string; orderDiscount: { _id: string; @@ -9318,5502 +9905,4940 @@ export type IOrderDetailFragment = { amount: number; currencyCode: string; }; + discounted?: Array< + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + | { + _id: string; + orderDiscount: { + _id: string; + trigger: IOrderDiscountTrigger; + code?: string | null; + order: { _id: string; orderNumber?: string | null }; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + total: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + }; + }; + } + > | null; }; + }> | null; + } + | null; + total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; + items?: Array<{ + _id: string; + quantity: number; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; } - > | null; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + brand?: string | null; + vendor?: string | null; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + unitPrice?: { + amount: number; + isTaxable: boolean; + isNetPrice: boolean; + currencyCode: string; + } | null; + total?: { + amount: number; + isTaxable: boolean; + isNetPrice: boolean; + currencyCode: string; + } | null; }> | null; - } - | null; - total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; - items?: Array<{ + } | null; +}; + +export type IOrdersQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + includeCarts?: InputMaybe; + queryString?: InputMaybe; + sort?: InputMaybe>; + paymentProviderIds?: InputMaybe>; + deliveryProviderIds?: InputMaybe>; + dateRange?: InputMaybe; + status?: InputMaybe>; +}>; + +export type IOrdersQuery = { + ordersCount: number; + orders: Array<{ _id: string; - quantity: number; - product: - | { + status?: IOrderStatus | null; + created?: any | null; + updated?: any | null; + ordered?: any | null; + orderNumber?: string | null; + confirmed?: any | null; + fulfilled?: any | null; + contact?: { + telNumber?: string | null; + emailAddress?: string | null; + } | null; + total?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; + } | null; + user?: { _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; + username?: string | null; + isGuest: boolean; + avatar?: { _id: string; url?: string | null } | null; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { + } | null; + }>; +}; + +export type IPayOrderMutationVariables = Exact<{ + orderId: Scalars['ID']['input']; +}>; + +export type IPayOrderMutation = { payOrder: { _id: string } }; + +export type IRejectOrderMutationVariables = Exact<{ + orderId: Scalars['ID']['input']; +}>; + +export type IRejectOrderMutation = { rejectOrder: { _id: string } }; + +export type IRemoveOrderMutationVariables = Exact<{ + orderId: Scalars['ID']['input']; +}>; + +export type IRemoveOrderMutation = { removeOrder: { _id: string } }; + +export type IUserOrderQueryVariables = Exact<{ + userId?: InputMaybe; + queryString?: InputMaybe; + sort?: InputMaybe>; + includeCarts?: InputMaybe; +}>; + +export type IUserOrderQuery = { + user?: { + orders: Array<{ _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; + status?: IOrderStatus | null; + created?: any | null; + updated?: any | null; + ordered?: any | null; + orderNumber?: string | null; + confirmed?: any | null; + fulfilled?: any | null; + contact?: { + telNumber?: string | null; + emailAddress?: string | null; } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; + total?: { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + currencyCode: string; } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { + user?: { _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; + username?: string | null; + isGuest: boolean; + avatar?: { _id: string; url?: string | null } | null; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - unitPrice?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - total?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - }> | null; + }>; + } | null; }; -export type IOrderDetailFragmentVariables = Exact<{ [key: string]: never }>; - -export type IOrderFragment = { +export type IPaymentProviderFragment = { _id: string; - status?: IOrderStatus | null; created?: any | null; updated?: any | null; - ordered?: any | null; - orderNumber?: string | null; - confirmed?: any | null; - fulfilled?: any | null; - contact?: { telNumber?: string | null; emailAddress?: string | null } | null; - total?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - user?: { + deleted?: any | null; + isActive?: boolean | null; + type?: IPaymentProviderType | null; + configuration?: any | null; + configurationError?: IPaymentProviderError | null; + interface?: { _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { firstName?: string | null; lastName?: string | null } | null; - } | null; + label?: string | null; + version?: string | null; } | null; }; -export type IOrderFragmentVariables = Exact<{ [key: string]: never }>; - -export type IConfirmOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IConfirmOrderMutation = { confirmOrder: { _id: string } }; - -export type IDeliverOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IDeliverOrderMutation = { deliverOrder: { _id: string } }; +export type IPaymentProviderFragmentVariables = Exact<{ [key: string]: never }>; -export type IOrderQueryVariables = Exact<{ - orderId: Scalars['ID']['input']; +export type ICreatePaymentProviderMutationVariables = Exact<{ + paymentProvider: ICreatePaymentProviderInput; }>; -export type IOrderQuery = { - order?: { +export type ICreatePaymentProviderMutation = { + createPaymentProvider: { _id: string; - orderNumber?: string | null; - status?: IOrderStatus | null; created?: any | null; updated?: any | null; - ordered?: any | null; - confirmed?: any | null; - fulfilled?: any | null; - totalTax?: { amount: number; currencyCode: string } | null; - itemsTotal?: { amount: number; currencyCode: string } | null; - totalDiscount?: { amount: number; currencyCode: string } | null; - totalPayment?: { amount: number; currencyCode: string } | null; - totalDelivery?: { amount: number; currencyCode: string } | null; - user?: { + deleted?: any | null; + isActive?: boolean | null; + type?: IPaymentProviderType | null; + configuration?: any | null; + configurationError?: IPaymentProviderError | null; + interface?: { _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; + label?: string | null; + version?: string | null; } | null; - discounts?: Array<{ - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - }; - total: { - amount: number; - currencyCode: string; - isTaxable: boolean; - isNetPrice: boolean; - }; - } - > | null; - }> | null; - payment?: - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | { - _id: string; - status?: IOrderPaymentStatus | null; - paid?: any | null; - provider?: { - _id: string; - type?: IPaymentProviderType | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - fee?: { currencyCode: string; amount: number } | null; - } - | null; - contact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - billingAddress?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - delivery?: - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - activePickUpLocation?: { - _id: string; - name: string; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | { - _id: string; - status?: IOrderDeliveryStatus | null; - delivered?: any | null; - address?: { - firstName?: string | null; - lastName?: string | null; - company?: string | null; - addressLine?: string | null; - postalCode?: string | null; - city?: string | null; - countryCode?: string | null; - regionCode?: string | null; - } | null; - provider?: - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - type?: IDeliveryProviderType | null; - configuration?: any | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - fee?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - discounts?: Array<{ - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - discounted?: Array< - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - | { - _id: string; - orderDiscount: { - _id: string; - trigger: IOrderDiscountTrigger; - code?: string | null; - order: { _id: string; orderNumber?: string | null }; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - total: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - }; - }; - } - > | null; - }; - }> | null; - } - | null; - total?: { isTaxable: boolean; amount: number; currencyCode: string } | null; - items?: Array<{ - _id: string; - quantity: number; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - brand?: string | null; - vendor?: string | null; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - unitPrice?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - total?: { - amount: number; - isTaxable: boolean; - isNetPrice: boolean; - currencyCode: string; - } | null; - }> | null; - } | null; -}; - -export type IOrdersQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - includeCarts?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - paymentProviderIds?: InputMaybe>; - deliveryProviderIds?: InputMaybe>; - dateRange?: InputMaybe; - status?: InputMaybe>; -}>; - -export type IOrdersQuery = { - ordersCount: number; - orders: Array<{ - _id: string; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - orderNumber?: string | null; - confirmed?: any | null; - fulfilled?: any | null; - contact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - total?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - }>; -}; - -export type IPayOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IPayOrderMutation = { payOrder: { _id: string } }; - -export type IRejectOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IRejectOrderMutation = { rejectOrder: { _id: string } }; - -export type IRemoveOrderMutationVariables = Exact<{ - orderId: Scalars['ID']['input']; -}>; - -export type IRemoveOrderMutation = { removeOrder: { _id: string } }; - -export type IUserOrderQueryVariables = Exact<{ - userId?: InputMaybe; - queryString?: InputMaybe; - sort?: InputMaybe>; - includeCarts?: InputMaybe; -}>; - -export type IUserOrderQuery = { - user?: { - orders: Array<{ - _id: string; - status?: IOrderStatus | null; - created?: any | null; - updated?: any | null; - ordered?: any | null; - orderNumber?: string | null; - confirmed?: any | null; - fulfilled?: any | null; - contact?: { - telNumber?: string | null; - emailAddress?: string | null; - } | null; - total?: { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - currencyCode: string; - } | null; - user?: { - _id: string; - username?: string | null; - isGuest: boolean; - avatar?: { _id: string; url?: string | null } | null; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - } | null; - }>; - } | null; -}; - -export type IPaymentProviderFragment = { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; -}; - -export type IPaymentProviderFragmentVariables = Exact<{ [key: string]: never }>; - -export type ICreatePaymentProviderMutationVariables = Exact<{ - paymentProvider: ICreatePaymentProviderInput; -}>; - -export type ICreatePaymentProviderMutation = { - createPaymentProvider: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IPaymentInterfacesQueryVariables = Exact<{ - providerType?: InputMaybe; -}>; - -export type IPaymentInterfacesQuery = { - paymentInterfaces: Array<{ - _id: string; - label?: string | null; - value: string; - }>; -}; - -export type IPaymentProviderQueryVariables = Exact<{ - paymentProviderId: Scalars['ID']['input']; -}>; - -export type IPaymentProviderQuery = { - paymentProvider?: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; -}; - -export type IPaymentProvidersTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IPaymentProvidersTypeQuery = { - paymentProviderType?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; -}; - -export type IPaymentProvidersQueryVariables = Exact<{ - type?: InputMaybe; -}>; - -export type IPaymentProvidersQuery = { - paymentProvidersCount: number; - paymentProviders: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }>; -}; - -export type IRemovePaymentProviderMutationVariables = Exact<{ - paymentProviderId: Scalars['ID']['input']; -}>; - -export type IRemovePaymentProviderMutation = { - removePaymentProvider: { _id: string }; -}; - -export type IUpdatePaymentProviderMutationVariables = Exact<{ - paymentProvider: IUpdateProviderInput; - paymentProviderId: Scalars['ID']['input']; -}>; - -export type IUpdatePaymentProviderMutation = { - updatePaymentProvider: { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - isActive?: boolean | null; - type?: IPaymentProviderType | null; - configuration?: any | null; - configurationError?: IPaymentProviderError | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - }; -}; - -export type IProductReviewDetailFragment = { - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { firstName?: string | null; lastName?: string | null } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; -}; - -export type IProductReviewDetailFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IAddProductReviewVoteMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; - type: IProductReviewVoteType; - meta?: InputMaybe; - forceLocale?: InputMaybe; -}>; - -export type IAddProductReviewVoteMutation = { - addProductReviewVote: { _id: string }; -}; - -export type ICreateProductReviewMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - productReview: IProductReviewInput; - forceLocale?: InputMaybe; -}>; - -export type ICreateProductReviewMutation = { - createProductReview: { _id: string }; -}; - -export type IProductReviewByProductQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IProductReviewByProductQuery = { - product?: - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } - | null; -}; - -export type IRemoveProductReviewMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; -}>; - -export type IRemoveProductReviewMutation = { - removeProductReview: { _id: string }; -}; - -export type IRemoveProductReviewVoteMutationVariables = Exact<{ - productReviewId: Scalars['ID']['input']; - type: IProductReviewVoteType; - forceLocale?: InputMaybe; -}>; - -export type IRemoveProductReviewVoteMutation = { - removeProductReviewVote: { _id: string }; -}; - -export type IUserProductReviewsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - limit?: InputMaybe; - offset?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; -}>; - -export type IUserProductReviewsQuery = { - user?: { - _id: string; - reviewsCount: number; - reviews: Array<{ - _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - product: - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - slug?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - }; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; - } | null; -}; - -export type IProductAssignmentFragment = { - _id: string; - vectors?: Array<{ - _id: string; - option?: { - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - } | null; - variation?: { - _id: string; - key?: string | null; - texts?: { _id: string; locale: any; title?: string | null } | null; - } | null; - }> | null; - product?: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | null; -}; - -export type IProductAssignmentFragmentVariables = Exact<{ - [key: string]: never; -}>; - -type IProductBriefFragment_BundleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_ConfigurableProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_PlanProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_SimpleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } - >; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -type IProductBriefFragment_TokenizedProduct = { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; -}; - -export type IProductBriefFragment = - | IProductBriefFragment_BundleProduct - | IProductBriefFragment_ConfigurableProduct - | IProductBriefFragment_PlanProduct - | IProductBriefFragment_SimpleProduct - | IProductBriefFragment_TokenizedProduct; - -export type IProductBriefFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductCatalogPriceFragment = { - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - minQuantity?: number | null; - country: { - _id: string; - isoCode?: string | null; - name?: string | null; - flagEmoji?: string | null; - }; - currency: { _id: string; isoCode: string; isActive?: boolean | null }; -}; - -export type IProductCatalogPriceFragmentVariables = Exact<{ - [key: string]: never; -}>; - -type IProductDetailFragment_BundleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_ConfigurableProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_PlanProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_SimpleProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -type IProductDetailFragment_TokenizedProduct = { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -export type IProductDetailFragment = - | IProductDetailFragment_BundleProduct - | IProductDetailFragment_ConfigurableProduct - | IProductDetailFragment_PlanProduct - | IProductDetailFragment_SimpleProduct - | IProductDetailFragment_TokenizedProduct; - -export type IProductDetailFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductDimensionFragment = { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; -}; - -export type IProductDimensionFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductMediaFragment = { - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; -}; - -export type IProductMediaFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductMediaTextsFragment = { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; -}; - -export type IProductMediaTextsFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductPlanConfigurationFragment = { - usageCalculationType: IProductPlanUsageCalculationType; - billingInterval: IProductPlanConfigurationInterval; - trialInterval?: IProductPlanConfigurationInterval | null; - trialIntervalCount?: number | null; - billingIntervalCount?: number | null; -}; - -export type IProductPlanConfigurationFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductTextsFragment = { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; -}; - -export type IProductTextsFragmentVariables = Exact<{ [key: string]: never }>; - -export type IProductVariationFragment = { - _id: string; - type?: IProductVariationType | null; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }> | null; -}; - -export type IProductVariationFragmentVariables = Exact<{ - [key: string]: never; -}>; - -export type ITokenFragment = { - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; -}; - -export type ITokenFragmentVariables = Exact<{ [key: string]: never }>; - -export type IAddProductAssignmentMutationVariables = Exact<{ - proxyId: Scalars['ID']['input']; - productId: Scalars['ID']['input']; - vectors: Array; -}>; - -export type IAddProductAssignmentMutation = { - addProductAssignment: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IPrepareProductMediaUploadMutationVariables = Exact<{ - mediaName: Scalars['String']['input']; - productId: Scalars['ID']['input']; -}>; - -export type IPrepareProductMediaUploadMutation = { - prepareProductMediaUpload: { _id: string; putURL: string; expires: any }; -}; - -export type ICreateProductMutationVariables = Exact<{ - product: ICreateProductInput; - texts?: InputMaybe>; -}>; - -export type ICreateProductMutation = { - createProduct: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - }; -}; - -export type ICreateProductBundleItemMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - item: ICreateProductBundleItemInput; -}>; - -export type ICreateProductBundleItemMutation = { - createProductBundleItem: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type ICreateProductVariationMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - variation: ICreateProductVariationInput; - texts?: InputMaybe>; -}>; - -export type ICreateProductVariationMutation = { - createProductVariation: { _id: string }; -}; - -export type ICreateProductVariationOptionMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; - option: Scalars['String']['input']; - texts?: InputMaybe>; -}>; - -export type ICreateProductVariationOptionMutation = { - createProductVariationOption: { _id: string }; -}; - -export type IExportTokenMutationVariables = Exact<{ - tokenId: Scalars['ID']['input']; - quantity?: Scalars['Int']['input']; - recipientWalletAddress: Scalars['String']['input']; -}>; - -export type IExportTokenMutation = { - exportToken: { - _id: string; - walletAddress?: string | null; - status: ITokenExportStatus; - quantity: number; - contractAddress?: string | null; - chainId?: string | null; - tokenSerialNumber?: string | null; - invalidatedDate?: any | null; - expiryDate?: any | null; - ercMetadata?: any | null; - accessKey: string; - isInvalidateable: boolean; - }; -}; - -export type IProductQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductQuery = { - product?: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { + }; +}; + +export type IPaymentInterfacesQueryVariables = Exact<{ + providerType?: InputMaybe; +}>; + +export type IPaymentInterfacesQuery = { + paymentInterfaces: Array<{ _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | null; + label?: string | null; + value: string; + }>; }; -export type IProductAssignmentsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; +export type IPaymentProviderQueryVariables = Exact<{ + paymentProviderId: Scalars['ID']['input']; }>; -export type IProductAssignmentsQuery = { - product?: - | { _id: string } - | { +export type IPaymentProviderQuery = { + paymentProvider?: { _id: string; - texts?: { + created?: any | null; + updated?: any | null; + deleted?: any | null; + isActive?: boolean | null; + type?: IPaymentProviderType | null; + configuration?: any | null; + configurationError?: IPaymentProviderError | null; + interface?: { _id: string; - subtitle?: string | null; - slug?: string | null; - title?: string | null; + label?: string | null; + version?: string | null; } | null; - variations?: Array<{ - _id: string; - key?: string | null; - texts?: { _id: string; title?: string | null } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { _id: string; title?: string | null } | null; - }> | null; - }> | null; - assignments: Array<{ + } | null; +}; + +export type IPaymentProvidersTypeQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type IPaymentProvidersTypeQuery = { + paymentProviderType?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; +}; + +export type IPaymentProvidersQueryVariables = Exact<{ + type?: InputMaybe; +}>; + +export type IPaymentProvidersQuery = { + paymentProvidersCount: number; + paymentProviders: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + isActive?: boolean | null; + type?: IPaymentProviderType | null; + configuration?: any | null; + configurationError?: IPaymentProviderError | null; + interface?: { _id: string; - vectors?: Array<{ - _id: string; - option?: { - _id: string; - value?: string | null; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - } | null; - variation?: { - _id: string; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - } | null; - } | null; - }> | null; - product?: - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | { - _id: string; - texts?: { - _id: string; - title?: string | null; - slug?: string | null; - subtitle?: string | null; - } | null; - } - | null; - }>; - } - | { _id: string } - | { _id: string } - | { _id: string } - | null; + label?: string | null; + version?: string | null; + } | null; + }>; }; -export type IProductBundleItemsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - forceLocale?: InputMaybe; +export type IRemovePaymentProviderMutationVariables = Exact<{ + paymentProviderId: Scalars['ID']['input']; }>; -export type IProductBundleItemsQuery = { - product?: - | { +export type IRemovePaymentProviderMutation = { + removePaymentProvider: { _id: string }; +}; + +export type IUpdatePaymentProviderMutationVariables = Exact<{ + paymentProvider: IUpdateProviderInput; + paymentProviderId: Scalars['ID']['input']; +}>; + +export type IUpdatePaymentProviderMutation = { + updatePaymentProvider: { _id: string; - bundleItems?: Array<{ - quantity: number; - product: - | { + created?: any | null; + updated?: any | null; + deleted?: any | null; + isActive?: boolean | null; + type?: IPaymentProviderType | null; + configuration?: any | null; + configurationError?: IPaymentProviderError | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + }; +}; + +export type IProductReviewDetailFragment = { + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { firstName?: string | null; lastName?: string | null } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; texts?: { _id: string; - slug?: string | null; title?: string | null; subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; texts?: { _id: string; - slug?: string | null; title?: string | null; subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; texts?: { _id: string; - slug?: string | null; title?: string | null; subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; } | null; media: Array<{ _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; texts?: { _id: string; - slug?: string | null; title?: string | null; subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; texts?: { _id: string; - slug?: string | null; title?: string | null; subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; } | null; media: Array<{ _id: string; - tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; }; - }> | null; - } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | null; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; }; -export type IProductCatalogPricesQueryVariables = Exact<{ - productId: Scalars['ID']['input']; +export type IProductReviewDetailFragmentVariables = Exact<{ + [key: string]: never; }>; -export type IProductCatalogPricesQuery = { - productCatalogPrices: Array<{ - isTaxable: boolean; - isNetPrice: boolean; - amount: number; - minQuantity?: number | null; - country: { - _id: string; - isoCode?: string | null; - name?: string | null; - flagEmoji?: string | null; - }; - currency: { _id: string; isoCode: string; isActive?: boolean | null }; - }>; +export type IAddProductReviewVoteMutationVariables = Exact<{ + productReviewId: Scalars['ID']['input']; + type: IProductReviewVoteType; + meta?: InputMaybe; + forceLocale?: InputMaybe; +}>; + +export type IAddProductReviewVoteMutation = { + addProductReviewVote: { _id: string }; }; -export type IProductFulfillmentSimulationQueryVariables = Exact<{ - productId?: InputMaybe; - deliveryProviderType?: InputMaybe; - quantity?: InputMaybe; - referenceDate?: InputMaybe; +export type ICreateProductReviewMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + productReview: IProductReviewInput; + forceLocale?: InputMaybe; }>; -export type IProductFulfillmentSimulationQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { - _id: string; - simulatedDispatches?: Array<{ - shipping?: any | null; - earliestDelivery?: any | null; - deliveryProvider?: - | { - _id: string; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | { - _id: string; - type?: IDeliveryProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } - | null; - warehousingProvider?: { - _id: string; - type?: IWarehousingProviderType | null; - isActive?: boolean | null; - interface?: { - _id: string; - label?: string | null; - version?: string | null; - } | null; - } | null; - }> | null; - simulatedStocks?: Array<{ - quantity?: number | null; - deliveryProvider?: - | { - _id: string; - type?: IDeliveryProviderType | null; - interface?: { _id: string; label?: string | null } | null; - } - | { - _id: string; - type?: IDeliveryProviderType | null; - interface?: { _id: string; label?: string | null } | null; - } - | null; - warehousingProvider?: { - _id: string; - interface?: { _id: string; label?: string | null } | null; - } | null; - }> | null; - } - | { _id: string } - | null; +export type ICreateProductReviewMutation = { + createProductReview: { _id: string }; }; -export type IProductMediaQueryVariables = Exact<{ +export type IProductReviewByProductQueryVariables = Exact<{ productId?: InputMaybe; slug?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + sort?: InputMaybe>; + forceLocale?: InputMaybe; }>; -export type IProductMediaQuery = { +export type IProductReviewByProductQuery = { product?: - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { - _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { + | { _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | { _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | { _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - tags?: Array | null; - sortKey: number; - file?: { + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | { _id: string; - name: string; - type: string; - size: number; - url?: string | null; - } | null; - texts?: { + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | { _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }>; - } - | null; + reviewsCount: number; + reviews: Array<{ + _id: string; + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { + _id: string; + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } + | null; }; -export type IProductPlanQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; +export type IRemoveProductReviewMutationVariables = Exact<{ + productReviewId: Scalars['ID']['input']; }>; -export type IProductPlanQuery = { - product?: - | { _id: string } - | { _id: string } - | { - _id: string; - plan?: { - usageCalculationType: IProductPlanUsageCalculationType; - billingInterval: IProductPlanConfigurationInterval; - trialInterval?: IProductPlanConfigurationInterval | null; - trialIntervalCount?: number | null; - billingIntervalCount?: number | null; - } | null; - } - | { _id: string } - | { _id: string } - | null; +export type IRemoveProductReviewMutation = { + removeProductReview: { _id: string }; }; -export type IProductPlanConfigurationOptionsQueryVariables = Exact<{ - [key: string]: never; +export type IRemoveProductReviewVoteMutationVariables = Exact<{ + productReviewId: Scalars['ID']['input']; + type: IProductReviewVoteType; + forceLocale?: InputMaybe; }>; -export type IProductPlanConfigurationOptionsQuery = { - usageCalculationTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; - configurationIntervals?: { - options?: Array<{ value: string; label?: string | null }> | null; - } | null; +export type IRemoveProductReviewVoteMutation = { + removeProductReviewVote: { _id: string }; }; -export type IProductReviewsQueryVariables = Exact<{ - queryString?: InputMaybe; +export type IUserProductReviewsQueryVariables = Exact<{ + userId: Scalars['ID']['input']; limit?: InputMaybe; offset?: InputMaybe; sort?: InputMaybe>; forceLocale?: InputMaybe; }>; -export type IProductReviewsQuery = { - productReviews: Array<{ +export type IUserProductReviewsQuery = { + user?: { _id: string; - created?: any | null; - updated?: any | null; - deleted?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - upVote?: number | null; - downVote?: number | null; - voteReport?: number | null; - author: { - _id: string; - username?: string | null; - name: string; - isGuest: boolean; - profile?: { - displayName?: string | null; - address?: { - firstName?: string | null; - lastName?: string | null; - } | null; - } | null; - avatar?: { _id: string; url?: string | null } | null; - }; - product: - | { + reviewsCount: number; + reviews: Array<{ _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ + created?: any | null; + updated?: any | null; + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + product: + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + slug?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + }; + author: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; + } | null; +}; + +export type IProductAssignmentFragment = { + _id: string; + vectors?: Array<{ + _id: string; + option?: { _id: string; + value?: string | null; texts?: { _id: string; title?: string | null; subtitle?: string | null; } | null; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { + } | null; + variation?: { _id: string; - texts?: { - _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ + key?: string | null; + texts?: { _id: string; locale: any; title?: string | null } | null; + } | null; + }> | null; + product?: + | { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } | { - _id: string; - texts?: { _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } | { - _id: string; - texts?: { _id: string; - title?: string | null; - subtitle?: string | null; - } | null; - media: Array<{ + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - }; - ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; - }>; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | null; }; -export type IProductSupplyQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; +export type IProductAssignmentFragmentVariables = Exact<{ + [key: string]: never; }>; -export type IProductSupplyQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { +type IProductBriefFragment_BundleProduct = { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + proxies: Array< + { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } + >; + texts?: { _id: string; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - } - | { _id: string } - | null; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; }; -export type IProductTokenizationQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; - -export type IProductTokenizationQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { - contractStandard?: ISmartContractStandard | null; - contractAddress?: string | null; +type IProductBriefFragment_ConfigurableProduct = { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ _id: string; - contractConfiguration?: { tokenId: string; supply: number } | null; - } - | null; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; }; -export type IProductVariationTypeQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type IProductVariationTypeQuery = { - variationTypes?: { - options?: Array<{ value: string; label?: string | null }> | null; +type IProductBriefFragment_PlanProduct = { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; }; -export type IProductVariationsQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; - locale?: InputMaybe; -}>; +type IProductBriefFragment_SimpleProduct = { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + { __typename: 'BundleProduct' } | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; +}; -export type IProductVariationsQuery = { - product?: - | { _id: string } - | { +type IProductBriefFragment_TokenizedProduct = { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - variations?: Array<{ - _id: string; - type?: IProductVariationType | null; - key?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - options?: Array<{ - _id: string; - value?: string | null; - texts?: { - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - } | null; - }> | null; - }> | null; - } - | { _id: string } - | { _id: string } - | { _id: string } - | null; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; }; -export type IProductWarehousingQueryVariables = Exact<{ - productId?: InputMaybe; - slug?: InputMaybe; -}>; +export type IProductBriefFragment = + | IProductBriefFragment_BundleProduct + | IProductBriefFragment_ConfigurableProduct + | IProductBriefFragment_PlanProduct + | IProductBriefFragment_SimpleProduct + | IProductBriefFragment_TokenizedProduct; + +export type IProductBriefFragmentVariables = Exact<{ [key: string]: never }>; -export type IProductWarehousingQuery = { - product?: - | { _id: string } - | { _id: string } - | { _id: string } - | { sku?: string | null; baseUnit?: string | null; _id: string } - | { _id: string } - | null; +export type IProductCatalogPriceFragment = { + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + minQuantity?: number | null; + country: { + _id: string; + isoCode?: string | null; + name?: string | null; + flagEmoji?: string | null; + }; + currency: { _id: string; isoCode: string; isActive?: boolean | null }; }; -export type IProductsQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - slugs?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - includeDrafts?: InputMaybe; - sort?: InputMaybe>; - forceLocale?: InputMaybe; +export type IProductCatalogPriceFragmentVariables = Exact<{ + [key: string]: never; }>; -export type IProductsQuery = { - productsCount: number; - products: Array< +type IProductDetailFragment_BundleProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; + +type IProductDetailFragment_ConfigurableProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } | { - sku?: string | null; - baseUnit?: string | null; - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - catalogPrice?: { amount: number; currencyCode: string } | null; - proxies: Array< - | { __typename: 'BundleProduct' } - | { __typename: 'ConfigurableProduct' } - >; - texts?: { _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } | { - _id: string; - sequence: number; - status: IProductStatus; - tags?: Array | null; - updated?: any | null; - published?: any | null; - texts?: { _id: string; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - locale: any; - } | null; - media: Array<{ + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; -}; - -export type IProductsCountQueryVariables = Exact<{ - queryString?: InputMaybe; - tags?: InputMaybe>; - slugs?: InputMaybe>; - includeDrafts?: InputMaybe; -}>; - -export type IProductsCountQuery = { productsCount: number }; - -export type IPublishProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; -}>; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; +}; -export type IPublishProductMutation = { - publishProduct: - | { +type IProductDetailFragment_PlanProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - >; - } - | { + >; +}; + +type IProductDetailFragment_SimpleProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - >; - } - | { + >; +}; + +type IProductDetailFragment_TokenizedProduct = { + _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + media: Array<{ _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + file?: { _id: string; url?: string | null } | null; + }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; file?: { _id: string; url?: string | null } | null; }>; } - >; - } - | { + >; +}; + +export type IProductDetailFragment = + | IProductDetailFragment_BundleProduct + | IProductDetailFragment_ConfigurableProduct + | IProductDetailFragment_PlanProduct + | IProductDetailFragment_SimpleProduct + | IProductDetailFragment_TokenizedProduct; + +export type IProductDetailFragmentVariables = Exact<{ [key: string]: never }>; + +export type IProductDimensionFragment = { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; +}; + +export type IProductDimensionFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductMediaFragment = { + _id: string; + tags?: Array | null; + sortKey: number; + file?: { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; +}; + +export type IProductMediaFragmentVariables = Exact<{ [key: string]: never }>; + +export type IProductMediaTextsFragment = { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; +}; + +export type IProductMediaTextsFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductPlanConfigurationFragment = { + usageCalculationType: IProductPlanUsageCalculationType; + billingInterval: IProductPlanConfigurationInterval; + trialInterval?: IProductPlanConfigurationInterval | null; + trialIntervalCount?: number | null; + billingIntervalCount?: number | null; +}; + +export type IProductPlanConfigurationFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductTextsFragment = { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; +}; + +export type IProductTextsFragmentVariables = Exact<{ [key: string]: never }>; + +export type IProductVariationFragment = { + _id: string; + type?: IProductVariationType | null; + key?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + options?: Array<{ + _id: string; + value?: string | null; + texts?: { _id: string; - created?: any | null; - rating?: number | null; + locale: any; title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + subtitle?: string | null; + } | null; + }> | null; +}; + +export type IProductVariationFragmentVariables = Exact<{ + [key: string]: never; +}>; + +export type ITokenFragment = { + _id: string; + walletAddress?: string | null; + status: ITokenExportStatus; + quantity: number; + contractAddress?: string | null; + chainId?: string | null; + tokenSerialNumber?: string | null; + invalidatedDate?: any | null; + expiryDate?: any | null; + ercMetadata?: any | null; + accessKey: string; + isInvalidateable: boolean; +}; + +export type ITokenFragmentVariables = Exact<{ [key: string]: never }>; + +export type IAddProductAssignmentMutationVariables = Exact<{ + proxyId: Scalars['ID']['input']; + productId: Scalars['ID']['input']; + vectors: Array; +}>; + +export type IAddProductAssignmentMutation = { + addProductAssignment: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IPrepareProductMediaUploadMutationVariables = Exact<{ + mediaName: Scalars['String']['input']; + productId: Scalars['ID']['input']; +}>; + +export type IPrepareProductMediaUploadMutation = { + prepareProductMediaUpload: { _id: string; putURL: string; expires: any }; +}; + +export type ICreateProductMutationVariables = Exact<{ + product: ICreateProductInput; + texts?: InputMaybe>; +}>; + +export type ICreateProductMutation = { + createProduct: + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - >; - }; -}; - -export type IReOrderProductMediaMutationVariables = Exact<{ - sortKeys: Array; -}>; - -export type IReOrderProductMediaMutation = { - reorderProductMedia: Array<{ _id: string }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + }; }; -export type IRemoveBundleItemMutationVariables = Exact<{ +export type ICreateProductBundleItemMutationVariables = Exact<{ productId: Scalars['ID']['input']; - index: Scalars['Int']['input']; + item: ICreateProductBundleItemInput; }>; -export type IRemoveBundleItemMutation = { - removeBundleItem: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; +export type ICreateProductBundleItemMutation = { + createProductBundleItem: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; }; -export type IRemoveProductMutationVariables = Exact<{ +export type ICreateProductVariationMutationVariables = Exact<{ productId: Scalars['ID']['input']; + variation: ICreateProductVariationInput; + texts?: InputMaybe>; }>; -export type IRemoveProductMutation = { - removeProduct: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductAssignmentMutationVariables = Exact<{ - proxyId: Scalars['ID']['input']; - vectors: Array; -}>; - -export type IRemoveProductAssignmentMutation = { - removeProductAssignment: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string }; -}; - -export type IRemoveProductMediaMutationVariables = Exact<{ - productMediaId: Scalars['ID']['input']; -}>; - -export type IRemoveProductMediaMutation = { - removeProductMedia: { _id: string }; -}; - -export type IRemoveProductVariationMutationVariables = Exact<{ - productVariationId: Scalars['ID']['input']; -}>; - -export type IRemoveProductVariationMutation = { - removeProductVariation: { _id: string }; +export type ICreateProductVariationMutation = { + createProductVariation: { _id: string }; }; -export type IRemoveProductVariationOptionMutationVariables = Exact<{ +export type ICreateProductVariationOptionMutationVariables = Exact<{ productVariationId: Scalars['ID']['input']; - productVariationOptionValue: Scalars['String']['input']; -}>; - -export type IRemoveProductVariationOptionMutation = { - removeProductVariationOption: { _id: string }; -}; - -export type ISmartContractStandardsQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type ISmartContractStandardsQuery = { - smartContractStandards?: { - options?: Array<{ value: string; label: string }> | null; - } | null; -}; - -export type ITranslatedProductMediaTextsQueryVariables = Exact<{ - productMediaId: Scalars['ID']['input']; -}>; - -export type ITranslatedProductMediaTextsQuery = { - translatedProductMediaTexts: Array<{ - _id: string; - locale: any; - title?: string | null; - subtitle?: string | null; - }>; -}; - -export type ITranslatedProductTextsQueryVariables = Exact<{ - productId: Scalars['ID']['input']; + option: Scalars['String']['input']; + texts?: InputMaybe>; }>; -export type ITranslatedProductTextsQuery = { - translatedProductTexts: Array<{ - _id: string; - locale: any; - slug?: string | null; - title?: string | null; - subtitle?: string | null; - description?: string | null; - vendor?: string | null; - brand?: string | null; - labels?: Array | null; - }>; +export type ICreateProductVariationOptionMutation = { + createProductVariationOption: { _id: string }; }; -export type IUnpublishProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; +export type IExportTokenMutationVariables = Exact<{ + tokenId: Scalars['ID']['input']; + quantity?: Scalars['Int']['input']; + recipientWalletAddress: Scalars['String']['input']; }>; -export type IUnpublishProductMutation = { - unpublishProduct: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { +export type IExportTokenMutation = { + exportToken: { _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + walletAddress?: string | null; + status: ITokenExportStatus; + quantity: number; + contractAddress?: string | null; + chainId?: string | null; + tokenSerialNumber?: string | null; + invalidatedDate?: any | null; + expiryDate?: any | null; + ercMetadata?: any | null; + accessKey: string; + isInvalidateable: boolean; + }; +}; + +export type IProductQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductQuery = { + product?: + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + title?: string | null; + subtitle?: string | null; + description?: string | null; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | null; +}; + +export type IProductAssignmentsQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductAssignmentsQuery = { + product?: + | { _id: string } + | { _id: string; - media: Array<{ + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; + subtitle?: string | null; + slug?: string | null; + title?: string | null; + } | null; + variations?: Array<{ + _id: string; + key?: string | null; + texts?: { _id: string; title?: string | null } | null; + options?: Array<{ + _id: string; + value?: string | null; + texts?: { _id: string; title?: string | null } | null; + }> | null; + }> | null; + assignments: Array<{ + _id: string; + vectors?: Array<{ + _id: string; + option?: { + _id: string; + value?: string | null; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + } | null; + variation?: { + _id: string; + key?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + } | null; + } | null; + }> | null; + product?: + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + subtitle?: string | null; + } | null; + } + | null; }>; } - | { + | { _id: string } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductBundleItemsQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; + forceLocale?: InputMaybe; +}>; + +export type IProductBundleItemsQuery = { + product?: + | { _id: string; - media: Array<{ - _id: string; - file?: { _id: string; url?: string | null } | null; - }>; + bundleItems?: Array<{ + quantity: number; + product: + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { + _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; + media: Array<{ + _id: string; + tags?: Array | null; + file?: { _id: string; url?: string | null } | null; + }>; + }; + }> | null; } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductCatalogPricesQueryVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; + +export type IProductCatalogPricesQuery = { + productCatalogPrices: Array<{ + isTaxable: boolean; + isNetPrice: boolean; + amount: number; + minQuantity?: number | null; + country: { _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + isoCode?: string | null; + name?: string | null; + flagEmoji?: string | null; + }; + currency: { _id: string; isoCode: string; isActive?: boolean | null }; + }>; +}; + +export type IProductFulfillmentSimulationQueryVariables = Exact<{ + productId?: InputMaybe; + deliveryProviderType?: InputMaybe; + quantity?: InputMaybe; + referenceDate?: InputMaybe; +}>; + +export type IProductFulfillmentSimulationQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { + _id: string; + simulatedDispatches?: Array<{ + shipping?: any | null; + earliestDelivery?: any | null; + deliveryProvider?: + | { + _id: string; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | { + _id: string; + type?: IDeliveryProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } + | null; + warehousingProvider?: { + _id: string; + type?: IWarehousingProviderType | null; + isActive?: boolean | null; + interface?: { + _id: string; + label?: string | null; + version?: string | null; + } | null; + } | null; + }> | null; + simulatedStocks?: Array<{ + quantity?: number | null; + deliveryProvider?: + | { + _id: string; + type?: IDeliveryProviderType | null; + interface?: { _id: string; label?: string | null } | null; + } + | { + _id: string; + type?: IDeliveryProviderType | null; + interface?: { _id: string; label?: string | null } | null; + } + | null; + warehousingProvider?: { + _id: string; + interface?: { _id: string; label?: string | null } | null; + } | null; + }> | null; + } + | { _id: string } + | null; +}; + +export type IProductMediaQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductMediaQuery = { + product?: + | { _id: string; media: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; }>; } - | { + | { _id: string; media: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + tags?: Array | null; + sortKey: number; + file?: { + _id: string; + name: string; + type: string; + size: number; + url?: string | null; + } | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; }>; } - >; - }; + | null; }; -export type IUpdateProductMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - product: IUpdateProductInput; +export type IProductPlanQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; }>; -export type IUpdateProductMutation = { - updateProduct?: - | { +export type IProductPlanQuery = { + product?: + | { _id: string } + | { _id: string } + | { + _id: string; + plan?: { + usageCalculationType: IProductPlanUsageCalculationType; + billingInterval: IProductPlanConfigurationInterval; + trialInterval?: IProductPlanConfigurationInterval | null; + trialIntervalCount?: number | null; + billingIntervalCount?: number | null; + } | null; + } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductPlanConfigurationOptionsQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductPlanConfigurationOptionsQuery = { + usageCalculationTypes?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; + configurationIntervals?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; +}; + +export type IProductReviewsQueryVariables = Exact<{ + queryString?: InputMaybe; + limit?: InputMaybe; + offset?: InputMaybe; + sort?: InputMaybe>; + forceLocale?: InputMaybe; +}>; + +export type IProductReviewsQuery = { + productReviews: Array<{ _id: string; - sequence: number; - status: IProductStatus; created?: any | null; - tags?: Array | null; updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ + deleted?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + upVote?: number | null; + downVote?: number | null; + voteReport?: number | null; + author: { _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< + username?: string | null; + name: string; + isGuest: boolean; + profile?: { + displayName?: string | null; + address?: { + firstName?: string | null; + lastName?: string | null; + } | null; + } | null; + avatar?: { _id: string; url?: string | null } | null; + }; + product: | { - _id: string; - media: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } | { - _id: string; - media: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + title?: string | null; + subtitle?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + }; + ownVotes: Array<{ timestamp: any; type: IProductReviewVoteType }>; + }>; +}; + +export type IProductSupplyQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductSupplyQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string; - media: Array<{ + dimensions?: { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; + } | null; + } + | { _id: string } + | null; +}; + +export type IProductTokenizationQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductTokenizationQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { + contractStandard?: ISmartContractStandard | null; + contractAddress?: string | null; + _id: string; + contractConfiguration?: { tokenId: string; supply: number } | null; + } + | null; +}; + +export type IProductVariationTypeQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type IProductVariationTypeQuery = { + variationTypes?: { + options?: Array<{ value: string; label?: string | null }> | null; + } | null; +}; + +export type IProductVariationsQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; + locale?: InputMaybe; +}>; + +export type IProductVariationsQuery = { + product?: + | { _id: string } + | { + _id: string; + variations?: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; - }>; + type?: IProductVariationType | null; + key?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + options?: Array<{ + _id: string; + value?: string | null; + texts?: { + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + } | null; + }> | null; + }> | null; } - | { + | { _id: string } + | { _id: string } + | { _id: string } + | null; +}; + +export type IProductWarehousingQueryVariables = Exact<{ + productId?: InputMaybe; + slug?: InputMaybe; +}>; + +export type IProductWarehousingQuery = { + product?: + | { _id: string } + | { _id: string } + | { _id: string } + | { sku?: string | null; baseUnit?: string | null; _id: string } + | { _id: string } + | null; +}; + +export type IProductsQueryVariables = Exact<{ + queryString?: InputMaybe; + tags?: InputMaybe>; + slugs?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + includeDrafts?: InputMaybe; + sort?: InputMaybe>; + forceLocale?: InputMaybe; +}>; + +export type IProductsQuery = { + productsCount: number; + products: Array< + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { + sku?: string | null; + baseUnit?: string | null; _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + dimensions?: { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; + } | null; + catalogPrice?: { amount: number; currencyCode: string } | null; + proxies: Array< + | { __typename: 'BundleProduct' } + | { __typename: 'ConfigurableProduct' } + >; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + | { _id: string; - media: Array<{ + sequence: number; + status: IProductStatus; + tags?: Array | null; + updated?: any | null; + published?: any | null; + texts?: { _id: string; - file?: { _id: string; url?: string | null } | null; - }>; - } - | { - _id: string; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + locale: any; + } | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; } - | { + >; +}; + +export type IProductsCountQueryVariables = Exact<{ + queryString?: InputMaybe; + tags?: InputMaybe>; + slugs?: InputMaybe>; + includeDrafts?: InputMaybe; +}>; + +export type IProductsCountQuery = { productsCount: number }; + +export type IPublishProductMutationVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; + +export type IPublishProductMutation = { + publishProduct: + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + }; +}; + +export type IReOrderProductMediaMutationVariables = Exact<{ + sortKeys: Array; +}>; + +export type IReOrderProductMediaMutation = { + reorderProductMedia: Array<{ _id: string }>; +}; + +export type IRemoveBundleItemMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + index: Scalars['Int']['input']; +}>; + +export type IRemoveBundleItemMutation = { + removeBundleItem: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IRemoveProductMutationVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; + +export type IRemoveProductMutation = { + removeProduct: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IRemoveProductAssignmentMutationVariables = Exact<{ + proxyId: Scalars['ID']['input']; + vectors: Array; +}>; + +export type IRemoveProductAssignmentMutation = { + removeProductAssignment: + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string }; +}; + +export type IRemoveProductMediaMutationVariables = Exact<{ + productMediaId: Scalars['ID']['input']; +}>; + +export type IRemoveProductMediaMutation = { + removeProductMedia: { _id: string }; +}; + +export type IRemoveProductVariationMutationVariables = Exact<{ + productVariationId: Scalars['ID']['input']; +}>; + +export type IRemoveProductVariationMutation = { + removeProductVariation: { _id: string }; +}; + +export type IRemoveProductVariationOptionMutationVariables = Exact<{ + productVariationId: Scalars['ID']['input']; + productVariationOptionValue: Scalars['String']['input']; +}>; + +export type IRemoveProductVariationOptionMutation = { + removeProductVariationOption: { _id: string }; +}; + +export type ISmartContractStandardsQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type ISmartContractStandardsQuery = { + smartContractStandards?: { + options?: Array<{ value: string; label: string }> | null; + } | null; +}; + +export type ITranslatedProductMediaTextsQueryVariables = Exact<{ + productMediaId: Scalars['ID']['input']; +}>; + +export type ITranslatedProductMediaTextsQuery = { + translatedProductMediaTexts: Array<{ + _id: string; + locale: any; + title?: string | null; + subtitle?: string | null; + }>; +}; + +export type ITranslatedProductTextsQueryVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; + +export type ITranslatedProductTextsQuery = { + translatedProductTexts: Array<{ + _id: string; + locale: any; + slug?: string | null; + title?: string | null; + subtitle?: string | null; + description?: string | null; + vendor?: string | null; + brand?: string | null; + labels?: Array | null; + }>; +}; + +export type IUnpublishProductMutationVariables = Exact<{ + productId: Scalars['ID']['input']; +}>; + +export type IUnpublishProductMutation = { + unpublishProduct: + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - >; - } - | null; -}; - -export type IUpdateProductCommerceMutationVariables = Exact<{ - productId: Scalars['ID']['input']; - commerce: IUpdateProductCommerceInput; -}>; - -export type IUpdateProductCommerceMutation = { - updateProductCommerce?: - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; - } - | { + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; + }; +}; + +export type IUpdateProductMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + product: IUpdateProductInput; +}>; + +export type IUpdateProductMutation = { + updateProduct?: + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | null; +}; + +export type IUpdateProductCommerceMutationVariables = Exact<{ + productId: Scalars['ID']['input']; + commerce: IUpdateProductCommerceInput; +}>; + +export type IUpdateProductCommerceMutation = { + updateProductCommerce?: + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - >; - } - | { - _id: string; - sequence: number; - status: IProductStatus; - created?: any | null; - tags?: Array | null; - updated?: any | null; - published?: any | null; - media: Array<{ - _id: string; - tags?: Array | null; - file?: { _id: string; url?: string | null } | null; - }>; - reviews: Array<{ - _id: string; - created?: any | null; - rating?: number | null; - title?: string | null; - review?: string | null; - voteCount?: number | null; - author: { _id: string; username?: string | null; isGuest: boolean }; - ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; - }>; - siblings: Array< - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; - } - | { - _id: string; - media: Array<{ + reviews: Array<{ _id: string; - file?: { _id: string; url?: string | null } | null; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - | { + | { _id: string; + sequence: number; + status: IProductStatus; + created?: any | null; + tags?: Array | null; + updated?: any | null; + published?: any | null; media: Array<{ _id: string; + tags?: Array | null; file?: { _id: string; url?: string | null } | null; }>; + reviews: Array<{ + _id: string; + created?: any | null; + rating?: number | null; + title?: string | null; + review?: string | null; + voteCount?: number | null; + author: { _id: string; username?: string | null; isGuest: boolean }; + ownVotes: Array<{ type: IProductReviewVoteType; timestamp: any }>; + }>; + siblings: Array< + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + | { + _id: string; + media: Array<{ + _id: string; + file?: { _id: string; url?: string | null } | null; + }>; + } + >; } - >; - } - | null; + | null; }; export type IUpdateProductMediaTextsMutationVariables = Exact<{ @@ -14837,12 +14862,12 @@ export type IUpdateProductPlanMutationVariables = Exact<{ export type IUpdateProductPlanMutation = { updateProductPlan?: - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | { _id: string } - | null; + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | { _id: string } + | null; }; export type IUpdateProductSupplyMutationVariables = Exact<{ @@ -14852,20 +14877,20 @@ export type IUpdateProductSupplyMutationVariables = Exact<{ export type IUpdateProductSupplyMutation = { updateProductSupply?: - | { _id: string } - | { _id: string } - | { _id: string } - | { - _id: string; - dimensions?: { - weight?: number | null; - length?: number | null; - width?: number | null; - height?: number | null; - } | null; - } - | { _id: string } - | null; + | { _id: string } + | { _id: string } + | { _id: string } + | { + _id: string; + dimensions?: { + weight?: number | null; + length?: number | null; + width?: number | null; + height?: number | null; + } | null; + } + | { _id: string } + | null; }; export type IUpdateProductTextsMutationVariables = Exact<{ @@ -14913,12 +14938,12 @@ export type IUpdateProductWarehousingMutationVariables = Exact<{ export type IUpdateProductWarehousingMutation = { updateProductWarehousing?: - | { _id: string } - | { _id: string } - | { _id: string } - | { sku?: string | null; baseUnit?: string | null; _id: string } - | { _id: string } - | null; + | { _id: string } + | { _id: string } + | { _id: string } + | { sku?: string | null; baseUnit?: string | null; _id: string } + | { _id: string } + | null; }; export type IUserTokensQueryVariables = Exact<{ @@ -15002,76 +15027,76 @@ export type IQuotationDetailFragment = { } | null; currency?: { _id: string; isoCode: string; isActive?: boolean | null } | null; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; }; export type IQuotationDetailFragmentVariables = Exact<{ [key: string]: never }>; @@ -15094,76 +15119,76 @@ export type IQuotationFragment = { primaryEmail?: { verified: boolean; address: string } | null; }; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; currency?: { _id: string; contractAddress?: string | null; @@ -15185,101 +15210,101 @@ export type IMakeQuotationProposalMutation = { status: IQuotationStatus; created: any; expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - configuration?: Array<{ key: string; value: string }> | null; - country?: { - _id: string; - isoCode?: string | null; - flagEmoji?: string | null; - name?: string | null; - } | null; - currency?: { - _id: string; - isoCode: string; - isActive?: boolean | null; - } | null; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; + updated?: any | null; + isExpired?: boolean | null; + quotationNumber?: string | null; + fulfilled?: any | null; + rejected?: any | null; + user: { + _id: string; + username?: string | null; + name: string; + avatar?: { _id: string; url?: string | null } | null; + primaryEmail?: { verified: boolean; address: string } | null; }; + configuration?: Array<{ key: string; value: string }> | null; + country?: { + _id: string; + isoCode?: string | null; + flagEmoji?: string | null; + name?: string | null; + } | null; + currency?: { + _id: string; + isoCode: string; + isActive?: boolean | null; + } | null; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; }; }; @@ -15319,76 +15344,76 @@ export type IQuotationQuery = { isActive?: boolean | null; } | null; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; } | null; }; @@ -15407,88 +15432,88 @@ export type IQuotationsQuery = { created: any; expires?: any | null; updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { + isExpired?: boolean | null; + quotationNumber?: string | null; + fulfilled?: any | null; + rejected?: any | null; + user: { _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; + username?: string | null; + name: string; + avatar?: { _id: string; url?: string | null } | null; + primaryEmail?: { verified: boolean; address: string } | null; }; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; currency?: { _id: string; contractAddress?: string | null; @@ -15534,175 +15559,175 @@ export type IRejectQuotationMutation = { isActive?: boolean | null; } | null; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; - }; -}; - -export type IUserQuotationsQueryVariables = Exact<{ - userId: Scalars['ID']['input']; - queryString?: InputMaybe; -}>; - -export type IUserQuotationsQuery = { - user?: { - _id: string; - quotations: Array<{ - _id: string; - status: IQuotationStatus; - created: any; - expires?: any | null; - updated?: any | null; - isExpired?: boolean | null; - quotationNumber?: string | null; - fulfilled?: any | null; - rejected?: any | null; - user: { - _id: string; - username?: string | null; - name: string; - avatar?: { _id: string; url?: string | null } | null; - primaryEmail?: { verified: boolean; address: string } | null; - }; - product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } | { - _id: string; - texts?: { _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; + }; +}; + +export type IUserQuotationsQueryVariables = Exact<{ + userId: Scalars['ID']['input']; + queryString?: InputMaybe; +}>; + +export type IUserQuotationsQuery = { + user?: { + _id: string; + quotations: Array<{ + _id: string; + status: IQuotationStatus; + created: any; + expires?: any | null; + updated?: any | null; + isExpired?: boolean | null; + quotationNumber?: string | null; + fulfilled?: any | null; + rejected?: any | null; + user: { + _id: string; + username?: string | null; + name: string; + avatar?: { _id: string; url?: string | null } | null; + primaryEmail?: { verified: boolean; address: string } | null; }; + product: + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; currency?: { _id: string; contractAddress?: string | null; @@ -15749,76 +15774,76 @@ export type IVerifyQuotationMutation = { isActive?: boolean | null; } | null; product: - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - } - | { - _id: string; - texts?: { - _id: string; - slug?: string | null; - subtitle?: string | null; - title?: string | null; - description?: string | null; - } | null; - media: Array<{ - _id: string; - file?: { _id: string; type: string; url?: string | null } | null; - }>; - }; + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + } + | { + _id: string; + texts?: { + _id: string; + slug?: string | null; + subtitle?: string | null; + title?: string | null; + description?: string | null; + } | null; + media: Array<{ + _id: string; + file?: { _id: string; type: string; url?: string | null } | null; + }>; + }; }; }; @@ -15888,77 +15913,77 @@ export type IGlobalSearchQuery = { }>; results: Array< | { - __typename: 'Assortment'; - _id: string; - texts?: { + __typename: 'Assortment'; _id: string; - title?: string | null; - slug?: string | null; - } | null; - media: Array<{ file?: { url?: string | null } | null }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { - __typename: 'BundleProduct'; - _id: string; - texts?: { + __typename: 'BundleProduct'; _id: string; - title?: string | null; - slug?: string | null; - } | null; - media: Array<{ file?: { url?: string | null } | null }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { - __typename: 'ConfigurableProduct'; - _id: string; - texts?: { + __typename: 'ConfigurableProduct'; _id: string; - title?: string | null; - slug?: string | null; - } | null; - media: Array<{ file?: { url?: string | null } | null }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { __typename: 'Enrollment'; _id: string } | { __typename: 'Filter'; _id: string; key?: string | null } | { __typename: 'Order'; _id: string; orderNumber?: string | null } | { - __typename: 'PlanProduct'; - _id: string; - texts?: { + __typename: 'PlanProduct'; _id: string; - title?: string | null; - slug?: string | null; - } | null; - media: Array<{ file?: { url?: string | null } | null }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { __typename: 'Quotation'; _id: string } | { - __typename: 'SimpleProduct'; - _id: string; - texts?: { + __typename: 'SimpleProduct'; _id: string; - title?: string | null; - slug?: string | null; - } | null; - media: Array<{ file?: { url?: string | null } | null }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { - __typename: 'TokenizedProduct'; - _id: string; - texts?: { + __typename: 'TokenizedProduct'; _id: string; - title?: string | null; - slug?: string | null; - } | null; - media: Array<{ file?: { url?: string | null } | null }>; - } + texts?: { + _id: string; + title?: string | null; + slug?: string | null; + } | null; + media: Array<{ file?: { url?: string | null } | null }>; + } | { - __typename: 'User'; - _id: string; - username?: string | null; - name: string; - emails?: Array<{ address: string; verified: boolean }> | null; - avatar?: { url?: string | null } | null; - } + __typename: 'User'; + _id: string; + username?: string | null; + name: string; + emails?: Array<{ address: string; verified: boolean }> | null; + avatar?: { url?: string | null } | null; + } | { __typename: 'Work'; _id: string; type: IWorkType } >; };