gdrivestrg 0.0.10 → 0.0.11
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.
- data/app/models/gdrivestrg/permission_id.rb +8 -0
- data/app/models/gdrivestrg/permission_id.rb~ +10 -0
- data/db/migrate/20130314120725_create_gdrivestrg_permission_ids.rb +11 -0
- data/db/migrate/20130314120725_create_gdrivestrg_permission_ids.rb~ +11 -0
- data/lib/gdrivestrg/gdrivestrg.rb +28 -2
- data/lib/gdrivestrg/gdrivestrg.rb~ +28 -5
- data/lib/gdrivestrg/version.rb +1 -1
- data/lib/gdrivestrg/version.rb~ +1 -1
- metadata +8 -4
@@ -200,13 +200,16 @@ class GdriveStrg < CloudStrg::CloudStorage
|
|
200
200
|
end
|
201
201
|
|
202
202
|
def share_file params
|
203
|
-
new_permission = @drive_api.permissions.insert.request_schema.new({'value' => params[:share_email], 'type' => 'user', 'role' => '
|
203
|
+
new_permission = @drive_api.permissions.insert.request_schema.new({'value' => params[:share_email], 'type' => 'user', 'role' => 'reader'})
|
204
204
|
result = @client.execute!(
|
205
205
|
:api_method => @drive_api.permissions.insert,
|
206
206
|
:body_object => new_permission,
|
207
207
|
:parameters => { 'fileId' => params[:file_id] })
|
208
208
|
if result.status == 200
|
209
|
-
|
209
|
+
file = Cloudstrg::Remoteobject.find(params[:local_file_id])
|
210
|
+
file.gdrivestrgpermissions.build(:user_id => params[:user_id], :permission_id => result.data['id'])
|
211
|
+
file.save
|
212
|
+
return result.data['id']
|
210
213
|
else
|
211
214
|
puts "An error occurred: #{result.data['error']['message']}"
|
212
215
|
return nil
|
@@ -214,6 +217,29 @@ class GdriveStrg < CloudStrg::CloudStorage
|
|
214
217
|
|
215
218
|
end
|
216
219
|
|
220
|
+
def unshare_file params
|
221
|
+
permission = Gdrivestrg::PermissionId.find_by_user_id_and_remoteobject_id(params[:user_id], params[:local_file_id])
|
222
|
+
p "############################"
|
223
|
+
p permission
|
224
|
+
p "############################"
|
225
|
+
|
226
|
+
if not permission
|
227
|
+
puts "Permission not found"
|
228
|
+
return nil
|
229
|
+
end
|
230
|
+
result = @client.execute!(
|
231
|
+
:api_method => @drive_api.permissions.delete,
|
232
|
+
:parameters => { 'fileId' => params[:file_id], 'permissionId' => permission.permission_id })
|
233
|
+
if result.status == 204
|
234
|
+
permission.destroy
|
235
|
+
return "ok"
|
236
|
+
else
|
237
|
+
puts "An error occurred"
|
238
|
+
return nil
|
239
|
+
end
|
240
|
+
|
241
|
+
end
|
242
|
+
|
217
243
|
def check_referer referer
|
218
244
|
if not referer
|
219
245
|
return false
|
@@ -61,12 +61,9 @@ class GdriveStrg < CloudStrg::CloudStorage
|
|
61
61
|
:expires_in => user_params.expires_in,
|
62
62
|
:issued_at => user_params.issued_at)
|
63
63
|
if @client.authorization.refresh_token && @client.authorization.expired?
|
64
|
-
p "aqui1"
|
65
64
|
session = requestAccessToken(session, user_params)
|
66
65
|
else
|
67
|
-
p "aqui2"
|
68
66
|
if not authorized?
|
69
|
-
p "aqui3"
|
70
67
|
if @client.authorization.refresh_token
|
71
68
|
session = requestAccessToken(session, user_params)
|
72
69
|
else
|
@@ -203,13 +200,39 @@ class GdriveStrg < CloudStrg::CloudStorage
|
|
203
200
|
end
|
204
201
|
|
205
202
|
def share_file params
|
206
|
-
new_permission = @drive_api.permissions.insert.request_schema.new({'value' => params[:share_email], 'type' => 'user', 'role' => '
|
203
|
+
new_permission = @drive_api.permissions.insert.request_schema.new({'value' => params[:share_email], 'type' => 'user', 'role' => 'reader'})
|
207
204
|
result = @client.execute!(
|
208
205
|
:api_method => @drive_api.permissions.insert,
|
209
206
|
:body_object => new_permission,
|
210
207
|
:parameters => { 'fileId' => params[:file_id] })
|
211
208
|
if result.status == 200
|
212
|
-
|
209
|
+
file = Cloudstrg::Remoteobject.find(params[:local_file_id])
|
210
|
+
file.gdrivestrgpermissions.build(:user_id => params[:user_id], :permission_id => result.data['id'])
|
211
|
+
file.save
|
212
|
+
return result.data['id']
|
213
|
+
else
|
214
|
+
puts "An error occurred: #{result.data['error']['message']}"
|
215
|
+
return nil
|
216
|
+
end
|
217
|
+
|
218
|
+
end
|
219
|
+
|
220
|
+
def unshare_file params
|
221
|
+
permission = Gdrivestrg::PermissionId.find_by_user_id_and_remoteobject_id(params[:user_id], params[:local_file_id])
|
222
|
+
p "############################"
|
223
|
+
p permission
|
224
|
+
p "############################"
|
225
|
+
|
226
|
+
if not permission
|
227
|
+
puts "Permission not found"
|
228
|
+
return nil
|
229
|
+
end
|
230
|
+
result = @client.execute!(
|
231
|
+
:api_method => @drive_api.permissions.delete,
|
232
|
+
:parameters => { 'fileId' => params[:file_id], 'permissionId' => permission.permission_id })
|
233
|
+
if result.status == 204
|
234
|
+
permission.destroy
|
235
|
+
return "ok"
|
213
236
|
else
|
214
237
|
puts "An error occurred: #{result.data['error']['message']}"
|
215
238
|
return nil
|
data/lib/gdrivestrg/version.rb
CHANGED
data/lib/gdrivestrg/version.rb~
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gdrivestrg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.0.
|
37
|
+
version: 0.0.12
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.0.
|
45
|
+
version: 0.0.12
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: google-api-client
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,10 +84,12 @@ extra_rdoc_files: []
|
|
84
84
|
files:
|
85
85
|
- app/helpers/gdrivestrg/params_helper.rb
|
86
86
|
- app/helpers/gdrivestrg/application_helper.rb
|
87
|
+
- app/models/gdrivestrg/permission_id.rb
|
87
88
|
- app/models/gdrivestrg/folder.rb
|
88
89
|
- app/models/gdrivestrg/param.rb~
|
89
90
|
- app/models/gdrivestrg/param.rb
|
90
91
|
- app/models/gdrivestrg/folder.rb~
|
92
|
+
- app/models/gdrivestrg/permission_id.rb~
|
91
93
|
- app/assets/stylesheets/scaffold.css
|
92
94
|
- app/assets/stylesheets/gdrivestrg/params.css
|
93
95
|
- app/assets/stylesheets/gdrivestrg/application.css
|
@@ -102,9 +104,11 @@ files:
|
|
102
104
|
- app/controllers/gdrivestrg/application_controller.rb
|
103
105
|
- app/controllers/gdrivestrg/params_controller.rb
|
104
106
|
- config/routes.rb
|
107
|
+
- db/migrate/20130314120725_create_gdrivestrg_permission_ids.rb
|
105
108
|
- db/migrate/20121107140721_create_gdrivestrg_params.rb~
|
106
109
|
- db/migrate/20130313124441_add_user_id_to_gdrivestrg_folders.rb
|
107
110
|
- db/migrate/20130313115251_create_gdrivestrg_folders.rb
|
111
|
+
- db/migrate/20130314120725_create_gdrivestrg_permission_ids.rb~
|
108
112
|
- db/migrate/20121107140721_create_gdrivestrg_params.rb
|
109
113
|
- db/migrate/20121108121038_add_user_id_to_gdrivestrg_params.rb
|
110
114
|
- db/migrate/20121108121038_add_user_id_to_gdrivestrg_params.rb~
|