huginn_strava_agent 0.1.11 → 0.1.12
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/huginn_strava_agent/strava_agent.rb +25 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e58dd075a0272e7e2db4245f15f604b13d300362d2b639a07de53406c9e6bc6d
|
4
|
+
data.tar.gz: 838eaaf3790536a3af4961f47622bfa4676d75cd06e5cdf120ceef6812b481d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb4cb08fe89928ab9dba767ac2508c410d1f106f0cbba4b7d12b865697f76441fe003b977cd00cdeac8043870a10686e4b7ede302b5b3d2a7a802fd4402e6cd7
|
7
|
+
data.tar.gz: ff1508ad1a3ed12c1c8710ae738b591641d7f8eddd56ad76f14f818471893f7be30843df3bb205181fba3a281e612b1ef95f01f8f4ae135a4330921254555a23
|
@@ -13,9 +13,9 @@ module Agents
|
|
13
13
|
|
14
14
|
`debug` is used for verbose mode.
|
15
15
|
|
16
|
-
`bearer_token` is mandatory for authentication.
|
16
|
+
`bearer_token` is mandatory for authentication (to avoid issue when refresh is needed, continue to use the default value for this field).
|
17
17
|
|
18
|
-
`refresh_token` is needed to refresh your token.
|
18
|
+
`refresh_token` is needed to refresh your token (to avoid issue when refresh is needed, continue to use the default value for this field).
|
19
19
|
|
20
20
|
`per_page` is the number of result per page when possible.
|
21
21
|
|
@@ -101,8 +101,8 @@ module Agents
|
|
101
101
|
'type' => 'get_activities',
|
102
102
|
'client_id' => '',
|
103
103
|
'client_secret' => '',
|
104
|
-
'refresh_token' => '',
|
105
|
-
'bearer_token' => '',
|
104
|
+
'refresh_token' => '{% credential strava_refresh_token %}',
|
105
|
+
'bearer_token' => '{% credential strava_bearer_token %}',
|
106
106
|
'per_page' => '5',
|
107
107
|
'debug' => 'false',
|
108
108
|
'expected_receive_period_in_days' => '2',
|
@@ -168,6 +168,12 @@ module Agents
|
|
168
168
|
|
169
169
|
private
|
170
170
|
|
171
|
+
def set_credential(name, value)
|
172
|
+
c = user.user_credentials.find_or_initialize_by(credential_name: name)
|
173
|
+
c.credential_value = value
|
174
|
+
c.save!
|
175
|
+
end
|
176
|
+
|
171
177
|
def log_curl_output(code,body)
|
172
178
|
|
173
179
|
log "request status : #{code}"
|
@@ -202,16 +208,28 @@ module Agents
|
|
202
208
|
log_curl_output(response.code,response.body)
|
203
209
|
|
204
210
|
payload = JSON.parse(response.body)
|
205
|
-
|
211
|
+
if interpolated['refresh_token'] != payload['refresh_token']
|
212
|
+
set_credential("strava_refresh_token", payload['refresh_token'])
|
213
|
+
if interpolated['debug'] == 'true'
|
214
|
+
log "strava_refresh_token credential updated"
|
215
|
+
end
|
216
|
+
end
|
217
|
+
if interpolated['bearer_token'] != payload['access_token']
|
218
|
+
set_credential("strava_bearer_token", payload['access_token'])
|
219
|
+
if interpolated['debug'] == 'true'
|
220
|
+
log "strava_bearer_token credential updated"
|
221
|
+
end
|
222
|
+
end
|
223
|
+
memory['expires_at'] = payload['expires_at']
|
206
224
|
|
207
225
|
end
|
208
226
|
|
209
227
|
def check_token_validity()
|
210
228
|
|
211
|
-
if memory['
|
229
|
+
if memory['expires_at'].nil?
|
212
230
|
token_refresh()
|
213
231
|
else
|
214
|
-
timestamp_to_compare = memory['
|
232
|
+
timestamp_to_compare = memory['expires_at']
|
215
233
|
current_timestamp = Time.now.to_i
|
216
234
|
difference_in_hours = (timestamp_to_compare - current_timestamp) / 3600.0
|
217
235
|
if difference_in_hours < 2
|
@@ -220,7 +238,6 @@ module Agents
|
|
220
238
|
log "refresh not needed"
|
221
239
|
end
|
222
240
|
end
|
223
|
-
|
224
241
|
end
|
225
242
|
|
226
243
|
def get_activities()
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: huginn_strava_agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Germain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-12-
|
11
|
+
date: 2023-12-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|