nylas 5.17.0 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/nylas/client.rb +121 -0
- data/lib/nylas/config.rb +19 -0
- data/lib/nylas/errors.rb +63 -89
- data/lib/nylas/handler/api_operations.rb +162 -0
- data/lib/nylas/handler/http_client.rb +252 -0
- data/lib/nylas/resources/applications.rb +27 -0
- data/lib/nylas/resources/attachments.rb +65 -0
- data/lib/nylas/resources/auth.rb +209 -0
- data/lib/nylas/resources/calendars.rb +101 -0
- data/lib/nylas/resources/connectors.rb +80 -0
- data/lib/nylas/resources/contacts.rb +89 -0
- data/lib/nylas/resources/credentials.rb +75 -0
- data/lib/nylas/resources/drafts.rb +121 -0
- data/lib/nylas/resources/events.rb +98 -0
- data/lib/nylas/resources/folders.rb +73 -0
- data/lib/nylas/resources/grants.rb +59 -0
- data/lib/nylas/resources/messages.rb +135 -0
- data/lib/nylas/resources/redirect_uris.rb +68 -0
- data/lib/nylas/resources/resource.rb +18 -0
- data/lib/nylas/resources/smart_compose.rb +36 -0
- data/lib/nylas/resources/threads.rb +62 -0
- data/lib/nylas/resources/webhooks.rb +121 -0
- data/lib/nylas/utils/file_utils.rb +61 -0
- data/lib/nylas/version.rb +1 -1
- data/lib/nylas.rb +31 -148
- metadata +88 -247
- data/lib/nylas/account.rb +0 -56
- data/lib/nylas/api.rb +0 -246
- data/lib/nylas/application_details.rb +0 -13
- data/lib/nylas/calendar.rb +0 -46
- data/lib/nylas/calendar_collection.rb +0 -144
- data/lib/nylas/categorize.rb +0 -14
- data/lib/nylas/collection.rb +0 -175
- data/lib/nylas/component.rb +0 -35
- data/lib/nylas/component_collection.rb +0 -10
- data/lib/nylas/constraints.rb +0 -56
- data/lib/nylas/contact.rb +0 -53
- data/lib/nylas/contact_group.rb +0 -23
- data/lib/nylas/current_account.rb +0 -23
- data/lib/nylas/delta.rb +0 -56
- data/lib/nylas/deltas.rb +0 -19
- data/lib/nylas/deltas_collection.rb +0 -40
- data/lib/nylas/draft.rb +0 -100
- data/lib/nylas/email_address.rb +0 -12
- data/lib/nylas/event.rb +0 -144
- data/lib/nylas/event_collection.rb +0 -15
- data/lib/nylas/event_conferencing.rb +0 -12
- data/lib/nylas/event_conferencing_autocreate.rb +0 -10
- data/lib/nylas/event_conferencing_details.rb +0 -14
- data/lib/nylas/event_notification.rb +0 -17
- data/lib/nylas/file.rb +0 -75
- data/lib/nylas/filter_attributes.rb +0 -25
- data/lib/nylas/folder.rb +0 -26
- data/lib/nylas/free_busy.rb +0 -13
- data/lib/nylas/free_busy_collection.rb +0 -48
- data/lib/nylas/http_client.rb +0 -279
- data/lib/nylas/im_address.rb +0 -11
- data/lib/nylas/job_status.rb +0 -27
- data/lib/nylas/job_status_collection.rb +0 -21
- data/lib/nylas/label.rb +0 -27
- data/lib/nylas/logging.rb +0 -41
- data/lib/nylas/message.rb +0 -98
- data/lib/nylas/message_headers.rb +0 -27
- data/lib/nylas/message_tracking.rb +0 -13
- data/lib/nylas/model/attributable.rb +0 -89
- data/lib/nylas/model/attribute_definition.rb +0 -24
- data/lib/nylas/model/attributes.rb +0 -97
- data/lib/nylas/model/list_attribute_definition.rb +0 -39
- data/lib/nylas/model/transferable.rb +0 -53
- data/lib/nylas/model.rb +0 -217
- data/lib/nylas/native_authentication.rb +0 -39
- data/lib/nylas/neural.rb +0 -87
- data/lib/nylas/neural_categorizer.rb +0 -29
- data/lib/nylas/neural_clean_conversation.rb +0 -33
- data/lib/nylas/neural_contact_link.rb +0 -11
- data/lib/nylas/neural_contact_name.rb +0 -11
- data/lib/nylas/neural_message_options.rb +0 -35
- data/lib/nylas/neural_ocr.rb +0 -16
- data/lib/nylas/neural_sentiment_analysis.rb +0 -17
- data/lib/nylas/neural_signature_contact.rb +0 -81
- data/lib/nylas/neural_signature_extraction.rb +0 -18
- data/lib/nylas/new_message.rb +0 -39
- data/lib/nylas/nylas_date.rb +0 -25
- data/lib/nylas/open_hours.rb +0 -15
- data/lib/nylas/outbox.rb +0 -116
- data/lib/nylas/outbox_job_status.rb +0 -19
- data/lib/nylas/outbox_message.rb +0 -17
- data/lib/nylas/participant.rb +0 -13
- data/lib/nylas/phone_number.rb +0 -11
- data/lib/nylas/physical_address.rb +0 -17
- data/lib/nylas/raw_message.rb +0 -25
- data/lib/nylas/recurrence.rb +0 -11
- data/lib/nylas/registry.rb +0 -42
- data/lib/nylas/room_resource.rb +0 -19
- data/lib/nylas/rsvp.rb +0 -24
- data/lib/nylas/scheduler.rb +0 -51
- data/lib/nylas/scheduler_booking_confirmation.rb +0 -24
- data/lib/nylas/scheduler_booking_request.rb +0 -17
- data/lib/nylas/scheduler_collection.rb +0 -104
- data/lib/nylas/scheduler_config.rb +0 -20
- data/lib/nylas/scheduler_time_slot.rb +0 -14
- data/lib/nylas/search_collection.rb +0 -10
- data/lib/nylas/send_grid_verified_status.rb +0 -12
- data/lib/nylas/services/tunnel.rb +0 -128
- data/lib/nylas/thread.rb +0 -66
- data/lib/nylas/time_slot.rb +0 -16
- data/lib/nylas/time_slot_capacity.rb +0 -13
- data/lib/nylas/timespan.rb +0 -20
- data/lib/nylas/token_info.rb +0 -20
- data/lib/nylas/types.rb +0 -168
- data/lib/nylas/web_page.rb +0 -11
- data/lib/nylas/webhook.rb +0 -111
- data/lib/nylas/when.rb +0 -75
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "resource"
|
|
4
|
+
require_relative "../handler/api_operations"
|
|
5
|
+
|
|
6
|
+
module Nylas
|
|
7
|
+
# Nylas Connectors API
|
|
8
|
+
class Connectors < Resource
|
|
9
|
+
include ApiOperations::Get
|
|
10
|
+
include ApiOperations::Post
|
|
11
|
+
include ApiOperations::Patch
|
|
12
|
+
include ApiOperations::Delete
|
|
13
|
+
|
|
14
|
+
# Access the Credentials API
|
|
15
|
+
attr_reader :credentials
|
|
16
|
+
|
|
17
|
+
# Initializes Connectors.
|
|
18
|
+
def initialize(sdk_instance)
|
|
19
|
+
super(sdk_instance)
|
|
20
|
+
|
|
21
|
+
@credentials = Credentials.new(sdk_instance)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Return all connectors.
|
|
25
|
+
#
|
|
26
|
+
# @param query_params [Hash, nil] Query params to pass to the request.
|
|
27
|
+
# @return [Array(Array(Hash), String)] The list of connectors and API Request ID.
|
|
28
|
+
def list(query_params: nil)
|
|
29
|
+
get(
|
|
30
|
+
path: "#{api_uri}/v3/connectors",
|
|
31
|
+
query_params: query_params
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Return a connector.
|
|
36
|
+
#
|
|
37
|
+
# @param provider [String] The provider associated to the connector to retrieve.
|
|
38
|
+
# @return [Array(Hash, String)] The connector and API request ID.
|
|
39
|
+
def find(provider:)
|
|
40
|
+
get(
|
|
41
|
+
path: "#{api_uri}/v3/connectors/#{provider}"
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Create a connector.
|
|
46
|
+
#
|
|
47
|
+
# @param request_body [Hash] The values to create the connector with.
|
|
48
|
+
# @return [Array(Hash, String)] The created connector and API Request ID.
|
|
49
|
+
def create(request_body:)
|
|
50
|
+
post(
|
|
51
|
+
path: "#{api_uri}/v3/connectors",
|
|
52
|
+
request_body: request_body
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Update a connector.
|
|
57
|
+
#
|
|
58
|
+
# @param provider [String] The provider associated to the connector to update.
|
|
59
|
+
# @param request_body [Hash] The values to update the connector with
|
|
60
|
+
# @return [Array(Hash, String)] The updated connector and API Request ID.
|
|
61
|
+
def update(provider:, request_body:)
|
|
62
|
+
patch(
|
|
63
|
+
path: "#{api_uri}/v3/connectors/#{provider}",
|
|
64
|
+
request_body: request_body
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Delete a connector.
|
|
69
|
+
#
|
|
70
|
+
# @param provider [String] The provider associated to the connector to delete.
|
|
71
|
+
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
|
72
|
+
def destroy(provider:)
|
|
73
|
+
_, request_id = delete(
|
|
74
|
+
path: "#{api_uri}/v3/connectors/#{provider}"
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
[true, request_id]
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "resource"
|
|
4
|
+
require_relative "../handler/api_operations"
|
|
5
|
+
|
|
6
|
+
module Nylas
|
|
7
|
+
# Nylas Contact API
|
|
8
|
+
class Contacts < Resource
|
|
9
|
+
include ApiOperations::Get
|
|
10
|
+
include ApiOperations::Post
|
|
11
|
+
include ApiOperations::Put
|
|
12
|
+
include ApiOperations::Delete
|
|
13
|
+
|
|
14
|
+
# Return all contacts.
|
|
15
|
+
#
|
|
16
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
17
|
+
# @param query_params [Hash, nil] Query params to pass to the request.
|
|
18
|
+
# @return [Array(Array(Hash), String, String)] The list of contacts, API Request ID, and next cursor.
|
|
19
|
+
def list(identifier:, query_params: nil)
|
|
20
|
+
get_list(
|
|
21
|
+
path: "#{api_uri}/v3/grants/#{identifier}/contacts",
|
|
22
|
+
query_params: query_params
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Return a contact.
|
|
27
|
+
#
|
|
28
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
29
|
+
# @param contact_id [String] The id of the contact to return.
|
|
30
|
+
# @param query_params [Hash, nil] Query params to pass to the request.
|
|
31
|
+
# @return [Array(Hash, String)] The contact and API request ID.
|
|
32
|
+
def find(identifier:, contact_id:, query_params: nil)
|
|
33
|
+
get(
|
|
34
|
+
path: "#{api_uri}/v3/grants/#{identifier}/contacts/#{contact_id}",
|
|
35
|
+
query_params: query_params
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Create a contact.
|
|
40
|
+
#
|
|
41
|
+
# @param identifier [String] Grant ID or email account in which to create the object.
|
|
42
|
+
# @param request_body [Hash] The values to create the contact with.
|
|
43
|
+
# @return [Array(Hash, String)] The created contact and API Request ID.
|
|
44
|
+
def create(identifier:, request_body:)
|
|
45
|
+
post(
|
|
46
|
+
path: "#{api_uri}/v3/grants/#{identifier}/contacts",
|
|
47
|
+
request_body: request_body
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Update a contact.
|
|
52
|
+
#
|
|
53
|
+
# @param identifier [String] Grant ID or email account in which to update an object.
|
|
54
|
+
# @param contact_id [String] The id of the contact to update.
|
|
55
|
+
# @param request_body [Hash] The values to update the contact with
|
|
56
|
+
# @return [Array(Hash, String)] The updated contact and API Request ID.
|
|
57
|
+
def update(identifier:, contact_id:, request_body:)
|
|
58
|
+
put(
|
|
59
|
+
path: "#{api_uri}/v3/grants/#{identifier}/contacts/#{contact_id}",
|
|
60
|
+
request_body: request_body
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Delete a contact.
|
|
65
|
+
#
|
|
66
|
+
# @param identifier [String] Grant ID or email account from which to delete an object.
|
|
67
|
+
# @param contact_id [String] The id of the contact to delete.
|
|
68
|
+
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
|
69
|
+
def destroy(identifier:, contact_id:)
|
|
70
|
+
_, request_id = delete(
|
|
71
|
+
path: "#{api_uri}/v3/grants/#{identifier}/contacts/#{contact_id}"
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
[true, request_id]
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Return all contact groups.
|
|
78
|
+
#
|
|
79
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
80
|
+
# @param query_params [Hash, nil] Query params to pass to the request.
|
|
81
|
+
# @return [Array(Array(Hash), String, String)] The list of contact groups and API Request ID.
|
|
82
|
+
def list_groups(identifier:, query_params: nil)
|
|
83
|
+
get_list(
|
|
84
|
+
path: "#{api_uri}/v3/grants/#{identifier}/contacts/groups",
|
|
85
|
+
query_params: query_params
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "resource"
|
|
4
|
+
require_relative "../handler/api_operations"
|
|
5
|
+
|
|
6
|
+
module Nylas
|
|
7
|
+
# Nylas Connectors API
|
|
8
|
+
class Credentials < Resource
|
|
9
|
+
include ApiOperations::Get
|
|
10
|
+
include ApiOperations::Post
|
|
11
|
+
include ApiOperations::Patch
|
|
12
|
+
include ApiOperations::Delete
|
|
13
|
+
|
|
14
|
+
# Return all credentials.
|
|
15
|
+
#
|
|
16
|
+
# @param provider [String] The provider associated to the credential to list from
|
|
17
|
+
# @param query_params [Hash, nil] Query params to pass to the request.
|
|
18
|
+
# @return [Array(Array(Hash), String)] The list of credentials and API Request ID.
|
|
19
|
+
def list(provider:, query_params: nil)
|
|
20
|
+
get(
|
|
21
|
+
path: "#{api_uri}/v3/connectors/#{provider}/creds",
|
|
22
|
+
query_params: query_params
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Return a connector.
|
|
27
|
+
#
|
|
28
|
+
# @param provider [String] The provider associated to the connector to retrieve.
|
|
29
|
+
# @param credential_id [String] The id of the credentials to retrieve.
|
|
30
|
+
# @return [Array(Hash, String)] The connector and API request ID.
|
|
31
|
+
def find(provider:, credential_id:)
|
|
32
|
+
get(
|
|
33
|
+
path: "#{api_uri}/v3/connectors/#{provider}/creds/#{credential_id}"
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Create a connector.
|
|
38
|
+
#
|
|
39
|
+
# @param provider [String] The provider associated to the credential being created
|
|
40
|
+
# @param request_body [Hash] The values to create the connector with.
|
|
41
|
+
# @return [Array(Hash, String)] The created connector and API Request ID.
|
|
42
|
+
def create(provider:, request_body:)
|
|
43
|
+
post(
|
|
44
|
+
path: "#{api_uri}/v3/connectors/#{provider}/creds",
|
|
45
|
+
request_body: request_body
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Update a connector.
|
|
50
|
+
#
|
|
51
|
+
# @param provider [String] The provider associated to the connector to update from.
|
|
52
|
+
# @param credential_id [String] The id of the credentials to update.
|
|
53
|
+
# @param request_body [Hash] The values to update the connector with
|
|
54
|
+
# @return [Array(Hash, String)] The updated connector and API Request ID.
|
|
55
|
+
def update(provider:, credential_id:, request_body:)
|
|
56
|
+
patch(
|
|
57
|
+
path: "#{api_uri}/v3/connectors/#{provider}/creds/#{credential_id}",
|
|
58
|
+
request_body: request_body
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Delete a connector.
|
|
63
|
+
#
|
|
64
|
+
# @param provider [String] The provider associated to the connector to delete.
|
|
65
|
+
# @param credential_id [String] The id of the credentials to delete.
|
|
66
|
+
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
|
67
|
+
def destroy(provider:, credential_id:)
|
|
68
|
+
_, request_id = delete(
|
|
69
|
+
path: "#{api_uri}/v3/connectors/#{provider}/creds/#{credential_id}"
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
[true, request_id]
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "resource"
|
|
4
|
+
require_relative "../handler/api_operations"
|
|
5
|
+
require_relative "../utils/file_utils"
|
|
6
|
+
|
|
7
|
+
module Nylas
|
|
8
|
+
# Nylas Drafts API
|
|
9
|
+
class Drafts < Resource
|
|
10
|
+
include ApiOperations::Get
|
|
11
|
+
include ApiOperations::Post
|
|
12
|
+
include ApiOperations::Put
|
|
13
|
+
include ApiOperations::Delete
|
|
14
|
+
|
|
15
|
+
# Return all drafts.
|
|
16
|
+
#
|
|
17
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
18
|
+
# @param query_params [Hash, nil] Query params to pass to the request.
|
|
19
|
+
# @return [Array(Array(Hash), String, String)] The list of drafts, API Request ID, and next cursor.
|
|
20
|
+
def list(identifier:, query_params: nil)
|
|
21
|
+
get_list(
|
|
22
|
+
path: "#{api_uri}/v3/grants/#{identifier}/drafts",
|
|
23
|
+
query_params: query_params
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Return an draft.
|
|
28
|
+
#
|
|
29
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
30
|
+
# @param draft_id [String] The id of the draft to return.
|
|
31
|
+
# @return [Array(Hash, String)] The draft and API request ID.
|
|
32
|
+
def find(identifier:, draft_id:)
|
|
33
|
+
get(
|
|
34
|
+
path: "#{api_uri}/v3/grants/#{identifier}/drafts/#{draft_id}"
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Create an draft.
|
|
39
|
+
#
|
|
40
|
+
# @param identifier [String] Grant ID or email account in which to create the draft.
|
|
41
|
+
# @param request_body [Hash] The values to create the message with.
|
|
42
|
+
# If you're attaching files, you must pass an array of [File] objects, or
|
|
43
|
+
# you can use {FileUtils::attach_file_request_builder} to build each object attach.
|
|
44
|
+
# @return [Array(Hash, String)] The created draft and API Request ID.
|
|
45
|
+
def create(identifier:, request_body:)
|
|
46
|
+
payload = request_body
|
|
47
|
+
opened_files = []
|
|
48
|
+
|
|
49
|
+
# Use form data only if the attachment size is greater than 3mb
|
|
50
|
+
attachments = request_body[:attachments] || request_body["attachments"] || []
|
|
51
|
+
attachment_size = attachments&.sum { |attachment| attachment[:size] || 0 } || 0
|
|
52
|
+
|
|
53
|
+
if attachment_size >= FileUtils::FORM_DATA_ATTACHMENT_SIZE
|
|
54
|
+
payload, opened_files = FileUtils.build_form_request(request_body)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
response = post(
|
|
58
|
+
path: "#{api_uri}/v3/grants/#{identifier}/drafts",
|
|
59
|
+
request_body: payload
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
opened_files.each(&:close)
|
|
63
|
+
|
|
64
|
+
response
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Update an draft.
|
|
68
|
+
#
|
|
69
|
+
# @param identifier [String] Grant ID or email account in which to update the draft.
|
|
70
|
+
# @param draft_id [String] The id of the draft to update.
|
|
71
|
+
# @param request_body [Hash] The values to create the message with.
|
|
72
|
+
# If you're attaching files, you must pass an array of [File] objects, or
|
|
73
|
+
# you can use {FileUtils::attach_file_request_builder} to build each object attach.
|
|
74
|
+
# @return [Array(Hash, String)] The updated draft and API Request ID.
|
|
75
|
+
def update(identifier:, draft_id:, request_body:)
|
|
76
|
+
payload = request_body
|
|
77
|
+
opened_files = []
|
|
78
|
+
|
|
79
|
+
# Use form data only if the attachment size is greater than 3mb
|
|
80
|
+
attachments = request_body[:attachments] || request_body["attachments"] || []
|
|
81
|
+
attachment_size = attachments&.sum { |attachment| attachment[:size] || 0 } || 0
|
|
82
|
+
|
|
83
|
+
if attachment_size >= FileUtils::FORM_DATA_ATTACHMENT_SIZE
|
|
84
|
+
payload, opened_files = FileUtils.build_form_request(request_body)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
response = put(
|
|
88
|
+
path: "#{api_uri}/v3/grants/#{identifier}/drafts/#{draft_id}",
|
|
89
|
+
request_body: payload
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
opened_files.each(&:close)
|
|
93
|
+
|
|
94
|
+
response
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Delete an draft.
|
|
98
|
+
#
|
|
99
|
+
# @param identifier [String] Grant ID or email account from which to delete an object.
|
|
100
|
+
# @param draft_id [String] The id of the draft to delete.
|
|
101
|
+
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
|
102
|
+
def destroy(identifier:, draft_id:)
|
|
103
|
+
_, request_id = delete(
|
|
104
|
+
path: "#{api_uri}/v3/grants/#{identifier}/drafts/#{draft_id}"
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
[true, request_id]
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Send an draft.
|
|
111
|
+
#
|
|
112
|
+
# @param identifier [String] Grant ID or email account from which to send the draft.
|
|
113
|
+
# @param draft_id [String] The id of the draft to send.
|
|
114
|
+
# @return [Array(Hash, String)] The sent message draft and the API Request ID.
|
|
115
|
+
def send(identifier:, draft_id:)
|
|
116
|
+
post(
|
|
117
|
+
path: "#{api_uri}/v3/grants/#{identifier}/drafts/#{draft_id}"
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "resource"
|
|
4
|
+
require_relative "../handler/api_operations"
|
|
5
|
+
|
|
6
|
+
module Nylas
|
|
7
|
+
# Nylas Events API
|
|
8
|
+
class Events < Resource
|
|
9
|
+
include ApiOperations::Get
|
|
10
|
+
include ApiOperations::Post
|
|
11
|
+
include ApiOperations::Put
|
|
12
|
+
include ApiOperations::Delete
|
|
13
|
+
|
|
14
|
+
# Return all events.
|
|
15
|
+
#
|
|
16
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
17
|
+
# @param query_params [Hash] Query params to pass to the request.
|
|
18
|
+
# @return [Array(Array(Hash), String, String)] The list of events, API Request ID, and next cursor.
|
|
19
|
+
def list(identifier:, query_params:)
|
|
20
|
+
get_list(
|
|
21
|
+
path: "#{api_uri}/v3/grants/#{identifier}/events",
|
|
22
|
+
query_params: query_params
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Return an event.
|
|
27
|
+
#
|
|
28
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
29
|
+
# @param event_id [String] The id of the event to return.
|
|
30
|
+
# @param query_params [Hash] The query parameters to include in the request
|
|
31
|
+
# @return [Array(Hash, String)] The event and API request ID.
|
|
32
|
+
def find(identifier:, event_id:, query_params:)
|
|
33
|
+
get(
|
|
34
|
+
path: "#{api_uri}/v3/grants/#{identifier}/events/#{event_id}",
|
|
35
|
+
query_params: query_params
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Create an event.
|
|
40
|
+
#
|
|
41
|
+
# @param identifier [String] Grant ID or email account in which to create the object.
|
|
42
|
+
# @param request_body [Hash] The values to create the event with.
|
|
43
|
+
# @param query_params [Hash] The query parameters to include in the request.
|
|
44
|
+
# @return [Array(Hash, String)] The created event and API Request ID.
|
|
45
|
+
def create(identifier:, request_body:, query_params:)
|
|
46
|
+
post(
|
|
47
|
+
path: "#{api_uri}/v3/grants/#{identifier}/events",
|
|
48
|
+
query_params: query_params,
|
|
49
|
+
request_body: request_body
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Update an event.
|
|
54
|
+
#
|
|
55
|
+
# @param identifier [String] Grant ID or email account in which to update an object.
|
|
56
|
+
# @param event_id [String] The id of the event to update.
|
|
57
|
+
# @param request_body [Hash] The values to update the event with
|
|
58
|
+
# @param query_params [Hash] The query parameters to include in the request
|
|
59
|
+
# @return [Array(Hash, String)] The updated event and API Request ID.
|
|
60
|
+
def update(identifier:, event_id:, request_body:, query_params:)
|
|
61
|
+
put(
|
|
62
|
+
path: "#{api_uri}/v3/grants/#{identifier}/events/#{event_id}",
|
|
63
|
+
query_params: query_params,
|
|
64
|
+
request_body: request_body
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Delete an event.
|
|
69
|
+
#
|
|
70
|
+
# @param identifier [String] Grant ID or email account from which to delete an object.
|
|
71
|
+
# @param event_id [String] The id of the event to delete.
|
|
72
|
+
# @param query_params [Hash] The query parameters to include in the request
|
|
73
|
+
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
|
74
|
+
def destroy(identifier:, event_id:, query_params:)
|
|
75
|
+
_, request_id = delete(
|
|
76
|
+
path: "#{api_uri}/v3/grants/#{identifier}/events/#{event_id}",
|
|
77
|
+
query_params: query_params
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
[true, request_id]
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Send RSVP. Allows users to respond to events they have been added to as an attendee.
|
|
84
|
+
#
|
|
85
|
+
# @param identifier [String] Grant ID or email account from which to send RSVP with.
|
|
86
|
+
# @param event_id [String] The id of the event to respond to.
|
|
87
|
+
# @param request_body [Hash] The status values to send the RSVP with.
|
|
88
|
+
# @param query_params [Hash] The query parameters to include in the request
|
|
89
|
+
# @return [(Hash, String)] Response object with the API Request ID.
|
|
90
|
+
def send_rsvp(identifier:, event_id:, request_body:, query_params:)
|
|
91
|
+
post(
|
|
92
|
+
path: "#{api_uri}/v3/grants/#{identifier}/events/#{event_id}/send-rsvp",
|
|
93
|
+
query_params: query_params,
|
|
94
|
+
request_body: request_body
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "resource"
|
|
4
|
+
require_relative "../handler/api_operations"
|
|
5
|
+
|
|
6
|
+
module Nylas
|
|
7
|
+
# Nylas Folder API
|
|
8
|
+
class Folders < Resource
|
|
9
|
+
include ApiOperations::Get
|
|
10
|
+
include ApiOperations::Post
|
|
11
|
+
include ApiOperations::Put
|
|
12
|
+
include ApiOperations::Delete
|
|
13
|
+
|
|
14
|
+
# Return all folders.
|
|
15
|
+
#
|
|
16
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
17
|
+
# @return [Array(Array(Hash), String, String)] The list of folders, API Request ID, and next cursor.
|
|
18
|
+
def list(identifier:)
|
|
19
|
+
get_list(
|
|
20
|
+
path: "#{api_uri}/v3/grants/#{identifier}/folders"
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Return a folder.
|
|
25
|
+
#
|
|
26
|
+
# @param identifier [String] Grant ID or email account to query.
|
|
27
|
+
# @param folder_id [String] The id of the folder to return.
|
|
28
|
+
# @return [Array(Hash, String)] The folder and API request ID.
|
|
29
|
+
def find(identifier:, folder_id:)
|
|
30
|
+
get(
|
|
31
|
+
path: "#{api_uri}/v3/grants/#{identifier}/folders/#{folder_id}"
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Create a folder.
|
|
36
|
+
#
|
|
37
|
+
# @param identifier [String] Grant ID or email account in which to create the object.
|
|
38
|
+
# @param request_body [Hash] The values to create the folder with.
|
|
39
|
+
# @return [Array(Hash, String)] The created folder and API Request ID.
|
|
40
|
+
def create(identifier:, request_body:)
|
|
41
|
+
post(
|
|
42
|
+
path: "#{api_uri}/v3/grants/#{identifier}/folders",
|
|
43
|
+
request_body: request_body
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Update a folder.
|
|
48
|
+
#
|
|
49
|
+
# @param identifier [String] Grant ID or email account in which to update an object.
|
|
50
|
+
# @param folder_id [String] The id of the folder to update.
|
|
51
|
+
# @param request_body [Hash] The values to update the folder with
|
|
52
|
+
# @return [Array(Hash, String)] The updated folder and API Request ID.
|
|
53
|
+
def update(identifier:, folder_id:, request_body:)
|
|
54
|
+
put(
|
|
55
|
+
path: "#{api_uri}/v3/grants/#{identifier}/folders/#{folder_id}",
|
|
56
|
+
request_body: request_body
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Delete a folder.
|
|
61
|
+
#
|
|
62
|
+
# @param identifier [String] Grant ID or email account from which to delete an object.
|
|
63
|
+
# @param folder_id [String] The id of the folder to delete.
|
|
64
|
+
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
|
65
|
+
def destroy(identifier:, folder_id:)
|
|
66
|
+
_, request_id = delete(
|
|
67
|
+
path: "#{api_uri}/v3/grants/#{identifier}/folders/#{folder_id}"
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
[true, request_id]
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "resource"
|
|
4
|
+
require_relative "../handler/api_operations"
|
|
5
|
+
|
|
6
|
+
module Nylas
|
|
7
|
+
# Grants
|
|
8
|
+
class Grants < Resource
|
|
9
|
+
include ApiOperations::Get
|
|
10
|
+
include ApiOperations::Put
|
|
11
|
+
include ApiOperations::Delete
|
|
12
|
+
include ApiOperations::Patch
|
|
13
|
+
|
|
14
|
+
# Return all grants.
|
|
15
|
+
#
|
|
16
|
+
# @param query_params [Hash, nil] Query params to pass to the request.
|
|
17
|
+
# @return [Array(Array(Hash), String)] The list of grants and API Request ID.
|
|
18
|
+
def list(query_params: nil)
|
|
19
|
+
get(
|
|
20
|
+
path: "#{api_uri}/v3/grants",
|
|
21
|
+
query_params: query_params
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Return a grant.
|
|
26
|
+
#
|
|
27
|
+
# @param grant_id [String] The id of the grant to return.
|
|
28
|
+
# @return [Array(Hash, String)] The grant and API request ID.
|
|
29
|
+
def find(grant_id:)
|
|
30
|
+
get(
|
|
31
|
+
path: "#{api_uri}/v3/grants/#{grant_id}"
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Update a grant.
|
|
36
|
+
#
|
|
37
|
+
# @param grant_id [String] The id of the grant to update.
|
|
38
|
+
# @param request_body [Hash] The values to update the grant with
|
|
39
|
+
# @return [Array(Hash, String)] The updated grant and API Request ID.
|
|
40
|
+
def update(grant_id:, request_body:)
|
|
41
|
+
patch(
|
|
42
|
+
path: "#{api_uri}/v3/grants/#{grant_id}",
|
|
43
|
+
request_body: request_body
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Delete a grant.
|
|
48
|
+
#
|
|
49
|
+
# @param grant_id [String] The id of the grant to delete.
|
|
50
|
+
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
|
51
|
+
def destroy(grant_id:)
|
|
52
|
+
_, request_id = delete(
|
|
53
|
+
path: "#{api_uri}/v3/grants/#{grant_id}"
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
[true, request_id]
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|