diff --git a/app/models/party.rb b/app/models/party.rb index 62db4e8..573470e 100644 --- a/app/models/party.rb +++ b/app/models/party.rb @@ -1,28 +1,49 @@ class Party < ApplicationRecord -##### ActiveRecord Associations - belongs_to :user, optional: true - belongs_to :raid, optional: true - belongs_to :job, optional: true - - has_many :characters, - foreign_key: "party_id", - class_name: "GridCharacter", - dependent: :destroy + ##### ActiveRecord Associations + belongs_to :user, optional: true + belongs_to :raid, optional: true + belongs_to :job, optional: true - has_many :weapons, - foreign_key: "party_id", - class_name: "GridWeapon", - dependent: :destroy + belongs_to :skill0, + foreign_key: "skill0_id", + class_name: "JobSkill", + optional: true - has_many :summons, - foreign_key: "party_id", - class_name: "GridSummon", - dependent: :destroy - has_many :favorites - - attr_accessor :favorited + belongs_to :skill1, + foreign_key: "skill1_id", + class_name: "JobSkill", + optional: true - def is_favorited(user) - user.favorite_parties.include? self - end -end \ No newline at end of file + belongs_to :skill2, + foreign_key: "skill2_id", + class_name: "JobSkill", + optional: true + + belongs_to :skill3, + foreign_key: "skill3_id", + class_name: "JobSkill", + optional: true + + has_many :characters, + foreign_key: "party_id", + class_name: "GridCharacter", + dependent: :destroy + + has_many :weapons, + foreign_key: "party_id", + class_name: "GridWeapon", + dependent: :destroy + + has_many :summons, + foreign_key: "party_id", + class_name: "GridSummon", + dependent: :destroy + + has_many :favorites + + attr_accessor :favorited + + def is_favorited(user) + user.favorite_parties.include? self + end +end diff --git a/app/views/api/v1/parties/base.json.rabl b/app/views/api/v1/parties/base.json.rabl index 42dfc00..364c711 100644 --- a/app/views/api/v1/parties/base.json.rabl +++ b/app/views/api/v1/parties/base.json.rabl @@ -1,31 +1,47 @@ object :party -attributes :id, :name, :description, :element, :favorited, :shortcode, :created_at, :updated_at +attributes :id, + :name, + :description, + :element, + :favorited, + :shortcode, + :created_at, + :updated_at node :extra do |p| - p.extra + p.extra end node :user do |p| - partial('users/base', :object => p.user) + partial("users/base", object: p.user) end node :raid do |p| - partial('raids/base', :object => p.raid) + partial("raids/base", object: p.raid) end node :job do |p| - partial('jobs/base', :object => p.job) + partial("jobs/base", object: p.job) +end + +node :job_skills do |p| + { + "0" => partial("job_skills/base", object: p.skill0), + "1" => partial("job_skills/base", object: p.skill1), + "2" => partial("job_skills/base", object: p.skill2), + "3" => partial("job_skills/base", object: p.skill3), + } end node :characters do |p| - partial('grid_characters/base', :object => p.characters) + partial("grid_characters/base", object: p.characters) end node :weapons do |p| - partial('grid_weapons/base', :object => p.weapons) + partial("grid_weapons/base", object: p.weapons) end node :summons do |p| - partial('grid_summons/base', :object => p.summons) + partial("grid_summons/base", object: p.summons) end