sf-onedrive 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0eedfdf5ddae0cc8ad71996674f69efa7592d8559dea7525a1653b9dbd4fd1b
4
- data.tar.gz: 94bf525bafdb6784209a723eda367799a38e152baed29843bf0ac827b8fdaf3e
3
+ metadata.gz: d03581bc67bbc0fc1ba98901ad77f67973377dcab653d38617008cfdc44b9315
4
+ data.tar.gz: 98a5e3c93c5a2eb79f0af14614c44bd7ca54bc5fcb3b2154c1a90010dfb8c97b
5
5
  SHA512:
6
- metadata.gz: becd23c4ee2c564c97941717464f2223b1fe9cc66803d90d5b77f5614c23f6720fc226e2d0ac19abb42efeb107457cb49f286defd9765041c97a65ec1ae166b7
7
- data.tar.gz: fbf1db2935a879040c0939e2402388f8c0fec7dcd247fb25ad5499399dcb4f9f6cb1bf2d33c4f0fccd7e368c62c96af850855e3c2f62b9b65b96b679861081bb
6
+ metadata.gz: 30d05ed45e8f64e3fc1fde6c7d29bb82a8bc6b0874e16951483d505cbbdd43b181fe814bc6cd86e6a50e34cd49706e5a12de7f9aa07ac65775f1395f92aa057a
7
+ data.tar.gz: 35af3026922ed9e082b220e1c9d019df110f368055a9c5ad1c64c329470eb23185d5c8e44de37d722259d64930321fe80e082ddc178aaefa5f8ec264fad1a5a5
@@ -54,80 +54,5 @@ module Onedrive
54
54
  redirect_to "#{session["redirect_url"]}&onedrive_secret_url=#{@secret_url}"
55
55
  end
56
56
  end
57
-
58
- def refresh_token(user, token)
59
- url = "https://login.microsoftonline.com/common/oauth2/v2.0/token"
60
- params = {
61
- :client_id => Onedrive.client_id,
62
- :redirect_uri => onedrive_redirect,
63
- :client_secret => Onedrive.client_secret,
64
- :refresh_token => token,
65
- :grant_type => "refresh_token"
66
- }
67
-
68
- uri = URI.parse(url)
69
- http = Net::HTTP.new(uri.host, uri.port)
70
- req = Net::HTTP::Post.new(uri.request_uri, 'Content-Type' => 'application/x-www-form-urlencoded')
71
- req.set_form_data(params)
72
- http.use_ssl = (uri.scheme == "https")
73
- response = http.request(req)
74
-
75
- if response.code[0] != '2'
76
- return nil
77
- else
78
- auth_params = JSON.parse(response.body)
79
- user.expires_at = DateTime.now + auth_params["expires_in"].to_i.seconds
80
- user.auth_params = auth_params.to_json
81
- user.save
82
- end
83
- end
84
-
85
- def sync
86
- user = Onedrive::User.find_by_token(params[:key])
87
- if !user
88
- puts "Error: Unable to find user"
89
- render :json => {:success => false}, :status => 400
90
- return
91
- end
92
-
93
- onedrive_params = JSON.parse(user.auth_params)
94
-
95
- if user.expires_at.past?
96
- response = refresh_token(user, onedrive_params["refresh_token"])
97
- if !response
98
- puts "Error: unable to refresh token"
99
- render :json => {:success => false}, :status => 400
100
- return
101
- end
102
-
103
- # access token will have changed at this point
104
- onedrive_params = JSON.parse(user.auth_params)
105
- end
106
-
107
- items = params[:items]
108
- auth_params = params[:auth_params]
109
-
110
- if items && items.length > 0
111
- payload = { "items" => items }
112
- payload["auth_params"] = auth_params if auth_params != nil
113
- folder = "#{Time.current.year}/#{DateTime.now.strftime("%B")}"
114
- filename = "#{DateTime.now.strftime("%B %d, %Y").sub(',', '')}.txt"
115
- upload_file(onedrive_params["access_token"], "#{folder}/#{filename}", "#{JSON.pretty_generate(payload.as_json)}")
116
- end
117
-
118
- render :json => {:success => true}
119
- end
120
-
121
- def upload_file(access_token, name, body)
122
- url = "https://graph.microsoft.com/v1.0/me/drive/special/approot:/#{CGI.escape(name)}:/content"
123
- uri = URI.parse(url)
124
- http = Net::HTTP.new(uri.host, uri.port)
125
- req = Net::HTTP::Put.new(uri.request_uri, {'Authorization' => "Bearer #{access_token}", 'Content-Type' => 'application/json'})
126
- req.body = body
127
- http.use_ssl = (uri.scheme == "https")
128
- response = http.request(req)
129
- end
130
-
131
-
132
57
  end
133
58
  end
@@ -1,7 +1,4 @@
1
1
  Onedrive::Engine.routes.draw do
2
-
3
- post "sync" => "drive#sync"
4
-
5
2
  get "auth_redirect" => "drive#auth_complete"
6
3
 
7
4
  root "drive#index"
@@ -1,3 +1,3 @@
1
1
  module Onedrive
2
- VERSION = '0.0.7'
2
+ VERSION = '0.0.8'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sf-onedrive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@StandardNotes"
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-17 00:00:00.000000000 Z
11
+ date: 2020-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails