Sha256: 85aaad6b2afb043bf3c7ce579f93f703a3b445a7ee29d2a2f1f61aab1330b39b

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

# frozen_string_literal: true

module Zoom
  module Actions
    module Roles
      def roles_list(*_args)
        Utils.parse_response self.class.get("/roles", headers: request_headers)
      end

      def roles_create(*args)
        params = Zoom::Params.new(Utils.extract_options!(args))
        params.require(:name).permit(%i[description privileges])
        Utils.parse_response self.class.post("/roles", body: params.to_json, headers: request_headers)
      end

      def roles_members(*args)
        params = Zoom::Params.new(Utils.extract_options!(args))
        params.require(:role_id)
        Utils.parse_response self.class.get("/roles/#{params[:role_id]}/members", headers: request_headers)
      end

      def roles_assign(*args)
        params = Zoom::Params.new(Utils.extract_options!(args))
        params.require(%i[role_id members])
        Utils.parse_response self.class.post("/roles/#{params[:role_id]}/members", body: params.except(:role_id).to_json, headers: request_headers)
      end

      def roles_unassign(*args)
        params = Zoom::Params.new(Utils.extract_options!(args))
        params.require(%i[role_id member_id])
        Utils.parse_response self.class.delete("/roles/#{params[:role_id]}/members/#{params[:member_id]}", headers: request_headers)
      end

      def roles_get(*args)
        params = Zoom::Params.new(Utils.extract_options!(args))
        params.require(:role_id)
        Utils.parse_response self.class.get("/roles/#{params[:role_id]}", headers: request_headers)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zoom_rb-0.11.0 lib/zoom/actions/roles.rb