Refactor GridObjectControllers to use blueprinter
This commit is contained in:
parent
2a74b8aa4d
commit
116ec9dbbc
3 changed files with 36 additions and 34 deletions
|
|
@ -27,24 +27,23 @@ module Api
|
||||||
# a decision.
|
# a decision.
|
||||||
|
|
||||||
# Up to 3 characters can be removed at the same time
|
# Up to 3 characters can be removed at the same time
|
||||||
@conflict_characters = conflict_characters
|
render json: ConflictBlueprint.render(nil, view: :characters,
|
||||||
@incoming_character = incoming_character
|
conflict_characters: conflict_characters,
|
||||||
@incoming_position = character_params[:position]
|
incoming_character: incoming_character,
|
||||||
|
incoming_position: character_params[:position])
|
||||||
render :conflict, status: :ok
|
|
||||||
else
|
else
|
||||||
# Replace the grid character in the position if it is already filled
|
# Replace the grid character in the position if it is already filled
|
||||||
if GridCharacter.where(party_id: party.id, position: character_params[:position]).exists?
|
if GridCharacter.where(party_id: party.id, position: character_params[:position]).exists?
|
||||||
@character = GridCharacter.where(party_id: party.id, position: character_params[:position]).limit(1)[0]
|
character = GridCharacter.where(party_id: party.id, position: character_params[:position]).limit(1)[0]
|
||||||
@character.character_id = incoming_character.id
|
character.character_id = incoming_character.id
|
||||||
|
|
||||||
# Otherwise, create a new grid character
|
# Otherwise, create a new grid character
|
||||||
else
|
else
|
||||||
@character = GridCharacter.create!(character_params.merge(party_id: party.id,
|
character = GridCharacter.create!(character_params.merge(party_id: party.id,
|
||||||
character_id: incoming_character.id))
|
character_id: incoming_character.id))
|
||||||
end
|
end
|
||||||
|
|
||||||
render :show, status: :created if @character.save!
|
render json: GridCharacterBlueprint.render(character, view: :nested), status: :created if character.save!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -70,20 +69,21 @@ module Api
|
||||||
uncap_level = 5 if incoming.flb
|
uncap_level = 5 if incoming.flb
|
||||||
end
|
end
|
||||||
|
|
||||||
@character = GridCharacter.create!(party_id: party.id, character_id: incoming.id,
|
character = GridCharacter.create!(party_id: party.id, character_id: incoming.id,
|
||||||
position: resolve_params[:position], uncap_level: uncap_level)
|
position: resolve_params[:position], uncap_level: uncap_level)
|
||||||
render :show, status: :created if @character.save!
|
render json: GridCharacterBlueprint.render(character, view: :nested), status: :created if character.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_uncap_level
|
def update_uncap_level
|
||||||
@character = GridCharacter.find(character_params[:id])
|
character = GridCharacter.find(character_params[:id])
|
||||||
|
|
||||||
render_unauthorized_response if current_user && (@character.party.user != current_user)
|
render_unauthorized_response if current_user && (character.party.user != current_user)
|
||||||
|
|
||||||
@character.uncap_level = character_params[:uncap_level]
|
character.uncap_level = character_params[:uncap_level]
|
||||||
render :show, status: :ok if @character.save!
|
render json: GridCharacterBlueprint.render(character, view: :uncap) if character.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO: Implement removing characters
|
||||||
def destroy; end
|
def destroy; end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
||||||
|
|
@ -16,19 +16,20 @@ module Api
|
||||||
GridSummon.destroy(grid_summon.id)
|
GridSummon.destroy(grid_summon.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
@summon = GridSummon.create!(summon_params.merge(party_id: party.id, summon_id: canonical_summon.id))
|
summon = GridSummon.create!(summon_params.merge(party_id: party.id, summon_id: canonical_summon.id))
|
||||||
render :show, status: :created if @summon.save!
|
render json: GridSummonBlueprint.render(summon, view: :nested), status: :created if summon.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_uncap_level
|
def update_uncap_level
|
||||||
@summon = GridSummon.find(summon_params[:id])
|
summon = GridSummon.find(summon_params[:id])
|
||||||
|
|
||||||
render_unauthorized_response if current_user && (@summon.party.user != current_user)
|
render_unauthorized_response if current_user && (summon.party.user != current_user)
|
||||||
|
|
||||||
@summon.uncap_level = summon_params[:uncap_level]
|
summon.uncap_level = summon_params[:uncap_level]
|
||||||
render :show, status: :ok if @summon.save!
|
render json: GridSummonBlueprint.render(summon, view: :uncap) if summon.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO: Implement removing summons
|
||||||
def destroy; end
|
def destroy; end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
||||||
|
|
@ -11,44 +11,45 @@ module Api
|
||||||
|
|
||||||
render_unauthorized_response if current_user && (party.user != current_user)
|
render_unauthorized_response if current_user && (party.user != current_user)
|
||||||
|
|
||||||
if grid_weapon = GridWeapon.where(
|
if (grid_weapon = GridWeapon.where(
|
||||||
party_id: party.id,
|
party_id: party.id,
|
||||||
position: weapon_params[:position]
|
position: weapon_params[:position]
|
||||||
).first
|
).first)
|
||||||
GridWeapon.destroy(grid_weapon.id)
|
GridWeapon.destroy(grid_weapon.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
@weapon = GridWeapon.create!(weapon_params.merge(party_id: party.id, weapon_id: canonical_weapon.id))
|
weapon = GridWeapon.create!(weapon_params.merge(party_id: party.id, weapon_id: canonical_weapon.id))
|
||||||
|
|
||||||
if @weapon.position == -1
|
if weapon.position == -1
|
||||||
party.element = @weapon.weapon.element
|
party.element = weapon.weapon.element
|
||||||
party.save!
|
party.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
render :show, status: :created if @weapon.save!
|
render json: GridWeaponBlueprint.render(weapon, view: :full), status: :created if weapon.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
render_unauthorized_response if current_user && (@weapon.party.user != current_user)
|
render_unauthorized_response if current_user && (@weapon.party.user != current_user)
|
||||||
|
|
||||||
ap weapon_params
|
|
||||||
|
|
||||||
# TODO: Server-side validation of weapon mods
|
# TODO: Server-side validation of weapon mods
|
||||||
# We don't want someone modifying the JSON and adding
|
# We don't want someone modifying the JSON and adding
|
||||||
# keys to weapons that cannot have them
|
# keys to weapons that cannot have them
|
||||||
|
|
||||||
# Maybe we make methods on the model to validate for us somehow
|
# Maybe we make methods on the model to validate for us somehow
|
||||||
|
|
||||||
render :update, status: :ok if @weapon.update(weapon_params)
|
render json: GridWeaponBlueprint.render(@weapon, view: :nested) if @weapon.update(weapon_params)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# TODO: Implement removing characters
|
||||||
|
def destroy; end
|
||||||
|
|
||||||
def update_uncap_level
|
def update_uncap_level
|
||||||
@weapon = GridWeapon.find(weapon_params[:id])
|
@weapon = GridWeapon.find(weapon_params[:id])
|
||||||
|
|
||||||
render_unauthorized_response if current_user && (party.user != current_user)
|
render_unauthorized_response if current_user && (@weapon.party.user != current_user)
|
||||||
|
|
||||||
@weapon.uncap_level = weapon_params[:uncap_level]
|
@weapon.uncap_level = weapon_params[:uncap_level]
|
||||||
render :show, status: :ok if @weapon.save!
|
render json: GridWeaponBlueprint.render(@weapon, view: :uncap), status: :created if @weapon.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue