parking_ticket 1.0.50 → 1.0.51

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: bf677104f4a7521da8b2fd6f29067e05da2b6561f2a9ca66d548b38a85d4a7ae
4
- data.tar.gz: 2a1f110540182ddfd469c0a6866cd9d080231f3d71b308e9009815a17458093c
3
+ metadata.gz: 2ae8a15d87b12cb8459a1c661fa420bb5bbca1aa7c228180efbb8d40e5b03b8b
4
+ data.tar.gz: 98356fdebb298798239e45df890bccc1ebcae34b949e71923bfe4de3cc031889
5
5
  SHA512:
6
- metadata.gz: 91b0d25a297292d067a76e77b67530410c5b82ad03a169049388c5b072e6056eeb27be51c684f690f998a6500e2e515209435b8edb354d8d5733601ad2af1bdf
7
- data.tar.gz: '0983f1b743c0de20665039cc0058ce0db8a0954688c6c3674d6dc002d0ce5d6ba8d95a8beb9c8ec9c00ff1499ddba0f355d39f06db1537dd67226b0d7510baab'
6
+ metadata.gz: ced6ff95178bb462c8923aa024d01ffe462a6b63c8f32fc25a843e37825cbe624748dadc3a2c85b182b1f77ad58fbfd7c89ae1ce096a4e2bc10781e9308afcd1
7
+ data.tar.gz: bb5cd1c63d9db6774818415186c3d2c5ee76d30f631088b6e2f05030ecff5d0ef6d8ea1b512ae9a34bd34d2c7fc6f81b03284c5c4ccb06ed8a5c7adb2307ba0e
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parking_ticket (1.0.49)
4
+ parking_ticket (1.0.50)
5
5
  faraday (>= 2.7.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- addressable (2.8.1)
10
+ addressable (2.8.4)
11
11
  public_suffix (>= 2.0.2, < 6.0)
12
12
  amazing_print (1.4.0)
13
13
  ast (2.4.2)
@@ -42,23 +42,23 @@ GEM
42
42
  rspec-core (~> 3.12.0)
43
43
  rspec-expectations (~> 3.12.0)
44
44
  rspec-mocks (~> 3.12.0)
45
- rspec-core (3.12.0)
45
+ rspec-core (3.12.1)
46
46
  rspec-support (~> 3.12.0)
47
- rspec-expectations (3.12.1)
47
+ rspec-expectations (3.12.2)
48
48
  diff-lcs (>= 1.2.0, < 2.0)
49
49
  rspec-support (~> 3.12.0)
50
- rspec-mocks (3.12.1)
50
+ rspec-mocks (3.12.5)
51
51
  diff-lcs (>= 1.2.0, < 2.0)
52
52
  rspec-support (~> 3.12.0)
53
53
  rspec-support (3.12.0)
54
- rubocop (1.48.1)
54
+ rubocop (1.49.0)
55
55
  json (~> 2.3)
56
56
  parallel (~> 1.10)
57
57
  parser (>= 3.2.0.0)
58
58
  rainbow (>= 2.2.2, < 4.0)
59
59
  regexp_parser (>= 1.8, < 3.0)
60
60
  rexml (>= 3.2.5, < 4.0)
61
- rubocop-ast (>= 1.26.0, < 2.0)
61
+ rubocop-ast (>= 1.28.0, < 2.0)
62
62
  ruby-progressbar (~> 1.7)
63
63
  unicode-display_width (>= 2.4.0, < 3.0)
64
64
  rubocop-ast (1.28.0)
@@ -67,13 +67,14 @@ GEM
67
67
  rubocop (>= 0.90.0)
68
68
  ruby-progressbar (1.13.0)
69
69
  ruby2_keywords (0.0.5)
70
- sorbet (0.5.10746)
71
- sorbet-static (= 0.5.10746)
72
- sorbet-runtime (0.5.10746)
73
- sorbet-static (0.5.10746-universal-darwin-20)
74
- sorbet-static-and-runtime (0.5.10746)
75
- sorbet (= 0.5.10746)
76
- sorbet-runtime (= 0.5.10746)
70
+ sorbet (0.5.10767)
71
+ sorbet-static (= 0.5.10767)
72
+ sorbet-runtime (0.5.10767)
73
+ sorbet-static (0.5.10767-universal-darwin-20)
74
+ sorbet-static (0.5.10767-x86_64-linux)
75
+ sorbet-static-and-runtime (0.5.10767)
76
+ sorbet (= 0.5.10767)
77
+ sorbet-runtime (= 0.5.10767)
77
78
  spoom (1.2.1)
78
79
  sorbet (>= 0.5.10187)
79
80
  sorbet-runtime (>= 0.5.9204)
@@ -97,10 +98,8 @@ GEM
97
98
  addressable (>= 2.8.0)
98
99
  crack (>= 0.3.2)
99
100
  hashdiff (>= 0.4.0, < 2.0.0)
100
- webrick (1.7.0)
101
- yard (0.9.28)
102
- webrick (~> 1.7.0)
103
- yard-sorbet (0.8.0)
101
+ yard (0.9.32)
102
+ yard-sorbet (0.8.1)
104
103
  sorbet-runtime (>= 0.5)
105
104
  yard (>= 0.9)
106
105
 
@@ -101,11 +101,11 @@ module ParkingTicket
101
101
  end
102
102
  def payment_methods
103
103
  raise_invalid_credentials! unless @valid_credentials
104
- @client.payment_methods.fetch('items').map do |payment_method|
104
+ @client.payment_methods.fetch('paymentCards').map do |payment_method|
105
105
  ParkingTicket::Clients::Models::PaymentMethod.new(
106
- client_internal_id: payment_method['id'],
106
+ client_internal_id: payment_method['paymentAccountId'],
107
107
  anonymised_card_number: payment_method['maskedCardNumber'][-4..],
108
- payment_card_type: PAYMENT_CARD_TYPE_MAPPER.fetch(payment_method['paymentCardType'])
108
+ payment_card_type: PAYMENT_CARD_TYPE_MAPPER.fetch(payment_method['cardType'])
109
109
  )
110
110
  end
111
111
  end
@@ -14,7 +14,9 @@ module ParkingTicket
14
14
  def auth(username, password)
15
15
  conn = Faraday.new('https://auth.paybyphoneapis.com') do |f|
16
16
  f.response :json
17
+ f.response :raise_error
17
18
  end
19
+
18
20
  conn.post(
19
21
  '/token',
20
22
  URI.encode_www_form({
@@ -139,21 +141,43 @@ module ParkingTicket
139
141
 
140
142
  sig { params(token: String).returns(T::Hash[String, T::Array[T::Hash[String, T.untyped]]]) }
141
143
  def payment_methods(token)
142
- connection(token).get('/payment/v3/accounts').body
144
+ connection = Faraday.new(
145
+ url: 'https://payments.paybyphoneapis.com',
146
+ headers: {
147
+ accept: 'application/json, text/plain, */*',
148
+ 'accept-language': 'fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7',
149
+ authorization: "Bearer #{token}",
150
+ 'content-type': 'application/json',
151
+ 'sec-fetch-dest': 'empty',
152
+ 'sec-fetch-mode': 'cors',
153
+ 'sec-fetch-site': 'cross-site',
154
+ 'x-api-key': 'zZ4ePLvoBBD1YwBGCo6P5DiPLDjSss3j',
155
+ 'x-pbp-clienttype': 'WebApp',
156
+ Referer: 'https://m2.paybyphone.fr/',
157
+ 'Referrer-Policy': 'strict-origin-when-cross-origin'
158
+ }
159
+ ) do |f|
160
+ f.response :json
161
+ f.response :raise_error
162
+ end
163
+
164
+ connection.get('/v1/accounts').body
143
165
  end
144
166
 
145
167
  private
146
168
 
147
- sig { params(token: String).returns(Faraday::Connection) }
148
- def connection(token)
169
+ sig { params(token: String, subdomain: T.nilable(String)).returns(Faraday::Connection) }
170
+ def connection(token, subdomain: 'consumer')
149
171
  Faraday.new(
150
- url: 'https://consumer.paybyphoneapis.com',
172
+ url: "https://#{subdomain}.paybyphoneapis.com",
151
173
  headers: {
152
174
  'Content-Type' => 'application/json',
153
- 'Authorization' => "Bearer #{token}"
175
+ 'Authorization' => "Bearer #{token}",
176
+ 'Referer' => 'https://m2.paybyphone.fr/'
154
177
  }
155
178
  ) do |f|
156
179
  f.response :json
180
+ f.response :raise_error
157
181
  end
158
182
  end
159
183
  end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module ParkingTicket
5
- VERSION = '1.0.50'
5
+ VERSION = '1.0.51'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parking_ticket
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.50
4
+ version: 1.0.51
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Ecrepont
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-06 00:00:00.000000000 Z
11
+ date: 2023-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday