teamlab 0.3.4 → 0.3.5
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/teamlab/Modules/Files.rb +124 -81
- data/lib/teamlab/Modules/Project.rb +9 -5
- data/lib/teamlab/Modules/Settings.rb +21 -1
- data/lib/teamlab/Request.rb +3 -2
- data/lib/teamlab/version.rb +1 -1
- data/spec/support/http_data.rb +3 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64afc8919040b73a3bdaeac1f72f3cca5ceda8d8
|
4
|
+
data.tar.gz: 005141ed5f4a44c4ad2f3aba87325b7ee72020a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91ac731409f97cc4c7ed5219806dd56ad3cefb1f766cdf24fef04a26fa8cfdfd8b40a5516e6a93af88c7c88f100cf0d4fa49e30e7de406b22c1638598dd6a1e9
|
7
|
+
data.tar.gz: 9b86bffb6bf14a071c1c57edd3a18e3ea40a461905e533e81e327f806b927c90fb416ecb7939b8079c1452388bf7126fc3396555fb1afeead7b1f63938ebaf5b
|
@@ -5,89 +5,89 @@ module Teamlab
|
|
5
5
|
@request = Teamlab::Request.new('files')
|
6
6
|
end
|
7
7
|
|
8
|
-
|
9
|
-
@request.get(['@my'])
|
10
|
-
end
|
8
|
+
#region File Creation
|
11
9
|
|
12
|
-
def
|
13
|
-
@request.
|
10
|
+
def create_txt_in_my_docs(title, content)
|
11
|
+
@request.post(%w(@my text), title: title.to_s, content: content.to_s)
|
14
12
|
end
|
15
13
|
|
16
|
-
def
|
17
|
-
@request.
|
14
|
+
def create_html_in_my_docs(title, content)
|
15
|
+
@request.post(%w(@my html), title: title.to_s, content: content.to_s)
|
18
16
|
end
|
19
17
|
|
20
|
-
def
|
21
|
-
@request.post(
|
18
|
+
def create_txt_in_common_docs(title, content)
|
19
|
+
@request.post(%w(@common text), title: title.to_s, content: content.to_s)
|
22
20
|
end
|
23
21
|
|
24
|
-
def
|
25
|
-
@request.
|
22
|
+
def create_html_in_common_docs(title, content)
|
23
|
+
@request.post(%w(common html), title: title.to_s, content: content.to_s)
|
26
24
|
end
|
27
25
|
|
28
|
-
def
|
29
|
-
@request.
|
30
|
-
end
|
31
|
-
def get_common_docs
|
32
|
-
@request.get(['@common'])
|
26
|
+
def create_txt(folder_id, title, content)
|
27
|
+
@request.post([folder_id.to_s, 'text'], title: title.to_s, content: content.to_s)
|
33
28
|
end
|
34
29
|
|
35
|
-
def
|
36
|
-
@request.
|
30
|
+
def create_html(folder_id, title, content)
|
31
|
+
@request.post([folder_id.to_s, 'html'], title: title.to_s, content: content.to_s)
|
37
32
|
end
|
38
33
|
|
39
|
-
def
|
40
|
-
@request.
|
34
|
+
def create_file(folder_id, title)
|
35
|
+
@request.post([folder_id.to_s, 'file'], title: title.to_s)
|
41
36
|
end
|
42
37
|
|
43
|
-
|
44
|
-
@request.put([file_id.to_s, 'sharedlink'], share: share)
|
45
|
-
end
|
38
|
+
#endregion
|
46
39
|
|
47
|
-
|
48
|
-
|
40
|
+
#region File operations
|
41
|
+
|
42
|
+
def get_file_operations_list
|
43
|
+
@request.get(%w(fileops))
|
49
44
|
end
|
50
45
|
|
51
|
-
def
|
52
|
-
@request.
|
46
|
+
def check_conflict(options = {})
|
47
|
+
@request.get(%w(fileops move), options)
|
53
48
|
end
|
54
49
|
|
55
|
-
def
|
56
|
-
@request.
|
50
|
+
def check_conversion_status(fileid)
|
51
|
+
@request.get(['fileops', fileid.to_s, 'checkconversion'])
|
57
52
|
end
|
58
53
|
|
59
|
-
def
|
60
|
-
@request.
|
54
|
+
def move_to_folder(dest_folder_id, options = {})
|
55
|
+
@request.put(%w(fileops move), { destFolderId: dest_folder_id }.merge(options))
|
61
56
|
end
|
57
|
+
alias_method :move_files, :move_to_folder
|
62
58
|
|
63
|
-
def
|
64
|
-
@request.
|
59
|
+
def copy_to_folder(dest_folder_id, options = {})
|
60
|
+
@request.put(%w(fileops copy), { destFolderId: dest_folder_id }.merge(options))
|
65
61
|
end
|
66
62
|
|
67
|
-
def
|
68
|
-
@request.
|
63
|
+
def delete(options = {})
|
64
|
+
@request.put(%w(fileops delete), options)
|
69
65
|
end
|
70
66
|
|
71
|
-
def
|
72
|
-
@request.
|
67
|
+
def finish_all
|
68
|
+
@request.put(%w(fileops terminate))
|
73
69
|
end
|
74
70
|
|
75
|
-
def
|
76
|
-
@request.
|
71
|
+
def mark_as_read
|
72
|
+
@request.put(%w(fileops markasread))
|
77
73
|
end
|
78
74
|
|
79
|
-
def
|
80
|
-
@request.
|
75
|
+
def clear_recycle_bin
|
76
|
+
@request.put(%w(fileops emptytrash))
|
81
77
|
end
|
82
78
|
|
83
|
-
def
|
84
|
-
@request.
|
79
|
+
def finish_operations(options = {})
|
80
|
+
@request.put(%w(fileops bulkdownload), options)
|
85
81
|
end
|
86
82
|
|
87
|
-
def
|
88
|
-
@request.
|
83
|
+
def start_conversion(file_id, start)
|
84
|
+
@request.put(['file', file_id.to_s, 'checkconversion'], start: start)
|
89
85
|
end
|
90
86
|
|
87
|
+
#endregion
|
88
|
+
|
89
|
+
#region Files
|
90
|
+
|
91
91
|
def get_file_info(file_id)
|
92
92
|
@request.get(['file', file_id.to_s])
|
93
93
|
end
|
@@ -96,62 +96,67 @@ module Teamlab
|
|
96
96
|
@request.get(['file', file_id.to_s, 'history'])
|
97
97
|
end
|
98
98
|
|
99
|
-
def get_third_party_files(source, options = {})
|
100
|
-
@request.get(['settings', 'import', source.to_s, 'data'], options)
|
101
|
-
end
|
102
|
-
|
103
99
|
def update_file_info(file_id, title, last_version)
|
104
100
|
@request.put(['file', file_id.to_s], title: title, lastVersion: last_version)
|
105
101
|
end
|
106
102
|
|
107
|
-
def
|
108
|
-
@request.
|
103
|
+
def delete_file(file_id)
|
104
|
+
@request.delete(['file', file_id.to_s])
|
109
105
|
end
|
110
106
|
|
111
|
-
|
112
|
-
|
107
|
+
#endregion
|
108
|
+
|
109
|
+
#region Folders
|
110
|
+
|
111
|
+
def get_my_docs
|
112
|
+
@request.get(['@my'])
|
113
113
|
end
|
114
|
+
alias_method :get_my_files, :get_my_docs
|
114
115
|
|
115
|
-
def
|
116
|
-
@request.
|
116
|
+
def get_shared_docs
|
117
|
+
@request.get(['@share'])
|
117
118
|
end
|
118
119
|
|
119
|
-
def
|
120
|
-
@request.
|
120
|
+
def get_trash
|
121
|
+
@request.get(['@trash'])
|
121
122
|
end
|
122
123
|
|
123
|
-
def
|
124
|
-
@request.get(
|
124
|
+
def get_common_docs
|
125
|
+
@request.get(['@common'])
|
125
126
|
end
|
126
127
|
|
127
|
-
def
|
128
|
-
@request.
|
128
|
+
def get_projects_folder
|
129
|
+
@request.get(['@projects'])
|
129
130
|
end
|
130
131
|
|
131
|
-
def
|
132
|
-
@request.
|
132
|
+
def get_folder(folder_id, options = {})
|
133
|
+
@request.get([folder_id.to_s], options)
|
133
134
|
end
|
134
135
|
|
135
|
-
def
|
136
|
-
@request.
|
136
|
+
def get_folder_info(folder_id)
|
137
|
+
@request.get(['folder', folder_id.to_s])
|
137
138
|
end
|
138
139
|
|
139
|
-
def
|
140
|
-
@request.
|
140
|
+
def get_folder_path(folder_id)
|
141
|
+
@request.get(['folder', folder_id.to_s, 'path'])
|
141
142
|
end
|
142
143
|
|
143
|
-
def
|
144
|
-
@request.
|
144
|
+
def new_folder(folder_id, title)
|
145
|
+
@request.post(['folder', folder_id.to_s], title: title)
|
145
146
|
end
|
146
147
|
|
147
|
-
def
|
148
|
-
@request.put(
|
148
|
+
def rename_folder(folder_id, title)
|
149
|
+
@request.put(['folder', folder_id.to_s], title: title)
|
149
150
|
end
|
150
151
|
|
151
|
-
def
|
152
|
-
@request.
|
152
|
+
def delete_folder(folder_id)
|
153
|
+
@request.delete(['folder', folder_id.to_s])
|
153
154
|
end
|
154
155
|
|
156
|
+
#endregion
|
157
|
+
|
158
|
+
#region Sharing
|
159
|
+
|
155
160
|
def get_file_sharing(file_id)
|
156
161
|
@request.get(['file', file_id.to_s, 'share'])
|
157
162
|
end
|
@@ -161,28 +166,66 @@ module Teamlab
|
|
161
166
|
end
|
162
167
|
|
163
168
|
def share_file(file_id, user_id, access_type, options = {})
|
164
|
-
@request.put(['file', file_id.to_s, 'share'], { share: { shareTo: user_id, fileShare: access_type}.merge(options)
|
169
|
+
@request.put(['file', file_id.to_s, 'share'], { share: { shareTo: user_id, fileShare: access_type } }.merge(options))
|
165
170
|
end
|
166
171
|
|
167
172
|
def share_folder(folder_id, user_id, access_type, options = {})
|
168
|
-
@request.put(['folder', folder_id.to_s, 'share'], { share: { shareTo: user_id, fileShare: access_type}.merge(options)
|
173
|
+
@request.put(['folder', folder_id.to_s, 'share'], { share: { shareTo: user_id, fileShare: access_type } }.merge(options))
|
169
174
|
end
|
170
175
|
|
171
|
-
def
|
172
|
-
@request.delete(['
|
176
|
+
def removes_sharing_rights(options = {})
|
177
|
+
@request.delete(['share'], options)
|
173
178
|
end
|
174
179
|
|
175
|
-
|
176
|
-
|
177
|
-
|
180
|
+
#endregion
|
181
|
+
|
182
|
+
#region Third-Party Integration
|
178
183
|
|
179
184
|
def get_third_party
|
180
185
|
@request.get(%w(thirdparty))
|
181
186
|
end
|
182
187
|
|
188
|
+
def save_third_party(options = {})
|
189
|
+
@request.post(%w(thirdparty), options)
|
190
|
+
end
|
191
|
+
|
183
192
|
def remove_third_party_account(provider_id)
|
184
193
|
@request.delete(['thirdparty', provider_id.to_s])
|
185
194
|
end
|
186
195
|
|
196
|
+
#endregion
|
197
|
+
|
198
|
+
#region Uploads
|
199
|
+
|
200
|
+
def upload_to_my_docs(file)
|
201
|
+
@request.post(%w(@my upload), somefile: File.new(file))
|
202
|
+
end
|
203
|
+
|
204
|
+
def upload_to_common_docs(file)
|
205
|
+
@request.post(%w(@common upload), somefile: File.new(file))
|
206
|
+
end
|
207
|
+
|
208
|
+
def upload_to_folder(folder_id, file)
|
209
|
+
@request.post([folder_id.to_s, 'upload'], somefile: File.new(file))
|
210
|
+
end
|
211
|
+
|
212
|
+
def insert_file(folder_id, file, title)
|
213
|
+
@request.post([folder_id.to_s, 'insert'], somefile: File.new(file), title: title)
|
214
|
+
end
|
215
|
+
|
216
|
+
def chunked_upload(folder_id, filename, file_size)
|
217
|
+
@request.post([folder_id.to_s, 'upload', 'create_session'], fileName: filename, fileSize: file_size)
|
218
|
+
end
|
219
|
+
|
220
|
+
#endregion
|
221
|
+
|
222
|
+
def search(query)
|
223
|
+
@request.get(['@search', query.to_s])
|
224
|
+
end
|
225
|
+
|
226
|
+
def generate_shared_link(file_id, share)
|
227
|
+
@request.put([file_id.to_s, 'sharedlink'], share: share)
|
228
|
+
end
|
229
|
+
|
187
230
|
end
|
188
|
-
end
|
231
|
+
end
|
@@ -35,6 +35,10 @@ module Teamlab
|
|
35
35
|
@request.get([project_id.to_s, 'message'])
|
36
36
|
end
|
37
37
|
|
38
|
+
def get_project_message(message_id)
|
39
|
+
@request.get(['message', message_id.to_s])
|
40
|
+
end
|
41
|
+
|
38
42
|
def check_subscription_to_discussion(message_id) #есть тест
|
39
43
|
@request.get(['message', message_id.to_s, 'subscribe'])
|
40
44
|
end
|
@@ -84,7 +88,7 @@ module Teamlab
|
|
84
88
|
end
|
85
89
|
|
86
90
|
def detach_file_from_message(message_id, file_id) #есть тест
|
87
|
-
@request.delete(['
|
91
|
+
@request.delete(['message', message_id.to_s, 'files'], fileid: file_id)
|
88
92
|
end
|
89
93
|
|
90
94
|
#endregion
|
@@ -108,7 +112,7 @@ module Teamlab
|
|
108
112
|
end
|
109
113
|
|
110
114
|
def add_message_comment(message_id, content, options = {}) #есть тест
|
111
|
-
@request.post(['
|
115
|
+
@request.post(['message', message_id.to_s, 'comment'], { content: content }.merge(options))
|
112
116
|
end
|
113
117
|
|
114
118
|
def update_comment(comment_id, content) #есть тест
|
@@ -199,8 +203,8 @@ module Teamlab
|
|
199
203
|
@request.post('', { title: title, description: description, responsibleid: responsible_id, tags: tags, private: private}.merge(options))
|
200
204
|
end
|
201
205
|
|
202
|
-
def create_template(title)
|
203
|
-
@request.post(['template'], { title: title })
|
206
|
+
def create_template(title, options = {})
|
207
|
+
@request.post(['template'], { title: title }.merge(options))
|
204
208
|
end
|
205
209
|
|
206
210
|
def add_milestone(project_id, title, deadline, responsible_id, options = {})
|
@@ -320,7 +324,7 @@ module Teamlab
|
|
320
324
|
end
|
321
325
|
|
322
326
|
def get_all_tasks(project_id)
|
323
|
-
@request.get([project_id.to_s, 'task'
|
327
|
+
@request.get([project_id.to_s, 'task'])
|
324
328
|
end
|
325
329
|
|
326
330
|
def check_subscription_to_task_action(task_id)
|
@@ -26,6 +26,10 @@ module Teamlab
|
|
26
26
|
@request.get(%w(security), ids: ids)
|
27
27
|
end
|
28
28
|
|
29
|
+
def get_ip_restrictions
|
30
|
+
@request.get(%w(iprestrictions))
|
31
|
+
end
|
32
|
+
|
29
33
|
def get_admin_security(product_id, user_id)
|
30
34
|
@request.get(%w(security administrator), productid: product_id, userid: user_id)
|
31
35
|
end
|
@@ -34,6 +38,14 @@ module Teamlab
|
|
34
38
|
@request.get(['security', 'administrator', product_id.to_s])
|
35
39
|
end
|
36
40
|
|
41
|
+
def sms_settings(enable)
|
42
|
+
@request.put(%w(sms), enable: enable)
|
43
|
+
end
|
44
|
+
|
45
|
+
def update_tips(show)
|
46
|
+
@request.put(%w(tips), show: show)
|
47
|
+
end
|
48
|
+
|
37
49
|
def set_version(version_id)
|
38
50
|
@request.put(%w(version), versionId: version_id)
|
39
51
|
end
|
@@ -42,6 +54,10 @@ module Teamlab
|
|
42
54
|
@request.put(%w(security), { id: id }.merge(options))
|
43
55
|
end
|
44
56
|
|
57
|
+
def save_ip_restrictions(ips)
|
58
|
+
@request.put(%w(iprestrictions), ips: ips)
|
59
|
+
end
|
60
|
+
|
45
61
|
def set_access(id, enabled = true)
|
46
62
|
@request.put(%w(access), items: [id, enabled])
|
47
63
|
end
|
@@ -49,5 +65,9 @@ module Teamlab
|
|
49
65
|
def set_product_admin(product_id, user_id, administrator = true)
|
50
66
|
@request.put(%w(security administrator), productid: product_id, userid: user_id, administrator: administrator)
|
51
67
|
end
|
68
|
+
|
69
|
+
def update_ip_restrictions(enable)
|
70
|
+
@request.put(%w(iprestrictions settings), enable: enable)
|
71
|
+
end
|
52
72
|
end
|
53
|
-
end
|
73
|
+
end
|
data/lib/teamlab/Request.rb
CHANGED
@@ -32,7 +32,7 @@ module Teamlab
|
|
32
32
|
private
|
33
33
|
|
34
34
|
def request(type, args)
|
35
|
-
command, opts = parse_args(args)
|
35
|
+
command, opts = parse_args(args, type)
|
36
36
|
url = generate_request_url(command)
|
37
37
|
attempts = 0
|
38
38
|
begin
|
@@ -52,7 +52,7 @@ module Teamlab
|
|
52
52
|
Teamlab.config.server + Teamlab.config.api_path + @api_additive + command
|
53
53
|
end
|
54
54
|
|
55
|
-
def parse_args(args)
|
55
|
+
def parse_args(args, type)
|
56
56
|
command = args.first.instance_of?(Array) ? '/' + args.shift.join('/') : args.shift.to_s
|
57
57
|
opts = {}
|
58
58
|
opts[:body] = args.last.instance_of?(Hash) ? args.pop : {}
|
@@ -61,6 +61,7 @@ module Teamlab
|
|
61
61
|
opts[:query] = opts.delete(:body)
|
62
62
|
opts[:detect_mime_type] = true
|
63
63
|
end
|
64
|
+
opts[:query] = opts.delete(:body) if type == :get
|
64
65
|
[command, opts]
|
65
66
|
end
|
66
67
|
end
|
data/lib/teamlab/version.rb
CHANGED
data/spec/support/http_data.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teamlab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rzagudaev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
144
|
version: '0'
|
145
145
|
requirements: []
|
146
146
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.
|
147
|
+
rubygems_version: 2.4.3
|
148
148
|
signing_key:
|
149
149
|
specification_version: 4
|
150
150
|
summary: Ruby gem for TeamLab
|