Browse Source

refactor(admin-ui): Move GraphQL definitions into single files

Michael Bromley 7 years ago
parent
commit
e500ff1131
25 changed files with 275 additions and 300 deletions
  1. 1 1
      admin-ui/src/app/catalog/components/select-option-group/select-option-group.component.ts
  2. 1 1
      admin-ui/src/app/data/client-state/client-resolvers.ts
  3. 0 0
      admin-ui/src/app/data/client-state/client-types.graphql
  4. 17 1
      admin-ui/src/app/data/definitions/auth-definitions.ts
  5. 90 0
      admin-ui/src/app/data/definitions/facet-definitions.ts
  6. 26 0
      admin-ui/src/app/data/definitions/local-definitions.ts
  7. 115 5
      admin-ui/src/app/data/definitions/product-definitions.ts
  8. 0 10
      admin-ui/src/app/data/fragments/auth-fragments.ts
  9. 0 33
      admin-ui/src/app/data/fragments/facet-fragments.ts
  10. 0 76
      admin-ui/src/app/data/fragments/product-fragments.ts
  11. 0 39
      admin-ui/src/app/data/mutations/facet-mutations.ts
  12. 2 3
      admin-ui/src/app/data/providers/auth-data.service.ts
  13. 1 1
      admin-ui/src/app/data/providers/base-data.service.ts
  14. 5 3
      admin-ui/src/app/data/providers/client-data.service.ts
  15. 1 1
      admin-ui/src/app/data/providers/data.service.mock.ts
  16. 4 3
      admin-ui/src/app/data/providers/facet-data.service.ts
  17. 5 7
      admin-ui/src/app/data/providers/product-data.service.ts
  18. 0 12
      admin-ui/src/app/data/queries/auth-queries.ts
  19. 0 24
      admin-ui/src/app/data/queries/facet-queries.ts
  20. 0 27
      admin-ui/src/app/data/queries/local-queries.ts
  21. 0 44
      admin-ui/src/app/data/queries/product-queries.ts
  22. 0 0
      admin-ui/src/app/data/query-result.ts
  23. 2 2
      generate-graphql-types.ts
  24. 3 5
      server/e2e/product.e2e-spec.ts
  25. 2 2
      server/mock-data/mock-data.service.ts

+ 1 - 1
admin-ui/src/app/catalog/components/select-option-group/select-option-group.component.ts

@@ -19,7 +19,7 @@ import {
 import { DeepPartial } from 'shared/shared-types';
 
 import { DataService } from '../../../data/providers/data.service';
-import { QueryResult } from '../../../data/types/query-result';
+import { QueryResult } from '../../../data/query-result';
 
 @Component({
     selector: 'vdr-select-option-group',

+ 1 - 1
admin-ui/src/app/data/client-state/client-resolvers.ts

@@ -10,7 +10,7 @@ import {
     SetUiLanguageVariables,
 } from 'shared/generated-types';
 
-import { GET_NEWTORK_STATUS } from '../queries/local-queries';
+import { GET_NEWTORK_STATUS } from '../definitions/local-definitions';
 
 export type ResolverContext = {
     cache: InMemoryCache;

+ 0 - 0
admin-ui/src/app/data/types/client-types.graphql → admin-ui/src/app/data/client-state/client-types.graphql


+ 17 - 1
admin-ui/src/app/data/mutations/auth-mutations.ts → admin-ui/src/app/data/definitions/auth-definitions.ts

@@ -1,6 +1,13 @@
 import gql from 'graphql-tag';
 
-import { CURRENT_USER_FRAGMENT } from '../fragments/auth-fragments';
+export const CURRENT_USER_FRAGMENT = gql`
+    fragment CurrentUser on CurrentUser {
+        id
+        identifier
+        channelTokens
+        roles
+    }
+`;
 
 export const ATTEMPT_LOGIN = gql`
     mutation AttemptLogin($username: String!, $password: String!) {
@@ -13,3 +20,12 @@ export const ATTEMPT_LOGIN = gql`
     }
     ${CURRENT_USER_FRAGMENT}
 `;
+
+export const GET_CURRENT_USER = gql`
+    query GetCurrentUser {
+        me {
+            ...CurrentUser
+        }
+    }
+    ${CURRENT_USER_FRAGMENT}
+`;

+ 90 - 0
admin-ui/src/app/data/definitions/facet-definitions.ts

@@ -0,0 +1,90 @@
+import gql from 'graphql-tag';
+
+export const FACET_VALUE_FRAGMENT = gql`
+    fragment FacetValue on FacetValue {
+        id
+        languageCode
+        code
+        name
+        translations {
+            id
+            languageCode
+            name
+        }
+    }
+`;
+
+export const FACET_WITH_VALUES_FRAGMENT = gql`
+    fragment FacetWithValues on Facet {
+        id
+        languageCode
+        code
+        name
+        translations {
+            id
+            languageCode
+            name
+        }
+        values {
+            ...FacetValue
+        }
+    }
+    ${FACET_VALUE_FRAGMENT}
+`;
+
+export const CREATE_FACET = gql`
+    mutation CreateFacet($input: CreateFacetInput!) {
+        createFacet(input: $input) {
+            ...FacetWithValues
+        }
+    }
+    ${FACET_WITH_VALUES_FRAGMENT}
+`;
+
+export const UPDATE_FACET = gql`
+    mutation UpdateFacet($input: UpdateFacetInput!) {
+        updateFacet(input: $input) {
+            ...FacetWithValues
+        }
+    }
+    ${FACET_WITH_VALUES_FRAGMENT}
+`;
+
+export const CREATE_FACET_VALUES = gql`
+    mutation CreateFacetValues($input: [CreateFacetValueInput!]!) {
+        createFacetValues(input: $input) {
+            ...FacetValue
+        }
+    }
+    ${FACET_VALUE_FRAGMENT}
+`;
+
+export const UPDATE_FACET_VALUES = gql`
+    mutation UpdateFacetValues($input: [UpdateFacetValueInput!]!) {
+        updateFacetValues(input: $input) {
+            ...FacetValue
+        }
+    }
+    ${FACET_VALUE_FRAGMENT}
+`;
+
+export const GET_FACET_LIST = gql`
+    query GetFacetList($options: FacetListOptions, $languageCode: LanguageCode) {
+        facets(languageCode: $languageCode, options: $options) {
+            items {
+                ...FacetWithValues
+            }
+            totalItems
+        }
+    }
+    ${FACET_WITH_VALUES_FRAGMENT}
+`;
+
+export const GET_FACET_WITH_VALUES = gql`
+    query GetFacetWithValues($id: ID!, $languageCode: LanguageCode) {
+        facet(id: $id, languageCode: $languageCode) {
+            ...FacetWithValues
+        }
+    }
+    ${FACET_WITH_VALUES_FRAGMENT}
+`;

+ 26 - 0
admin-ui/src/app/data/mutations/local-mutations.ts → admin-ui/src/app/data/definitions/local-definitions.ts

@@ -37,3 +37,29 @@ export const SET_UI_LANGUAGE = gql`
         setUiLanguage(languageCode: $languageCode) @client
     }
 `;
+
+export const GET_NEWTORK_STATUS = gql`
+    query GetNetworkStatus {
+        networkStatus @client {
+            inFlightRequests
+        }
+    }
+`;
+
+export const GET_USER_STATUS = gql`
+    query GetUserStatus {
+        userStatus @client {
+            username
+            isLoggedIn
+            loginTime
+        }
+    }
+`;
+
+export const GET_UI_STATE = gql`
+    query GetUiState {
+        uiState @client {
+            language
+        }
+    }
+`;

+ 115 - 5
admin-ui/src/app/data/mutations/product-mutations.ts → admin-ui/src/app/data/definitions/product-definitions.ts

@@ -1,10 +1,79 @@
 import gql from 'graphql-tag';
 
-import {
-    PRODUCT_OPTION_GROUP_FRAGMENT,
-    PRODUCT_VARIANT_FRAGMENT,
-    PRODUCT_WITH_VARIANTS_FRAGMENT,
-} from '../fragments/product-fragments';
+export const PRODUCT_VARIANT_FRAGMENT = gql`
+    fragment ProductVariant on ProductVariant {
+        id
+        languageCode
+        name
+        price
+        sku
+        image
+        options {
+            id
+            code
+            languageCode
+            name
+        }
+        facetValues {
+            id
+            code
+            name
+        }
+        translations {
+            id
+            languageCode
+            name
+        }
+    }
+`;
+
+export const PRODUCT_WITH_VARIANTS_FRAGMENT = gql`
+    fragment ProductWithVariants on Product {
+        id
+        languageCode
+        name
+        slug
+        image
+        description
+        translations {
+            languageCode
+            name
+            slug
+            description
+        }
+        optionGroups {
+            id
+            languageCode
+            code
+            name
+        }
+        variants {
+            ...ProductVariant
+        }
+    }
+    ${PRODUCT_VARIANT_FRAGMENT}
+`;
+
+export const PRODUCT_OPTION_GROUP_FRAGMENT = gql`
+    fragment ProductOptionGroup on ProductOptionGroup {
+        id
+        languageCode
+        code
+        name
+        translations {
+            name
+        }
+        options {
+            id
+            languageCode
+            name
+            code
+            translations {
+                name
+            }
+        }
+    }
+`;
 
 export const UPDATE_PRODUCT = gql`
     mutation UpdateProduct($input: UpdateProductInput!) {
@@ -98,3 +167,44 @@ export const APPLY_FACET_VALUE_TO_PRODUCT_VARIANTS = gql`
     }
     ${PRODUCT_VARIANT_FRAGMENT}
 `;
+
+export const GET_PRODUCT_WITH_VARIANTS = gql`
+    query GetProductWithVariants($id: ID!, $languageCode: LanguageCode) {
+        product(languageCode: $languageCode, id: $id) {
+            ...ProductWithVariants
+        }
+    }
+    ${PRODUCT_WITH_VARIANTS_FRAGMENT}
+`;
+
+export const GET_PRODUCT_LIST = gql`
+    query GetProductList($options: ProductListOptions, $languageCode: LanguageCode) {
+        products(languageCode: $languageCode, options: $options) {
+            items {
+                id
+                languageCode
+                name
+                slug
+                description
+            }
+            totalItems
+        }
+    }
+`;
+
+export const GET_PRODUCT_OPTION_GROUPS = gql`
+    query GetProductOptionGroups($filterTerm: String, $languageCode: LanguageCode) {
+        productOptionGroups(filterTerm: $filterTerm, languageCode: $languageCode) {
+            id
+            languageCode
+            code
+            name
+            options {
+                id
+                languageCode
+                code
+                name
+            }
+        }
+    }
+`;

+ 0 - 10
admin-ui/src/app/data/fragments/auth-fragments.ts

@@ -1,10 +0,0 @@
-import gql from 'graphql-tag';
-
-export const CURRENT_USER_FRAGMENT = gql`
-    fragment CurrentUser on CurrentUser {
-        id
-        identifier
-        channelTokens
-        roles
-    }
-`;

+ 0 - 33
admin-ui/src/app/data/fragments/facet-fragments.ts

@@ -1,33 +0,0 @@
-import gql from 'graphql-tag';
-
-export const FACET_VALUE_FRAGMENT = gql`
-    fragment FacetValue on FacetValue {
-        id
-        languageCode
-        code
-        name
-        translations {
-            id
-            languageCode
-            name
-        }
-    }
-`;
-
-export const FACET_WITH_VALUES_FRAGMENT = gql`
-    fragment FacetWithValues on Facet {
-        id
-        languageCode
-        code
-        name
-        translations {
-            id
-            languageCode
-            name
-        }
-        values {
-            ...FacetValue
-        }
-    }
-    ${FACET_VALUE_FRAGMENT}
-`;

+ 0 - 76
admin-ui/src/app/data/fragments/product-fragments.ts

@@ -1,76 +0,0 @@
-import gql from 'graphql-tag';
-
-export const PRODUCT_VARIANT_FRAGMENT = gql`
-    fragment ProductVariant on ProductVariant {
-        id
-        languageCode
-        name
-        price
-        sku
-        image
-        options {
-            id
-            code
-            languageCode
-            name
-        }
-        facetValues {
-            id
-            code
-            name
-        }
-        translations {
-            id
-            languageCode
-            name
-        }
-    }
-`;
-
-export const PRODUCT_WITH_VARIANTS_FRAGMENT = gql`
-    fragment ProductWithVariants on Product {
-        id
-        languageCode
-        name
-        slug
-        image
-        description
-        translations {
-            languageCode
-            name
-            slug
-            description
-        }
-        optionGroups {
-            id
-            languageCode
-            code
-            name
-        }
-        variants {
-            ...ProductVariant
-        }
-    }
-    ${PRODUCT_VARIANT_FRAGMENT}
-`;
-
-export const PRODUCT_OPTION_GROUP_FRAGMENT = gql`
-    fragment ProductOptionGroup on ProductOptionGroup {
-        id
-        languageCode
-        code
-        name
-        translations {
-            name
-        }
-        options {
-            id
-            languageCode
-            name
-            code
-            translations {
-                name
-            }
-        }
-    }
-`;

+ 0 - 39
admin-ui/src/app/data/mutations/facet-mutations.ts

@@ -1,39 +0,0 @@
-import gql from 'graphql-tag';
-
-import { FACET_VALUE_FRAGMENT, FACET_WITH_VALUES_FRAGMENT } from '../fragments/facet-fragments';
-
-export const CREATE_FACET = gql`
-    mutation CreateFacet($input: CreateFacetInput!) {
-        createFacet(input: $input) {
-            ...FacetWithValues
-        }
-    }
-    ${FACET_WITH_VALUES_FRAGMENT}
-`;
-
-export const UPDATE_FACET = gql`
-    mutation UpdateFacet($input: UpdateFacetInput!) {
-        updateFacet(input: $input) {
-            ...FacetWithValues
-        }
-    }
-    ${FACET_WITH_VALUES_FRAGMENT}
-`;
-
-export const CREATE_FACET_VALUES = gql`
-    mutation CreateFacetValues($input: [CreateFacetValueInput!]!) {
-        createFacetValues(input: $input) {
-            ...FacetValue
-        }
-    }
-    ${FACET_VALUE_FRAGMENT}
-`;
-
-export const UPDATE_FACET_VALUES = gql`
-    mutation UpdateFacetValues($input: [UpdateFacetValueInput!]!) {
-        updateFacetValues(input: $input) {
-            ...FacetValue
-        }
-    }
-    ${FACET_VALUE_FRAGMENT}
-`;

+ 2 - 3
admin-ui/src/app/data/providers/auth-data.service.ts

@@ -1,9 +1,8 @@
 import { Observable } from 'rxjs';
 import { AttemptLogin, AttemptLoginVariables, GetCurrentUser } from 'shared/generated-types';
 
-import { ATTEMPT_LOGIN } from '../mutations/auth-mutations';
-import { GET_CURRENT_USER } from '../queries/auth-queries';
-import { QueryResult } from '../types/query-result';
+import { ATTEMPT_LOGIN, GET_CURRENT_USER } from '../definitions/auth-definitions';
+import { QueryResult } from '../query-result';
 
 import { BaseDataService } from './base-data.service';
 

+ 1 - 1
admin-ui/src/app/data/providers/base-data.service.ts

@@ -10,7 +10,7 @@ import { map } from 'rxjs/operators';
 
 import { API_URL } from '../../app.config';
 import { LocalStorageService } from '../../core/providers/local-storage/local-storage.service';
-import { QueryResult } from '../types/query-result';
+import { QueryResult } from '../query-result';
 
 /**
  * Make the MutationUpdaterFn type-safe until this issue is resolved: https://github.com/apollographql/apollo-link/issues/616

+ 5 - 3
admin-ui/src/app/data/providers/client-data.service.ts

@@ -14,14 +14,16 @@ import {
 } from 'shared/generated-types';
 
 import {
+    GET_NEWTORK_STATUS,
+    GET_UI_STATE,
+    GET_USER_STATUS,
     REQUEST_COMPLETED,
     REQUEST_STARTED,
     SET_AS_LOGGED_IN,
     SET_AS_LOGGED_OUT,
     SET_UI_LANGUAGE,
-} from '../mutations/local-mutations';
-import { GET_NEWTORK_STATUS, GET_UI_STATE, GET_USER_STATUS } from '../queries/local-queries';
-import { QueryResult } from '../types/query-result';
+} from '../definitions/local-definitions';
+import { QueryResult } from '../query-result';
 
 import { BaseDataService } from './base-data.service';
 

+ 1 - 1
admin-ui/src/app/data/providers/data.service.mock.ts

@@ -1,6 +1,6 @@
 import { of } from 'rxjs';
 
-import { QueryResult } from '../types/query-result';
+import { QueryResult } from '../query-result';
 
 import { DataService } from './data.service';
 

+ 4 - 3
admin-ui/src/app/data/providers/facet-data.service.ts

@@ -24,11 +24,12 @@ import { addCustomFields } from '../add-custom-fields';
 import {
     CREATE_FACET,
     CREATE_FACET_VALUES,
+    GET_FACET_LIST,
+    GET_FACET_WITH_VALUES,
     UPDATE_FACET,
     UPDATE_FACET_VALUES,
-} from '../mutations/facet-mutations';
-import { GET_FACET_LIST, GET_FACET_WITH_VALUES } from '../queries/facet-queries';
-import { QueryResult } from '../types/query-result';
+} from '../definitions/facet-definitions';
+import { QueryResult } from '../query-result';
 
 import { BaseDataService } from './base-data.service';
 

+ 5 - 7
admin-ui/src/app/data/providers/product-data.service.ts

@@ -37,16 +37,14 @@ import {
     CREATE_PRODUCT,
     CREATE_PRODUCT_OPTION_GROUP,
     GENERATE_PRODUCT_VARIANTS,
-    REMOVE_OPTION_GROUP_FROM_PRODUCT,
-    UPDATE_PRODUCT,
-    UPDATE_PRODUCT_VARIANTS,
-} from '../mutations/product-mutations';
-import {
     GET_PRODUCT_LIST,
     GET_PRODUCT_OPTION_GROUPS,
     GET_PRODUCT_WITH_VARIANTS,
-} from '../queries/product-queries';
-import { QueryResult } from '../types/query-result';
+    REMOVE_OPTION_GROUP_FROM_PRODUCT,
+    UPDATE_PRODUCT,
+    UPDATE_PRODUCT_VARIANTS,
+} from '../definitions/product-definitions';
+import { QueryResult } from '../query-result';
 
 import { BaseDataService } from './base-data.service';
 

+ 0 - 12
admin-ui/src/app/data/queries/auth-queries.ts

@@ -1,12 +0,0 @@
-import gql from 'graphql-tag';
-
-import { CURRENT_USER_FRAGMENT } from '../fragments/auth-fragments';
-
-export const GET_CURRENT_USER = gql`
-    query GetCurrentUser {
-        me {
-            ...CurrentUser
-        }
-    }
-    ${CURRENT_USER_FRAGMENT}
-`;

+ 0 - 24
admin-ui/src/app/data/queries/facet-queries.ts

@@ -1,24 +0,0 @@
-import gql from 'graphql-tag';
-
-import { FACET_WITH_VALUES_FRAGMENT } from '../fragments/facet-fragments';
-
-export const GET_FACET_LIST = gql`
-    query GetFacetList($options: FacetListOptions, $languageCode: LanguageCode) {
-        facets(languageCode: $languageCode, options: $options) {
-            items {
-                ...FacetWithValues
-            }
-            totalItems
-        }
-    }
-    ${FACET_WITH_VALUES_FRAGMENT}
-`;
-
-export const GET_FACET_WITH_VALUES = gql`
-    query GetFacetWithValues($id: ID!, $languageCode: LanguageCode) {
-        facet(id: $id, languageCode: $languageCode) {
-            ...FacetWithValues
-        }
-    }
-    ${FACET_WITH_VALUES_FRAGMENT}
-`;

+ 0 - 27
admin-ui/src/app/data/queries/local-queries.ts

@@ -1,27 +0,0 @@
-import gql from 'graphql-tag';
-
-export const GET_NEWTORK_STATUS = gql`
-    query GetNetworkStatus {
-        networkStatus @client {
-            inFlightRequests
-        }
-    }
-`;
-
-export const GET_USER_STATUS = gql`
-    query GetUserStatus {
-        userStatus @client {
-            username
-            isLoggedIn
-            loginTime
-        }
-    }
-`;
-
-export const GET_UI_STATE = gql`
-    query GetUiState {
-        uiState @client {
-            language
-        }
-    }
-`;

+ 0 - 44
admin-ui/src/app/data/queries/product-queries.ts

@@ -1,44 +0,0 @@
-import gql from 'graphql-tag';
-
-import { PRODUCT_WITH_VARIANTS_FRAGMENT } from '../fragments/product-fragments';
-
-export const GET_PRODUCT_WITH_VARIANTS = gql`
-    query GetProductWithVariants($id: ID!, $languageCode: LanguageCode) {
-        product(languageCode: $languageCode, id: $id) {
-            ...ProductWithVariants
-        }
-    }
-    ${PRODUCT_WITH_VARIANTS_FRAGMENT}
-`;
-
-export const GET_PRODUCT_LIST = gql`
-    query GetProductList($options: ProductListOptions, $languageCode: LanguageCode) {
-        products(languageCode: $languageCode, options: $options) {
-            items {
-                id
-                languageCode
-                name
-                slug
-                description
-            }
-            totalItems
-        }
-    }
-`;
-
-export const GET_PRODUCT_OPTION_GROUPS = gql`
-    query GetProductOptionGroups($filterTerm: String, $languageCode: LanguageCode) {
-        productOptionGroups(filterTerm: $filterTerm, languageCode: $languageCode) {
-            id
-            languageCode
-            code
-            name
-            options {
-                id
-                languageCode
-                code
-                name
-            }
-        }
-    }
-`;

+ 0 - 0
admin-ui/src/app/data/types/query-result.ts → admin-ui/src/app/data/query-result.ts


+ 2 - 2
generate-graphql-types.ts

@@ -6,8 +6,8 @@ import { API_PATH, API_PORT } from './shared/shared-constants';
 // tslint:disable:no-console
 const API_URL = `http://localhost:${API_PORT}/${API_PATH}`;
 const SCHEMA_JSON_FILE = './schema.json';
-const CLIENT_SCHEMA_FILES = './admin-ui/src/app/data/types/client-types.graphql';
-const CLIENT_QUERY_FILES = '"./admin-ui/src/app/data/{queries,mutations,fragments}/**/*.ts"';
+const CLIENT_SCHEMA_FILES = './admin-ui/src/app/data/client-state/client-types.graphql';
+const CLIENT_QUERY_FILES = '"./admin-ui/src/app/data/definitions/*.ts"';
 const TYPESCRIPT_DEFINITIONS_FILE = './shared/generated-types.ts';
 
 main().catch(e => {

+ 3 - 5
server/e2e/product.e2e-spec.ts

@@ -29,14 +29,12 @@ import {
     APPLY_FACET_VALUE_TO_PRODUCT_VARIANTS,
     CREATE_PRODUCT,
     GENERATE_PRODUCT_VARIANTS,
+    GET_PRODUCT_LIST,
+    GET_PRODUCT_WITH_VARIANTS,
     REMOVE_OPTION_GROUP_FROM_PRODUCT,
     UPDATE_PRODUCT,
     UPDATE_PRODUCT_VARIANTS,
-} from '../../admin-ui/src/app/data/mutations/product-mutations';
-import {
-    GET_PRODUCT_LIST,
-    GET_PRODUCT_WITH_VARIANTS,
-} from '../../admin-ui/src/app/data/queries/product-queries';
+} from '../../admin-ui/src/app/data/definitions/product-definitions';
 
 import { TestClient } from './test-client';
 import { TestServer } from './test-server';

+ 2 - 2
server/mock-data/mock-data.service.ts

@@ -16,13 +16,13 @@ import {
     UpdateProductVariantsVariables,
 } from 'shared/generated-types';
 
-import { CREATE_FACET } from '../../admin-ui/src/app/data/mutations/facet-mutations';
+import { CREATE_FACET } from '../../admin-ui/src/app/data/definitions/facet-definitions';
 import {
     CREATE_PRODUCT,
     CREATE_PRODUCT_OPTION_GROUP,
     GENERATE_PRODUCT_VARIANTS,
     UPDATE_PRODUCT_VARIANTS,
-} from '../../admin-ui/src/app/data/mutations/product-mutations';
+} from '../../admin-ui/src/app/data/definitions/product-definitions';
 import { CreateAddressDto } from '../src/entity/address/address.dto';
 import { CreateAdministratorDto } from '../src/entity/administrator/administrator.dto';
 import { Channel } from '../src/entity/channel/channel.entity';