Add decimals to repository column API

This commit is contained in:
aignatov-bio 2020-04-01 13:29:21 +02:00
parent 65bb0ed233
commit af02201b43
2 changed files with 7 additions and 11 deletions

View file

@ -56,9 +56,7 @@ module Api
private private
def check_manage_permissions def check_manage_permissions
unless can_manage_repository_column?(@inventory_column) raise PermissionError.new(RepositoryColumn, :manage) unless can_manage_repository_column?(@inventory_column)
raise PermissionError.new(RepositoryColumn, :manage)
end
end end
def check_create_permissions def check_create_permissions
@ -66,12 +64,11 @@ module Api
end end
def inventory_column_params def inventory_column_params
unless params.require(:data).require(:type) == 'inventory_columns' raise TypeError unless params.require(:data).require(:type) == 'inventory_columns'
raise TypeError
end
params.require(:data).require(:attributes) params.require(:data).require(:attributes)
new_params = params new_params = params
.permit(data: { attributes: %i(name data_type) })[:data] .permit(data: { attributes: [:name, :data_type, metadata: {}] })[:data]
.merge(created_by: @current_user) .merge(created_by: @current_user)
if new_params[:attributes][:data_type].present? if new_params[:attributes][:data_type].present?
new_params[:attributes][:data_type] = new_params[:attributes][:data_type] =
@ -82,9 +79,8 @@ module Api
end end
def update_inventory_column_params def update_inventory_column_params
unless params.require(:data).require(:id).to_i == params[:id].to_i raise IDMismatchError unless params.require(:data).require(:id).to_i == params[:id].to_i
raise IDMismatchError
end
if inventory_column_params[:attributes].include?(:data_type) if inventory_column_params[:attributes].include?(:data_type)
raise ActiveRecord::RecordInvalid, raise ActiveRecord::RecordInvalid,
I18n.t('api.core.errors.inventory_column_type.detail') I18n.t('api.core.errors.inventory_column_type.detail')

View file

@ -4,7 +4,7 @@ module Api
module V1 module V1
class InventoryColumnSerializer < ActiveModel::Serializer class InventoryColumnSerializer < ActiveModel::Serializer
type :inventory_columns type :inventory_columns
attributes :name, :data_type attributes :name, :data_type, :metadata
has_many :repository_list_items, has_many :repository_list_items,
key: :inventory_list_items, key: :inventory_list_items,
serializer: InventoryListItemSerializer, serializer: InventoryListItemSerializer,