lib/nylas/resources/grants.rb in nylas-6.0.0.beta.1 vs lib/nylas/resources/grants.rb in nylas-6.0.0.beta.2
- old
+ new
@@ -1,20 +1,70 @@
# frozen_string_literal: true
require_relative "resource"
-require_relative "../handler/admin_api_operations"
+require_relative "../handler/api_operations"
module Nylas
# Grants
class Grants < Resource
- include AdminApiOperations::Create
- include AdminApiOperations::Update
- include AdminApiOperations::List
- include AdminApiOperations::Destroy
- include AdminApiOperations::Find
+ include ApiOperations::Get
+ include ApiOperations::Post
+ include ApiOperations::Put
+ include ApiOperations::Delete
- # Initializes Grants.
- def initialize(sdk_instance)
- super("grants", sdk_instance)
+ # Return all grants.
+ #
+ # @param query_params [Hash, nil] Query params to pass to the request.
+ # @return [Array(Array(Hash), String)] The list of grants and API Request ID.
+ def list(query_params: nil)
+ get(
+ path: "#{api_uri}/v3/grant",
+ query_params: query_params
+ )
+ end
+
+ # Return a grant.
+ #
+ # @param grant_id [String] The id of the grant to return.
+ # @return [Array(Hash, String)] The grant and API request ID.
+ def find(grant_id:)
+ get(
+ path: "#{api_uri}/v3/grant/#{grant_id}"
+ )
+ end
+
+ # Create a Grant via Custom Authentication.
+ #
+ # @param request_body [Hash] The values to create the Grant with.
+ # @return [Array(Hash, String)] Created grant and API Request ID.
+ def create(request_body)
+ post(
+ path: "#{api_uri}/v3/#{resource_name}/custom",
+ request_body: request_body
+ )
+ end
+
+ # Update a grant.
+ #
+ # @param grant_id [String] The id of the grant to update.
+ # @param request_body [Hash] The values to update the grant with
+ # @return [Array(Hash, String)] The updated grant and API Request ID.
+ def update(grant_id:, request_body:)
+ put(
+ path: "#{api_uri}/v3/grant/#{grant_id}",
+ request_body: request_body
+ )
+ end
+
+ # Delete a grant.
+ #
+ # @param grant_id [String] The id of the grant to delete.
+ # @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
+ def destroy(grant_id:)
+ _, request_id = delete(
+ path: "#{api_uri}/v3/grant/#{grant_id}"
+ )
+
+ [true, request_id]
end
end
end