lib/zoom/actions/user.rb in zoom_rb-0.11.0 vs lib/zoom/actions/user.rb in zoom_rb-1.0.0

- old
+ new

@@ -1,132 +1,74 @@ # frozen_string_literal: true module Zoom module Actions module User - def user_list(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.permit(%i[status page_size role_id page_number include_fields next_page_token]) - response = self.class.get('/users', query: params, headers: request_headers) - Utils.parse_response(response) - end + extend Zoom::Actions - def user_create(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - require_param_keys = %i[action email type] - require_param_keys.append(:password) if params[:action] == 'autoCreate' - params.require(require_param_keys) - params.permit_value(:action, Zoom::Constants::User::CREATE_TYPES.keys) - Utils.parse_response self.class.post('/users', body: { action: params[:action], user_info: params.except(:action) }.to_json, headers: request_headers) - end + get 'user_list', '/users', + permit: %i[status page_size role_id page_number include_fields next_page_token] - def user_get(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:id).permit(:login_type) - Utils.parse_response self.class.get("/users/#{params[:id]}", query: params.except(:id), headers: request_headers) - end + post 'user_create', '/users', + require: [ + :action, + user_info: %i[email type] + ], + permit: { + user_info: %i[first_name last_name password] + } - def user_update(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:id).permit(%i[first_name last_name type pmi timezone dept vanity_name host_key cms_user_id]) - Utils.parse_response self.class.patch("/users/#{params[:id]}", body: params.except(:id), headers: request_headers) - end + get 'user_get', '/users/:id', + permit: :login_type - def user_delete(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:id).permit(%i[action transfer_email transfer_meeting transfer_webinar transfer_recording]) - Utils.parse_response self.class.delete("/users/#{params[:id]}", query: params.except(:id), headers: request_headers) - end + patch 'user_update', '/users/:id', + permit: %i[first_name last_name type pmi timezone dept vanity_name host_key cms_user_id] - def user_assistants_list(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:user_id) - Utils.parse_response(self.class.get("/users/#{params[:user_id]}/assistants", query: params.except(:user_id), headers: request_headers)) - end + delete 'user_delete', '/users/:id', + permit: %i[action transfer_email transfer_meeting transfer_webinar transfer_recording] - def user_assistants_create(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:user_id).permit(:assistants) - Utils.parse_response self.class.post("/users/#{params[:user_id]}/assistants", body: params.except(:user_id).to_json, headers: request_headers) - end + get 'user_assistants_list', '/users/:user_id/assistants' - def user_assistants_delete_all(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:user_id) - Utils.parse_response(self.class.delete("/users/#{params[:user_id]}/assistants", query: params.except(:user_id), headers: request_headers)) - end + post 'user_assistants_create', '/users/:user_id/assistants', + permit: :assistants - def user_assistants_delete(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(%i[user_id assistant_id]) - Utils.parse_response(self.class.delete("/users/#{params[:user_id]}/assistants/#{params[:assistant_id]}", query: params.except(:user_id, :assistant_id), headers: request_headers)) - end + delete 'user_assistants_delete_all', '/users/:user_id/assistants' - def user_schedulers_list(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:user_id) - Utils.parse_response(self.class.get("/users/#{params[:user_id]}/schedulers", query: params.except(:user_id), headers: request_headers)) - end + delete 'user_assistants_delete', '/users/:user_id/assistants/:assistant_id' - def user_schedulers_delete_all(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:user_id) - Utils.parse_response(self.class.delete("/users/#{params[:user_id]}/schedulers", query: params.except(:user_id), headers: request_headers)) - end + get 'user_schedulers_list', '/users/:user_id/schedulers' - def user_schedulers_delete(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(%i[user_id scheduler_id]) - Utils.parse_response(self.class.delete("/users/#{params[:user_id]}/schedulers/#{params[:scheduler_id]}", query: params.except(:user_id, :scheduler_id), headers: request_headers)) - end + delete 'user_schedulers_delete_all', '/users/:user_id/schedulers' - def user_settings_get(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:id).permit(:login_type) - Utils.parse_response self.class.get("/users/#{params[:id]}/settings", query: params.except(:id), headers: request_headers) - end + delete 'user_schedulers_delete', '/users/:user_id/schedulers/:scheduler_id' - def user_settings_update(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:id).permit(%i[schedule_meeting in_meeting email_notification recording telephony feature tsp]) - Utils.parse_response self.class.patch("/users/#{params[:id]}/settings", body: params.except(:id).to_json, headers: request_headers) - end + get 'user_settings_get', '/users/:id/settings', + permit: [:login_type, :option, :custom_query_fields] - def user_email_check(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:email) - Utils.parse_response(self.class.get('/users/email', query: params.slice(:email), headers: request_headers)) - end + patch 'user_settings_update', '/users/:id/settings', + permit: %i[schedule_meeting in_meeting email_notification recording telephony feature tsp] - def user_recordings_list(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:id).permit(%i[page_size next_page_token mc trash from to trash_type]) - Utils.parse_response self.class.get("/users/#{params[:id]}/recordings", query: params.except(:id), headers: request_headers) - end + get 'user_email_check', '/users/email', + require: :email - def user_token(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:user_id).permit(%i[type ttl]) - Utils.parse_response self.class.get("/users/#{params[:user_id]}/token", query: params.except(:user_id), headers: request_headers) - end + get 'user_recordings_list', '/users/:id/recordings', + permit: %i[page_size next_page_token mc trash from to trash_type] - def user_permissions(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:user_id) - Utils.parse_response self.class.get("/users/#{params[:user_id]}/permissions", headers: request_headers) - end + get 'user_token', '/users/:user_id/token', + permit: %i[type ttl] - def user_vanity_name(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:vanity_name) - Utils.parse_response self.class.get("/users/vanity_name", query: params.slice(:vanity_name), headers: request_headers) - end + get 'user_permissions', '/users/:user_id/permissions' - def user_password_update(*args) - params = Zoom::Params.new(Utils.extract_options!(args)) - params.require(:id).permit(%i[password]) - Utils.parse_response self.class.patch("/users/#{params[:id]}/password", body: params.except(:id), headers: request_headers) - end + get 'user_vanity_name', '/users/vanity_name', + require: :vanity_name + patch 'user_password_update', '/users/:id/password', + permit: :password + + patch 'user_email_update', '/users/:id/email', + permit: :email + + patch 'user_status_update', '/users/:id/status', + permit: :status end end end