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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc6684033edfcf1fa8b4b600fc5eac5d6f217bccb063c45972a5d4295d6d23d1
4
- data.tar.gz: f9549083e22ad194108b71a30eb99f261807cbb60a4fa0c4d90302bc91f0b902
3
+ metadata.gz: e58dd075a0272e7e2db4245f15f604b13d300362d2b639a07de53406c9e6bc6d
4
+ data.tar.gz: 838eaaf3790536a3af4961f47622bfa4676d75cd06e5cdf120ceef6812b481d5
5
5
  SHA512:
6
- metadata.gz: f4d13b291a2220746b6c6a9244502301806ded70cafcaa5e4c9d686b18da69de85b4e13ccb7d1b06f2409ce961ac6edf03103ffc42295e03e9e0b988412b546e
7
- data.tar.gz: 49901394e2ed814d70742704ca17986de380123a70c68545a3679d337c744027293df23e2c0a71ce332c2e95860d8da93120b503619c107001321291d0f91406
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
- memory['credentials'] = payload
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['credentials'].nil?
229
+ if memory['expires_at'].nil?
212
230
  token_refresh()
213
231
  else
214
- timestamp_to_compare = memory['credentials']['expires_at']
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.11
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-26 00:00:00.000000000 Z
11
+ date: 2023-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler