API de comptabilité horaire.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

memberships_controller.rb 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. class Api::V1::MembershipsController < ApplicationController
  2. before_action :set_memberships, only: %i[show update destroy]
  3. before_action :check_login
  4. def index
  5. if !params[:team_id]
  6. render json: MembershipSerializer.new(Membership.all).serializable_hash.to_json
  7. else
  8. render json: MembershipSerializer.new(Team.find(params[:team_id]).memberships).serializable_hash.to_json
  9. end
  10. end
  11. def show
  12. render json: MembershipSerializer.new(@membership).serializable_hash.to_json
  13. end
  14. # def create
  15. # membership = current_user.memberships.build(membership_params)
  16. # if membership.save
  17. # render json: MembershipSerializer.new(membership).serializable_hash.to_json, status: :created
  18. # else
  19. # render json: membership.errors, status: :unprocessable_entity
  20. # end
  21. # end
  22. def update
  23. if params[:membership][:can_edit]
  24. if @membership.update(membership_params)
  25. render json: MembershipSerializer.new(@membership).serializable_hash.to_json, status: :ok
  26. else
  27. render json: @membership.errors, status: :unprocessable_entity
  28. end
  29. else
  30. head 422
  31. end
  32. end
  33. def destroy
  34. @membership.destroy
  35. head 204
  36. end
  37. private
  38. def membership_params
  39. params.require(:membership).permit(:can_edit)
  40. end
  41. def set_memberships
  42. @membership = Membership.find(params[:id])
  43. end
  44. end