mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-09-21 07:26:15 +08:00
Add decimals to repository column API
This commit is contained in:
parent
65bb0ed233
commit
af02201b43
|
@ -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')
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue