zm-ruby-client 3.0.1 → 3.1.0
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/CHANGELOG.md +96 -0
- data/README.md +128 -27
- data/VERSION +1 -1
- data/lib/zm/client/account/account.rb +12 -19
- data/lib/zm/client/account/account_aliases_collection.rb +6 -4
- data/lib/zm/client/account/account_dls_membership_collection.rb +4 -3
- data/lib/zm/client/account/account_dls_owner_collection.rb +3 -2
- data/lib/zm/client/account/account_jsns_builder.rb +10 -10
- data/lib/zm/client/account/accounts_collection.rb +27 -16
- data/lib/zm/client/ace/ace.rb +3 -6
- data/lib/zm/client/ace/ace_jsns_builder.rb +6 -6
- data/lib/zm/client/appointment/appointment.rb +32 -14
- data/lib/zm/client/appointment/appointment_jsns_builder.rb +5 -5
- data/lib/zm/client/appointment/appointment_jsns_initializer.rb +6 -1
- data/lib/zm/client/appointment/appointments_collection.rb +12 -9
- data/lib/zm/client/backup/backup.rb +5 -2
- data/lib/zm/client/backup/backups_collection.rb +3 -2
- data/lib/zm/client/base/account_objects_collection.rb +1 -0
- data/lib/zm/client/base/account_search_objects_collection.rb +6 -6
- data/lib/zm/client/base/admin_objects_collection.rb +60 -7
- data/lib/zm/client/base/base_account_jsns_builder.rb +89 -87
- data/lib/zm/client/base/base_jsns_builder.rb +3 -3
- data/lib/zm/client/base/base_jsns_initializer.rb +20 -15
- data/lib/zm/client/base/mailbox_infos_collection.rb +92 -90
- data/lib/zm/client/base/mailbox_object.rb +49 -160
- data/lib/zm/client/base/mailbox_prefs_collection.rb +54 -52
- data/lib/zm/client/base/object.rb +19 -2
- data/lib/zm/client/base/objects_collection.rb +10 -10
- data/lib/zm/client/base/zimbra_attribute.rb +28 -42
- data/lib/zm/client/base/zimbra_attributes_collection.rb +38 -24
- data/lib/zm/client/{cluster/batch_request.rb → batch_request.rb} +1 -1
- data/lib/zm/client/cluster/cluster.rb +24 -61
- data/lib/zm/client/cluster/cluster_config.rb +35 -15
- data/lib/zm/client/contact/contact.rb +15 -13
- data/lib/zm/client/contact/contact_jsns_builder.rb +9 -6
- data/lib/zm/client/contact/contact_jsns_initializer.rb +2 -2
- data/lib/zm/client/contact/contact_member.rb +3 -3
- data/lib/zm/client/contact/contact_members_collection.rb +3 -3
- data/lib/zm/client/contact/contacts_builder.rb +1 -1
- data/lib/zm/client/contact/contacts_collection.rb +2 -2
- data/lib/zm/client/contact/group_contact_jsns_builder.rb +18 -14
- data/lib/zm/client/contact/mod_group_contact.rb +12 -8
- data/lib/zm/client/cos/cos.rb +15 -31
- data/lib/zm/client/cos/cos_jsns_builder.rb +21 -21
- data/lib/zm/client/cos/coses_collection.rb +11 -6
- data/lib/zm/client/datasource/datasource.rb +3 -9
- data/lib/zm/client/datasource/datasource_jsns_builder.rb +4 -4
- data/lib/zm/client/datasource/datasources_builder.rb +1 -1
- data/lib/zm/client/datasource/datasources_collection.rb +2 -2
- data/lib/zm/client/deprecated_constants.rb +36 -0
- data/lib/zm/client/distributionlist/distributionlist.rb +15 -47
- data/lib/zm/client/distributionlist/distributionlist_aces_collection.rb +4 -4
- data/lib/zm/client/distributionlist/distributionlist_aliases_collection.rb +7 -5
- data/lib/zm/client/distributionlist/distributionlist_jsns_builder.rb +29 -41
- data/lib/zm/client/distributionlist/distributionlist_jsns_initializer.rb +14 -3
- data/lib/zm/client/distributionlist/distributionlist_members_collection.rb +14 -10
- data/lib/zm/client/distributionlist/distributionlist_owners_collection.rb +13 -13
- data/lib/zm/client/distributionlist/distributionlists_collection.rb +15 -7
- data/lib/zm/client/distributionlist/dls_membership_collection.rb +8 -6
- data/lib/zm/client/document/document.rb +5 -11
- data/lib/zm/client/document/document_jsns_builder.rb +2 -2
- data/lib/zm/client/document/documents_collection.rb +4 -4
- data/lib/zm/client/domain/domain.rb +8 -25
- data/lib/zm/client/domain/domain_jsns_builder.rb +13 -13
- data/lib/zm/client/domain/domains_collection.rb +13 -6
- data/lib/zm/client/filter_rules/filter_rules_collection.rb +1 -1
- data/lib/zm/client/filter_rules/outgoing_filter_rules_collection.rb +1 -1
- data/lib/zm/client/folder/folder.rb +34 -21
- data/lib/zm/client/folder/folder_default.rb +39 -0
- data/lib/zm/client/folder/folder_grant_jsns_builder.rb +3 -3
- data/lib/zm/client/folder/folder_grants_collection.rb +1 -1
- data/lib/zm/client/folder/folder_jsns_builder.rb +12 -12
- data/lib/zm/client/folder/folder_jsns_initializer.rb +1 -1
- data/lib/zm/client/folder/folder_retention_policies_collection.rb +6 -2
- data/lib/zm/client/folder/folder_view.rb +15 -0
- data/lib/zm/client/folder/folders_jsns_builder.rb +1 -1
- data/lib/zm/client/folder/mod_document_folder.rb +16 -12
- data/lib/zm/client/identity/identities_collection.rb +1 -1
- data/lib/zm/client/identity/identity.rb +3 -9
- data/lib/zm/client/identity/identity_jsns_builder.rb +8 -8
- data/lib/zm/client/{base/ldap_filter.rb → ldap_filter.rb} +1 -1
- data/lib/zm/client/license/licenses_collection.rb +1 -1
- data/lib/zm/client/mailbox/mailbox_item_concern.rb +0 -2
- data/lib/zm/client/message/message.rb +14 -19
- data/lib/zm/client/message/message_attachments_collection.rb +39 -0
- data/lib/zm/client/message/message_flags_collection.rb +130 -0
- data/lib/zm/client/message/message_jsns_builder.rb +4 -8
- data/lib/zm/client/message/message_jsns_initializer.rb +4 -4
- data/lib/zm/client/message/message_recipients.rb +19 -43
- data/lib/zm/client/message/messages_collection.rb +20 -4
- data/lib/zm/client/mountpoint/{mountpoint.rb → mount_point.rb} +4 -10
- data/lib/zm/client/mountpoint/{mountpoint_jsns_builder.rb → mount_point_jsns_builder.rb} +3 -3
- data/lib/zm/client/mountpoint/{mountpoint_jsns_initializer.rb → mount_point_jsns_initializer.rb} +1 -1
- data/lib/zm/client/mountpoint/{mountpoints_builder.rb → mount_points_builder.rb} +1 -1
- data/lib/zm/client/mta_queue/mta_queue.rb +4 -16
- data/lib/zm/client/mta_queue/mta_queue_action.rb +12 -0
- data/lib/zm/client/mta_queue/mta_queue_jsns_builder.rb +7 -7
- data/lib/zm/client/mta_queue/mta_queue_name.rb +14 -0
- data/lib/zm/client/mta_queue/mta_queues_collection.rb +4 -3
- data/lib/zm/client/mta_queue_item/mta_queue_items_collection.rb +1 -0
- data/lib/zm/client/recipient.rb +21 -0
- data/lib/zm/client/{common/recipients.rb → recipients.rb} +0 -16
- data/lib/zm/client/resource/resource.rb +3 -7
- data/lib/zm/client/resource/resource_jsns_builder.rb +13 -13
- data/lib/zm/client/resource/resources_collection.rb +20 -7
- data/lib/zm/client/search_folder/search_folder.rb +4 -11
- data/lib/zm/client/search_folder/search_folder_jsns_builder.rb +6 -6
- data/lib/zm/client/search_folder/search_folders_collection.rb +1 -1
- data/lib/zm/client/server/server.rb +16 -22
- data/lib/zm/client/server/server_services.rb +26 -0
- data/lib/zm/client/server/servers_collection.rb +6 -6
- data/lib/zm/client/share/share.rb +2 -5
- data/lib/zm/client/share/shares_builder.rb +1 -1
- data/lib/zm/client/share/shares_collection.rb +5 -4
- data/lib/zm/client/signature/signature.rb +7 -13
- data/lib/zm/client/signature/signature_jsns_builder.rb +13 -13
- data/lib/zm/client/signature/signature_jsns_initializer.rb +2 -2
- data/lib/zm/client/signature/signatures_collection.rb +1 -1
- data/lib/zm/client/tag/account_object_tags_collection.rb +45 -47
- data/lib/zm/client/tag/tag.rb +3 -9
- data/lib/zm/client/tag/tag_jsns_builder.rb +3 -3
- data/lib/zm/client/tag/tags_builder.rb +1 -1
- data/lib/zm/client/tag/tags_collection.rb +2 -2
- data/lib/zm/client/task/task.rb +2 -2
- data/lib/zm/client/task/tasks_collection.rb +2 -2
- data/lib/zm/client/token.rb +4 -1
- data/lib/zm/client/upload.rb +179 -1
- data/lib/zm/client/{common/utils.rb → utils.rb} +6 -3
- data/lib/zm/client/zm_logger.rb +1 -1
- data/lib/zm/client.rb +227 -10
- data/lib/zm/connector/network_error_handler.rb +18 -0
- data/lib/zm/{client/connector → connector}/rest_connector.rb +46 -40
- data/lib/zm/{client/connector/soap_account.rb → connector/soap_account_connector.rb} +15 -17
- data/lib/zm/{client/connector/soap_admin.rb → connector/soap_admin_connector.rb} +3 -5
- data/lib/zm/connector/soap_base_connector.rb +115 -0
- data/lib/zm/connector.rb +13 -0
- data/lib/zm/error/auth_error.rb +8 -0
- data/lib/zm/error/connection_error.rb +8 -0
- data/lib/zm/error/rest_error.rb +8 -0
- data/lib/zm/{client/connector → error}/soap_error.rb +1 -10
- data/lib/zm/error/zm_error.rb +8 -0
- data/lib/zm/error.rb +11 -0
- data/lib/zm/relationship/has_many.rb +22 -0
- data/lib/zm/relationship/jsns_builder.rb +21 -0
- data/lib/zm/relationship/relationship.rb +113 -0
- data/lib/zm/relationship/schema.rb +32 -0
- data/lib/zm/relationship.rb +5 -0
- data/lib/zm/{client/soap_request → soap_request}/request_methods_admin.rb +11 -5
- data/lib/zm/{client/soap_request → soap_request}/request_methods_mailbox.rb +1 -1
- data/lib/zm/{client/soap_request/account_soap_constants.rb → soap_request/soap_account_constants.rb} +1 -1
- data/lib/zm/{client/soap_request/admin_soap_constants.rb → soap_request/soap_admin_constants.rb} +1 -1
- data/lib/zm/{client/soap_request → soap_request}/soap_constants.rb +1 -1
- data/lib/zm/{client/soap_request → soap_request}/soap_context.rb +13 -5
- data/lib/zm/{client/soap_request → soap_request}/soap_element.rb +1 -1
- data/lib/zm/{client/soap_request/mail_soap_constants.rb → soap_request/soap_mail_constants.rb} +1 -1
- data/lib/zm/soap_request.rb +14 -0
- data/lib/zm/support/cache/entry.rb +3 -3
- data/lib/zm/support/cache/file_store.rb +4 -6
- data/lib/zm/support/cache/null_store.rb +2 -4
- data/lib/zm/support/cache/store.rb +17 -9
- data/lib/zm/support/cache.rb +13 -8
- data/lib/zm/support.rb +7 -0
- data/lib/zm/{modules → utils}/belongs_to_folder.rb +1 -1
- data/lib/zm/{modules → utils}/belongs_to_tag.rb +2 -2
- data/lib/zm/utils/content_part.rb +9 -0
- data/lib/zm/utils/content_type.rb +11 -0
- data/lib/zm/{modules → utils}/has_soap_admin_connector.rb +1 -1
- data/lib/zm/utils/inspector.rb +26 -0
- data/lib/zm/utils/log_filter.rb +30 -0
- data/lib/zm/utils/missing_method_static_collection.rb +17 -0
- data/lib/zm/utils/regex.rb +11 -0
- data/lib/zm/utils/search_utils.rb +13 -0
- data/lib/zm/utils.rb +16 -0
- data/lib/zm-ruby-client.rb +12 -0
- data/sig/zm/client/admin_objects.rbs +261 -0
- data/sig/zm/client/base.rbs +191 -0
- data/sig/zm/client/cluster.rbs +152 -0
- data/sig/zm/client/mailbox.rbs +766 -0
- data/sig/zm/error.rbs +23 -0
- metadata +99 -91
- data/.gitignore +0 -59
- data/.rubocop.yml +0 -6
- data/.ruby-version +0 -1
- data/Gemfile +0 -11
- data/SECURITY.md +0 -21
- data/bin/console +0 -11
- data/lib/zm/client/account.rb +0 -9
- data/lib/zm/client/ace.rb +0 -7
- data/lib/zm/client/appointment.rb +0 -7
- data/lib/zm/client/backup.rb +0 -6
- data/lib/zm/client/base.rb +0 -21
- data/lib/zm/client/cluster.rb +0 -4
- data/lib/zm/client/common/message.rb +0 -10
- data/lib/zm/client/common.rb +0 -5
- data/lib/zm/client/connector/soap_base.rb +0 -104
- data/lib/zm/client/constant.rb +0 -229
- data/lib/zm/client/contact.rb +0 -11
- data/lib/zm/client/cos.rb +0 -10
- data/lib/zm/client/datasource.rb +0 -7
- data/lib/zm/client/distributionlist.rb +0 -8
- data/lib/zm/client/document.rb +0 -7
- data/lib/zm/client/domain.rb +0 -10
- data/lib/zm/client/filter_rule.rb +0 -7
- data/lib/zm/client/folder.rb +0 -14
- data/lib/zm/client/identity.rb +0 -7
- data/lib/zm/client/license.rb +0 -5
- data/lib/zm/client/message/attachments_collection.rb +0 -55
- data/lib/zm/client/message/message_flags.rb +0 -115
- data/lib/zm/client/message.rb +0 -10
- data/lib/zm/client/mountpoint.rb +0 -7
- data/lib/zm/client/mta_queue.rb +0 -7
- data/lib/zm/client/mta_queue_item.rb +0 -6
- data/lib/zm/client/resource.rb +0 -7
- data/lib/zm/client/search_folder.rb +0 -7
- data/lib/zm/client/server.rb +0 -7
- data/lib/zm/client/share.rb +0 -7
- data/lib/zm/client/signature.rb +0 -7
- data/lib/zm/client/soap_request.rb +0 -11
- data/lib/zm/client/tag.rb +0 -8
- data/lib/zm/client/task.rb +0 -6
- data/lib/zm/client/upload/upload.rb +0 -160
- data/lib/zm/modules/base.rb +0 -9
- data/lib/zm/modules/common/zimbra-attrs.json +0 -58
- data/lib/zm/modules/inspector.rb +0 -24
- data/lib/zm/modules/missing_method_static_collection.rb +0 -13
- data/lib/zm/modules/zm_model.rb +0 -43
- data/zm-ruby-client.gemspec +0 -27
- /data/lib/zm/client/mountpoint/{mountpoints_collection.rb → mount_points_collection.rb} +0 -0
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'json'
|
|
4
|
-
require 'openssl'
|
|
5
|
-
|
|
6
|
-
require_relative 'soap_error'
|
|
7
|
-
|
|
8
|
-
module Zm
|
|
9
|
-
module Client
|
|
10
|
-
class SoapBaseConnector
|
|
11
|
-
BASESPACE = 'urn:zimbra'
|
|
12
|
-
HTTP_HEADERS = {
|
|
13
|
-
'Content-Type' => 'application/json; charset=utf-8',
|
|
14
|
-
'User-Agent' => 'ZmRubyClient'
|
|
15
|
-
}.freeze
|
|
16
|
-
|
|
17
|
-
attr_reader :context
|
|
18
|
-
attr_writer :logger, :cache, :timeout
|
|
19
|
-
|
|
20
|
-
def initialize(url, soap_path)
|
|
21
|
-
@verbose = false
|
|
22
|
-
@timeout = 300
|
|
23
|
-
|
|
24
|
-
@ssl_options = {
|
|
25
|
-
verify: false,
|
|
26
|
-
verify_hostname: false,
|
|
27
|
-
verify_mode: OpenSSL::SSL::VERIFY_NONE
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@url = url
|
|
31
|
-
@soap_path = soap_path
|
|
32
|
-
|
|
33
|
-
@context = SoapContext.new
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def verbose!
|
|
37
|
-
@verbose = true
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def invoke(soap_element, error_handler = SoapError)
|
|
41
|
-
do_request(envelope(soap_element), error_handler)[:Body]
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def target_invoke(soap_element, target_id, error_handler = SoapError)
|
|
45
|
-
@context.target_server(target_id)
|
|
46
|
-
resp = invoke(soap_element, error_handler)
|
|
47
|
-
@context.target_server(nil)
|
|
48
|
-
resp
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def http_client!
|
|
52
|
-
@http_client = Faraday.new(
|
|
53
|
-
url: @url,
|
|
54
|
-
headers: HTTP_HEADERS,
|
|
55
|
-
request: {
|
|
56
|
-
timeout: @timeout
|
|
57
|
-
},
|
|
58
|
-
ssl: @ssl_options
|
|
59
|
-
) do |faraday|
|
|
60
|
-
faraday.request :json
|
|
61
|
-
faraday.response :logger, nil, { headers: true, bodies: true, errors: true } if @verbose
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
private
|
|
66
|
-
|
|
67
|
-
def http_client
|
|
68
|
-
@http_client || http_client!
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def do_request(body, error_handler = SoapError)
|
|
72
|
-
json_body = body.to_json
|
|
73
|
-
@logger.debug json_body
|
|
74
|
-
|
|
75
|
-
# cache json response
|
|
76
|
-
# no cache if response raise
|
|
77
|
-
json_response = @cache.fetch(json_body) do
|
|
78
|
-
@logger.debug 'Load from remote'
|
|
79
|
-
response = http_client.post(@soap_path, json_body)
|
|
80
|
-
@logger.debug response.body
|
|
81
|
-
|
|
82
|
-
raise(error_handler, JSON.parse(response.body, symbolize_names: true)) if response.status >= 400
|
|
83
|
-
|
|
84
|
-
response.body
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
JSON.parse(json_response, symbolize_names: true)
|
|
88
|
-
|
|
89
|
-
# rescue Faraday::ConnectionFailed, SocketError => error
|
|
90
|
-
# @logger.error "SoapConnectorError (#{error.class}): #{error.message}"
|
|
91
|
-
# # raise error
|
|
92
|
-
# {}
|
|
93
|
-
# nil
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
def envelope(soap_element)
|
|
97
|
-
{
|
|
98
|
-
Body: soap_element.to_hash,
|
|
99
|
-
Header: { context: context.to_hash, _jsns: BASESPACE }
|
|
100
|
-
}
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
end
|
data/lib/zm/client/constant.rb
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Zm
|
|
4
|
-
module Client
|
|
5
|
-
COMMA = ','
|
|
6
|
-
DOUBLEPOINT = ' :: '
|
|
7
|
-
|
|
8
|
-
module Regex
|
|
9
|
-
UUID_REGEX = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/
|
|
10
|
-
BASEDN_REGEX = /^uid=/
|
|
11
|
-
SHARED_CONTACT = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}:[0-9]+/
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
module FolderDefault
|
|
15
|
-
FolderData = Data.define(:id, :name, :path, :type)
|
|
16
|
-
|
|
17
|
-
ROOT = FolderData.new(1, '', '/', 'unknown')
|
|
18
|
-
INBOX = FolderData.new(2, 'Inbox', '/Inbox', 'message')
|
|
19
|
-
TRASH = FolderData.new(3, 'Trash', '/Trash', 'unknown')
|
|
20
|
-
JUNK = FolderData.new(4, 'Junk', '/Junk', 'message')
|
|
21
|
-
SENT = FolderData.new(5, 'Sent', '/Sent', 'message')
|
|
22
|
-
DRAFTS = FolderData.new(6, 'Drafts', '/Drafts', 'message')
|
|
23
|
-
CONTACTS = FolderData.new(7, 'Contacts', '/Contacts', 'contact')
|
|
24
|
-
CALENDAR = FolderData.new(10, 'Calendar', '/Calendar', 'appointment')
|
|
25
|
-
EMAILED = FolderData.new(13, 'Emailed Contacts', '/Emailed Contacts', 'contact')
|
|
26
|
-
CHATS = FolderData.new(14, 'Chats', '/Chats', 'message')
|
|
27
|
-
TASKS = FolderData.new(15, 'Tasks', '/Tasks', 'task')
|
|
28
|
-
BRIEFCASE = FolderData.new(16, 'Briefcase', '/Briefcase', 'document')
|
|
29
|
-
|
|
30
|
-
ALL = [
|
|
31
|
-
ROOT,
|
|
32
|
-
BRIEFCASE,
|
|
33
|
-
CALENDAR,
|
|
34
|
-
CHATS,
|
|
35
|
-
CONTACTS,
|
|
36
|
-
DRAFTS,
|
|
37
|
-
EMAILED,
|
|
38
|
-
INBOX,
|
|
39
|
-
JUNK,
|
|
40
|
-
SENT,
|
|
41
|
-
TASKS,
|
|
42
|
-
TRASH
|
|
43
|
-
].freeze
|
|
44
|
-
|
|
45
|
-
IDS = ALL.map(&:id).freeze
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
module ShareType
|
|
49
|
-
VIEWER = :r
|
|
50
|
-
MANAGER = :rwidx
|
|
51
|
-
ADMIN = :rwidxa
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
module FolderView
|
|
55
|
-
UNKNOWN = 'unknown'
|
|
56
|
-
MESSAGE = 'message'
|
|
57
|
-
APPOINTMENT = 'appointment'
|
|
58
|
-
TASK = 'task'
|
|
59
|
-
DOCUMENT = 'document'
|
|
60
|
-
CONTACT = 'contact'
|
|
61
|
-
ALL = [MESSAGE, APPOINTMENT, TASK, DOCUMENT, CONTACT].freeze
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
module FolderType
|
|
65
|
-
FOLDER = :folder
|
|
66
|
-
LINK = :link
|
|
67
|
-
SEARCH = :search
|
|
68
|
-
ALL = [FOLDER, LINK, SEARCH].freeze
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
module SoapUtils
|
|
72
|
-
MAX_RESULT = 1_000_000
|
|
73
|
-
ON = 1
|
|
74
|
-
OFF = 0
|
|
75
|
-
OFFSET = 0
|
|
76
|
-
LIMIT_RESULT = 10_000
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
module SearchType
|
|
80
|
-
ACCOUNT = :accounts
|
|
81
|
-
DL = :distributionlists
|
|
82
|
-
ALIAS = :aliases
|
|
83
|
-
RESOURCE = :resources
|
|
84
|
-
DOMAIN = :domains
|
|
85
|
-
COS = :coses
|
|
86
|
-
|
|
87
|
-
module Attributes
|
|
88
|
-
ACCOUNT = %w[
|
|
89
|
-
displayName
|
|
90
|
-
zimbraId
|
|
91
|
-
cn
|
|
92
|
-
sn
|
|
93
|
-
zimbraMailHost
|
|
94
|
-
uid
|
|
95
|
-
zimbraCOSId
|
|
96
|
-
zimbraAccountStatus
|
|
97
|
-
zimbraLastLogonTimestamp
|
|
98
|
-
description
|
|
99
|
-
zimbraIsSystemAccount
|
|
100
|
-
zimbraIsDelegatedAdminAccount
|
|
101
|
-
zimbraAuthTokenValidityValue
|
|
102
|
-
zimbraMailStatus
|
|
103
|
-
zimbraIsAdminAccount
|
|
104
|
-
zimbraIsExternalVirtualAccount
|
|
105
|
-
].freeze
|
|
106
|
-
|
|
107
|
-
DL = %w[
|
|
108
|
-
displayName
|
|
109
|
-
zimbraId
|
|
110
|
-
zimbraMailHost
|
|
111
|
-
uid
|
|
112
|
-
description
|
|
113
|
-
zimbraMailStatus
|
|
114
|
-
zimbraMailAlias
|
|
115
|
-
].freeze
|
|
116
|
-
|
|
117
|
-
ALIAS = %w[
|
|
118
|
-
zimbraAliasTargetId
|
|
119
|
-
zimbraId
|
|
120
|
-
targetName
|
|
121
|
-
uid
|
|
122
|
-
type
|
|
123
|
-
description
|
|
124
|
-
zimbraIsDelegatedAdminAccount
|
|
125
|
-
zimbraIsAdminAccount
|
|
126
|
-
zimbraIsSystemResource
|
|
127
|
-
zimbraIsSystemAccount
|
|
128
|
-
zimbraIsExternalVirtualAccount
|
|
129
|
-
].freeze
|
|
130
|
-
|
|
131
|
-
RESOURCE = %w[
|
|
132
|
-
displayName
|
|
133
|
-
zimbraId
|
|
134
|
-
zimbraMailHost
|
|
135
|
-
uid
|
|
136
|
-
zimbraAccountStatus
|
|
137
|
-
description
|
|
138
|
-
zimbraCalResType
|
|
139
|
-
zimbraIsDelegatedAdminAccount
|
|
140
|
-
zimbraIsAdminAccount
|
|
141
|
-
zimbraIsSystemResource
|
|
142
|
-
zimbraIsSystemAccount
|
|
143
|
-
zimbraIsExternalVirtualAccount
|
|
144
|
-
].freeze
|
|
145
|
-
|
|
146
|
-
DOMAIN = %w[
|
|
147
|
-
description
|
|
148
|
-
zimbraDomainName
|
|
149
|
-
zimbraDomainStatus
|
|
150
|
-
zimbraId
|
|
151
|
-
zimbraDomainType
|
|
152
|
-
zimbraDomainDefaultCOSId
|
|
153
|
-
].freeze
|
|
154
|
-
|
|
155
|
-
COS = %w[
|
|
156
|
-
cn
|
|
157
|
-
description
|
|
158
|
-
zimbraMailHostPool
|
|
159
|
-
zimbraMailQuota
|
|
160
|
-
].freeze
|
|
161
|
-
end
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
module ServerServices
|
|
165
|
-
AMAVIS = 'amavis'
|
|
166
|
-
ANTIVIRUS = 'antivirus'
|
|
167
|
-
ANTISPAM = 'antispam'
|
|
168
|
-
OPENDKIM = 'opendkim'
|
|
169
|
-
DNSCACHE = 'dnscache'
|
|
170
|
-
LOGGER = 'logger'
|
|
171
|
-
LDAP = 'ldap'
|
|
172
|
-
SERVICE = 'service'
|
|
173
|
-
ZIMBRA = 'zimbra'
|
|
174
|
-
ZIMBRA_ADMIN = 'zimbraAdmin'
|
|
175
|
-
ZIMLET = 'zimlet'
|
|
176
|
-
MAILBOX = 'mailbox'
|
|
177
|
-
MEMCACHED = 'memcached'
|
|
178
|
-
SPELL = 'spell'
|
|
179
|
-
MTA = 'mta'
|
|
180
|
-
PROXY = 'proxy'
|
|
181
|
-
STATS = 'stats'
|
|
182
|
-
SNMP = 'snmp'
|
|
183
|
-
end
|
|
184
|
-
|
|
185
|
-
module MtaQueueName
|
|
186
|
-
INCOMING = 'incoming'
|
|
187
|
-
DEFERRED = 'deferred'
|
|
188
|
-
CORRUPT = 'corrupt'
|
|
189
|
-
ACTIVE = 'active'
|
|
190
|
-
HOLD = 'hold'
|
|
191
|
-
ALL = [INCOMING, DEFERRED, CORRUPT, ACTIVE, HOLD].freeze
|
|
192
|
-
end
|
|
193
|
-
|
|
194
|
-
module MtaQueueAction
|
|
195
|
-
HOLD = 'hold'
|
|
196
|
-
RELEASE = 'release'
|
|
197
|
-
DELETE = 'delete'
|
|
198
|
-
REQUEUE = 'requeue'
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
module BackupTypes
|
|
202
|
-
FULL = 'full'
|
|
203
|
-
INCREMENTAL = 'incremental'
|
|
204
|
-
end
|
|
205
|
-
|
|
206
|
-
module CountTypes
|
|
207
|
-
USER_ACCOUNT = 'userAccount'
|
|
208
|
-
ACCOUNT = 'account'
|
|
209
|
-
ALIAS = 'alias'
|
|
210
|
-
DL = 'dl'
|
|
211
|
-
DOMAIN = 'domain'
|
|
212
|
-
COS = 'cos'
|
|
213
|
-
SERVER = 'server'
|
|
214
|
-
RESOURCE = 'calresource'
|
|
215
|
-
INTERNAL_USER_ACCOUNT = 'internalUserAccount'
|
|
216
|
-
ALL = [USER_ACCOUNT, ACCOUNT, ALIAS, DL, DOMAIN, COS, SERVER, RESOURCE, INTERNAL_USER_ACCOUNT].freeze
|
|
217
|
-
end
|
|
218
|
-
|
|
219
|
-
module ContentType
|
|
220
|
-
TEXT = 'text/plain'
|
|
221
|
-
HTML = 'text/html'
|
|
222
|
-
ALL = [TEXT, HTML].freeze
|
|
223
|
-
end
|
|
224
|
-
|
|
225
|
-
module ContentPart
|
|
226
|
-
ALTERNATIVE = 'multipart/alternative'
|
|
227
|
-
end
|
|
228
|
-
end
|
|
229
|
-
end
|
data/lib/zm/client/contact.rb
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/contact/contact'
|
|
4
|
-
require 'zm/client/contact/contact_members_collection'
|
|
5
|
-
require 'zm/client/contact/mod_group_contact'
|
|
6
|
-
require 'zm/client/contact/contact_jsns_initializer'
|
|
7
|
-
require 'zm/client/contact/contact_jsns_builder'
|
|
8
|
-
require 'zm/client/contact/group_contact_jsns_builder'
|
|
9
|
-
require 'zm/client/contact/contact_member'
|
|
10
|
-
require 'zm/client/contact/contacts_builder'
|
|
11
|
-
require 'zm/client/contact/contacts_collection'
|
data/lib/zm/client/cos.rb
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/cos/cos'
|
|
4
|
-
require 'zm/client/cos/cos_jsns_initializer'
|
|
5
|
-
require 'zm/client/cos/cos_jsns_builder'
|
|
6
|
-
require 'zm/client/cos/coses_builder'
|
|
7
|
-
require 'zm/client/cos/coses_collection'
|
|
8
|
-
require 'zm/client/cos/cos_servers_collection'
|
|
9
|
-
require 'zm/client/cos/cos_domains_collection'
|
|
10
|
-
require 'zm/client/cos/cos_accounts_collection'
|
data/lib/zm/client/datasource.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/datasource/datasource'
|
|
4
|
-
require 'zm/client/datasource/datasource_jsns_initializer'
|
|
5
|
-
require 'zm/client/datasource/datasource_jsns_builder'
|
|
6
|
-
require 'zm/client/datasource/datasources_builder'
|
|
7
|
-
require 'zm/client/datasource/datasources_collection'
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/distributionlist/distributionlist'
|
|
4
|
-
require 'zm/client/distributionlist/distributionlist_jsns_builder'
|
|
5
|
-
require 'zm/client/distributionlist/distributionlist_jsns_initializer'
|
|
6
|
-
require 'zm/client/distributionlist/distributionlists_builder'
|
|
7
|
-
require 'zm/client/distributionlist/distributionlists_collection'
|
|
8
|
-
require 'zm/client/distributionlist/dls_membership_collection'
|
data/lib/zm/client/document.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/document/document'
|
|
4
|
-
require 'zm/client/document/document_jsns_initializer'
|
|
5
|
-
require 'zm/client/document/document_jsns_builder'
|
|
6
|
-
require 'zm/client/document/documents_builder'
|
|
7
|
-
require 'zm/client/document/documents_collection'
|
data/lib/zm/client/domain.rb
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/domain/domain'
|
|
4
|
-
require 'zm/client/domain/domains_builder'
|
|
5
|
-
require 'zm/client/domain/domain_jsns_builder'
|
|
6
|
-
require 'zm/client/domain/domain_jsns_initializer'
|
|
7
|
-
require 'zm/client/domain/domains_collection'
|
|
8
|
-
require 'zm/client/domain/domain_accounts_collection'
|
|
9
|
-
require 'zm/client/domain/domain_distributionlists_collection'
|
|
10
|
-
require 'zm/client/domain/domain_resources_collection'
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/filter_rules/filter_rule'
|
|
4
|
-
require 'zm/client/filter_rules/filter_rule_jsns_initializer'
|
|
5
|
-
require 'zm/client/filter_rules/filter_rules_builder'
|
|
6
|
-
require 'zm/client/filter_rules/filter_rules_collection'
|
|
7
|
-
require 'zm/client/filter_rules/outgoing_filter_rules_collection'
|
data/lib/zm/client/folder.rb
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/folder/folder'
|
|
4
|
-
require 'zm/client/folder/folder_jsns_builder'
|
|
5
|
-
require 'zm/client/folder/folder_jsns_initializer'
|
|
6
|
-
require 'zm/client/folder/folders_jsns_builder'
|
|
7
|
-
require 'zm/client/folder/folder_grant'
|
|
8
|
-
require 'zm/client/folder/folder_grants_collection'
|
|
9
|
-
require 'zm/client/folder/folder_grant_jsns_builder'
|
|
10
|
-
require 'zm/client/folder/folder_retention_policy'
|
|
11
|
-
require 'zm/client/folder/folder_retention_policies_collection'
|
|
12
|
-
require 'zm/client/folder/folders_builder'
|
|
13
|
-
require 'zm/client/folder/folders_collection'
|
|
14
|
-
require 'zm/client/folder/mod_document_folder'
|
data/lib/zm/client/identity.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/identity/identity'
|
|
4
|
-
require 'zm/client/identity/identity_jsns_builder'
|
|
5
|
-
require 'zm/client/identity/identity_jsns_initializer'
|
|
6
|
-
require 'zm/client/identity/identities_builder'
|
|
7
|
-
require 'zm/client/identity/identities_collection'
|
data/lib/zm/client/license.rb
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Zm
|
|
4
|
-
module Client
|
|
5
|
-
class Message
|
|
6
|
-
# collection attachments
|
|
7
|
-
class AttachmentsCollection
|
|
8
|
-
include MissingMethodStaticCollection
|
|
9
|
-
|
|
10
|
-
attr_reader :all
|
|
11
|
-
|
|
12
|
-
def initialize
|
|
13
|
-
@all = []
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def add(attachment)
|
|
17
|
-
return unless attachment.is_a?(Attachment)
|
|
18
|
-
|
|
19
|
-
@all.push(attachment)
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# class attachment for email
|
|
24
|
-
class Attachment
|
|
25
|
-
attr_accessor :aid, :part, :mid, :ct, :s, :filename, :ci, :cd
|
|
26
|
-
|
|
27
|
-
def initialize(parent)
|
|
28
|
-
@parent = parent
|
|
29
|
-
yield(self) if block_given?
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def download(dest_file_path)
|
|
33
|
-
h = {
|
|
34
|
-
id: @parent.id,
|
|
35
|
-
part: part,
|
|
36
|
-
auth: 'qp',
|
|
37
|
-
zauthtoken: account.token,
|
|
38
|
-
disp: 'a'
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
url = account.home_url
|
|
42
|
-
|
|
43
|
-
url << '?' << h.map { |k, v| "#{k}=#{v}" }.join('&')
|
|
44
|
-
|
|
45
|
-
uploader = @parent.build_uploader
|
|
46
|
-
uploader.download_file_with_url(url, dest_file_path)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def account
|
|
50
|
-
@parent.parent
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
end
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Zm
|
|
4
|
-
module Client
|
|
5
|
-
# class message for account
|
|
6
|
-
class Message
|
|
7
|
-
class FlagsCollection
|
|
8
|
-
def initialize(parent)
|
|
9
|
-
@parent = parent
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def all
|
|
13
|
-
@all ||= @parent.f.to_s.chars
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
# properties
|
|
17
|
-
|
|
18
|
-
def unread?
|
|
19
|
-
all.include?('u')
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def flagged?
|
|
23
|
-
all.include?('f')
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def attachment?
|
|
27
|
-
all.include?('a')
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def replied
|
|
31
|
-
all.include?('r')
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def sent_by_me?
|
|
35
|
-
all.include?('s')
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def forwarded?
|
|
39
|
-
all.include?('w')
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def calendar_invite?
|
|
43
|
-
all.include?('v')
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def draft?
|
|
47
|
-
all.include?('d')
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def imap_deleted?
|
|
51
|
-
all.include?('x')
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def notification?
|
|
55
|
-
all.include?('n')
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def urgent?
|
|
59
|
-
all.include?('!')
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
def low_priority?
|
|
63
|
-
all.include?('?')
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def priority?
|
|
67
|
-
all.include?('+')
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
# actions
|
|
71
|
-
|
|
72
|
-
def unread!
|
|
73
|
-
@parent.soap_connector.invoke(build_unread)
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
def build_unread
|
|
77
|
-
build({ op: '!read', id: @parent.id })
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
def read!
|
|
81
|
-
@parent.soap_connector.invoke(build_read)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
def build_read
|
|
85
|
-
build({ op: 'read', id: @parent.id })
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
def unflag!
|
|
89
|
-
@parent.soap_connector.invoke(build_unflag)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def build_unflag
|
|
93
|
-
build({ op: '!flag', id: @parent.id })
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
def flag!
|
|
97
|
-
@parent.soap_connector.invoke(build_flag)
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def build_flag
|
|
101
|
-
build({ op: 'flag', id: @parent.id })
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
private
|
|
105
|
-
|
|
106
|
-
def build(attrs)
|
|
107
|
-
soap_request = SoapElement.mail(SoapMailConstants::ITEM_ACTION_REQUEST)
|
|
108
|
-
node_action = SoapElement.create(SoapConstants::ACTION).add_attributes(attrs)
|
|
109
|
-
soap_request.add_node(node_action)
|
|
110
|
-
soap_request
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|
data/lib/zm/client/message.rb
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/message/message'
|
|
4
|
-
require 'zm/client/message/message_flags'
|
|
5
|
-
require 'zm/client/message/message_recipients'
|
|
6
|
-
require 'zm/client/message/attachments_collection'
|
|
7
|
-
require 'zm/client/message/message_jsns_builder'
|
|
8
|
-
require 'zm/client/message/message_jsns_initializer'
|
|
9
|
-
require 'zm/client/message/messages_builder'
|
|
10
|
-
require 'zm/client/message/messages_collection'
|
data/lib/zm/client/mountpoint.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/mountpoint/mountpoint'
|
|
4
|
-
require 'zm/client/mountpoint/mountpoint_jsns_builder'
|
|
5
|
-
require 'zm/client/mountpoint/mountpoint_jsns_initializer'
|
|
6
|
-
require 'zm/client/mountpoint/mountpoints_builder'
|
|
7
|
-
require 'zm/client/mountpoint/mountpoints_collection'
|
data/lib/zm/client/mta_queue.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/mta_queue/mta_queue'
|
|
4
|
-
require 'zm/client/mta_queue/mta_queue_jsns_initializer'
|
|
5
|
-
require 'zm/client/mta_queue/mta_queue_jsns_builder'
|
|
6
|
-
require 'zm/client/mta_queue/mta_queues_builder'
|
|
7
|
-
require 'zm/client/mta_queue/mta_queues_collection'
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/mta_queue_item/mta_queue_item'
|
|
4
|
-
require 'zm/client/mta_queue_item/mta_queue_item_jsns_initializer'
|
|
5
|
-
require 'zm/client/mta_queue_item/mta_queue_items_builder'
|
|
6
|
-
require 'zm/client/mta_queue_item/mta_queue_items_collection'
|
data/lib/zm/client/resource.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/resource/resource'
|
|
4
|
-
require 'zm/client/resource/resource_jsns_builder'
|
|
5
|
-
require 'zm/client/resource/resource_jsns_initializer'
|
|
6
|
-
require 'zm/client/resource/resources_builder'
|
|
7
|
-
require 'zm/client/resource/resources_collection'
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/search_folder/search_folder'
|
|
4
|
-
require 'zm/client/search_folder/search_folder_jsns_builder'
|
|
5
|
-
require 'zm/client/search_folder/search_folder_jsns_initializer'
|
|
6
|
-
require 'zm/client/search_folder/search_folders_builder'
|
|
7
|
-
require 'zm/client/search_folder/search_folders_collection'
|
data/lib/zm/client/server.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/server/server'
|
|
4
|
-
require 'zm/client/server/server_jsns_initializer'
|
|
5
|
-
require 'zm/client/server/servers_builder'
|
|
6
|
-
require 'zm/client/server/servers_collection'
|
|
7
|
-
require 'zm/client/server/server_accounts_collection'
|
data/lib/zm/client/share.rb
DELETED
data/lib/zm/client/signature.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'zm/client/signature/signature'
|
|
4
|
-
require 'zm/client/signature/signature_jsns_builder'
|
|
5
|
-
require 'zm/client/signature/signature_jsns_initializer'
|
|
6
|
-
require 'zm/client/signature/signatures_builder'
|
|
7
|
-
require 'zm/client/signature/signatures_collection'
|