onlyoffice_api 0.7 → 0.8.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/lib/onlyoffice_api.rb +5 -0
- data/lib/teamlab/config.rb +2 -2
- data/lib/teamlab/modules/community/community_bookmarks.rb +1 -1
- data/lib/teamlab/modules/crm/crm_invoices.rb +1 -3
- data/lib/teamlab/modules/mail.rb +5 -0
- data/lib/teamlab/modules/mailserver.rb +18 -0
- data/lib/teamlab/modules/mailserver/domains.rb +11 -0
- data/lib/teamlab/modules/mailserver/mailboxes.rb +40 -0
- data/lib/teamlab/request.rb +1 -1
- data/lib/teamlab/version.rb +1 -1
- metadata +135 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80712a1d13121fa312863177086da1018235ddf74353beb7d92e9b76f76f0b90
|
4
|
+
data.tar.gz: 5fcf364edb2a54f340ea760f8d1577eafc1e7fb890ca2149512d920589a46c96
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62375a210771f5eedd6e8cd9b0143df8f7f8dbcadb521c0166b159479addaac997b7fadff391b89f7aa2878cb4cebbfcc720d5c3907407967aad5b1e9312d8a3
|
7
|
+
data.tar.gz: eff718e4e4be80b25eb6e9a850ec9507dd98c29a37bad80746e758b60f8666651dc6e7609582101b489ad175dd28f3b088607fa0a51b252745c7f10a4d2d53ff
|
data/lib/onlyoffice_api.rb
CHANGED
@@ -14,6 +14,7 @@ require_relative 'teamlab/modules/crm'
|
|
14
14
|
require_relative 'teamlab/modules/community'
|
15
15
|
require_relative 'teamlab/modules/calendar'
|
16
16
|
require_relative 'teamlab/modules/mail'
|
17
|
+
require_relative 'teamlab/modules/mailserver'
|
17
18
|
require_relative 'teamlab/modules/feed'
|
18
19
|
|
19
20
|
module Teamlab
|
@@ -57,6 +58,10 @@ module Teamlab
|
|
57
58
|
@mail ||= Teamlab::Mail.new
|
58
59
|
end
|
59
60
|
|
61
|
+
def self.mailserver
|
62
|
+
@mailserver ||= Teamlab::MailServer.new
|
63
|
+
end
|
64
|
+
|
60
65
|
def self.feed
|
61
66
|
@feed ||= Teamlab::Feed.new
|
62
67
|
end
|
data/lib/teamlab/config.rb
CHANGED
@@ -5,9 +5,9 @@ require_relative 'request'
|
|
5
5
|
module Teamlab
|
6
6
|
attr_reader :config
|
7
7
|
|
8
|
-
def self.configure(&
|
8
|
+
def self.configure(&block)
|
9
9
|
@config ||= Config.new
|
10
|
-
yield @config if
|
10
|
+
yield @config if block
|
11
11
|
auth_response = Teamlab::Request.new('authentication').post('', userName: @config.username, password: @config.password).body
|
12
12
|
raise "Cannot get response token for #{auth_response}" if auth_response['response'].nil? || auth_response['response']['token'].nil?
|
13
13
|
|
@@ -62,7 +62,6 @@ module Teamlab
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def update_invoice(id, options = {})
|
65
|
-
options[:id] = id
|
66
65
|
@request.put(['invoice', id.to_s], options)
|
67
66
|
end
|
68
67
|
|
@@ -83,7 +82,6 @@ module Teamlab
|
|
83
82
|
end
|
84
83
|
|
85
84
|
def update_invoice_line(invoice_line_id, invoice_id, options = {})
|
86
|
-
options[:id] = invoice_line_id
|
87
85
|
options[:invoiceId] = invoice_id
|
88
86
|
@request.put(['invoiceline', invoice_line_id], options)
|
89
87
|
end
|
@@ -111,7 +109,7 @@ module Teamlab
|
|
111
109
|
end
|
112
110
|
|
113
111
|
def delete_invoice_line(id)
|
114
|
-
@request.delete(['invoiceline', id.to_s]
|
112
|
+
@request.delete(['invoiceline', id.to_s])
|
115
113
|
end
|
116
114
|
|
117
115
|
# @param invoice_item_id [Integer] id of invoice
|
data/lib/teamlab/modules/mail.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'mailserver/domains'
|
4
|
+
require_relative 'mailserver/mailboxes'
|
5
|
+
|
6
|
+
module Teamlab
|
7
|
+
# API for MailServer api namespace
|
8
|
+
# For example
|
9
|
+
# https://api.onlyoffice.com/portals/section/mailserver/addressdata
|
10
|
+
class MailServer
|
11
|
+
include MailserverDomains
|
12
|
+
include MailserverMailboxes
|
13
|
+
|
14
|
+
def initialize
|
15
|
+
@request = Teamlab::Request.new('mailserver')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with mailserver domains
|
5
|
+
module MailserverDomains
|
6
|
+
# @return [Hash] Returns list of the web domains associated with tenant
|
7
|
+
def tenant_domain_list
|
8
|
+
@request.get(%w[domains get])
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Teamlab
|
4
|
+
# Methods for working with mailserver mailboxes
|
5
|
+
module MailserverMailboxes
|
6
|
+
# @param name [String] name of mailbox
|
7
|
+
# @param local_part [String] local part of mailbox
|
8
|
+
# @param domain_id [Integer] id of domain
|
9
|
+
# @param user_id [Integer] id of user
|
10
|
+
# @param notify_current [True, False] Send message to creating mailbox's address
|
11
|
+
# @param notify_profile [True, False] Send message to email from user profile
|
12
|
+
# @return [Hash] Add mailbox
|
13
|
+
def add_mailbox(name: nil,
|
14
|
+
local_part: nil,
|
15
|
+
domain_id: nil,
|
16
|
+
user_id: nil,
|
17
|
+
notify_current: true,
|
18
|
+
notify_profile: true)
|
19
|
+
@request.post(%w[mailboxes add],
|
20
|
+
name: name,
|
21
|
+
local_part: local_part,
|
22
|
+
domain_id: domain_id,
|
23
|
+
user_id: user_id,
|
24
|
+
notifyCurrent: notify_current,
|
25
|
+
notifyProfile: notify_profile)
|
26
|
+
end
|
27
|
+
|
28
|
+
# @return [Hash] mailboxes list
|
29
|
+
def mailboxes
|
30
|
+
@request.get(%w[mailboxes get])
|
31
|
+
end
|
32
|
+
|
33
|
+
# Deletes the selected mailbox
|
34
|
+
# @param id [Integer] id of mailbox
|
35
|
+
# @return [Hash] result of mailbox deletion
|
36
|
+
def delete_mailbox(id)
|
37
|
+
@request.delete(['mailboxes', 'remove', id.to_s])
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/teamlab/request.rb
CHANGED
@@ -54,7 +54,7 @@ module Teamlab
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def parse_args(args, type)
|
57
|
-
command = args.first.instance_of?(Array) ?
|
57
|
+
command = args.first.instance_of?(Array) ? "/#{args.shift.join('/')}" : args.shift.to_s
|
58
58
|
opts = {}
|
59
59
|
opts[:body] = args.last.instance_of?(Hash) ? args.pop : {}
|
60
60
|
opts[:body].delete_if { |_key, value| value == [] }
|
data/lib/teamlab/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onlyoffice_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ONLYOFFICE
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-03-18 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: httparty
|
@@ -27,20 +27,146 @@ dependencies:
|
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0.16'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: codecov
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - "~>"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
type: :development
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: faker
|
46
|
+
requirement: !ruby/object:Gem::Requirement
|
47
|
+
requirements:
|
48
|
+
- - "~>"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '2'
|
51
|
+
type: :development
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '2'
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: overcommit
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - "~>"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
type: :development
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
30
72
|
- !ruby/object:Gem::Dependency
|
31
73
|
name: rake
|
32
74
|
requirement: !ruby/object:Gem::Requirement
|
33
75
|
requirements:
|
34
76
|
- - "~>"
|
35
77
|
- !ruby/object:Gem::Version
|
36
|
-
version: '13
|
78
|
+
version: '13'
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - "~>"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '13'
|
86
|
+
- !ruby/object:Gem::Dependency
|
87
|
+
name: rspec
|
88
|
+
requirement: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '3'
|
93
|
+
type: :development
|
94
|
+
prerelease: false
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '3'
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: rubocop
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 0.49.0
|
107
|
+
type: :development
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 0.49.0
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: rubocop-performance
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '1'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '1'
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: rubocop-rake
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - "~>"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
type: :development
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: rubocop-rspec
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - "~>"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '2'
|
37
149
|
type: :development
|
38
150
|
prerelease: false
|
39
151
|
version_requirements: !ruby/object:Gem::Requirement
|
40
152
|
requirements:
|
41
153
|
- - "~>"
|
42
154
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
155
|
+
version: '2'
|
156
|
+
- !ruby/object:Gem::Dependency
|
157
|
+
name: yard
|
158
|
+
requirement: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 0.9.20
|
163
|
+
type: :development
|
164
|
+
prerelease: false
|
165
|
+
version_requirements: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: 0.9.20
|
44
170
|
description: Ruby Framework to interact with OnlyOffice API 2.0
|
45
171
|
email:
|
46
172
|
- rzagudaev@gmail.com
|
@@ -87,6 +213,9 @@ files:
|
|
87
213
|
- lib/teamlab/modules/mail/mail_settings.rb
|
88
214
|
- lib/teamlab/modules/mail/mail_signature.rb
|
89
215
|
- lib/teamlab/modules/mail/mail_tags.rb
|
216
|
+
- lib/teamlab/modules/mailserver.rb
|
217
|
+
- lib/teamlab/modules/mailserver/domains.rb
|
218
|
+
- lib/teamlab/modules/mailserver/mailboxes.rb
|
90
219
|
- lib/teamlab/modules/people.rb
|
91
220
|
- lib/teamlab/modules/people/people_reassign.rb
|
92
221
|
- lib/teamlab/modules/portals.rb
|
@@ -126,14 +255,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
255
|
requirements:
|
127
256
|
- - ">="
|
128
257
|
- !ruby/object:Gem::Version
|
129
|
-
version: '
|
258
|
+
version: '2.5'
|
130
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
260
|
requirements:
|
132
261
|
- - ">="
|
133
262
|
- !ruby/object:Gem::Version
|
134
263
|
version: '0'
|
135
264
|
requirements: []
|
136
|
-
rubygems_version: 3.
|
265
|
+
rubygems_version: 3.2.14
|
137
266
|
signing_key:
|
138
267
|
specification_version: 4
|
139
268
|
summary: Ruby gem for OnlyOffice. Formerly known as `teamlab`.
|