lib/syncano/resources/project.rb in syncano-3.1.1.beta vs lib/syncano/resources/project.rb in syncano-3.1.1.beta2

- old
+ new

@@ -20,10 +20,48 @@ def unsubscribe perform_unsubscribe reload! end + # Wrapper for api "authorize" method + # @param [Integer] api_client_id + # @param [String] permission + # @return [Syncano::Resources::Base] + def authorize(api_client_id, permission) + perform_authorize(nil, api_client_id: api_client_id, permission: permission) + self + end + + # Wrapper for api "authorize" method + # @param [Jimson::BatchClient] batch_client + # @param [Integer] api_client_id + # @param [String] permission + # @return [Syncano::Resources::Base] + def batch_authorize(batch_client, api_client_id, permission) + perform_authorize(batch_client, api_client_id: api_client_id, permission: permission) + self + end + + # Wrapper for api "deauthorize" method + # @param [Integer] api_client_id + # @param [String] permission + # @return [Syncano::Resources::Base] + def deauthorize(api_client_id, permission) + perform_deauthorize(nil, api_client_id: api_client_id, permission: permission) + self + end + + # Wrapper for api "deauthorize" method + # @param [Jimson::BatchClient] batch_client + # @param [Integer] api_client_id + # @param [String] permission + # @return [Syncano::Resources::Base] + def batch_deauthorize(batch_client, api_client_id, permission) + perform_deauthorize(batch_client, api_client_id: api_client_id, permission: permission) + self + end + private # Executes proper subscribe request # @return [Syncano::Response] def perform_subscribe @@ -34,9 +72,25 @@ # Executes proper unsubscribe request # @return [Syncano::Response] def perform_unsubscribe check_if_sync_client! client.make_request(:subscription, :unsubscribe_project, { project_id: id }) + end + + # Executes proper authorize request + # @param [Jimson::BatchClient] batch_client + # @param [Hash] parameters + # @return [Syncano::Response] + def perform_authorize(batch_client, parameters) + self.class.make_request(client, batch_client, :authorize, parameters.merge(self.class.primary_key_name.to_sym => primary_key)) + end + + # Executes proper deauthorize request + # @param [Jimson::BatchClient] batch_client + # @param [Hash] parameters + # @return [Syncano::Response] + def perform_deauthorize(batch_client, parameters) + self.class.make_request(client, batch_client, :deauthorize, parameters.merge(self.class.primary_key_name.to_sym => primary_key)) end end end end \ No newline at end of file