Kaynağa Gözat

feat(server): Auto-generate ListOptions & related GraphQL inputs

Michael Bromley 7 yıl önce
ebeveyn
işleme
e6437396f9

+ 1 - 1
codegen/client-schema.ts

@@ -3,7 +3,7 @@ import { makeExecutableSchema } from 'graphql-tools';
 import path from 'path';
 
 const CLIENT_SCHEMA_FILE = '../admin-ui/src/app/data/client-state/client-types.graphql';
-const LANGUAGE_CODE_FILE = '../server/src/common/types/language-code.graphql';
+const LANGUAGE_CODE_FILE = '../server/src/api/schema/common/language-code.graphql';
 
 function loadGraphQL(file: string): string {
     const filePath = path.join(__dirname, file);

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 0
schema.json


+ 5 - 6
server/package.json

@@ -37,11 +37,11 @@
     "dist/**/*"
   ],
   "dependencies": {
-    "@nestjs/common": "5.5.0",
-    "@nestjs/core": "5.5.0",
-    "@nestjs/graphql": "5.5.0",
-    "@nestjs/testing": "5.5.0",
-    "@nestjs/typeorm": "^5.2.2",
+    "@nestjs/common": "5.7.2",
+    "@nestjs/core": "5.7.2",
+    "@nestjs/graphql": "5.5.3",
+    "@nestjs/testing": "5.7.2",
+    "@nestjs/typeorm": "^5.3.0",
     "@types/progress": "^2.0.3",
     "apollo-server-express": "^2.4.0",
     "bcrypt": "^3.0.3",
@@ -85,7 +85,6 @@
     "@types/express": "^4.0.39",
     "@types/faker": "^4.1.4",
     "@types/fs-extra": "^5.0.4",
-    "@types/graphql": "^14.0.7",
     "@types/gulp": "^4.0.5",
     "@types/handlebars": "^4.0.40",
     "@types/http-proxy-middleware": "^0.19.2",

+ 6 - 11
server/src/api/config/graphql-config.service.ts

@@ -1,16 +1,9 @@
-import { DynamicModule, Injectable } from '@nestjs/common';
-import {
-    GqlModuleAsyncOptions,
-    GqlModuleOptions,
-    GqlOptionsFactory,
-    GraphQLModule,
-    GraphQLTypesLoader,
-} from '@nestjs/graphql';
+import { DynamicModule } from '@nestjs/common';
+import { GqlModuleOptions, GraphQLModule, GraphQLTypesLoader } from '@nestjs/graphql';
 import { GraphQLUpload } from 'apollo-server-core';
 import { extendSchema, printSchema } from 'graphql';
 import { GraphQLDateTime } from 'graphql-iso-date';
 import GraphQLJSON from 'graphql-type-json';
-import path from 'path';
 
 import { notNullOrUndefined } from '../../../../shared/shared-utils';
 import { ConfigModule } from '../../config/config.module';
@@ -19,6 +12,7 @@ import { I18nModule } from '../../i18n/i18n.module';
 import { I18nService } from '../../i18n/i18n.service';
 import { TranslateErrorExtension } from '../middleware/translate-errors-extension';
 
+import { generateListOptions } from './generate-list-options';
 import { addGraphQLCustomFields } from './graphql-custom-fields';
 
 export interface GraphQLApiOptions {
@@ -77,7 +71,7 @@ function createGraphQLOptions(
         },
         playground: true,
         debug: true,
-        context: req => req,
+        context: (req: any) => req,
         extensions: [() => new TranslateErrorExtension(i18nService)],
         // This is handled by the Express cors plugin
         cors: false,
@@ -92,7 +86,8 @@ function createGraphQLOptions(
     function createTypeDefs(): string {
         const customFields = configService.customFields;
         const typeDefs = typesLoader.mergeTypesByPaths(...options.typePaths);
-        let schema = addGraphQLCustomFields(typeDefs, customFields);
+        let schema = generateListOptions(typeDefs);
+        schema = addGraphQLCustomFields(schema, customFields);
         const pluginTypes = configService.plugins
             .map(p => (p.defineGraphQlTypes ? p.defineGraphQlTypes() : undefined))
             .filter(notNullOrUndefined);

+ 5 - 2
server/src/api/config/graphql-custom-fields.ts

@@ -8,8 +8,11 @@ import { assertNever } from '../../../../shared/shared-utils';
  * types with a customFields property for all entities, translations and inputs for which
  * custom fields are defined.
  */
-export function addGraphQLCustomFields(typeDefs: string, customFieldConfig: CustomFields): GraphQLSchema {
-    const schema = buildSchema(typeDefs);
+export function addGraphQLCustomFields(
+    typeDefsOrSchema: string | GraphQLSchema,
+    customFieldConfig: CustomFields,
+): GraphQLSchema {
+    const schema = typeof typeDefsOrSchema === 'string' ? buildSchema(typeDefsOrSchema) : typeDefsOrSchema;
 
     let customFieldTypeDefs = '';
 

+ 2 - 23
server/src/api/schema/admin-api/administrator.api.graphql

@@ -12,29 +12,8 @@ type Mutation {
     assignRoleToAdministrator(administratorId: ID!, roleId: ID!): Administrator!
 }
 
-input AdministratorListOptions {
-    take: Int
-    skip: Int
-    sort: AdministratorSortParameter
-    filter: AdministratorFilterParameter
-}
-
-input AdministratorSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    firstName: SortOrder
-    lastName: SortOrder
-    emailAddress: SortOrder
-}
-
-input AdministratorFilterParameter {
-    firstName: StringOperators
-    lastName: StringOperators
-    emailAddress: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input AdministratorListOptions
 
 input CreateAdministratorInput {
     firstName: String!

+ 2 - 22
server/src/api/schema/admin-api/asset.api.graphql

@@ -8,28 +8,8 @@ type Mutation {
     createAssets(input: [CreateAssetInput!]!): [Asset!]!
 }
 
-input AssetListOptions {
-    take: Int
-    skip: Int
-    sort: AssetSortParameter
-    filter: AssetFilterParameter
-}
-
-input AssetSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    name: SortOrder
-    description: SortOrder
-}
-
-input AssetFilterParameter {
-    name: StringOperators
-    description: StringOperators
-    type: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input AssetListOptions
 
 input CreateAssetInput {
     file: Upload!

+ 2 - 23
server/src/api/schema/admin-api/country.api.graphql

@@ -35,26 +35,5 @@ input UpdateCountryInput {
     enabled: Boolean
 }
 
-input CountryListOptions {
-    take: Int
-    skip: Int
-    sort: CountrySortParameter
-    filter: CountryFilterParameter
-}
-
-input CountrySortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    code: SortOrder
-    name: SortOrder
-    enabled: SortOrder
-}
-
-input CountryFilterParameter {
-    code: StringOperators
-    name: StringOperators
-    enabled: BooleanOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input CountryListOptions

+ 2 - 25
server/src/api/schema/admin-api/customer.api.graphql

@@ -21,31 +21,8 @@ type Mutation {
     updateCustomerAddress(input: UpdateAddressInput!): Address!
 }
 
-input CustomerListOptions {
-    take: Int
-    skip: Int
-    sort: CustomerSortParameter
-    filter: CustomerFilterParameter
-}
-
-input CustomerSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    firstName: SortOrder
-    lastName: SortOrder
-    phoneNumber: SortOrder
-    emailAddress: SortOrder
-}
-
-input CustomerFilterParameter {
-    firstName: StringOperators
-    lastName: StringOperators
-    phoneNumber: StringOperators
-    emailAddress: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input CustomerListOptions
 
 input CreateCustomerInput {
     title: String

+ 2 - 21
server/src/api/schema/admin-api/facet.api.graphql

@@ -23,27 +23,8 @@ type Mutation {
     deleteFacetValues(ids: [ID!]!, force: Boolean): [DeletionResponse!]!
 }
 
-input FacetListOptions {
-    take: Int
-    skip: Int
-    sort: FacetSortParameter
-    filter: FacetFilterParameter
-}
-
-input FacetSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    name: SortOrder
-    code: SortOrder
-}
-
-input FacetFilterParameter {
-    name: StringOperators
-    code: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input FacetListOptions
 
 input FacetTranslationInput {
     id: ID

+ 2 - 19
server/src/api/schema/admin-api/order.api.graphql

@@ -23,22 +23,5 @@ input PaymentInput {
     metadata: JSON!
 }
 
-input OrderListOptions {
-    take: Int
-    skip: Int
-    sort: OrderSortParameter
-    filter: OrderFilterParameter
-}
-
-input OrderSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    code: SortOrder
-}
-
-input OrderFilterParameter {
-    code: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input OrderListOptions

+ 2 - 19
server/src/api/schema/admin-api/payment-method.api.graphql

@@ -13,25 +13,8 @@ type PaymentMethodList implements PaginatedList {
     totalItems: Int!
 }
 
-input PaymentMethodListOptions {
-    take: Int
-    skip: Int
-    sort: PaymentMethodSortParameter
-    filter: PaymentMethodFilterParameter
-}
-
-input PaymentMethodSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    code: SortOrder
-}
-
-input PaymentMethodFilterParameter {
-    code: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input PaymentMethodListOptions
 
 input UpdatePaymentMethodInput {
     id: ID!

+ 2 - 21
server/src/api/schema/admin-api/product-category.api.graphql

@@ -14,27 +14,8 @@ type Mutation {
     moveProductCategory(input: MoveProductCategoryInput!): ProductCategory!
 }
 
-input ProductCategoryListOptions {
-    take: Int
-    skip: Int
-    sort: ProductCategorySortParameter
-    filter: ProductCategoryFilterParameter
-}
-
-input ProductCategorySortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    name: SortOrder
-    description: SortOrder
-}
-
-input ProductCategoryFilterParameter {
-    name: StringOperators
-    description: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input ProductCategoryListOptions
 
 input MoveProductCategoryInput {
     categoryId: ID!

+ 1 - 20
server/src/api/schema/admin-api/product.api.graphql

@@ -26,30 +26,11 @@ type Mutation {
     updateProductVariants(input: [UpdateProductVariantInput!]!): [ProductVariant]!
 }
 
+# generated by generateListOptions function
 input ProductListOptions {
-    take: Int
-    skip: Int
-    sort: ProductSortParameter
-    filter: ProductFilterParameter
     categoryId: ID
 }
 
-input ProductSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    name: SortOrder
-    slug: SortOrder
-}
-
-input ProductFilterParameter {
-    name: StringOperators
-    slug: StringOperators
-    description: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
-
 input ProductTranslationInput {
     id: ID
     languageCode: LanguageCode!

+ 2 - 20
server/src/api/schema/admin-api/promotion.api.graphql

@@ -10,26 +10,8 @@ type Mutation {
     deletePromotion(id: ID!): DeletionResponse!
 }
 
-input PromotionListOptions {
-    take: Int
-    skip: Int
-    sort: PromotionSortParameter
-    filter: PromotionFilterParameter
-}
-
-input PromotionSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    name: SortOrder
-}
-
-input PromotionFilterParameter {
-    name: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-    type: StringOperators
-}
+# generated by generateListOptions function
+input PromotionListOptions
 
 input CreatePromotionInput {
     name: String!

+ 2 - 21
server/src/api/schema/admin-api/role.api.graphql

@@ -10,27 +10,8 @@ type Mutation {
   updateRole(input: UpdateRoleInput!): Role!
 }
 
-input RoleListOptions {
-    take: Int
-    skip: Int
-    sort: RoleSortParameter
-    filter: RoleFilterParameter
-}
-
-input RoleSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    code: SortOrder
-    description: SortOrder
-}
-
-input RoleFilterParameter {
-    code: StringOperators
-    description: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input RoleListOptions
 
 input CreateRoleInput {
     code: String!

+ 2 - 21
server/src/api/schema/admin-api/shipping-method.api.graphql

@@ -12,27 +12,8 @@ type Mutation {
     updateShippingMethod(input: UpdateShippingMethodInput!): ShippingMethod!
 }
 
-input ShippingMethodListOptions {
-    take: Int
-    skip: Int
-    sort: ShippingMethodSortParameter
-    filter: ShippingMethodFilterParameter
-}
-
-input ShippingMethodSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    code: SortOrder
-    description: SortOrder
-}
-
-input ShippingMethodFilterParameter {
-    code: StringOperators
-    description: StringOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input ShippingMethodListOptions
 
 input CreateShippingMethodInput {
     code: String!

+ 0 - 1
server/src/api/schema/admin-api/tax-category.api.graphql

@@ -15,7 +15,6 @@ input CreateTaxCategoryInput {
     name: String!
 }
 
-
 input UpdateTaxCategoryInput {
     id: ID!
     name: String

+ 2 - 22
server/src/api/schema/admin-api/tax-rate.api.graphql

@@ -10,28 +10,8 @@ type Mutation {
   updateTaxRate(input: UpdateTaxRateInput!): TaxRate!
 }
 
-input TaxRateListOptions {
-    take: Int
-    skip: Int
-    sort: TaxRateSortParameter
-    filter: TaxRateFilterParameter
-}
-
-input TaxRateSortParameter {
-    id: SortOrder
-    createdAt: SortOrder
-    updatedAt: SortOrder
-    name: SortOrder
-    enabled: SortOrder
-}
-
-input TaxRateFilterParameter {
-    code: StringOperators
-    name: StringOperators
-    enabled: BooleanOperators
-    createdAt: DateOperators
-    updatedAt: DateOperators
-}
+# generated by generateListOptions function
+input TaxRateListOptions
 
 input CreateTaxRateInput {
     name: String!

+ 52 - 88
server/yarn.lock

@@ -42,10 +42,10 @@
     call-me-maybe "^1.0.1"
     glob-to-regexp "^0.3.0"
 
-"@nestjs/common@5.5.0":
-  version "5.5.0"
-  resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-5.5.0.tgz#6427d440f96e23c38945620fd74cb6ec61da8224"
-  integrity sha512-Ifh1D4ypsJYs/3YBIocU+X5yuAZSVKuCsz8kaKB4ZUO5WwJjh4/x6hlr4A+9XUMe8fPLtYXVohJoRUU5HbwyIA==
+"@nestjs/common@5.7.2":
+  version "5.7.2"
+  resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-5.7.2.tgz#2cf0317d5bdf852ad3018ec4fdb093c11e8be8c1"
+  integrity sha512-T5jjyfqskRM1v19N1hTs4DkpZhSr8uud36I5EfSYcsx8w140kf710to02hEPUh3iL+7LTRgo4WCjC7RzXijgcg==
   dependencies:
     axios "0.18.0"
     cli-color "1.2.0"
@@ -53,10 +53,10 @@
     multer "1.3.0"
     uuid "3.3.2"
 
-"@nestjs/core@5.5.0":
-  version "5.5.0"
-  resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-5.5.0.tgz#4f80bcfda1b964a6e1702c32f0afcbcc4a1706f7"
-  integrity sha512-XPUjSJyex6KMdTUKK1oeD7ea9mNLcwlSEbcKV7OWaNHIVq/XJaFpbzjbmd+/U/ZZaO1IWhpisfLW9gr/O8eb4w==
+"@nestjs/core@5.7.2":
+  version "5.7.2"
+  resolved "https://registry.yarnpkg.com/@nestjs/core/-/core-5.7.2.tgz#680930dad64fd315bd5cbc874929f71ada30f4d5"
+  integrity sha512-mpCJENUDk9gHjyJ7tcBjIupQeMRgW0/hjB8n43raT31vcsMKHDuoC+l4ZqbMX5kM73c3olnwqUlQ4PE8iiUvGQ==
   dependencies:
     "@nuxtjs/opencollective" "0.1.0"
     body-parser "1.18.3"
@@ -69,29 +69,30 @@
     path-to-regexp "2.2.1"
     uuid "3.3.2"
 
-"@nestjs/graphql@5.5.0":
-  version "5.5.0"
-  resolved "https://registry.yarnpkg.com/@nestjs/graphql/-/graphql-5.5.0.tgz#4f710bc96025b9fe17518c552113ca7bd1435fa6"
-  integrity sha512-W/VDUXBbER3uomIT+39VvNjzcsYg4R1XKlkiZuVDsAelQeOmfivHIYlULEzr6UXe2eZjYWL+Onv32lnl3mBCEw==
+"@nestjs/graphql@5.5.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@nestjs/graphql/-/graphql-5.5.3.tgz#1587eb7ed4dc568eb3d9be5c89b6d6a29e9ae0a8"
+  integrity sha512-groZIywcXnzWWpukgom5xCyHWnZmwQFDQtF6is6nYYWCLmXrlBEWlA7vFP9mYE7jBHdGcMLegj4nOsRHjQUHjA==
   dependencies:
-    glob "^7.1.2"
-    graphql-tools "^3.1.1"
-    lodash "^4.17.4"
-    merge-graphql-schemas "^1.3.0"
-    ts-simple-ast "^14.4.2"
+    glob "^7.1.3"
+    graphql-tools "^4.0.3"
+    lodash "^4.17.11"
+    merge-graphql-schemas "^1.5.8"
+    ts-morph "^1.1.0"
     uuid "3.3.2"
 
-"@nestjs/testing@5.5.0":
-  version "5.5.0"
-  resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-5.5.0.tgz#4a77d78d100a1865668a671a792c13844f7ff43e"
-  integrity sha512-dz6JLD5CTGx4hw5xm1ueLyxdbaO8asjKnyWlnW3ry7u+wqr1YhBnxxD5akNlEEbPa1GcT3qSXgiZycfclEalNA==
+"@nestjs/testing@5.7.2":
+  version "5.7.2"
+  resolved "https://registry.yarnpkg.com/@nestjs/testing/-/testing-5.7.2.tgz#5598444d3f2d472012efc25acfbe6308381208bd"
+  integrity sha512-eTRVj13Ru31hnhwRCuzQmfDtYTBgefrvo0YTXYCUg5G05Y9ixUHfClNVArU0hlVa/ViCywSsqR5IwfQE+H/2kQ==
   dependencies:
     deprecate "1.0.0"
     optional "0.1.4"
 
-"@nestjs/typeorm@^5.2.2":
-  version "5.2.2"
-  resolved "https://registry.yarnpkg.com/@nestjs/typeorm/-/typeorm-5.2.2.tgz#f32e508b498e4ac0d0b0f78af5844da413e0a713"
+"@nestjs/typeorm@^5.3.0":
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/@nestjs/typeorm/-/typeorm-5.3.0.tgz#448d6d08d73ceb3c1f8a00a07e26a86c8a62b9f8"
+  integrity sha512-8g80OcKRTfhh5oSkfUKPMfcKBuC0gsr79wBksUwEWoglB/7bvO/erz8RC0XQPdjRH6NRUc+qrglywGm6Be2FZQ==
   dependencies:
     uuid "3.3.2"
 
@@ -266,15 +267,6 @@
     "@types/minimatch" "*"
     "@types/node" "*"
 
-"@types/graphql@0.12.6":
-  version "0.12.6"
-  resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.12.6.tgz#3d619198585fcabe5f4e1adfb5cf5f3388c66c13"
-
-"@types/graphql@^14.0.7":
-  version "14.0.7"
-  resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-14.0.7.tgz#daa09397220a68ce1cbb3f76a315ff3cd92312f6"
-  integrity sha512-BoLDjdvLQsXPZLJux3lEZANwGr3Xag56Ngy0U3y8uoRSDdeLcn43H3oBcgZlnd++iOQElBpaRVDHPzEDekyvXQ==
-
 "@types/gulp@^4.0.5":
   version "4.0.5"
   resolved "https://registry.yarnpkg.com/@types/gulp/-/gulp-4.0.5.tgz#f5f498d5bf9538364792de22490a12c0e6bc5eb4"
@@ -588,14 +580,6 @@ apollo-graphql@0.1.0:
   dependencies:
     lodash.sortby "^4.7.0"
 
-apollo-link@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.2.tgz#54c84199b18ac1af8d63553a68ca389c05217a03"
-  dependencies:
-    "@types/graphql" "0.12.6"
-    apollo-utilities "^1.0.0"
-    zen-observable-ts "^0.8.9"
-
 apollo-link@^1.2.3:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.4.tgz#ab4d21d2e428db848e88b5e8f4adc717b19c954b"
@@ -1534,9 +1518,10 @@ co@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
 
-code-block-writer@^7.2.1:
-  version "7.2.1"
-  resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-7.2.1.tgz#c03073518fdb98d4d1a5bb46dcd60137958b5a3a"
+code-block-writer@^7.2.2:
+  version "7.2.2"
+  resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-7.2.2.tgz#14ec0120de9a65d2cc5d214561d51d1660dddbb1"
+  integrity sha512-8SyXM1bWsMDCzvCoTdnDBhnnUbHntxcba4ApBIO3S3QX0M2Iq0xZCzs6SYdBOGaSUi4drysvrAK15JoXhlpsvQ==
 
 code-point-at@^1.0.0:
   version "1.1.0"
@@ -1875,9 +1860,10 @@ deep-is@~0.1.3:
   version "0.1.3"
   resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
 
-deepmerge@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.1.1.tgz#e862b4e45ea0555072bf51e7fd0d9845170ae768"
+deepmerge@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170"
+  integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==
 
 default-compare@^1.0.0:
   version "1.0.0"
@@ -2639,15 +2625,7 @@ fs-extra@5.0.0:
     jsonfile "^4.0.0"
     universalify "^0.1.0"
 
-fs-extra@^6.0.1:
-  version "6.0.1"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^4.0.0"
-    universalify "^0.1.0"
-
-fs-extra@^7.0.1:
+fs-extra@^7.0.0, fs-extra@^7.0.1:
   version "7.0.1"
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
   integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
@@ -2903,16 +2881,6 @@ graphql-tag@^2.9.2:
   version "2.9.2"
   resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.9.2.tgz#2f60a5a981375f430bf1e6e95992427dc18af686"
 
-graphql-tools@^3.1.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-3.1.1.tgz#d593358f01e7c8b1671a17b70ddb034dea9dbc50"
-  dependencies:
-    apollo-link "^1.2.2"
-    apollo-utilities "^1.0.1"
-    deprecated-decorator "^0.1.6"
-    iterall "^1.1.3"
-    uuid "^3.1.0"
-
 graphql-tools@^4.0.0, graphql-tools@^4.0.3:
   version "4.0.3"
   resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.3.tgz#23b5cb52c519212b1b2e4630a361464396ad264b"
@@ -4457,12 +4425,13 @@ merge-descriptors@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
 
-merge-graphql-schemas@^1.3.0:
-  version "1.5.2"
-  resolved "https://registry.yarnpkg.com/merge-graphql-schemas/-/merge-graphql-schemas-1.5.2.tgz#7e75afb56cea6ff163924744846817d054c1ebaf"
+merge-graphql-schemas@^1.5.8:
+  version "1.5.8"
+  resolved "https://registry.yarnpkg.com/merge-graphql-schemas/-/merge-graphql-schemas-1.5.8.tgz#89457b60312aabead44d5b2b7625643f8ab9e369"
+  integrity sha512-0TGOKebltvmWR9h9dPYS2vAqMPThXwJ6gVz7O5MtpBp2sunAg/M25iMSNI7YhU6PDJVtGtldTfqV9a+55YhB+A==
   dependencies:
-    deepmerge "^2.1.0"
-    glob "^7.1.2"
+    deepmerge "^2.2.1"
+    glob "^7.1.3"
     is-glob "^4.0.0"
 
 merge-stream@^1.0.1:
@@ -5306,7 +5275,7 @@ object-assign@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
 
-object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
 
@@ -7022,20 +6991,20 @@ ts-jest@~23.10.5:
     semver "^5.5"
     yargs-parser "10.x"
 
-ts-simple-ast@^14.4.2:
-  version "14.4.2"
-  resolved "https://registry.yarnpkg.com/ts-simple-ast/-/ts-simple-ast-14.4.2.tgz#243664c8632968e97c8a2c59bf2d642e0656a306"
+ts-morph@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/ts-morph/-/ts-morph-1.1.0.tgz#0b68ba247fb337c1a8f3fb8ce909158426d7fde6"
+  integrity sha512-Sox1jIUdjkDxdFE7HbJxhNHWBUH3AC4hAsXTQ/QJLssMe/y3t4wT2WACNT31138aZdhSXpxDYSEnsIh3Uyu9sA==
   dependencies:
     "@dsherret/to-absolute-glob" "^2.0.2"
-    code-block-writer "^7.2.1"
-    fs-extra "^6.0.1"
+    code-block-writer "^7.2.2"
+    fs-extra "^7.0.0"
     glob-parent "^3.1.0"
     globby "^8.0.1"
     is-negated-glob "^1.0.0"
     multimatch "^2.1.0"
-    object-assign "^4.1.1"
     tslib "^1.9.0"
-    typescript "3.0.1"
+    typescript "^3.0.1"
 
 tslib@^1.9.0:
   version "1.9.3"
@@ -7087,9 +7056,10 @@ typeorm@0.2.11:
     yargonaut "^1.1.2"
     yargs "^12.0.5"
 
-typescript@3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.0.1.tgz#43738f29585d3a87575520a4b93ab6026ef11fdb"
+typescript@^3.0.1:
+  version "3.3.3"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3.tgz#f1657fc7daa27e1a8930758ace9ae8da31403221"
+  integrity sha512-Y21Xqe54TBVp+VDSNbuDYdGw0BpoR/Q6wo/+35M8PAU0vipahnyduJWirxxdxjsAkS7hue53x2zp8gz7F05u0A==
 
 typescript@^3.2.4:
   version "3.2.4"
@@ -7660,12 +7630,6 @@ zen-observable-ts@^0.8.11:
   dependencies:
     zen-observable "^0.8.0"
 
-zen-observable-ts@^0.8.9:
-  version "0.8.9"
-  resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.9.tgz#d3c97af08c0afdca37ebcadf7cc3ee96bda9bab1"
-  dependencies:
-    zen-observable "^0.8.0"
-
 zen-observable@^0.8.0:
   version "0.8.8"
   resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.8.tgz#1ea93995bf098754a58215a1e0a7309e5749ec42"

+ 224 - 182
shared/generated-types.ts

@@ -1,14 +1,14 @@
 // tslint:disable
-// Generated in 2019-02-18T15:05:52+01:00
+// Generated in 2019-02-20T18:08:35+01:00
 export type Maybe<T> = T | null;
 
 
 export interface AdministratorListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<AdministratorSortParameter>;
   
   filter?: Maybe<AdministratorFilterParameter>;
@@ -31,22 +31,15 @@ export interface AdministratorSortParameter {
 
 export interface AdministratorFilterParameter {
   
-  firstName?: Maybe<StringOperators>;
-  
-  lastName?: Maybe<StringOperators>;
-  
-  emailAddress?: Maybe<StringOperators>;
-  
   createdAt?: Maybe<DateOperators>;
   
   updatedAt?: Maybe<DateOperators>;
-}
-
-export interface StringOperators {
   
-  eq?: Maybe<string>;
+  firstName?: Maybe<StringOperators>;
   
-  contains?: Maybe<string>;
+  lastName?: Maybe<StringOperators>;
+  
+  emailAddress?: Maybe<StringOperators>;
 }
 
 export interface DateOperators {
@@ -67,12 +60,19 @@ export interface DateRange {
   end: DateTime;
 }
 
-export interface AssetListOptions {
+export interface StringOperators {
   
-  take?: Maybe<number>;
+  eq?: Maybe<string>;
+  
+  contains?: Maybe<string>;
+}
+
+export interface AssetListOptions {
   
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<AssetSortParameter>;
   
   filter?: Maybe<AssetFilterParameter>;
@@ -82,34 +82,60 @@ export interface AssetSortParameter {
   
   id?: Maybe<SortOrder>;
   
-  createdAt?: Maybe<SortOrder>;
+  name?: Maybe<SortOrder>;
   
-  updatedAt?: Maybe<SortOrder>;
+  fileSize?: Maybe<SortOrder>;
   
-  name?: Maybe<SortOrder>;
+  mimeType?: Maybe<SortOrder>;
   
-  description?: Maybe<SortOrder>;
+  source?: Maybe<SortOrder>;
+  
+  preview?: Maybe<SortOrder>;
 }
 
 export interface AssetFilterParameter {
   
   name?: Maybe<StringOperators>;
   
-  description?: Maybe<StringOperators>;
-  
   type?: Maybe<StringOperators>;
   
-  createdAt?: Maybe<DateOperators>;
+  fileSize?: Maybe<NumberOperators>;
   
-  updatedAt?: Maybe<DateOperators>;
+  mimeType?: Maybe<StringOperators>;
+  
+  source?: Maybe<StringOperators>;
+  
+  preview?: Maybe<StringOperators>;
 }
 
-export interface CountryListOptions {
+export interface NumberOperators {
   
-  take?: Maybe<number>;
+  eq?: Maybe<number>;
+  
+  lt?: Maybe<number>;
+  
+  lte?: Maybe<number>;
+  
+  gt?: Maybe<number>;
+  
+  gte?: Maybe<number>;
+  
+  between?: Maybe<NumberRange>;
+}
+
+export interface NumberRange {
+  
+  start: number;
+  
+  end: number;
+}
+
+export interface CountryListOptions {
   
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<CountrySortParameter>;
   
   filter?: Maybe<CountryFilterParameter>;
@@ -119,28 +145,20 @@ export interface CountrySortParameter {
   
   id?: Maybe<SortOrder>;
   
-  createdAt?: Maybe<SortOrder>;
-  
-  updatedAt?: Maybe<SortOrder>;
-  
   code?: Maybe<SortOrder>;
   
   name?: Maybe<SortOrder>;
-  
-  enabled?: Maybe<SortOrder>;
 }
 
 export interface CountryFilterParameter {
   
+  languageCode?: Maybe<StringOperators>;
+  
   code?: Maybe<StringOperators>;
   
   name?: Maybe<StringOperators>;
   
   enabled?: Maybe<BooleanOperators>;
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
 }
 
 export interface BooleanOperators {
@@ -150,10 +168,10 @@ export interface BooleanOperators {
 
 export interface CustomerListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<CustomerSortParameter>;
   
   filter?: Maybe<CustomerFilterParameter>;
@@ -167,6 +185,8 @@ export interface CustomerSortParameter {
   
   updatedAt?: Maybe<SortOrder>;
   
+  title?: Maybe<SortOrder>;
+  
   firstName?: Maybe<SortOrder>;
   
   lastName?: Maybe<SortOrder>;
@@ -178,6 +198,12 @@ export interface CustomerSortParameter {
 
 export interface CustomerFilterParameter {
   
+  createdAt?: Maybe<DateOperators>;
+  
+  updatedAt?: Maybe<DateOperators>;
+  
+  title?: Maybe<StringOperators>;
+  
   firstName?: Maybe<StringOperators>;
   
   lastName?: Maybe<StringOperators>;
@@ -185,18 +211,14 @@ export interface CustomerFilterParameter {
   phoneNumber?: Maybe<StringOperators>;
   
   emailAddress?: Maybe<StringOperators>;
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
 }
 
 export interface OrderListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<OrderSortParameter>;
   
   filter?: Maybe<OrderFilterParameter>;
@@ -211,23 +233,51 @@ export interface OrderSortParameter {
   updatedAt?: Maybe<SortOrder>;
   
   code?: Maybe<SortOrder>;
+  
+  state?: Maybe<SortOrder>;
+  
+  subTotalBeforeTax?: Maybe<SortOrder>;
+  
+  subTotal?: Maybe<SortOrder>;
+  
+  shipping?: Maybe<SortOrder>;
+  
+  totalBeforeTax?: Maybe<SortOrder>;
+  
+  total?: Maybe<SortOrder>;
 }
 
 export interface OrderFilterParameter {
   
-  code?: Maybe<StringOperators>;
-  
   createdAt?: Maybe<DateOperators>;
   
   updatedAt?: Maybe<DateOperators>;
+  
+  code?: Maybe<StringOperators>;
+  
+  state?: Maybe<StringOperators>;
+  
+  active?: Maybe<BooleanOperators>;
+  
+  subTotalBeforeTax?: Maybe<NumberOperators>;
+  
+  subTotal?: Maybe<NumberOperators>;
+  
+  currencyCode?: Maybe<StringOperators>;
+  
+  shipping?: Maybe<NumberOperators>;
+  
+  totalBeforeTax?: Maybe<NumberOperators>;
+  
+  total?: Maybe<NumberOperators>;
 }
 
 export interface FacetListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<FacetSortParameter>;
   
   filter?: Maybe<FacetFilterParameter>;
@@ -248,21 +298,23 @@ export interface FacetSortParameter {
 
 export interface FacetFilterParameter {
   
-  name?: Maybe<StringOperators>;
-  
-  code?: Maybe<StringOperators>;
-  
   createdAt?: Maybe<DateOperators>;
   
   updatedAt?: Maybe<DateOperators>;
+  
+  languageCode?: Maybe<StringOperators>;
+  
+  name?: Maybe<StringOperators>;
+  
+  code?: Maybe<StringOperators>;
 }
 
 export interface PaymentMethodListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<PaymentMethodSortParameter>;
   
   filter?: Maybe<PaymentMethodFilterParameter>;
@@ -281,19 +333,21 @@ export interface PaymentMethodSortParameter {
 
 export interface PaymentMethodFilterParameter {
   
-  code?: Maybe<StringOperators>;
-  
   createdAt?: Maybe<DateOperators>;
   
   updatedAt?: Maybe<DateOperators>;
+  
+  code?: Maybe<StringOperators>;
+  
+  enabled?: Maybe<BooleanOperators>;
 }
 
 export interface ProductCategoryListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<ProductCategorySortParameter>;
   
   filter?: Maybe<ProductCategoryFilterParameter>;
@@ -309,26 +363,54 @@ export interface ProductCategorySortParameter {
   
   name?: Maybe<SortOrder>;
   
+  position?: Maybe<SortOrder>;
+  
   description?: Maybe<SortOrder>;
 }
 
 export interface ProductCategoryFilterParameter {
   
+  createdAt?: Maybe<DateOperators>;
+  
+  updatedAt?: Maybe<DateOperators>;
+  
+  languageCode?: Maybe<StringOperators>;
+  
   name?: Maybe<StringOperators>;
   
+  position?: Maybe<NumberOperators>;
+  
   description?: Maybe<StringOperators>;
+}
+
+export interface SearchInput {
   
-  createdAt?: Maybe<DateOperators>;
+  term?: Maybe<string>;
   
-  updatedAt?: Maybe<DateOperators>;
+  facetIds?: Maybe<string[]>;
+  
+  groupByProduct?: Maybe<boolean>;
+  
+  take?: Maybe<number>;
+  
+  skip?: Maybe<number>;
+  
+  sort?: Maybe<SearchResultSortParameter>;
 }
 
-export interface ProductListOptions {
+export interface SearchResultSortParameter {
   
-  take?: Maybe<number>;
+  name?: Maybe<SortOrder>;
+  
+  price?: Maybe<SortOrder>;
+}
+
+export interface ProductListOptions {
   
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<ProductSortParameter>;
   
   filter?: Maybe<ProductFilterParameter>;
@@ -347,27 +429,31 @@ export interface ProductSortParameter {
   name?: Maybe<SortOrder>;
   
   slug?: Maybe<SortOrder>;
+  
+  description?: Maybe<SortOrder>;
 }
 
 export interface ProductFilterParameter {
   
+  createdAt?: Maybe<DateOperators>;
+  
+  updatedAt?: Maybe<DateOperators>;
+  
+  languageCode?: Maybe<StringOperators>;
+  
   name?: Maybe<StringOperators>;
   
   slug?: Maybe<StringOperators>;
   
   description?: Maybe<StringOperators>;
-  
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
 }
 
 export interface PromotionListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<PromotionSortParameter>;
   
   filter?: Maybe<PromotionFilterParameter>;
@@ -386,21 +472,21 @@ export interface PromotionSortParameter {
 
 export interface PromotionFilterParameter {
   
-  name?: Maybe<StringOperators>;
-  
   createdAt?: Maybe<DateOperators>;
   
   updatedAt?: Maybe<DateOperators>;
   
-  type?: Maybe<StringOperators>;
+  name?: Maybe<StringOperators>;
+  
+  enabled?: Maybe<BooleanOperators>;
 }
 
 export interface RoleListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<RoleSortParameter>;
   
   filter?: Maybe<RoleFilterParameter>;
@@ -421,43 +507,21 @@ export interface RoleSortParameter {
 
 export interface RoleFilterParameter {
   
-  code?: Maybe<StringOperators>;
-  
-  description?: Maybe<StringOperators>;
-  
   createdAt?: Maybe<DateOperators>;
   
   updatedAt?: Maybe<DateOperators>;
-}
-
-export interface SearchInput {
   
-  term?: Maybe<string>;
-  
-  facetIds?: Maybe<string[]>;
-  
-  groupByProduct?: Maybe<boolean>;
-  
-  take?: Maybe<number>;
-  
-  skip?: Maybe<number>;
-  
-  sort?: Maybe<SearchResultSortParameter>;
-}
-
-export interface SearchResultSortParameter {
-  
-  name?: Maybe<SortOrder>;
+  code?: Maybe<StringOperators>;
   
-  price?: Maybe<SortOrder>;
+  description?: Maybe<StringOperators>;
 }
 
 export interface ShippingMethodListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<ShippingMethodSortParameter>;
   
   filter?: Maybe<ShippingMethodFilterParameter>;
@@ -478,21 +542,21 @@ export interface ShippingMethodSortParameter {
 
 export interface ShippingMethodFilterParameter {
   
-  code?: Maybe<StringOperators>;
-  
-  description?: Maybe<StringOperators>;
-  
   createdAt?: Maybe<DateOperators>;
   
   updatedAt?: Maybe<DateOperators>;
+  
+  code?: Maybe<StringOperators>;
+  
+  description?: Maybe<StringOperators>;
 }
 
 export interface TaxRateListOptions {
   
-  take?: Maybe<number>;
-  
   skip?: Maybe<number>;
   
+  take?: Maybe<number>;
+  
   sort?: Maybe<TaxRateSortParameter>;
   
   filter?: Maybe<TaxRateFilterParameter>;
@@ -508,20 +572,20 @@ export interface TaxRateSortParameter {
   
   name?: Maybe<SortOrder>;
   
-  enabled?: Maybe<SortOrder>;
+  value?: Maybe<SortOrder>;
 }
 
 export interface TaxRateFilterParameter {
   
-  code?: Maybe<StringOperators>;
+  createdAt?: Maybe<DateOperators>;
+  
+  updatedAt?: Maybe<DateOperators>;
   
   name?: Maybe<StringOperators>;
   
   enabled?: Maybe<BooleanOperators>;
   
-  createdAt?: Maybe<DateOperators>;
-  
-  updatedAt?: Maybe<DateOperators>;
+  value?: Maybe<NumberOperators>;
 }
 
 export interface CreateAdministratorInput {
@@ -1167,28 +1231,6 @@ export interface CreateProductVariantInput {
   customFields?: Maybe<Json>;
 }
 
-export interface NumberOperators {
-  
-  eq?: Maybe<number>;
-  
-  lt?: Maybe<number>;
-  
-  lte?: Maybe<number>;
-  
-  gt?: Maybe<number>;
-  
-  gte?: Maybe<number>;
-  
-  between?: Maybe<NumberRange>;
-}
-
-export interface NumberRange {
-  
-  start: number;
-  
-  end: number;
-}
-
 export interface ProductOptionTranslationInput {
   
   id?: Maybe<string>;
@@ -4465,6 +4507,8 @@ export interface Query {
   
   productOptionGroup?: Maybe<ProductOptionGroup>;
   
+  search: SearchResponse;
+  
   products: ProductList;
   
   product?: Maybe<Product>;
@@ -4479,8 +4523,6 @@ export interface Query {
   
   role?: Maybe<Role>;
   
-  search: SearchResponse;
-  
   shippingMethods: ShippingMethodList;
   
   shippingMethod?: Maybe<ShippingMethod>;
@@ -5323,6 +5365,48 @@ export interface ProductOptionGroupTranslation {
 }
 
 
+export interface SearchResponse {
+  
+  items: SearchResult[];
+  
+  totalItems: number;
+  
+  facetValues: FacetValue[];
+}
+
+
+export interface SearchResult {
+  
+  sku: string;
+  
+  slug: string;
+  
+  productId: string;
+  
+  productName: string;
+  
+  productPreview: string;
+  
+  productVariantId: string;
+  
+  productVariantName: string;
+  
+  productVariantPreview: string;
+  
+  price: number;
+  
+  currencyCode: CurrencyCode;
+  
+  description: string;
+  
+  facetIds: string[];
+  
+  facetValueIds: string[];
+  
+  score: number;
+}
+
+
 export interface ProductList extends PaginatedList {
   
   items: Product[];
@@ -5423,48 +5507,6 @@ export interface RoleList extends PaginatedList {
 }
 
 
-export interface SearchResponse {
-  
-  items: SearchResult[];
-  
-  totalItems: number;
-  
-  facetValues: FacetValue[];
-}
-
-
-export interface SearchResult {
-  
-  sku: string;
-  
-  slug: string;
-  
-  productId: string;
-  
-  productName: string;
-  
-  productPreview: string;
-  
-  productVariantId: string;
-  
-  productVariantName: string;
-  
-  productVariantPreview: string;
-  
-  price: number;
-  
-  currencyCode: CurrencyCode;
-  
-  description: string;
-  
-  facetIds: string[];
-  
-  facetValueIds: string[];
-  
-  score: number;
-}
-
-
 export interface ShippingMethodList extends PaginatedList {
   
   items: ShippingMethod[];
@@ -5594,6 +5636,8 @@ export interface Mutation {
   createProductOptionGroup: ProductOptionGroup;
   /** Update an existing ProductOptionGroup */
   updateProductOptionGroup: ProductOptionGroup;
+  
+  reindex: SearchReindexResponse;
   /** Create a new Product */
   createProduct: Product;
   /** Update an existing Product */
@@ -5618,8 +5662,6 @@ export interface Mutation {
   createRole: Role;
   /** Update an existing Role */
   updateRole: Role;
-  
-  reindex: SearchReindexResponse;
   /** Create a new ShippingMethod */
   createShippingMethod: ShippingMethod;
   /** Update an existing ShippingMethod */
@@ -5790,6 +5832,10 @@ export interface ProductOptionGroupQueryArgs {
   
   languageCode?: Maybe<LanguageCode>;
 }
+export interface SearchQueryArgs {
+  
+  input: SearchInput;
+}
 export interface ProductsQueryArgs {
   
   languageCode?: Maybe<LanguageCode>;
@@ -5818,10 +5864,6 @@ export interface RoleQueryArgs {
   
   id: string;
 }
-export interface SearchQueryArgs {
-  
-  input: SearchInput;
-}
 export interface ShippingMethodsQueryArgs {
   
   options?: Maybe<ShippingMethodListOptions>;

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor