nextmail 0.0.1
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 +7 -0
- data/README.md +183 -0
- data/lib/nextmail/api_paths.rb +447 -0
- data/lib/nextmail/client.rb +81 -0
- data/lib/nextmail/constants.rb +1621 -0
- data/lib/nextmail/credentials.rb +53 -0
- data/lib/nextmail/decode.rb +34 -0
- data/lib/nextmail/defaults.rb +114 -0
- data/lib/nextmail/endpoint.rb +144 -0
- data/lib/nextmail/errors.rb +121 -0
- data/lib/nextmail/http.rb +172 -0
- data/lib/nextmail/image_crop.rb +38 -0
- data/lib/nextmail/languages.rb +42 -0
- data/lib/nextmail/pagination.rb +63 -0
- data/lib/nextmail/protocol.rb +221 -0
- data/lib/nextmail/raw_body.rb +83 -0
- data/lib/nextmail/request_path.rb +50 -0
- data/lib/nextmail/resource.rb +109 -0
- data/lib/nextmail/resources/account.rb +155 -0
- data/lib/nextmail/resources/addresses.rb +38 -0
- data/lib/nextmail/resources/analytics.rb +19 -0
- data/lib/nextmail/resources/app_host.rb +23 -0
- data/lib/nextmail/resources/audiences.rb +95 -0
- data/lib/nextmail/resources/automations.rb +125 -0
- data/lib/nextmail/resources/billing.rb +76 -0
- data/lib/nextmail/resources/bookings.rb +100 -0
- data/lib/nextmail/resources/branding.rb +24 -0
- data/lib/nextmail/resources/broadcasts.rb +102 -0
- data/lib/nextmail/resources/calendar.rb +153 -0
- data/lib/nextmail/resources/chats.rb +62 -0
- data/lib/nextmail/resources/connected_mailboxes.rb +35 -0
- data/lib/nextmail/resources/connectors.rb +75 -0
- data/lib/nextmail/resources/contacts.rb +197 -0
- data/lib/nextmail/resources/dns_connections.rb +23 -0
- data/lib/nextmail/resources/domains.rb +264 -0
- data/lib/nextmail/resources/drafts.rb +36 -0
- data/lib/nextmail/resources/emails.rb +120 -0
- data/lib/nextmail/resources/encryption.rb +19 -0
- data/lib/nextmail/resources/events.rb +22 -0
- data/lib/nextmail/resources/exports.rb +27 -0
- data/lib/nextmail/resources/files.rb +82 -0
- data/lib/nextmail/resources/follow_ups.rb +21 -0
- data/lib/nextmail/resources/forms.rb +112 -0
- data/lib/nextmail/resources/imports.rb +106 -0
- data/lib/nextmail/resources/keys.rb +126 -0
- data/lib/nextmail/resources/knowledge.rb +137 -0
- data/lib/nextmail/resources/labels.rb +43 -0
- data/lib/nextmail/resources/languages.rb +11 -0
- data/lib/nextmail/resources/me.rb +57 -0
- data/lib/nextmail/resources/members.rb +100 -0
- data/lib/nextmail/resources/out_of_office.rb +28 -0
- data/lib/nextmail/resources/provider_imports.rb +48 -0
- data/lib/nextmail/resources/roles.rb +39 -0
- data/lib/nextmail/resources/rules.rb +73 -0
- data/lib/nextmail/resources/security.rb +39 -0
- data/lib/nextmail/resources/segments.rb +31 -0
- data/lib/nextmail/resources/senders.rb +19 -0
- data/lib/nextmail/resources/sending.rb +23 -0
- data/lib/nextmail/resources/settings.rb +16 -0
- data/lib/nextmail/resources/signatures.rb +41 -0
- data/lib/nextmail/resources/subscriptions.rb +55 -0
- data/lib/nextmail/resources/support.rb +11 -0
- data/lib/nextmail/resources/suppressions.rb +43 -0
- data/lib/nextmail/resources/tasks.rb +95 -0
- data/lib/nextmail/resources/temp_mail.rb +67 -0
- data/lib/nextmail/resources/templates.rb +153 -0
- data/lib/nextmail/resources/threads.rb +218 -0
- data/lib/nextmail/resources/tools.rb +35 -0
- data/lib/nextmail/resources/tracking.rb +72 -0
- data/lib/nextmail/resources/webhooks.rb +170 -0
- data/lib/nextmail/resources/workspaces.rb +40 -0
- data/lib/nextmail/results.rb +33 -0
- data/lib/nextmail/transport.rb +272 -0
- data/lib/nextmail/update_notice.rb +69 -0
- data/lib/nextmail/version.rb +5 -0
- data/lib/nextmail/webhook.rb +82 -0
- data/lib/nextmail/wire.rb +102 -0
- data/lib/nextmail.rb +126 -0
- metadata +122 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Nextmail
|
|
4
|
+
class Client
|
|
5
|
+
NAMESPACES = {
|
|
6
|
+
me: Resources::Me,
|
|
7
|
+
security: Resources::Security,
|
|
8
|
+
keys: Resources::Keys,
|
|
9
|
+
addresses: Resources::Addresses,
|
|
10
|
+
languages: Resources::Languages,
|
|
11
|
+
emails: Resources::Emails,
|
|
12
|
+
templates: Resources::Templates,
|
|
13
|
+
tracking: Resources::Tracking,
|
|
14
|
+
threads: Resources::Threads,
|
|
15
|
+
follow_ups: Resources::FollowUps,
|
|
16
|
+
drafts: Resources::Drafts,
|
|
17
|
+
labels: Resources::Labels,
|
|
18
|
+
contacts: Resources::Contacts,
|
|
19
|
+
audiences: Resources::Audiences,
|
|
20
|
+
billing: Resources::Billing,
|
|
21
|
+
forms: Resources::Forms,
|
|
22
|
+
automations: Resources::Automations,
|
|
23
|
+
events: Resources::Events,
|
|
24
|
+
broadcasts: Resources::Broadcasts,
|
|
25
|
+
domains: Resources::Domains,
|
|
26
|
+
app_host: Resources::AppHost,
|
|
27
|
+
branding: Resources::Branding,
|
|
28
|
+
rules: Resources::Rules,
|
|
29
|
+
webhooks: Resources::Webhooks,
|
|
30
|
+
imports: Resources::Imports,
|
|
31
|
+
provider_imports: Resources::ProviderImports,
|
|
32
|
+
calendar: Resources::Calendar,
|
|
33
|
+
settings: Resources::Settings,
|
|
34
|
+
out_of_office: Resources::OutOfOffice,
|
|
35
|
+
roles: Resources::Roles,
|
|
36
|
+
members: Resources::Members,
|
|
37
|
+
suppressions: Resources::Suppressions,
|
|
38
|
+
sending: Resources::Sending,
|
|
39
|
+
files: Resources::Files,
|
|
40
|
+
knowledge: Resources::Knowledge,
|
|
41
|
+
temp_mail: Resources::TempMail,
|
|
42
|
+
exports: Resources::Exports,
|
|
43
|
+
chats: Resources::Chats,
|
|
44
|
+
encryption: Resources::Encryption,
|
|
45
|
+
support: Resources::Support,
|
|
46
|
+
tools: Resources::Tools,
|
|
47
|
+
senders: Resources::Senders,
|
|
48
|
+
analytics: Resources::Analytics,
|
|
49
|
+
subscriptions: Resources::Subscriptions,
|
|
50
|
+
dns_connections: Resources::DnsConnections,
|
|
51
|
+
workspaces: Resources::Workspaces,
|
|
52
|
+
account: Resources::Account,
|
|
53
|
+
signatures: Resources::Signatures,
|
|
54
|
+
tasks: Resources::Tasks,
|
|
55
|
+
bookings: Resources::Bookings,
|
|
56
|
+
connectors: Resources::Connectors,
|
|
57
|
+
connected_mailboxes: Resources::ConnectedMailboxes,
|
|
58
|
+
segments: Resources::Segments
|
|
59
|
+
}.freeze
|
|
60
|
+
|
|
61
|
+
attr_reader :mode, :raw, *NAMESPACES.keys
|
|
62
|
+
|
|
63
|
+
def initialize(key = nil, api_key: nil, access_token: nil, base_url: nil, adapter: nil, max_retries: nil,
|
|
64
|
+
timeout: nil, user_agent: nil, headers: nil, disable_update_notice: false)
|
|
65
|
+
raise ArgumentError, Defaults::MESSAGES[:KEY_TWICE] unless key.nil? || api_key.nil?
|
|
66
|
+
|
|
67
|
+
api_key = key if api_key.nil?
|
|
68
|
+
Credentials.assert_credential(api_key, access_token, required: true)
|
|
69
|
+
|
|
70
|
+
@raw = Transport.new(api_key:, access_token:, base_url:, adapter:, max_retries:, timeout:, user_agent:, headers:,
|
|
71
|
+
disable_update_notice:)
|
|
72
|
+
@mode = Credentials.mode_of(api_key)
|
|
73
|
+
NAMESPACES.each { |name, resource| instance_variable_set(:"@#{name}", resource.new(@raw)) }
|
|
74
|
+
freeze
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def inspect
|
|
78
|
+
"#<#{self.class.name} mode=#{@mode.inspect} base_url=#{@raw.base_url.inspect}>"
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|