bunny_app 1.24.0 → 1.26.0

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: ff90fdfad4c4f392712b064e24008969d06ccd094ab0ec08c7af632fae260c6d
4
- data.tar.gz: ad0a4ca25bf828a86aaedfa91eb2f56a4fbd7bedebaf71e250e623e37f98509a
3
+ metadata.gz: c4a0f74a46c3e5505608ea9389c134bd7e3a8a0fa6393fe897c3eda833bef8d3
4
+ data.tar.gz: a341f3d6e05c48d8bb56b153a3a15249203278dda2f9e21e32070129837d9b79
5
5
  SHA512:
6
- metadata.gz: 3ac116e866190940b1e6287ee30107420a04191c574f54e118995fa628f5e4eda64a1f76658053051ed96e7dda790657f3ba2d05c57240e11e7eb717532b3044
7
- data.tar.gz: da749c01c6f07a77f31a3d486353681f8226032dd36988f46f026c5e5995f46aa9f103a037170891d3d103f9dace6cd8990902e7d57cd09088192fdf083f7f82
6
+ metadata.gz: d2a1c374be36a3bc46afd029156b9cfcc037a3ce0bba6118649d5355427ea26704c90e1cc2df66221ec6dabde86bb059b2c0346897dead83da3954fe624c9c95
7
+ data.tar.gz: 59552af3c0b3b70e6be6f666f8ebf6ba2e80c854230ee5fcdfdfce3ff6cbaf3772443d5ac9b27947585d434e1d4b4fb9a1d39f044f58eb4967db492d9fc267e4
data/README.md CHANGED
@@ -75,6 +75,14 @@ response = BunnyApp::Subscription.create(
75
75
  )
76
76
  ```
77
77
 
78
+ ### Get a portal session token for use with Bunny.js
79
+
80
+ ```ruby
81
+ response = BunnyApp::PortalSession.create(
82
+ tenant_code: "123456"
83
+ )
84
+ ```
85
+
78
86
  ### Track feature usage
79
87
 
80
88
  If you have usage based billing or just want to track feature usage then use this method.
@@ -58,7 +58,11 @@ module BunnyApp
58
58
 
59
59
  case res.code.to_s
60
60
  when /2[0-9][0-9]/ # HTTP 2xx
61
- JSON.parse(res.body)
61
+ response_body = JSON.parse(res.body)
62
+ raise ResponseError, response_body['errors'] if response_body['errors']
63
+
64
+ response_body
65
+
62
66
  when /401/ # Access Token Expired
63
67
  raise AuthorizationError, 'Invalid access token' unless BunnyApp.retryable
64
68
  raise AuthorizationError, 'Invalid api credentials' if retries >= 1
@@ -0,0 +1,20 @@
1
+ module BunnyApp
2
+ class PortalSession
3
+ @portal_session_create_mutation = <<-'GRAPHQL'
4
+ mutation portalSessionCreate ($tenantCode: String!) {
5
+ portalSessionCreate (tenantCode: $tenantCode) {
6
+ token
7
+ errors
8
+ }
9
+ }
10
+ GRAPHQL
11
+
12
+ def self.create(tenant_code:)
13
+ variables = {
14
+ tenantCode: tenant_code
15
+ }
16
+
17
+ Client.new.query(@portal_session_create_mutation, variables)
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BunnyApp
4
- VERSION = '1.24.0'
4
+ VERSION = '1.26.0'
5
5
  end
data/lib/bunny_app.rb CHANGED
@@ -6,6 +6,7 @@ require 'bunny_app/platform'
6
6
  require 'bunny_app/tenant'
7
7
  require 'bunny_app/subscription'
8
8
  require 'bunny_app/webhook'
9
+ require 'bunny_app/portal_session'
9
10
 
10
11
  module BunnyApp
11
12
  class << self
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bunny_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.24.0
4
+ version: 1.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bunny
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-01-15 00:00:00.000000000 Z
12
+ date: 2023-01-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -140,6 +140,7 @@ files:
140
140
  - lib/bunny_app/client.rb
141
141
  - lib/bunny_app/errors.rb
142
142
  - lib/bunny_app/platform.rb
143
+ - lib/bunny_app/portal_session.rb
143
144
  - lib/bunny_app/subscription.rb
144
145
  - lib/bunny_app/tenant.rb
145
146
  - lib/bunny_app/usage.rb