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