Browse Source

feat(core): Expose permitted Asset types in ServerConfig type

Relates to #421
Michael Bromley 5 years ago
parent
commit
66abc7f576

+ 21 - 3
packages/asset-server-plugin/e2e/graphql/generated-e2e-asset-server-plugin-types.ts

@@ -41,7 +41,13 @@ export type Address = Node & {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<AddressCustomFields>;
+};
+
+export type AddressCustomFields = {
+    __typename?: 'AddressCustomFields';
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
 };
 
 export type Adjustment = {
@@ -416,6 +422,11 @@ export type CountryTranslationInput = {
     name?: Maybe<Scalars['String']>;
 };
 
+export type CreateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type CreateAddressInput = {
     fullName?: Maybe<Scalars['String']>;
     company?: Maybe<Scalars['String']>;
@@ -428,7 +439,7 @@ export type CreateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<CreateAddressCustomFieldsInput>;
 };
 
 export type CreateAdministratorInput = {
@@ -2379,6 +2390,7 @@ export type OrderAddress = {
     country?: Maybe<Scalars['String']>;
     countryCode?: Maybe<Scalars['String']>;
     phoneNumber?: Maybe<Scalars['String']>;
+    customFields?: Maybe<AddressCustomFields>;
 };
 
 export type OrderFilterParameter = {
@@ -3223,6 +3235,7 @@ export type SearchResultSortParameter = {
 export type ServerConfig = {
     __typename?: 'ServerConfig';
     orderProcess: Array<OrderProcessState>;
+    permittedAssetTypes: Array<Scalars['String']>;
     customFieldConfig: CustomFields;
 };
 
@@ -3437,6 +3450,11 @@ export type TestShippingMethodResult = {
     quote?: Maybe<TestShippingMethodQuote>;
 };
 
+export type UpdateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type UpdateAddressInput = {
     id: Scalars['ID'];
     fullName?: Maybe<Scalars['String']>;
@@ -3450,7 +3468,7 @@ export type UpdateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<UpdateAddressCustomFieldsInput>;
 };
 
 export type UpdateAdministratorInput = {

+ 18 - 3
packages/common/src/generated-shop-types.ts

@@ -29,7 +29,12 @@ export type Address = Node & {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<AddressCustomFields>;
+};
+
+export type AddressCustomFields = {
+    __typename?: 'AddressCustomFields';
+    instructions?: Maybe<Scalars['String']>;
 };
 
 export type Adjustment = {
@@ -296,6 +301,10 @@ export type CountryTranslation = {
     name: Scalars['String'];
 };
 
+export type CreateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+};
+
 export type CreateAddressInput = {
     fullName?: Maybe<Scalars['String']>;
     company?: Maybe<Scalars['String']>;
@@ -308,7 +317,7 @@ export type CreateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<CreateAddressCustomFieldsInput>;
 };
 
 export type CreateCustomerInput = {
@@ -1622,6 +1631,7 @@ export type OrderAddress = {
     country?: Maybe<Scalars['String']>;
     countryCode?: Maybe<Scalars['String']>;
     phoneNumber?: Maybe<Scalars['String']>;
+    customFields?: Maybe<AddressCustomFields>;
 };
 
 export type OrderFilterParameter = {
@@ -2200,6 +2210,7 @@ export type SearchResultSortParameter = {
 export type ServerConfig = {
     __typename?: 'ServerConfig';
     orderProcess: Array<OrderProcessState>;
+    permittedAssetTypes: Array<Scalars['String']>;
     customFieldConfig: CustomFields;
 };
 
@@ -2327,6 +2338,10 @@ export type TaxRateList = PaginatedList & {
     totalItems: Scalars['Int'];
 };
 
+export type UpdateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+};
+
 export type UpdateAddressInput = {
     id: Scalars['ID'];
     fullName?: Maybe<Scalars['String']>;
@@ -2340,7 +2355,7 @@ export type UpdateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<UpdateAddressCustomFieldsInput>;
 };
 
 export type UpdateCustomerInput = {

+ 21 - 3
packages/common/src/generated-types.ts

@@ -41,7 +41,13 @@ export type Address = Node & {
   phoneNumber?: Maybe<Scalars['String']>;
   defaultShippingAddress?: Maybe<Scalars['Boolean']>;
   defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-  customFields?: Maybe<Scalars['JSON']>;
+  customFields?: Maybe<AddressCustomFields>;
+};
+
+export type AddressCustomFields = {
+   __typename?: 'AddressCustomFields';
+  instructions?: Maybe<Scalars['String']>;
+  verified?: Maybe<Scalars['Boolean']>;
 };
 
 export type Adjustment = {
@@ -416,6 +422,11 @@ export type CountryTranslationInput = {
   name?: Maybe<Scalars['String']>;
 };
 
+export type CreateAddressCustomFieldsInput = {
+  instructions?: Maybe<Scalars['String']>;
+  verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type CreateAddressInput = {
   fullName?: Maybe<Scalars['String']>;
   company?: Maybe<Scalars['String']>;
@@ -428,7 +439,7 @@ export type CreateAddressInput = {
   phoneNumber?: Maybe<Scalars['String']>;
   defaultShippingAddress?: Maybe<Scalars['Boolean']>;
   defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-  customFields?: Maybe<Scalars['JSON']>;
+  customFields?: Maybe<CreateAddressCustomFieldsInput>;
 };
 
 export type CreateAdministratorInput = {
@@ -2467,6 +2478,7 @@ export type OrderAddress = {
   country?: Maybe<Scalars['String']>;
   countryCode?: Maybe<Scalars['String']>;
   phoneNumber?: Maybe<Scalars['String']>;
+  customFields?: Maybe<AddressCustomFields>;
 };
 
 export type OrderFilterParameter = {
@@ -3349,6 +3361,7 @@ export type SearchResultSortParameter = {
 export type ServerConfig = {
    __typename?: 'ServerConfig';
   orderProcess: Array<OrderProcessState>;
+  permittedAssetTypes: Array<Scalars['String']>;
   customFieldConfig: CustomFields;
 };
 
@@ -3562,6 +3575,11 @@ export type TestShippingMethodResult = {
   quote?: Maybe<TestShippingMethodQuote>;
 };
 
+export type UpdateAddressCustomFieldsInput = {
+  instructions?: Maybe<Scalars['String']>;
+  verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type UpdateAddressInput = {
   id: Scalars['ID'];
   fullName?: Maybe<Scalars['String']>;
@@ -3575,7 +3593,7 @@ export type UpdateAddressInput = {
   phoneNumber?: Maybe<Scalars['String']>;
   defaultShippingAddress?: Maybe<Scalars['Boolean']>;
   defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-  customFields?: Maybe<Scalars['JSON']>;
+  customFields?: Maybe<UpdateAddressCustomFieldsInput>;
 };
 
 export type UpdateAdministratorInput = {

+ 21 - 3
packages/core/e2e/graphql/generated-e2e-admin-types.ts

@@ -41,7 +41,13 @@ export type Address = Node & {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<AddressCustomFields>;
+};
+
+export type AddressCustomFields = {
+    __typename?: 'AddressCustomFields';
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
 };
 
 export type Adjustment = {
@@ -416,6 +422,11 @@ export type CountryTranslationInput = {
     name?: Maybe<Scalars['String']>;
 };
 
+export type CreateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type CreateAddressInput = {
     fullName?: Maybe<Scalars['String']>;
     company?: Maybe<Scalars['String']>;
@@ -428,7 +439,7 @@ export type CreateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<CreateAddressCustomFieldsInput>;
 };
 
 export type CreateAdministratorInput = {
@@ -2379,6 +2390,7 @@ export type OrderAddress = {
     country?: Maybe<Scalars['String']>;
     countryCode?: Maybe<Scalars['String']>;
     phoneNumber?: Maybe<Scalars['String']>;
+    customFields?: Maybe<AddressCustomFields>;
 };
 
 export type OrderFilterParameter = {
@@ -3223,6 +3235,7 @@ export type SearchResultSortParameter = {
 export type ServerConfig = {
     __typename?: 'ServerConfig';
     orderProcess: Array<OrderProcessState>;
+    permittedAssetTypes: Array<Scalars['String']>;
     customFieldConfig: CustomFields;
 };
 
@@ -3437,6 +3450,11 @@ export type TestShippingMethodResult = {
     quote?: Maybe<TestShippingMethodQuote>;
 };
 
+export type UpdateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type UpdateAddressInput = {
     id: Scalars['ID'];
     fullName?: Maybe<Scalars['String']>;
@@ -3450,7 +3468,7 @@ export type UpdateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<UpdateAddressCustomFieldsInput>;
 };
 
 export type UpdateAdministratorInput = {

+ 18 - 3
packages/core/e2e/graphql/generated-e2e-shop-types.ts

@@ -29,7 +29,12 @@ export type Address = Node & {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<AddressCustomFields>;
+};
+
+export type AddressCustomFields = {
+    __typename?: 'AddressCustomFields';
+    instructions?: Maybe<Scalars['String']>;
 };
 
 export type Adjustment = {
@@ -296,6 +301,10 @@ export type CountryTranslation = {
     name: Scalars['String'];
 };
 
+export type CreateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+};
+
 export type CreateAddressInput = {
     fullName?: Maybe<Scalars['String']>;
     company?: Maybe<Scalars['String']>;
@@ -308,7 +317,7 @@ export type CreateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<CreateAddressCustomFieldsInput>;
 };
 
 export type CreateCustomerInput = {
@@ -1622,6 +1631,7 @@ export type OrderAddress = {
     country?: Maybe<Scalars['String']>;
     countryCode?: Maybe<Scalars['String']>;
     phoneNumber?: Maybe<Scalars['String']>;
+    customFields?: Maybe<AddressCustomFields>;
 };
 
 export type OrderFilterParameter = {
@@ -2200,6 +2210,7 @@ export type SearchResultSortParameter = {
 export type ServerConfig = {
     __typename?: 'ServerConfig';
     orderProcess: Array<OrderProcessState>;
+    permittedAssetTypes: Array<Scalars['String']>;
     customFieldConfig: CustomFields;
 };
 
@@ -2327,6 +2338,10 @@ export type TaxRateList = PaginatedList & {
     totalItems: Scalars['Int'];
 };
 
+export type UpdateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+};
+
 export type UpdateAddressInput = {
     id: Scalars['ID'];
     fullName?: Maybe<Scalars['String']>;
@@ -2340,7 +2355,7 @@ export type UpdateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<UpdateAddressCustomFieldsInput>;
 };
 
 export type UpdateCustomerInput = {

+ 6 - 4
packages/core/src/api/resolvers/admin/global-settings.resolver.ts

@@ -35,17 +35,19 @@ export class GlobalSettingsResolver {
     serverConfig(): {
         customFieldConfig: CustomFields;
         orderProcess: OrderProcessState[];
+        permittedAssetTypes: string[];
     } {
         // Do not expose custom fields marked as "internal".
         const exposedCustomFieldConfig: CustomFields = {};
         for (const [entityType, customFields] of Object.entries(this.configService.customFields)) {
             exposedCustomFieldConfig[entityType as keyof CustomFields] = customFields.filter(
-                (c) => !c.internal,
+                c => !c.internal,
             );
         }
         return {
             customFieldConfig: exposedCustomFieldConfig,
             orderProcess: this.orderService.getOrderProcessStates(),
+            permittedAssetTypes: this.configService.assetOptions.permittedFileTypes,
         };
     }
 
@@ -58,12 +60,12 @@ export class GlobalSettingsResolver {
         if (availableLanguages) {
             const channels = await this.channelService.findAll();
             const unavailableDefaults = channels.filter(
-                (c) => !availableLanguages.includes(c.defaultLanguageCode),
+                c => !availableLanguages.includes(c.defaultLanguageCode),
             );
             if (unavailableDefaults.length) {
                 throw new UserInputError('error.cannot-set-default-language-as-unavailable', {
-                    language: unavailableDefaults.map((c) => c.defaultLanguageCode).join(', '),
-                    channelCode: unavailableDefaults.map((c) => c.code).join(', '),
+                    language: unavailableDefaults.map(c => c.defaultLanguageCode).join(', '),
+                    channelCode: unavailableDefaults.map(c => c.code).join(', '),
                 });
             }
         }

+ 1 - 0
packages/core/src/api/schema/type/global-settings.type.graphql

@@ -15,4 +15,5 @@ type OrderProcessState {
 # Programatically extended by the addGraphQLCustomFields function
 type ServerConfig {
     orderProcess: [OrderProcessState!]!
+    permittedAssetTypes: [String!]!
 }

+ 21 - 3
packages/elasticsearch-plugin/e2e/graphql/generated-e2e-elasticsearch-plugin-types.ts

@@ -41,7 +41,13 @@ export type Address = Node & {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<AddressCustomFields>;
+};
+
+export type AddressCustomFields = {
+    __typename?: 'AddressCustomFields';
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
 };
 
 export type Adjustment = {
@@ -416,6 +422,11 @@ export type CountryTranslationInput = {
     name?: Maybe<Scalars['String']>;
 };
 
+export type CreateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type CreateAddressInput = {
     fullName?: Maybe<Scalars['String']>;
     company?: Maybe<Scalars['String']>;
@@ -428,7 +439,7 @@ export type CreateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<CreateAddressCustomFieldsInput>;
 };
 
 export type CreateAdministratorInput = {
@@ -2379,6 +2390,7 @@ export type OrderAddress = {
     country?: Maybe<Scalars['String']>;
     countryCode?: Maybe<Scalars['String']>;
     phoneNumber?: Maybe<Scalars['String']>;
+    customFields?: Maybe<AddressCustomFields>;
 };
 
 export type OrderFilterParameter = {
@@ -3223,6 +3235,7 @@ export type SearchResultSortParameter = {
 export type ServerConfig = {
     __typename?: 'ServerConfig';
     orderProcess: Array<OrderProcessState>;
+    permittedAssetTypes: Array<Scalars['String']>;
     customFieldConfig: CustomFields;
 };
 
@@ -3437,6 +3450,11 @@ export type TestShippingMethodResult = {
     quote?: Maybe<TestShippingMethodQuote>;
 };
 
+export type UpdateAddressCustomFieldsInput = {
+    instructions?: Maybe<Scalars['String']>;
+    verified?: Maybe<Scalars['Boolean']>;
+};
+
 export type UpdateAddressInput = {
     id: Scalars['ID'];
     fullName?: Maybe<Scalars['String']>;
@@ -3450,7 +3468,7 @@ export type UpdateAddressInput = {
     phoneNumber?: Maybe<Scalars['String']>;
     defaultShippingAddress?: Maybe<Scalars['Boolean']>;
     defaultBillingAddress?: Maybe<Scalars['Boolean']>;
-    customFields?: Maybe<Scalars['JSON']>;
+    customFields?: Maybe<UpdateAddressCustomFieldsInput>;
 };
 
 export type UpdateAdministratorInput = {

File diff suppressed because it is too large
+ 0 - 0
schema-admin.json


File diff suppressed because it is too large
+ 0 - 0
schema-shop.json


Some files were not shown because too many files changed in this diff