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.
|
||||
|
||||
# Up to 3 characters can be removed at the same time
|
||||
@conflict_characters = conflict_characters
|
||||
@incoming_character = incoming_character
|
||||
@incoming_position = character_params[:position]
|
||||
|
||||
render :conflict, status: :ok
|
||||
render json: ConflictBlueprint.render(nil, view: :characters,
|
||||
conflict_characters: conflict_characters,
|
||||
incoming_character: incoming_character,
|
||||
incoming_position: character_params[:position])
|
||||
else
|
||||
# Replace the grid character in the position if it is already filled
|
||||
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.character_id = incoming_character.id
|
||||
character = GridCharacter.where(party_id: party.id, position: character_params[:position]).limit(1)[0]
|
||||
character.character_id = incoming_character.id
|
||||
|
||||
# Otherwise, create a new grid character
|
||||
else
|
||||
@character = GridCharacter.create!(character_params.merge(party_id: party.id,
|
||||
character_id: incoming_character.id))
|
||||
character = GridCharacter.create!(character_params.merge(party_id: party.id,
|
||||
character_id: incoming_character.id))
|
||||
end
|
||||
|
||||
render :show, status: :created if @character.save!
|
||||
render json: GridCharacterBlueprint.render(character, view: :nested), status: :created if character.save!
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -70,20 +69,21 @@ module Api
|
|||
uncap_level = 5 if incoming.flb
|
||||
end
|
||||
|
||||
@character = GridCharacter.create!(party_id: party.id, character_id: incoming.id,
|
||||
position: resolve_params[:position], uncap_level: uncap_level)
|
||||
render :show, status: :created if @character.save!
|
||||
character = GridCharacter.create!(party_id: party.id, character_id: incoming.id,
|
||||
position: resolve_params[:position], uncap_level: uncap_level)
|
||||
render json: GridCharacterBlueprint.render(character, view: :nested), status: :created if character.save!
|
||||
end
|
||||
|
||||
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]
|
||||
render :show, status: :ok if @character.save!
|
||||
character.uncap_level = character_params[:uncap_level]
|
||||
render json: GridCharacterBlueprint.render(character, view: :uncap) if character.save!
|
||||
end
|
||||
|
||||
# TODO: Implement removing characters
|
||||
def destroy; end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -16,19 +16,20 @@ module Api
|
|||
GridSummon.destroy(grid_summon.id)
|
||||
end
|
||||
|
||||
@summon = GridSummon.create!(summon_params.merge(party_id: party.id, summon_id: canonical_summon.id))
|
||||
render :show, status: :created if @summon.save!
|
||||
summon = GridSummon.create!(summon_params.merge(party_id: party.id, summon_id: canonical_summon.id))
|
||||
render json: GridSummonBlueprint.render(summon, view: :nested), status: :created if summon.save!
|
||||
end
|
||||
|
||||
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]
|
||||
render :show, status: :ok if @summon.save!
|
||||
summon.uncap_level = summon_params[:uncap_level]
|
||||
render json: GridSummonBlueprint.render(summon, view: :uncap) if summon.save!
|
||||
end
|
||||
|
||||
# TODO: Implement removing summons
|
||||
def destroy; end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -11,44 +11,45 @@ module Api
|
|||
|
||||
render_unauthorized_response if current_user && (party.user != current_user)
|
||||
|
||||
if grid_weapon = GridWeapon.where(
|
||||
if (grid_weapon = GridWeapon.where(
|
||||
party_id: party.id,
|
||||
position: weapon_params[:position]
|
||||
).first
|
||||
).first)
|
||||
GridWeapon.destroy(grid_weapon.id)
|
||||
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
|
||||
party.element = @weapon.weapon.element
|
||||
if weapon.position == -1
|
||||
party.element = weapon.weapon.element
|
||||
party.save!
|
||||
end
|
||||
|
||||
render :show, status: :created if @weapon.save!
|
||||
render json: GridWeaponBlueprint.render(weapon, view: :full), status: :created if weapon.save!
|
||||
end
|
||||
|
||||
def update
|
||||
render_unauthorized_response if current_user && (@weapon.party.user != current_user)
|
||||
|
||||
ap weapon_params
|
||||
|
||||
# TODO: Server-side validation of weapon mods
|
||||
# We don't want someone modifying the JSON and adding
|
||||
# keys to weapons that cannot have them
|
||||
|
||||
# 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
|
||||
|
||||
# TODO: Implement removing characters
|
||||
def destroy; end
|
||||
|
||||
def update_uncap_level
|
||||
@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]
|
||||
render :show, status: :ok if @weapon.save!
|
||||
render json: GridWeaponBlueprint.render(@weapon, view: :uncap), status: :created if @weapon.save!
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
Loading…
Reference in a new issue