mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-12 03:50:22 +00:00
Replacing old representative template for OCs with active model serializers
This commit is contained in:
3
app/serializers/api/admin/enterprise_fee_serializer.rb
Normal file
3
app/serializers/api/admin/enterprise_fee_serializer.rb
Normal file
@@ -0,0 +1,3 @@
|
||||
class Api::Admin::EnterpriseFeeSerializer < ActiveModel::Serializer
|
||||
attributes :id, :enterprise_id
|
||||
end
|
||||
12
app/serializers/api/admin/exchange_serializer.rb
Normal file
12
app/serializers/api/admin/exchange_serializer.rb
Normal file
@@ -0,0 +1,12 @@
|
||||
class Api::Admin::ExchangeSerializer < ActiveModel::Serializer
|
||||
attributes :id, :sender_id, :receiver_id, :incoming, :variants, :pickup_time, :pickup_instructions
|
||||
|
||||
has_many :enterprise_fees, serializer: Api::Admin::EnterpriseFeeSerializer
|
||||
|
||||
def variants
|
||||
Hash[
|
||||
OpenFoodNetwork::Permissions.new(options[:current_user]).
|
||||
visible_variants_within(object).map { |v| [v.id, true] }
|
||||
]
|
||||
end
|
||||
end
|
||||
18
app/serializers/api/admin/order_cycle_serializer.rb
Normal file
18
app/serializers/api/admin/order_cycle_serializer.rb
Normal file
@@ -0,0 +1,18 @@
|
||||
class Api::Admin::OrderCycleSerializer < ActiveModel::Serializer
|
||||
attributes :id, :name, :orders_open_at, :orders_close_at, :coordinator_id, :exchanges
|
||||
|
||||
has_many :coordinator_fees, serializer: Api::IdSerializer
|
||||
|
||||
def orders_open_at
|
||||
object.orders_open_at.to_s
|
||||
end
|
||||
|
||||
def orders_close_at
|
||||
object.orders_close_at.to_s
|
||||
end
|
||||
|
||||
def exchanges
|
||||
scoped_exchanges = OpenFoodNetwork::Permissions.new(options[:current_user]).order_cycle_exchanges(object).order('id ASC')
|
||||
ActiveModel::ArraySerializer.new(scoped_exchanges, {each_serializer: Api::Admin::ExchangeSerializer, current_user: options[:current_user] })
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user