onlyoffice_api 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/teamlab/modules/files.rb +32 -18
- data/lib/teamlab/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c892bbb1d17d3dc5973b02ff35819d2ac24c25562128e34a511b85f2a853b765
|
4
|
+
data.tar.gz: 3370a41ebc3b2b591836eaf2b4cc5d49fa4f5bd05665016a07e7fad2a20d654c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27bd8ba09090aaa9220498757d732dcc37037d34fc4cb42eb14a82995dbbf93eee528535f0a8750f27ac019d3df1650827423fe18de4054e13579d16c64a31ba
|
7
|
+
data.tar.gz: 9ff12209da0b8d4316470f1f71653ce2d31574d2359c1d21e05ece096fd3345f4606e07373a909ac8abffaab49a4f62c2b4b92eaf2194adcb94e5966fe606099
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'cgi'
|
4
|
+
|
3
5
|
module Teamlab
|
4
6
|
class Files
|
5
7
|
def initialize(config = nil)
|
@@ -25,15 +27,15 @@ module Teamlab
|
|
25
27
|
end
|
26
28
|
|
27
29
|
def create_txt(folder_id, title, content)
|
28
|
-
@request.post([folder_id
|
30
|
+
@request.post([escape_folder_id(folder_id), 'text'], title: title.to_s, content: content.to_s)
|
29
31
|
end
|
30
32
|
|
31
33
|
def create_html(folder_id, title, content)
|
32
|
-
@request.post([folder_id
|
34
|
+
@request.post([escape_folder_id(folder_id), 'html'], title: title.to_s, content: content.to_s)
|
33
35
|
end
|
34
36
|
|
35
37
|
def create_file(folder_id, title)
|
36
|
-
@request.post([folder_id
|
38
|
+
@request.post([escape_folder_id(folder_id), 'file'], title: title.to_s)
|
37
39
|
end
|
38
40
|
|
39
41
|
# endregion
|
@@ -52,13 +54,13 @@ module Teamlab
|
|
52
54
|
@request.get(['file', fileid.to_s, 'checkconversion'])
|
53
55
|
end
|
54
56
|
|
55
|
-
def move_to_folder(
|
56
|
-
@request.put(%w[fileops move], { destFolderId:
|
57
|
+
def move_to_folder(folder_id, options = {})
|
58
|
+
@request.put(%w[fileops move], { destFolderId: escape_folder_id(folder_id) }.merge(options))
|
57
59
|
end
|
58
60
|
alias move_files move_to_folder
|
59
61
|
|
60
|
-
def copy_to_folder(
|
61
|
-
@request.put(%w[fileops copy], { destFolderId:
|
62
|
+
def copy_to_folder(folder_id, options = {})
|
63
|
+
@request.put(%w[fileops copy], { destFolderId: escape_folder_id(folder_id) }.merge(options))
|
62
64
|
end
|
63
65
|
|
64
66
|
def delete(options = {})
|
@@ -135,27 +137,27 @@ module Teamlab
|
|
135
137
|
end
|
136
138
|
|
137
139
|
def get_folder(folder_id, options = {})
|
138
|
-
@request.get([folder_id
|
140
|
+
@request.get([escape_folder_id(folder_id)], options)
|
139
141
|
end
|
140
142
|
|
141
143
|
def get_folder_info(folder_id)
|
142
|
-
@request.get(['folder', folder_id
|
144
|
+
@request.get(['folder', escape_folder_id(folder_id)])
|
143
145
|
end
|
144
146
|
|
145
147
|
def get_folder_path(folder_id)
|
146
|
-
@request.get(['folder', folder_id
|
148
|
+
@request.get(['folder', escape_folder_id(folder_id), 'path'])
|
147
149
|
end
|
148
150
|
|
149
151
|
def new_folder(folder_id, title)
|
150
|
-
@request.post(['folder', folder_id
|
152
|
+
@request.post(['folder', escape_folder_id(folder_id)], title: title)
|
151
153
|
end
|
152
154
|
|
153
155
|
def rename_folder(folder_id, title)
|
154
|
-
@request.put(['folder', folder_id
|
156
|
+
@request.put(['folder', escape_folder_id(folder_id)], title: title)
|
155
157
|
end
|
156
158
|
|
157
159
|
def delete_folder(folder_id)
|
158
|
-
@request.delete(['folder', folder_id
|
160
|
+
@request.delete(['folder', escape_folder_id(folder_id)])
|
159
161
|
end
|
160
162
|
|
161
163
|
# endregion
|
@@ -167,7 +169,7 @@ module Teamlab
|
|
167
169
|
end
|
168
170
|
|
169
171
|
def get_folder_sharing(folder_id)
|
170
|
-
@request.get(['folder', folder_id
|
172
|
+
@request.get(['folder', escape_folder_id(folder_id), 'share'])
|
171
173
|
end
|
172
174
|
|
173
175
|
def share_file(file_id, user_id, access_type, options = {})
|
@@ -175,7 +177,7 @@ module Teamlab
|
|
175
177
|
end
|
176
178
|
|
177
179
|
def share_folder(folder_id, user_id, access_type, options = {})
|
178
|
-
@request.put(['folder', folder_id
|
180
|
+
@request.put(['folder', escape_folder_id(folder_id), 'share'], { share: { shareTo: user_id, Access: access_type } }.merge(options))
|
179
181
|
end
|
180
182
|
|
181
183
|
def removes_sharing_rights(options = {})
|
@@ -224,15 +226,15 @@ module Teamlab
|
|
224
226
|
end
|
225
227
|
|
226
228
|
def upload_to_folder(folder_id, file)
|
227
|
-
@request.post([folder_id
|
229
|
+
@request.post([escape_folder_id(folder_id), 'upload'], somefile: File.new(file))
|
228
230
|
end
|
229
231
|
|
230
232
|
def insert_file(folder_id, file, title: File.basename(file), keep_convert_status: false)
|
231
|
-
@request.post([folder_id
|
233
|
+
@request.post([escape_folder_id(folder_id), 'insert'], file: File.new(file), title: title, keepConvertStatus: keep_convert_status)
|
232
234
|
end
|
233
235
|
|
234
236
|
def chunked_upload(folder_id, filename, file_size)
|
235
|
-
@request.post([folder_id
|
237
|
+
@request.post([escape_folder_id(folder_id), 'upload', 'create_session'], fileName: filename, fileSize: file_size)
|
236
238
|
end
|
237
239
|
|
238
240
|
# endregion
|
@@ -252,5 +254,17 @@ module Teamlab
|
|
252
254
|
def check_overwrite(set_value = true)
|
253
255
|
@request.put(%w[updateifexist], set: set_value)
|
254
256
|
end
|
257
|
+
|
258
|
+
# Sometimes folder id require escaping
|
259
|
+
# Because for example for folders from connected account will have id like this:
|
260
|
+
# ```
|
261
|
+
# sbox-193828-|New_Folder__474b010d-ad5f-49ff-8b3a-5b2583c1fbcc
|
262
|
+
# ```
|
263
|
+
# And this need escaping
|
264
|
+
# @param [Integer, String] id to escape
|
265
|
+
# @return [String] result after escape
|
266
|
+
def escape_folder_id(id)
|
267
|
+
CGI.escape(id.to_s)
|
268
|
+
end
|
255
269
|
end
|
256
270
|
end
|
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: 1.0.
|
4
|
+
version: 1.0.1
|
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: 2022-02-
|
14
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: httparty
|
@@ -280,7 +280,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
280
280
|
- !ruby/object:Gem::Version
|
281
281
|
version: '0'
|
282
282
|
requirements: []
|
283
|
-
rubygems_version: 3.3.
|
283
|
+
rubygems_version: 3.3.7
|
284
284
|
signing_key:
|
285
285
|
specification_version: 4
|
286
286
|
summary: Ruby gem for OnlyOffice. Formerly known as `teamlab`.
|