diff --git a/apigee_api_catalog.install b/apigee_api_catalog.install index 823dabb..6d34f4e 100644 --- a/apigee_api_catalog.install +++ b/apigee_api_catalog.install @@ -155,3 +155,13 @@ function apigee_api_catalog_update_8809() { function apigee_api_catalog_update_8810() { return \Drupal::service('apigee_api_catalog.updates')->update8810(); } + +/** + * Implements hook_update_N(). + * + * Readded yml extension to field_apidoc_file_link and + * field_apidoc_spec allowed values. + */ +function apigee_api_catalog_update_11001() { + return \Drupal::service('apigee_api_catalog.updates')->addYmlExtension(); +} diff --git a/config/install/field.field.node.apidoc.field_apidoc_file_link.yml b/config/install/field.field.node.apidoc.field_apidoc_file_link.yml index 222adbc..c78718c 100644 --- a/config/install/field.field.node.apidoc.field_apidoc_file_link.yml +++ b/config/install/field.field.node.apidoc.field_apidoc_file_link.yml @@ -19,6 +19,6 @@ default_value_callback: '' settings: link_type: 17 title: 0 - file_extensions: 'yaml json' + file_extensions: 'yml yaml json' no_extension: false field_type: file_link diff --git a/config/install/field.field.node.apidoc.field_apidoc_spec.yml b/config/install/field.field.node.apidoc.field_apidoc_spec.yml index db002f6..4745bf2 100644 --- a/config/install/field.field.node.apidoc.field_apidoc_spec.yml +++ b/config/install/field.field.node.apidoc.field_apidoc_spec.yml @@ -18,7 +18,7 @@ default_value: { } default_value_callback: '' settings: file_directory: apidoc_specs - file_extensions: 'yaml json' + file_extensions: 'yml yaml json' max_filesize: '' description_field: false handler: 'default:file' diff --git a/modules/apigee_asyncapi_doc/config/install/field.field.node.asyncapi_doc.field_asyncapi_spec.yml b/modules/apigee_asyncapi_doc/config/install/field.field.node.asyncapi_doc.field_asyncapi_spec.yml index 2c62be2..449b59c 100644 --- a/modules/apigee_asyncapi_doc/config/install/field.field.node.asyncapi_doc.field_asyncapi_spec.yml +++ b/modules/apigee_asyncapi_doc/config/install/field.field.node.asyncapi_doc.field_asyncapi_spec.yml @@ -20,7 +20,7 @@ settings: handler: 'default:file' handler_settings: { } file_directory: asyncapi_specs - file_extensions: 'yaml json' + file_extensions: 'yml yaml json' max_filesize: '' description_field: false field_type: file \ No newline at end of file diff --git a/modules/apigee_freeform_doc/config/install/field.field.node.freeform_doc.field_freeform_spec_doc.yml b/modules/apigee_freeform_doc/config/install/field.field.node.freeform_doc.field_freeform_spec_doc.yml index cb4a857..9c0275e 100644 --- a/modules/apigee_freeform_doc/config/install/field.field.node.freeform_doc.field_freeform_spec_doc.yml +++ b/modules/apigee_freeform_doc/config/install/field.field.node.freeform_doc.field_freeform_spec_doc.yml @@ -20,7 +20,7 @@ settings: handler: 'default:file' handler_settings: { } file_directory: freeform_specs_doc - file_extensions: 'zip jpg jpeg gif png txt html doc xls pdf ppt pps yaml' + file_extensions: 'zip jpg jpeg gif png txt html doc xls pdf ppt pps yaml yml' max_filesize: '' description_field: false field_type: file diff --git a/src/UpdateService.php b/src/UpdateService.php index 25377cb..28708ea 100644 --- a/src/UpdateService.php +++ b/src/UpdateService.php @@ -448,7 +448,7 @@ public function update8810() { } } - return 'Removed the yml extension from field_apidoc_file_link and field_apidoc_spec allowed values for security reasons.'; + return 'Removed the yml extension from field_apidoc_file_link and field_apidoc_spec allowed values.'; } /** @@ -477,4 +477,27 @@ protected function addToFieldMap(string $old, string $new) { \Drupal::state()->set('apigee_api_catalog_update_8803_fieldmap', $map); } + /** + * Re-added .yml file upload. + */ + public function addYmlExtension() { + $fields = [ + 'field_apidoc_file_link', + 'field_apidoc_spec', + ]; + + foreach ($fields as $field) { + $fieldConfig = FieldConfig::loadByName('node', 'apidoc', $field); + // Check if yml extension present before adding it. + $extensions = $fieldConfig->getSetting('file_extensions'); + if (strpos($extensions, 'yml') === FALSE) { + // Readd yml extension from allowed values. + $fieldConfig->setSetting('file_extensions', $extensions . ' yml') + ->save(); + } + } + + return 'Added the yml extension from field_apidoc_file_link and field_apidoc_spec allowed values.'; + } + }