diff --git a/app/controllers/api/v1/grid_weapons_controller.rb b/app/controllers/api/v1/grid_weapons_controller.rb new file mode 100644 index 0000000..a5944a1 --- /dev/null +++ b/app/controllers/api/v1/grid_weapons_controller.rb @@ -0,0 +1,28 @@ +class Api::V1::GridWeaponsController < ActionController::API + def create + party = Party.find(weapon_params[:party_id]) + canonical_weapon = Weapon.find(weapon_params[:weapon_id]) + + if grid_weapon = GridWeapon.where( + party_id: party.id, + position: weapon_params[:position] + ).first + ap "Grid weapon found!" + ap grid_weapon + GridWeapon.destroy(grid_weapon.id) + end + + @weapon = GridWeapon.create!(weapon_params.merge(party_id: party.id, weapon_id: canonical_weapon.id)) + render :show, status: :created if @weapon.save! + end + + def destroy + end + + private + + # Specify whitelisted properties that can be modified. + def weapon_params + params.require(:weapon).permit(:party_id, :weapon_id, :position, :mainhand) + end +end \ No newline at end of file