diff --git a/app/models/card_set.rb b/app/models/card_set.rb index 16c74e3d..1af5da72 100644 --- a/app/models/card_set.rb +++ b/app/models/card_set.rb @@ -3,4 +3,6 @@ class CardSet < ApplicationRecord belongs_to :card_cycle belongs_to :card_set_type + + has_many :printings end diff --git a/app/resources/api/v3/public/card_cycle_resource.rb b/app/resources/api/v3/public/card_cycle_resource.rb index 22878c18..f5d09729 100644 --- a/app/resources/api/v3/public/card_cycle_resource.rb +++ b/app/resources/api/v3/public/card_cycle_resource.rb @@ -4,6 +4,9 @@ module Public class Api::V3::Public::CardCycleResource < JSONAPI::Resource attributes :name, :description, :updated_at key_type :string + + has_many :card_sets + paginator :none end end end diff --git a/app/resources/api/v3/public/card_resource.rb b/app/resources/api/v3/public/card_resource.rb index 4b3a8263..91e37dcc 100644 --- a/app/resources/api/v3/public/card_resource.rb +++ b/app/resources/api/v3/public/card_resource.rb @@ -5,6 +5,12 @@ class Api::V3::Public::CardResource < JSONAPI::Resource # TODO(plural): get the relationships in here and possibly replace the keywords field. attributes :name, :card_type_id, :side_id, :faction_id, :advancement_requirement, :agenda_points, :base_link, :cost, :deck_limit, :influence_cost, :influence_limit, :memory_cost, :minimum_deck_size, :strength, :text, :trash_cost, :uniqueness, :keywords, :updated_at key_type :string + + has_one :card_type + has_one :faction + has_one :side + has_many :subtypes + has_many :printings end end end diff --git a/app/resources/api/v3/public/card_set_resource.rb b/app/resources/api/v3/public/card_set_resource.rb index 0a4dab44..87fda4e0 100644 --- a/app/resources/api/v3/public/card_set_resource.rb +++ b/app/resources/api/v3/public/card_set_resource.rb @@ -5,6 +5,11 @@ class Api::V3::Public::CardSetResource < JSONAPI::Resource # TODO(plural): Add relationships in here. attributes :name, :date_release, :size, :card_cycle_id, :card_set_type_id, :updated_at key_type :string + + paginator :none + + has_one :card_cycle + has_many :printings end end end diff --git a/app/resources/api/v3/public/card_set_type_resource.rb b/app/resources/api/v3/public/card_set_type_resource.rb index fcc6184a..6df4f11f 100644 --- a/app/resources/api/v3/public/card_set_type_resource.rb +++ b/app/resources/api/v3/public/card_set_type_resource.rb @@ -4,6 +4,9 @@ module Public class Api::V3::Public::CardSetTypeResource < JSONAPI::Resource attributes :name, :description, :updated_at key_type :string + + has_many :card_sets + paginator :none end end end diff --git a/app/resources/api/v3/public/card_type_resource.rb b/app/resources/api/v3/public/card_type_resource.rb index 445fdb10..b3310537 100644 --- a/app/resources/api/v3/public/card_type_resource.rb +++ b/app/resources/api/v3/public/card_type_resource.rb @@ -4,6 +4,9 @@ module Public class Api::V3::Public::CardTypeResource < JSONAPI::Resource attributes :name, :updated_at key_type :string + + has_many :cards + paginator :none end end end diff --git a/app/resources/api/v3/public/faction_resource.rb b/app/resources/api/v3/public/faction_resource.rb index 6bcbc279..d6955eb0 100644 --- a/app/resources/api/v3/public/faction_resource.rb +++ b/app/resources/api/v3/public/faction_resource.rb @@ -4,6 +4,10 @@ module Public class Api::V3::Public::FactionResource < JSONAPI::Resource attributes :name, :is_mini, :updated_at key_type :string + + paginator :none + + has_many :cards end end end diff --git a/app/resources/api/v3/public/printing_resource.rb b/app/resources/api/v3/public/printing_resource.rb index 8f606811..c91fb94f 100644 --- a/app/resources/api/v3/public/printing_resource.rb +++ b/app/resources/api/v3/public/printing_resource.rb @@ -5,6 +5,9 @@ class Api::V3::Public::PrintingResource < JSONAPI::Resource # TODO: add relationships in here. attributes :card_id, :card_set_id, :printed_text, :printed_uniqueness, :flavor, :illustrator, :position, :quantity, :date_release, :updated_at key_type :string + + has_one :card_set + has_one :card end end end diff --git a/app/resources/api/v3/public/side_resource.rb b/app/resources/api/v3/public/side_resource.rb index c262d4c1..632995e8 100644 --- a/app/resources/api/v3/public/side_resource.rb +++ b/app/resources/api/v3/public/side_resource.rb @@ -4,6 +4,10 @@ module Public class Api::V3::Public::SideResource < JSONAPI::Resource attributes :name, :updated_at key_type :string + + paginator :none + + has_many :cards end end end diff --git a/app/resources/api/v3/public/subtype_resource.rb b/app/resources/api/v3/public/subtype_resource.rb index c1d1bd3c..dd184cbb 100644 --- a/app/resources/api/v3/public/subtype_resource.rb +++ b/app/resources/api/v3/public/subtype_resource.rb @@ -5,7 +5,9 @@ class Api::V3::Public::SubtypeResource < JSONAPI::Resource attributes :name, :updated_at key_type :string - paginator :offset + paginator :none + + has_many :cards end end end diff --git a/config/initializers/jsonapi-resources.rb b/config/initializers/jsonapi-resources.rb new file mode 100644 index 00000000..c0068266 --- /dev/null +++ b/config/initializers/jsonapi-resources.rb @@ -0,0 +1,6 @@ +JSONAPI.configure do |config| + config.default_paginator = :offset + + config.default_page_size = 100 + config.maximum_page_size = 1000 +end