zm-ruby-client 0.18.3 → 2.0.2

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.
Files changed (250) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/Gemfile +2 -2
  4. data/README.md +7 -0
  5. data/lib/zm/client/account/account.rb +31 -319
  6. data/lib/zm/client/account/account_aliases_collection.rb +52 -0
  7. data/lib/zm/client/account/account_dls_membership_collection.rb +4 -1
  8. data/lib/zm/client/account/account_dls_owner_collection.rb +8 -1
  9. data/lib/zm/client/account/account_jsns_builder.rb +77 -0
  10. data/lib/zm/client/account/account_jsns_initializer.rb +9 -24
  11. data/lib/zm/client/account/accounts_builder.rb +0 -1
  12. data/lib/zm/client/account/accounts_collection.rb +32 -8
  13. data/lib/zm/client/account.rb +1 -0
  14. data/lib/zm/client/ace/ace.rb +6 -22
  15. data/lib/zm/client/ace/ace_jsns_builder.rb +15 -16
  16. data/lib/zm/client/ace/ace_jsns_initializer.rb +0 -1
  17. data/lib/zm/client/ace/aces_builder.rb +0 -1
  18. data/lib/zm/client/ace/aces_collection.rb +2 -18
  19. data/lib/zm/client/appointment/appointment.rb +38 -30
  20. data/lib/zm/client/appointment/appointment_jsns_builder.rb +22 -34
  21. data/lib/zm/client/appointment/appointment_jsns_initializer.rb +6 -3
  22. data/lib/zm/client/appointment/appointments_builder.rb +6 -18
  23. data/lib/zm/client/appointment/appointments_collection.rb +25 -4
  24. data/lib/zm/client/backup/backup.rb +4 -32
  25. data/lib/zm/client/backup/backup_jsns_initializer.rb +26 -0
  26. data/lib/zm/client/backup/backups_builder.rb +8 -13
  27. data/lib/zm/client/backup/backups_collection.rb +2 -1
  28. data/lib/zm/client/backup.rb +1 -0
  29. data/lib/zm/client/base/account_search_objects_collection.rb +34 -13
  30. data/lib/zm/client/base/admin_objects_collection.rb +82 -17
  31. data/lib/zm/client/base/base_account_jsns_builder.rb +98 -0
  32. data/lib/zm/client/base/base_jsns_builder.rb +47 -0
  33. data/lib/zm/client/base/base_jsns_initializer.rb +43 -12
  34. data/lib/zm/client/base/ldap_filter.rb +20 -5
  35. data/lib/zm/client/base/mailbox_infos_collection.rb +88 -0
  36. data/lib/zm/client/base/mailbox_object.rb +299 -0
  37. data/lib/zm/client/base/mailbox_prefs_collection.rb +75 -0
  38. data/lib/zm/client/base/object.rb +28 -62
  39. data/lib/zm/client/base/objects_builder.rb +4 -10
  40. data/lib/zm/client/base/objects_collection.rb +13 -10
  41. data/lib/zm/client/base/zimbra_attribute.rb +10 -8
  42. data/lib/zm/client/base/zimbra_attributes_collection.rb +154 -10
  43. data/lib/zm/client/base.rb +5 -5
  44. data/lib/zm/client/cluster/cluster.rb +43 -39
  45. data/lib/zm/client/cluster/cluster_config.rb +5 -5
  46. data/lib/zm/client/common/recipients.rb +3 -3
  47. data/lib/zm/client/common/token_metadata.rb +4 -1
  48. data/lib/zm/client/common/utils.rb +57 -0
  49. data/lib/zm/client/common.rb +2 -1
  50. data/lib/zm/client/connector/rest_account.rb +14 -4
  51. data/lib/zm/client/connector/soap_account.rb +38 -441
  52. data/lib/zm/client/connector/soap_admin.rb +16 -552
  53. data/lib/zm/client/connector/soap_base.rb +25 -5
  54. data/lib/zm/client/connector/soap_error.rb +1 -3
  55. data/lib/zm/client/constant.rb +21 -11
  56. data/lib/zm/client/contact/contact.rb +42 -83
  57. data/lib/zm/client/contact/contact_jsns_builder.rb +60 -0
  58. data/lib/zm/client/contact/contact_jsns_initializer.rb +78 -0
  59. data/lib/zm/client/contact/contact_member.rb +29 -28
  60. data/lib/zm/client/contact/contact_members_collection.rb +44 -0
  61. data/lib/zm/client/contact/contacts_builder.rb +8 -1
  62. data/lib/zm/client/contact/contacts_collection.rb +17 -1
  63. data/lib/zm/client/contact/group_contact_jsns_builder.rb +51 -0
  64. data/lib/zm/client/contact/mod_group_contact.rb +4 -67
  65. data/lib/zm/client/contact.rb +5 -1
  66. data/lib/zm/client/cos/cos.rb +35 -40
  67. data/lib/zm/client/cos/cos_accounts_collection.rb +19 -0
  68. data/lib/zm/client/cos/cos_domains_collection.rb +20 -0
  69. data/lib/zm/client/cos/cos_jsns_builder.rb +72 -0
  70. data/lib/zm/client/cos/cos_jsns_initializer.rb +29 -0
  71. data/lib/zm/client/cos/cos_servers_collection.rb +60 -0
  72. data/lib/zm/client/cos/coses_builder.rb +8 -1
  73. data/lib/zm/client/cos/coses_collection.rb +8 -5
  74. data/lib/zm/client/cos.rb +5 -0
  75. data/lib/zm/client/datasource/datasource.rb +69 -0
  76. data/lib/zm/client/datasource/datasource_jsns_builder.rb +32 -0
  77. data/lib/zm/client/datasource/datasource_jsns_initializer.rb +27 -0
  78. data/lib/zm/client/datasource/datasources_builder.rb +29 -0
  79. data/lib/zm/client/datasource/datasources_collection.rb +21 -0
  80. data/lib/zm/client/datasource.rb +7 -0
  81. data/lib/zm/client/distributionlist/distributionlist.rb +52 -118
  82. data/lib/zm/client/distributionlist/distributionlist_aces_collection.rb +31 -0
  83. data/lib/zm/client/distributionlist/distributionlist_aliases_collection.rb +53 -0
  84. data/lib/zm/client/distributionlist/distributionlist_jsns_builder.rb +82 -0
  85. data/lib/zm/client/distributionlist/distributionlist_jsns_initializer.rb +32 -0
  86. data/lib/zm/client/distributionlist/distributionlist_members_collection.rb +47 -0
  87. data/lib/zm/client/distributionlist/distributionlist_owners_collection.rb +52 -0
  88. data/lib/zm/client/distributionlist/distributionlists_builder.rb +8 -1
  89. data/lib/zm/client/distributionlist/distributionlists_collection.rb +8 -9
  90. data/lib/zm/client/distributionlist/dls_membership_collection.rb +4 -1
  91. data/lib/zm/client/distributionlist.rb +2 -0
  92. data/lib/zm/client/document/document.rb +27 -24
  93. data/lib/zm/client/document/document_jsns_builder.rb +18 -0
  94. data/lib/zm/client/document/document_jsns_initializer.rb +44 -0
  95. data/lib/zm/client/document/documents_builder.rb +6 -16
  96. data/lib/zm/client/document/documents_collection.rb +17 -67
  97. data/lib/zm/client/document.rb +2 -0
  98. data/lib/zm/client/domain/domain.rb +45 -68
  99. data/lib/zm/client/domain/domain_accounts_collection.rb +1 -1
  100. data/lib/zm/client/domain/domain_distributionlists_collection.rb +13 -0
  101. data/lib/zm/client/domain/domain_jsns_builder.rb +69 -0
  102. data/lib/zm/client/domain/domain_jsns_initializer.rb +25 -0
  103. data/lib/zm/client/domain/domain_resources_collection.rb +13 -0
  104. data/lib/zm/client/domain/domains_builder.rb +8 -1
  105. data/lib/zm/client/domain/domains_collection.rb +7 -7
  106. data/lib/zm/client/domain.rb +4 -0
  107. data/lib/zm/client/filter_rule.rb +7 -0
  108. data/lib/zm/client/filter_rules/filter_rule.rb +10 -0
  109. data/lib/zm/client/filter_rules/filter_rule_jsns_initializer.rb +24 -0
  110. data/lib/zm/client/filter_rules/filter_rules_builder.rb +21 -0
  111. data/lib/zm/client/filter_rules/filter_rules_collection.rb +21 -0
  112. data/lib/zm/client/filter_rules/outgoing_filter_rules_collection.rb +15 -0
  113. data/lib/zm/client/folder/folder.rb +77 -61
  114. data/lib/zm/client/folder/folder_grant.rb +34 -14
  115. data/lib/zm/client/folder/folder_grant_jsns_builder.rb +15 -4
  116. data/lib/zm/client/folder/folder_grants_collection.rb +36 -2
  117. data/lib/zm/client/folder/folder_jsns_builder.rb +22 -48
  118. data/lib/zm/client/folder/folder_jsns_initializer.rb +34 -17
  119. data/lib/zm/client/folder/folder_retention_policies_collection.rb +2 -3
  120. data/lib/zm/client/folder/folder_retention_policy.rb +0 -1
  121. data/lib/zm/client/folder/folders_builder.rb +7 -10
  122. data/lib/zm/client/folder/folders_collection.rb +5 -2
  123. data/lib/zm/client/folder/folders_jsns_builder.rb +3 -1
  124. data/lib/zm/client/folder/mod_document_folder.rb +10 -6
  125. data/lib/zm/client/folder.rb +1 -1
  126. data/lib/zm/client/identity/identities_builder.rb +8 -1
  127. data/lib/zm/client/identity/identities_collection.rb +2 -1
  128. data/lib/zm/client/identity/identity.rb +34 -42
  129. data/lib/zm/client/identity/identity_jsns_builder.rb +57 -0
  130. data/lib/zm/client/identity/identity_jsns_initializer.rb +29 -0
  131. data/lib/zm/client/identity.rb +3 -1
  132. data/lib/zm/client/license/license.rb +9 -22
  133. data/lib/zm/client/license/license_jsns_initializer.rb +20 -0
  134. data/lib/zm/client/license/licenses_collection.rb +3 -13
  135. data/lib/zm/client/license.rb +2 -1
  136. data/lib/zm/client/message/attachments_collection.rb +55 -0
  137. data/lib/zm/client/message/message.rb +36 -264
  138. data/lib/zm/client/message/message_flags.rb +107 -0
  139. data/lib/zm/client/message/message_jsns_builder.rb +85 -0
  140. data/lib/zm/client/message/message_jsns_initializer.rb +71 -0
  141. data/lib/zm/client/message/message_recipients.rb +59 -0
  142. data/lib/zm/client/message/messages_builder.rb +7 -18
  143. data/lib/zm/client/message/messages_collection.rb +17 -2
  144. data/lib/zm/client/message.rb +5 -0
  145. data/lib/zm/client/mountpoint/mountpoint.rb +43 -21
  146. data/lib/zm/client/mountpoint/mountpoint_jsns_builder.rb +8 -53
  147. data/lib/zm/client/mountpoint/mountpoint_jsns_initializer.rb +22 -13
  148. data/lib/zm/client/mountpoint/mountpoints_builder.rb +4 -5
  149. data/lib/zm/client/mountpoint/mountpoints_collection.rb +1 -2
  150. data/lib/zm/client/mta_queue/mta_queue.rb +13 -28
  151. data/lib/zm/client/mta_queue/mta_queue_jsns_builder.rb +41 -0
  152. data/lib/zm/client/mta_queue/mta_queue_jsns_initializer.rb +23 -0
  153. data/lib/zm/client/mta_queue/mta_queues_builder.rb +4 -8
  154. data/lib/zm/client/mta_queue/mta_queues_collection.rb +8 -27
  155. data/lib/zm/client/mta_queue.rb +2 -0
  156. data/lib/zm/client/mta_queue_item/mta_queue_item.rb +4 -31
  157. data/lib/zm/client/mta_queue_item/mta_queue_item_jsns_initializer.rb +33 -0
  158. data/lib/zm/client/mta_queue_item/mta_queue_items_builder.rb +4 -9
  159. data/lib/zm/client/mta_queue_item/mta_queue_items_collection.rb +7 -42
  160. data/lib/zm/client/mta_queue_item.rb +2 -1
  161. data/lib/zm/client/resource/resource.rb +24 -91
  162. data/lib/zm/client/resource/resource_jsns_builder.rb +79 -0
  163. data/lib/zm/client/resource/resource_jsns_initializer.rb +29 -0
  164. data/lib/zm/client/resource/resources_builder.rb +8 -1
  165. data/lib/zm/client/resource/resources_collection.rb +9 -7
  166. data/lib/zm/client/resource.rb +2 -0
  167. data/lib/zm/client/search_folder/search_folder.rb +38 -16
  168. data/lib/zm/client/search_folder/search_folder_jsns_builder.rb +38 -19
  169. data/lib/zm/client/search_folder/search_folder_jsns_initializer.rb +17 -13
  170. data/lib/zm/client/search_folder/search_folders_builder.rb +0 -1
  171. data/lib/zm/client/search_folder/search_folders_collection.rb +2 -1
  172. data/lib/zm/client/server/server.rb +16 -488
  173. data/lib/zm/client/server/server_jsns_initializer.rb +16 -0
  174. data/lib/zm/client/server/servers_builder.rb +8 -1
  175. data/lib/zm/client/server/servers_collection.rb +13 -5
  176. data/lib/zm/client/server.rb +1 -0
  177. data/lib/zm/client/share/share.rb +5 -43
  178. data/lib/zm/client/share/share_jsns_initializer.rb +32 -0
  179. data/lib/zm/client/share/share_mountpoints_collection.rb +38 -0
  180. data/lib/zm/client/share/shares_builder.rb +8 -1
  181. data/lib/zm/client/share/shares_collection.rb +11 -16
  182. data/lib/zm/client/share.rb +2 -0
  183. data/lib/zm/client/signature/signature.rb +25 -29
  184. data/lib/zm/client/signature/signature_jsns_builder.rb +31 -13
  185. data/lib/zm/client/signature/signature_jsns_initializer.rb +16 -12
  186. data/lib/zm/client/signature/signatures_builder.rb +1 -2
  187. data/lib/zm/client/signature/signatures_collection.rb +2 -1
  188. data/lib/zm/client/signature.rb +1 -1
  189. data/lib/zm/client/soap_request/account_soap_constants.rb +76 -0
  190. data/lib/zm/client/soap_request/admin_soap_constants.rb +214 -0
  191. data/lib/zm/client/soap_request/mail_soap_constants.rb +162 -0
  192. data/lib/zm/client/soap_request/soap_constants.rb +55 -0
  193. data/lib/zm/client/soap_request/soap_context.rb +38 -0
  194. data/lib/zm/client/soap_request/soap_element.rb +90 -0
  195. data/lib/zm/client/soap_request.rb +8 -0
  196. data/lib/zm/client/tag/account_object_tags_collection.rb +65 -0
  197. data/lib/zm/client/tag/tag.rb +34 -22
  198. data/lib/zm/client/tag/tag_jsns_builder.rb +14 -35
  199. data/lib/zm/client/tag/tag_jsns_initializer.rb +4 -6
  200. data/lib/zm/client/tag/tags_builder.rb +0 -1
  201. data/lib/zm/client/tag/tags_collection.rb +2 -1
  202. data/lib/zm/client/tag.rb +1 -0
  203. data/lib/zm/client/task/task.rb +18 -49
  204. data/lib/zm/client/task/task_jsns_initializer.rb +45 -0
  205. data/lib/zm/client/task/tasks_builder.rb +6 -16
  206. data/lib/zm/client/task/tasks_collection.rb +29 -0
  207. data/lib/zm/client/task.rb +1 -0
  208. data/lib/zm/client/upload/upload.rb +26 -30
  209. data/lib/zm/client/version.rb +3 -3
  210. data/lib/zm/client.rb +4 -1
  211. data/lib/zm/modules/base.rb +10 -0
  212. data/lib/zm/modules/belongs_to_folder.rb +37 -0
  213. data/lib/zm/modules/belongs_to_tag.rb +11 -0
  214. data/lib/zm/modules/common/zimbra-attrs.json +33 -1
  215. data/lib/zm/modules/has_soap_admin_connector.rb +12 -0
  216. data/lib/zm/modules/inspector.rb +24 -0
  217. data/lib/zm/modules/missing_method_static_collection.rb +13 -0
  218. data/lib/zm/modules/zm_logger.rb +3 -1
  219. data/lib/zm/modules/zm_model.rb +4 -2
  220. data/lib/zm/utils/thread_pool.rb +4 -2
  221. data/lib/zm-ruby-client.rb +2 -0
  222. data/zm-ruby-client.gemspec +12 -9
  223. metadata +93 -34
  224. data/lib/zm/client/base/account_object.rb +0 -51
  225. data/lib/zm/client/base/admin_object.rb +0 -51
  226. data/lib/zm/client/base/folder_object.rb +0 -41
  227. data/lib/zm/client/config.rb +0 -12
  228. data/lib/zm/client/data_source.rb +0 -5
  229. data/lib/zm/modules/common/account_common.rb +0 -71
  230. data/lib/zm/modules/common/cos_common.rb +0 -463
  231. data/lib/zm/modules/common/dl_common.rb +0 -38
  232. data/lib/zm/modules/common/identity_common.rb +0 -19
  233. data/lib/zm/modules/common/resource_common.rb +0 -59
  234. data/lib/zm/modules/common/signature_common.rb +0 -16
  235. data/lib/zm/modules/common/zimbra-attrs.json.bak +0 -1
  236. data/test/accounts.rb +0 -89
  237. data/test/ace.rb +0 -50
  238. data/test/cluster.rb +0 -41
  239. data/test/cluster_config.rb +0 -30
  240. data/test/cluster_zimbra_attributes.rb +0 -38
  241. data/test/coses.rb +0 -26
  242. data/test/domains.rb +0 -70
  243. data/test/folder.rb +0 -125
  244. data/test/folder_grant.rb +0 -51
  245. data/test/mountpoint.rb +0 -49
  246. data/test/retention_policies.rb +0 -40
  247. data/test/search_folder.rb +0 -67
  248. data/test/signature.rb +0 -53
  249. data/test/tag.rb +0 -65
  250. data/test/zimbra_attributes.rb +0 -35
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zm
4
+ module Client
5
+ module HasSoapAdminConnector
6
+ def soap_admin_connector
7
+ @parent.soap_admin_connector
8
+ end
9
+ alias sac soap_admin_connector
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zm
4
+ module Inspector
5
+ def to_s
6
+ inspect
7
+ end
8
+
9
+ def to_h
10
+ Hash[instance_variables_map]
11
+ end
12
+
13
+ def inspect
14
+ keys_str = to_h.map { |k, v| "#{k}: #{v}" }.join(', ')
15
+ "#{self.class}:#{format('0x00%x', (object_id << 1))} #{keys_str}"
16
+ end
17
+
18
+ def instance_variables_map
19
+ keys = instance_variables.dup
20
+ keys.delete(:@parent)
21
+ keys.map { |key| [key, instance_variable_get(key)] }
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module MissingMethodStaticCollection
4
+ attr_reader :all
5
+
6
+ def method_missing(method, *args, &block)
7
+ if @all.respond_to?(method)
8
+ @all.send(method, *args, &block)
9
+ else
10
+ super
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ZmLogger
2
4
  attr_accessor :logger, :logger_file_path, :logger_level
3
5
 
@@ -21,4 +23,4 @@ module ZmLogger
21
23
  end
22
24
  logger
23
25
  end
24
- end
26
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Zm
2
4
  module Model
3
5
  module AttributeChangeObserver
@@ -17,11 +19,11 @@ module Zm
17
19
  def #{attr_name}_changed
18
20
  @#{attr_name}_changed ||= false
19
21
  end
20
-
22
+
21
23
  def #{attr_name}_changed?
22
24
  #{attr_name}_changed
23
25
  end
24
-
26
+
25
27
  def #{attr_name}=(value)
26
28
  return @#{attr_name} if value == @#{attr_name}
27
29
  @#{attr_name}_changed = true
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Zm
2
4
  module Utils
3
5
  class ThreadPool
@@ -20,7 +22,7 @@ module Zm
20
22
  @finish = true
21
23
  @result = result
22
24
  @number = number
23
- @jobs = [[ Proc.new {}, nil]]
25
+ @jobs = [[proc {}, nil]]
24
26
  end
25
27
 
26
28
  def jobs_size
@@ -61,7 +63,7 @@ module Zm
61
63
  loop do
62
64
  job, args = @jobs.pop
63
65
  job.call(*args)
64
- break if @jobs.size.zero?
66
+ break if @jobs.empty?
65
67
  end
66
68
  end
67
69
  end
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'zm/client'
@@ -1,29 +1,32 @@
1
1
  # frozen_string_literal: true
2
-
3
- lib = File.expand_path('lib', __dir__)
4
- $LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
2
+ lib = File.expand_path('../lib/', __FILE__)
3
+ $:.unshift lib unless $:.include?(lib)
5
4
 
6
5
  require './lib/zm-ruby-client'
7
6
 
8
7
  Gem::Specification.new do |s|
9
- s.platform = Gem::Platform::RUBY
8
+ s.platform = Gem::Platform::RUBY
10
9
  s.name = 'zm-ruby-client'
11
- s.version = Zm::Client.gem_version.to_s
10
+ s.version = Zm::Client::gem_version.to_s
12
11
  s.date = `date '+%Y-%m-%d'`
13
12
  s.summary = 'zm-ruby-client'
14
13
  s.description = 'Zimbra Soap Librairy using SOAP Json interface'
15
14
 
16
- s.required_ruby_version = '>= 2.6'
15
+ s.required_ruby_version = ">= 2.7"
16
+ s.required_rubygems_version = ">= 1.8.11"
17
+
17
18
  s.license = 'GPL-3.0'
18
19
 
19
20
  s.authors = ['Maxime Désécot']
20
21
  s.email = 'maxime.desecot@gmail.com'
21
22
  s.homepage = 'https://github.com/RaoH37/zm-ruby-client'
22
23
 
23
- s.files = `git ls-files`.split("\n")
24
+ s.files = `git ls-files`.split("\n").reject { |path| path.start_with?('test/', 'examples/') }
24
25
  s.require_paths = ['lib']
25
26
 
26
27
  s.add_dependency('addressable', ['~> 2.8'])
27
28
  s.add_dependency('curb', ['~> 1.0'])
28
- s.add_dependency('version_sorter', ['~> 2.3.0'])
29
- end
29
+ s.add_dependency('version_sorter', ['~> 2.3'])
30
+
31
+ s.add_dependency "bundler", ">= 1.15.0"
32
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zm-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.3
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxime Désécot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-31 00:00:00.000000000 Z
11
+ date: 2023-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -44,14 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.3.0
47
+ version: '2.3'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.3.0
54
+ version: '2.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.15.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.15.0
55
69
  description: Zimbra Soap Librairy using SOAP Json interface
56
70
  email: maxime.desecot@gmail.com
57
71
  executables: []
@@ -67,8 +81,10 @@ files:
67
81
  - lib/zm/client.rb
68
82
  - lib/zm/client/account.rb
69
83
  - lib/zm/client/account/account.rb
84
+ - lib/zm/client/account/account_aliases_collection.rb
70
85
  - lib/zm/client/account/account_dls_membership_collection.rb
71
86
  - lib/zm/client/account/account_dls_owner_collection.rb
87
+ - lib/zm/client/account/account_jsns_builder.rb
72
88
  - lib/zm/client/account/account_jsns_initializer.rb
73
89
  - lib/zm/client/account/accounts_builder.rb
74
90
  - lib/zm/client/account/accounts_collection.rb
@@ -86,18 +102,20 @@ files:
86
102
  - lib/zm/client/appointment/appointments_collection.rb
87
103
  - lib/zm/client/backup.rb
88
104
  - lib/zm/client/backup/backup.rb
105
+ - lib/zm/client/backup/backup_jsns_initializer.rb
89
106
  - lib/zm/client/backup/backups_builder.rb
90
107
  - lib/zm/client/backup/backups_collection.rb
91
108
  - lib/zm/client/base.rb
92
- - lib/zm/client/base/account_object.rb
93
109
  - lib/zm/client/base/account_objects_collection.rb
94
110
  - lib/zm/client/base/account_search_objects_collection.rb
95
- - lib/zm/client/base/admin_object.rb
96
111
  - lib/zm/client/base/admin_objects_collection.rb
112
+ - lib/zm/client/base/base_account_jsns_builder.rb
97
113
  - lib/zm/client/base/base_jsns_builder.rb
98
114
  - lib/zm/client/base/base_jsns_initializer.rb
99
- - lib/zm/client/base/folder_object.rb
100
115
  - lib/zm/client/base/ldap_filter.rb
116
+ - lib/zm/client/base/mailbox_infos_collection.rb
117
+ - lib/zm/client/base/mailbox_object.rb
118
+ - lib/zm/client/base/mailbox_prefs_collection.rb
101
119
  - lib/zm/client/base/object.rb
102
120
  - lib/zm/client/base/objects_builder.rb
103
121
  - lib/zm/client/base/objects_collection.rb
@@ -110,7 +128,7 @@ files:
110
128
  - lib/zm/client/common/message.rb
111
129
  - lib/zm/client/common/recipients.rb
112
130
  - lib/zm/client/common/token_metadata.rb
113
- - lib/zm/client/config.rb
131
+ - lib/zm/client/common/utils.rb
114
132
  - lib/zm/client/connector/rest_account.rb
115
133
  - lib/zm/client/connector/soap_account.rb
116
134
  - lib/zm/client/connector/soap_admin.rb
@@ -119,29 +137,61 @@ files:
119
137
  - lib/zm/client/constant.rb
120
138
  - lib/zm/client/contact.rb
121
139
  - lib/zm/client/contact/contact.rb
140
+ - lib/zm/client/contact/contact_jsns_builder.rb
141
+ - lib/zm/client/contact/contact_jsns_initializer.rb
122
142
  - lib/zm/client/contact/contact_member.rb
143
+ - lib/zm/client/contact/contact_members_collection.rb
123
144
  - lib/zm/client/contact/contacts_builder.rb
124
145
  - lib/zm/client/contact/contacts_collection.rb
146
+ - lib/zm/client/contact/group_contact_jsns_builder.rb
125
147
  - lib/zm/client/contact/mod_group_contact.rb
126
148
  - lib/zm/client/cos.rb
127
149
  - lib/zm/client/cos/cos.rb
150
+ - lib/zm/client/cos/cos_accounts_collection.rb
151
+ - lib/zm/client/cos/cos_domains_collection.rb
152
+ - lib/zm/client/cos/cos_jsns_builder.rb
153
+ - lib/zm/client/cos/cos_jsns_initializer.rb
154
+ - lib/zm/client/cos/cos_servers_collection.rb
128
155
  - lib/zm/client/cos/coses_builder.rb
129
156
  - lib/zm/client/cos/coses_collection.rb
130
- - lib/zm/client/data_source.rb
157
+ - lib/zm/client/datasource.rb
158
+ - lib/zm/client/datasource/datasource.rb
159
+ - lib/zm/client/datasource/datasource_jsns_builder.rb
160
+ - lib/zm/client/datasource/datasource_jsns_initializer.rb
161
+ - lib/zm/client/datasource/datasources_builder.rb
162
+ - lib/zm/client/datasource/datasources_collection.rb
131
163
  - lib/zm/client/distributionlist.rb
132
164
  - lib/zm/client/distributionlist/distributionlist.rb
165
+ - lib/zm/client/distributionlist/distributionlist_aces_collection.rb
166
+ - lib/zm/client/distributionlist/distributionlist_aliases_collection.rb
167
+ - lib/zm/client/distributionlist/distributionlist_jsns_builder.rb
168
+ - lib/zm/client/distributionlist/distributionlist_jsns_initializer.rb
169
+ - lib/zm/client/distributionlist/distributionlist_members_collection.rb
170
+ - lib/zm/client/distributionlist/distributionlist_owners_collection.rb
133
171
  - lib/zm/client/distributionlist/distributionlists_builder.rb
134
172
  - lib/zm/client/distributionlist/distributionlists_collection.rb
135
173
  - lib/zm/client/distributionlist/dls_membership_collection.rb
136
174
  - lib/zm/client/document.rb
137
175
  - lib/zm/client/document/document.rb
176
+ - lib/zm/client/document/document_jsns_builder.rb
177
+ - lib/zm/client/document/document_jsns_initializer.rb
138
178
  - lib/zm/client/document/documents_builder.rb
139
179
  - lib/zm/client/document/documents_collection.rb
140
180
  - lib/zm/client/domain.rb
141
181
  - lib/zm/client/domain/domain.rb
142
182
  - lib/zm/client/domain/domain_accounts_collection.rb
183
+ - lib/zm/client/domain/domain_distributionlists_collection.rb
184
+ - lib/zm/client/domain/domain_jsns_builder.rb
185
+ - lib/zm/client/domain/domain_jsns_initializer.rb
186
+ - lib/zm/client/domain/domain_resources_collection.rb
143
187
  - lib/zm/client/domain/domains_builder.rb
144
188
  - lib/zm/client/domain/domains_collection.rb
189
+ - lib/zm/client/filter_rule.rb
190
+ - lib/zm/client/filter_rules/filter_rule.rb
191
+ - lib/zm/client/filter_rules/filter_rule_jsns_initializer.rb
192
+ - lib/zm/client/filter_rules/filter_rules_builder.rb
193
+ - lib/zm/client/filter_rules/filter_rules_collection.rb
194
+ - lib/zm/client/filter_rules/outgoing_filter_rules_collection.rb
145
195
  - lib/zm/client/folder.rb
146
196
  - lib/zm/client/folder/folder.rb
147
197
  - lib/zm/client/folder/folder_grant.rb
@@ -159,11 +209,19 @@ files:
159
209
  - lib/zm/client/identity/identities_builder.rb
160
210
  - lib/zm/client/identity/identities_collection.rb
161
211
  - lib/zm/client/identity/identity.rb
212
+ - lib/zm/client/identity/identity_jsns_builder.rb
213
+ - lib/zm/client/identity/identity_jsns_initializer.rb
162
214
  - lib/zm/client/license.rb
163
215
  - lib/zm/client/license/license.rb
216
+ - lib/zm/client/license/license_jsns_initializer.rb
164
217
  - lib/zm/client/license/licenses_collection.rb
165
218
  - lib/zm/client/message.rb
219
+ - lib/zm/client/message/attachments_collection.rb
166
220
  - lib/zm/client/message/message.rb
221
+ - lib/zm/client/message/message_flags.rb
222
+ - lib/zm/client/message/message_jsns_builder.rb
223
+ - lib/zm/client/message/message_jsns_initializer.rb
224
+ - lib/zm/client/message/message_recipients.rb
167
225
  - lib/zm/client/message/messages_builder.rb
168
226
  - lib/zm/client/message/messages_collection.rb
169
227
  - lib/zm/client/mountpoint.rb
@@ -174,14 +232,19 @@ files:
174
232
  - lib/zm/client/mountpoint/mountpoints_collection.rb
175
233
  - lib/zm/client/mta_queue.rb
176
234
  - lib/zm/client/mta_queue/mta_queue.rb
235
+ - lib/zm/client/mta_queue/mta_queue_jsns_builder.rb
236
+ - lib/zm/client/mta_queue/mta_queue_jsns_initializer.rb
177
237
  - lib/zm/client/mta_queue/mta_queues_builder.rb
178
238
  - lib/zm/client/mta_queue/mta_queues_collection.rb
179
239
  - lib/zm/client/mta_queue_item.rb
180
240
  - lib/zm/client/mta_queue_item/mta_queue_item.rb
241
+ - lib/zm/client/mta_queue_item/mta_queue_item_jsns_initializer.rb
181
242
  - lib/zm/client/mta_queue_item/mta_queue_items_builder.rb
182
243
  - lib/zm/client/mta_queue_item/mta_queue_items_collection.rb
183
244
  - lib/zm/client/resource.rb
184
245
  - lib/zm/client/resource/resource.rb
246
+ - lib/zm/client/resource/resource_jsns_builder.rb
247
+ - lib/zm/client/resource/resource_jsns_initializer.rb
185
248
  - lib/zm/client/resource/resources_builder.rb
186
249
  - lib/zm/client/resource/resources_collection.rb
187
250
  - lib/zm/client/search_folder.rb
@@ -193,10 +256,13 @@ files:
193
256
  - lib/zm/client/server.rb
194
257
  - lib/zm/client/server/server.rb
195
258
  - lib/zm/client/server/server_accounts_collection.rb
259
+ - lib/zm/client/server/server_jsns_initializer.rb
196
260
  - lib/zm/client/server/servers_builder.rb
197
261
  - lib/zm/client/server/servers_collection.rb
198
262
  - lib/zm/client/share.rb
199
263
  - lib/zm/client/share/share.rb
264
+ - lib/zm/client/share/share_jsns_initializer.rb
265
+ - lib/zm/client/share/share_mountpoints_collection.rb
200
266
  - lib/zm/client/share/shares_builder.rb
201
267
  - lib/zm/client/share/shares_collection.rb
202
268
  - lib/zm/client/signature.rb
@@ -205,7 +271,15 @@ files:
205
271
  - lib/zm/client/signature/signature_jsns_initializer.rb
206
272
  - lib/zm/client/signature/signatures_builder.rb
207
273
  - lib/zm/client/signature/signatures_collection.rb
274
+ - lib/zm/client/soap_request.rb
275
+ - lib/zm/client/soap_request/account_soap_constants.rb
276
+ - lib/zm/client/soap_request/admin_soap_constants.rb
277
+ - lib/zm/client/soap_request/mail_soap_constants.rb
278
+ - lib/zm/client/soap_request/soap_constants.rb
279
+ - lib/zm/client/soap_request/soap_context.rb
280
+ - lib/zm/client/soap_request/soap_element.rb
208
281
  - lib/zm/client/tag.rb
282
+ - lib/zm/client/tag/account_object_tags_collection.rb
209
283
  - lib/zm/client/tag/tag.rb
210
284
  - lib/zm/client/tag/tag_jsns_builder.rb
211
285
  - lib/zm/client/tag/tag_jsns_initializer.rb
@@ -213,37 +287,22 @@ files:
213
287
  - lib/zm/client/tag/tags_collection.rb
214
288
  - lib/zm/client/task.rb
215
289
  - lib/zm/client/task/task.rb
290
+ - lib/zm/client/task/task_jsns_initializer.rb
216
291
  - lib/zm/client/task/tasks_builder.rb
217
292
  - lib/zm/client/task/tasks_collection.rb
218
293
  - lib/zm/client/upload.rb
219
294
  - lib/zm/client/upload/upload.rb
220
295
  - lib/zm/client/version.rb
221
- - lib/zm/modules/common/account_common.rb
222
- - lib/zm/modules/common/cos_common.rb
223
- - lib/zm/modules/common/dl_common.rb
224
- - lib/zm/modules/common/identity_common.rb
225
- - lib/zm/modules/common/resource_common.rb
226
- - lib/zm/modules/common/signature_common.rb
296
+ - lib/zm/modules/base.rb
297
+ - lib/zm/modules/belongs_to_folder.rb
298
+ - lib/zm/modules/belongs_to_tag.rb
227
299
  - lib/zm/modules/common/zimbra-attrs.json
228
- - lib/zm/modules/common/zimbra-attrs.json.bak
300
+ - lib/zm/modules/has_soap_admin_connector.rb
301
+ - lib/zm/modules/inspector.rb
302
+ - lib/zm/modules/missing_method_static_collection.rb
229
303
  - lib/zm/modules/zm_logger.rb
230
304
  - lib/zm/modules/zm_model.rb
231
305
  - lib/zm/utils/thread_pool.rb
232
- - test/accounts.rb
233
- - test/ace.rb
234
- - test/cluster.rb
235
- - test/cluster_config.rb
236
- - test/cluster_zimbra_attributes.rb
237
- - test/coses.rb
238
- - test/domains.rb
239
- - test/folder.rb
240
- - test/folder_grant.rb
241
- - test/mountpoint.rb
242
- - test/retention_policies.rb
243
- - test/search_folder.rb
244
- - test/signature.rb
245
- - test/tag.rb
246
- - test/zimbra_attributes.rb
247
306
  - zm-ruby-client.gemspec
248
307
  homepage: https://github.com/RaoH37/zm-ruby-client
249
308
  licenses:
@@ -257,14 +316,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
257
316
  requirements:
258
317
  - - ">="
259
318
  - !ruby/object:Gem::Version
260
- version: '2.6'
319
+ version: '2.7'
261
320
  required_rubygems_version: !ruby/object:Gem::Requirement
262
321
  requirements:
263
322
  - - ">="
264
323
  - !ruby/object:Gem::Version
265
- version: '0'
324
+ version: 1.8.11
266
325
  requirements: []
267
- rubygems_version: 3.1.6
326
+ rubygems_version: 3.4.19
268
327
  signing_key:
269
328
  specification_version: 4
270
329
  summary: zm-ruby-client
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zm
4
- module Client
5
- module Base
6
- # Abstract Class Provisionning AccountObject
7
- class AccountObject < Object
8
-
9
- def soap_account_connector
10
- @parent.soap_account_connector
11
- end
12
-
13
- alias sacc soap_account_connector
14
-
15
- def concat
16
- all_instance_variable_keys.map { |key| instance_variable_get(arrow_name(key)) }
17
- end
18
-
19
- def init_from_json(json)
20
- all_instance_variable_keys.each do |key|
21
- next if json[key].nil?
22
- instance_variable_set(arrow_name(key), json[key])
23
- end
24
- end
25
-
26
- def to_h
27
- hashmap = Hash[all_instance_variable_keys.map { |key| [key, instance_variable_get(arrow_name(key))] }]
28
- hashmap.delete_if { |_, v| v.nil? }
29
- hashmap
30
- end
31
-
32
- def create!
33
- @id
34
- end
35
-
36
- def modify!
37
- rename!
38
- true
39
- end
40
-
41
- def rename!
42
- true
43
- end
44
-
45
- def delete!
46
- remove_instance_variable(:@id)
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'time'
4
-
5
- module Zm
6
- module Client
7
- module Base
8
- # Abstract Class Provisionning AdminObject
9
- class AdminObject < Object
10
-
11
- def soap_admin_connector
12
- @parent.soap_admin_connector
13
- end
14
-
15
- alias sac soap_admin_connector
16
-
17
- def soap_account_connector
18
- @parent.soap_account_connector
19
- end
20
-
21
- alias sacc soap_account_connector
22
-
23
- def to_h
24
- hashmap = Hash[all_instance_variable_keys.map { |key| [key, instance_variable_get(arrow_name(key))] }]
25
- hashmap.delete_if { |_, v| v.nil? }
26
- hashmap
27
- end
28
-
29
- def init_from_json(json)
30
- # TODO : know in advance the typing of variables
31
- super(json)
32
- return unless json[:a].is_a? Array
33
-
34
- # fix car le tableau peut contenir des {} vide !
35
- json[:a].reject! { |n| n[:n].nil? }
36
- json_map = json[:a].map { |n| ["@#{n[:n]}", n[:_content]] }.freeze
37
-
38
- json_hash = json_map.reduce({}) { |h, (k, v)| (h[k] ||= []); h[k].push(v); h }.inject({}) { |h, (k, v)| v.length == 1 ? h[k] = v.first : h[k] = v; h }
39
-
40
- json_hash.each do |k, v|
41
- instance_variable_set(k, convert_json_string_value(v))
42
- end
43
-
44
- # Hash[json_map].each do |k, v|
45
- # instance_variable_set(k, convert_json_string_value(v))
46
- # end
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zm
4
- module Client
5
- module Base
6
- # Abstract Class FolderObject
7
- class FolderObject < AccountObject
8
-
9
- def initialize(parent)
10
- @l = FolderDefault::ROOT[:id]
11
- super(parent)
12
- end
13
-
14
- def color!
15
- @parent.sacc.folder_action(@parent.token, jsns_builder.to_color) if color_changed? || rgb_changed?
16
- true
17
- end
18
-
19
- def delete!
20
- @parent.sacc.folder_action(@parent.token, jsns_builder.to_delete)
21
- super
22
- end
23
-
24
- def modify!
25
- @parent.sacc.folder_action(@parent.token, jsns_builder.to_update)
26
- true
27
- end
28
-
29
- def move!
30
- @parent.sacc.folder_action(@parent.token, jsns_builder.to_move) if l_changed?
31
- true
32
- end
33
-
34
- def rename!
35
- @parent.sacc.folder_action(@parent.token, jsns_builder.to_rename) if name_changed?
36
- super
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zm
4
- module Client
5
- # module de configuration du client Zm::Client
6
- module Config
7
- extend self
8
-
9
- # TODO
10
- end
11
- end
12
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'zm/client/data_source/data_source'
4
- require 'zm/client/data_source/data_sources_builder'
5
- require 'zm/client/data_source/data_sources_collection'
@@ -1,71 +0,0 @@
1
- module AccountCommon
2
- ALL_ATTRS = JSON.parse(File.read(File.expand_path(File.dirname(__FILE__) + '/zimbra-attrs.json')))
3
- ATTRS_READ = ALL_ATTRS.select{|a|a['immutable']=='1'}.map{|a|a['name']}
4
- ATTRS_WRITE = ALL_ATTRS.reject{|a|a['immutable']=='1'}.map{|a|a['name']}
5
-
6
- ZM_ACCOUNT_ATTRS = %w[
7
- sn
8
- company
9
- cn
10
- co
11
- street
12
- l
13
- givenName
14
- postalAddress
15
- postalCode
16
- displayName
17
- gidNumber
18
- telephoneNumber
19
- description
20
- zimbraPrefGroupMailBy
21
- zimbraPrefFromDisplay
22
- zimbraPrefFromDisplay
23
- zimbraPrefMailSignature
24
- zimbraPrefMailSignatureHTML
25
- zimbraPrefMailSignatureStyle
26
- zimbraPrefDefaultSignatureId
27
- zimbraPrefForwardReplySignatureId
28
- zimbraPrefReplyToEnabled
29
- zimbraPrefIdentityName
30
- zimbraPrefFromAddress
31
- zimbraPrefWhenInFoldersEnabled
32
- zimbraPrefWhenSentToEnabled
33
- zimbraPrefSortOrder
34
- zimbraSignatureName
35
- userPassword
36
- zimbraPasswordMustChange
37
- zimbraPrefOutOfOfficeFromDate
38
- zimbraPrefOutOfOfficeReplyEnabled
39
- zimbraPrefOutOfOfficeUntilDate
40
- zimbraPrefOutOfOfficeReply
41
- zimbraAccountStatus
42
- zimbraMailStatus
43
- zimbraPasswordMustChange
44
- zimbraPrefSortOrder
45
- zimbraMailSieveScript
46
- zimbraPrefTasksReadingPaneLocation
47
- zimbraPrefShowCalendarWeek
48
- zimbraPrefForwardIncludeOriginalText
49
- zimbraPrefReplyIncludeOriginalText
50
- zimbraPrefHtmlEditorDefaultFontFamily
51
- zimbraPrefZimletTreeOpen
52
- zimbraPrefComposeFormat
53
- zimbraPrefFolderTreeOpen
54
- zimbraPrefCalendarFirstDayOfWeek
55
- zimbraPrefCalendarForwardInvitesTo
56
- zimbraPrefMailForwardingAddress
57
- zimbraMailDeliveryAddress
58
- zimbraCOSId
59
- ].freeze
60
-
61
- ATTRS_READ.each { |attr| attr_reader attr }
62
- ATTRS_WRITE.each { |attr| attr_accessor attr }
63
-
64
- def attrs_read
65
- ATTRS_READ
66
- end
67
-
68
- def attrs_write
69
- ATTRS_WRITE
70
- end
71
- end