Sha256: 7d7b505320c8f4c9ac523738dd4f68b91c2e971c7c4066e145990ecf1761761d

Contents?: true

Size: 746 Bytes

Versions: 3

Compression:

Stored size: 746 Bytes

Contents

module Dune::Api
  module V1
    class Channels::MembersController < BaseController
      before_action :require_admin!

      def index
        respond_with parent.members, root: 'users'
      end

      def create
        channel_member = parent.channel_members.build(
          user_id: params[:channel_member].try(:[], :user_id)
        )
        if channel_member.save
          render json: channel_member.user, status: :created
        else
          respond_with channel_member
        end
      end

      def destroy
        parent.channel_members.find_by(user_id: params[:id]).delete
        head :no_content
      end

      private

      def parent
        @channel ||= Channel.find(params[:channel_id])
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dune-api-1.1.0 app/controllers/dune/api/v1/channels/members_controller.rb
dune-api-1.0.2 app/controllers/dune/api/v1/channels/members_controller.rb
dune-api-1.0.1 app/controllers/dune/api/v1/channels/members_controller.rb