ravendb-manager 0.1.1 → 0.1.2
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/ravendb-manager.rb +14 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6d1a2ee8d0ca8ad099b6bea15abafde4e536c82
|
4
|
+
data.tar.gz: adb818022f5cbf258370862a54caba81365be135
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c52be925be669c25eed064e40c9d9239f740a87bbb193d0222f8edb9936518ebbe1c42b23524151ee43008d3cdc79b861b07f54dc8a8a13e3b70ffe69015bc9a
|
7
|
+
data.tar.gz: 674f2307dd912bac224e00e2e88f6d1aad20ab7f5a02dc9319e670c9aaf5593511644854b410e24ca0854abade6e8505fedf8d5f470439ea6c9ef835d4599152
|
data/lib/ravendb-manager.rb
CHANGED
@@ -24,17 +24,18 @@ class RavenDBManager
|
|
24
24
|
def initialize(hostname, port, api_key_name, api_key_secret)
|
25
25
|
raise 'hostname is empty' unless !hostname.to_s.empty?
|
26
26
|
raise 'port is invalid' unless port.to_i != 0
|
27
|
+
|
27
28
|
raise 'api_key_name empty' unless !api_key_name.to_s.empty?
|
28
29
|
raise 'api_key_secret empty' unless !api_key_secret.to_s.empty?
|
29
30
|
|
30
31
|
@hostname = hostname.to_s
|
31
32
|
@port = port.to_i
|
32
|
-
|
33
|
-
@api_key_secret = api_key_secret.to_s
|
34
|
-
|
33
|
+
|
35
34
|
@uri = "http://#{@hostname}:#{port}"
|
36
35
|
@oauth_endpoint = URI.parse("#{@uri}/OAuth/API-Key")
|
37
36
|
|
37
|
+
@api_key_name = api_key_name.to_s
|
38
|
+
@api_key_secret = api_key_secret.to_s
|
38
39
|
@bearer_token = get_bearer_token
|
39
40
|
end
|
40
41
|
|
@@ -228,6 +229,12 @@ class RavenDBManager
|
|
228
229
|
return nil
|
229
230
|
end
|
230
231
|
|
232
|
+
def list_api_keys
|
233
|
+
response = http_get('/databases/<system>/streams/docs?startsWith=Raven/ApiKeys&pageSize=1024')
|
234
|
+
raise get_error_string(response) unless is_success?(response)
|
235
|
+
return JSON.parse(response.body)['Results'].map {|k| [ k['Name'], { :databases => k['Databases'], :secret => k['Secret']}]}.to_h
|
236
|
+
end
|
237
|
+
|
231
238
|
private
|
232
239
|
|
233
240
|
PASSWORD_CHARS = [*('a'..'z'),*('A'..'Z'),*(0..9)]
|
@@ -260,7 +267,7 @@ class RavenDBManager
|
|
260
267
|
request['Authorization'] = "Bearer #{@bearer_token}"
|
261
268
|
|
262
269
|
response = http.request(request)
|
263
|
-
if
|
270
|
+
if has_token_expired?(response) && !is_retry then
|
264
271
|
@bearer_token = get_bearer_token
|
265
272
|
return http_get(url, true)
|
266
273
|
end
|
@@ -274,7 +281,7 @@ class RavenDBManager
|
|
274
281
|
request['Authorization'] = "Bearer #{@bearer_token}"
|
275
282
|
|
276
283
|
response = http.request(request)
|
277
|
-
if
|
284
|
+
if has_token_expired?(request) && !is_retry then
|
278
285
|
@bearer_token = get_bearer_token
|
279
286
|
return http_delete(url, true)
|
280
287
|
end
|
@@ -289,7 +296,7 @@ class RavenDBManager
|
|
289
296
|
request.body = document
|
290
297
|
|
291
298
|
response = http.request(request)
|
292
|
-
if
|
299
|
+
if has_token_expired?(request) && !is_retry then
|
293
300
|
@bearer_token = get_bearer_token
|
294
301
|
return http_put(url, document, true)
|
295
302
|
end
|
@@ -304,7 +311,7 @@ class RavenDBManager
|
|
304
311
|
request.body = document unless document.nil?
|
305
312
|
|
306
313
|
response = http.request(request)
|
307
|
-
if
|
314
|
+
if has_token_expired?(request) && !is_retry then
|
308
315
|
@bearer_token = get_bearer_token
|
309
316
|
return http_post(url, document, true)
|
310
317
|
end
|