@@ -1037,9 +1037,7 @@ def self.metadata_field_by_field_id(field_external_id, options = {})
10371037 #
10381038 # @see https://cloudinary.com/documentation/admin_api#create_a_metadata_field
10391039 def self . add_metadata_field ( field , options = { } )
1040- params = only ( field , :type , :external_id , :label , :mandatory , :default_value , :validation , :datasource )
1041-
1042- call_metadata_api ( :post , [ ] , params , options )
1040+ call_metadata_api ( :post , [ ] , prepare_metadata_field_params ( field ) , options )
10431041 end
10441042
10451043 # Updates a metadata field by external ID.
@@ -1056,10 +1054,19 @@ def self.add_metadata_field(field, options = {})
10561054 #
10571055 # @see https://cloudinary.com/documentation/admin_api#update_a_metadata_field_by_external_id
10581056 def self . update_metadata_field ( field_external_id , field , options = { } )
1059- uri = [ field_external_id ]
1060- params = only ( field , :label , :mandatory , :default_value , :validation )
1057+ uri = [ field_external_id ]
10611058
1062- call_metadata_api ( :put , uri , params , options )
1059+ call_metadata_api ( :put , uri , prepare_metadata_field_params ( field ) , options )
1060+ end
1061+
1062+ # Prepares optional parameters for add/update_metadata_field API calls.
1063+ # @param [Hash] options Additional options
1064+ # @return [Object] Optional parameters
1065+ def self . prepare_metadata_field_params ( field )
1066+ only ( field ,
1067+ :type , :external_id , :label , :mandatory , :restrictions , :default_value , :default_disabled ,
1068+ :validation , :datasource , :allow_dynamic_list_values
1069+ )
10631070 end
10641071
10651072 # Deletes a metadata field definition by external ID.
0 commit comments