starkinfra 0.4.0 → 0.5.0

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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/lib/brcodepreview/brcodepreview.rb +2 -5
  3. data/lib/cardmethod/cardmethod.rb +2 -2
  4. data/lib/creditholmes/creditholmes.rb +8 -11
  5. data/lib/creditnote/creditnote.rb +10 -11
  6. data/lib/creditnote/invoice/description.rb +3 -5
  7. data/lib/creditnote/invoice/discount.rb +3 -4
  8. data/lib/creditnote/invoice/invoice.rb +5 -6
  9. data/lib/creditnote/log.rb +8 -9
  10. data/lib/creditnote/transfer.rb +4 -5
  11. data/lib/creditpreview/creditnotepreview.rb +2 -3
  12. data/lib/creditpreview/creditpreview.rb +3 -4
  13. data/lib/creditsigner/creditsigner.rb +3 -6
  14. data/lib/dynamicbrcode/dynamicbrcode.rb +17 -19
  15. data/lib/error.rb +7 -40
  16. data/lib/event/attempt.rb +7 -8
  17. data/lib/event/event.rb +8 -11
  18. data/lib/individualdocument/individualdocument.rb +7 -8
  19. data/lib/individualdocument/log.rb +8 -9
  20. data/lib/individualidentity/individualidentity.rb +7 -8
  21. data/lib/individualidentity/log.rb +8 -9
  22. data/lib/issuingbalance/issuingbalance.rb +2 -3
  23. data/lib/issuingcard/issuingcard.rb +9 -10
  24. data/lib/issuingcard/log.rb +8 -9
  25. data/lib/issuingdesign/issuingdesign.rb +5 -6
  26. data/lib/issuingembossingkit/issuingembossingkit.rb +4 -5
  27. data/lib/issuingembossingrequest/issuingembossingrequest.rb +8 -9
  28. data/lib/issuingembossingrequest/log.rb +8 -9
  29. data/lib/issuingholder/issuingholder.rb +9 -10
  30. data/lib/issuingholder/log.rb +8 -9
  31. data/lib/issuinginvoice/issuinginvoice.rb +8 -9
  32. data/lib/issuinginvoice/log.rb +8 -9
  33. data/lib/issuingproduct/issuingproduct.rb +3 -4
  34. data/lib/issuingpurchase/issuingpurchase.rb +32 -24
  35. data/lib/issuingpurchase/log.rb +8 -9
  36. data/lib/issuingrestock/issuingrestock.rb +8 -9
  37. data/lib/issuingrestock/log.rb +8 -9
  38. data/lib/issuingrule/issuingrule.rb +6 -7
  39. data/lib/issuingstock/issuingstock.rb +8 -9
  40. data/lib/issuingstock/log.rb +8 -9
  41. data/lib/issuingtransaction/issuingtransaction.rb +7 -8
  42. data/lib/issuingwithdrawal/issuingwithdrawal.rb +8 -9
  43. data/lib/merchantcategory/merchantcategory.rb +2 -2
  44. data/lib/merchantcountry/merchantcountry.rb +2 -2
  45. data/lib/pixbalance/pixbalance.rb +2 -3
  46. data/lib/pixchargeback/log.rb +8 -9
  47. data/lib/pixchargeback/pixchargeback.rb +8 -9
  48. data/lib/pixclaim/log.rb +8 -9
  49. data/lib/pixclaim/pixclaim.rb +8 -9
  50. data/lib/pixdirector/pixdirector.rb +2 -2
  51. data/lib/pixdomain/certificate.rb +2 -2
  52. data/lib/pixdomain/pixdomain.rb +3 -3
  53. data/lib/pixinfraction/log.rb +8 -9
  54. data/lib/pixinfraction/pixinfraction.rb +8 -9
  55. data/lib/pixkey/log.rb +8 -9
  56. data/lib/pixkey/pixkey.rb +8 -9
  57. data/lib/pixrequest/log.rb +8 -9
  58. data/lib/pixrequest/pixrequest.rb +9 -10
  59. data/lib/pixreversal/log.rb +7 -9
  60. data/lib/pixreversal/pixreversal.rb +9 -10
  61. data/lib/pixstatement/pixstatement.rb +6 -7
  62. data/lib/request/request.rb +152 -0
  63. data/lib/starkinfra.rb +14 -6
  64. data/lib/staticbrcode/staticbrcode.rb +8 -9
  65. data/lib/utils/parse.rb +23 -42
  66. data/lib/utils/rest.rb +211 -110
  67. data/lib/webhook/webhook.rb +2 -3
  68. metadata +6 -21
  69. data/lib/key.rb +0 -33
  70. data/lib/user/organization.rb +0 -54
  71. data/lib/user/project.rb +0 -37
  72. data/lib/user/user.rb +0 -20
  73. data/lib/utils/api.rb +0 -89
  74. data/lib/utils/bacenid.rb +0 -19
  75. data/lib/utils/cache.rb +0 -10
  76. data/lib/utils/case.rb +0 -21
  77. data/lib/utils/checks.rb +0 -100
  78. data/lib/utils/endtoendid.rb +0 -11
  79. data/lib/utils/environment.rb +0 -14
  80. data/lib/utils/request.rb +0 -79
  81. data/lib/utils/resource.rb +0 -13
  82. data/lib/utils/returnid.rb +0 -11
  83. data/lib/utils/sub_resource.rb +0 -27
  84. data/lib/utils/url.rb +0 -28
data/lib/utils/parse.rb CHANGED
@@ -1,53 +1,34 @@
1
- # frozen_string_literal: true
2
-
3
- require('json')
4
- require('starkbank-ecdsa')
5
- require_relative('api')
6
- require_relative('cache')
7
- require_relative('request')
8
- require_relative('../error')
1
+ require('starkcore')
9
2
 
10
3
  module StarkInfra
11
4
  module Utils
12
5
  module Parse
13
6
  def self.parse_and_verify(content:, signature:, user: nil, resource:, key: nil)
14
- content = verify(content:content, signature: signature, user: user)
15
- json = JSON.parse(content)
16
- json = JSON.parse(content)[key] unless key.nil?
17
-
18
- StarkInfra::Utils::API.from_api_json(resource[:resource_maker], json)
7
+ return StarkCore::Utils::Parse.parse_and_verify(
8
+ content: content,
9
+ signature: signature,
10
+ sdk_version: StarkInfra::SDK_VERSION,
11
+ api_version: StarkInfra::API_VERSION,
12
+ host: StarkInfra::HOST,
13
+ resource: resource,
14
+ user: user ? user : StarkInfra.user,
15
+ language: StarkInfra.language,
16
+ timeout: StarkInfra.language,
17
+ key: key
18
+ )
19
19
  end
20
20
 
21
21
  def self.verify(content:, signature:, user: nil)
22
- begin
23
- signature = EllipticCurve::Signature.fromBase64(signature)
24
- rescue
25
- raise(StarkInfra::Error::InvalidSignatureError, 'The provided signature is not valid')
26
- end
27
-
28
- if verify_signature(content: content, signature: signature, user: user)
29
- return content
30
- end
31
-
32
- if verify_signature(content: content, signature: signature, user: user, refresh: true)
33
- return content
34
- end
35
-
36
- raise(StarkInfra::Error::InvalidSignatureError, 'The provided signature and content do not match the Stark Infra public key')
37
- end
38
-
39
- def self.verify_signature(content:, signature:, user:, refresh: false)
40
- public_key = StarkInfra::Utils::Cache.starkinfra_public_key
41
- if public_key.nil? || refresh
42
- pem = get_public_key_pem(user)
43
- public_key = EllipticCurve::PublicKey.fromPem(pem)
44
- StarkInfra::Utils::Cache.starkinfra_public_key = public_key
45
- end
46
- EllipticCurve::Ecdsa.verify(content, signature, public_key)
47
- end
48
-
49
- def self.get_public_key_pem(user)
50
- StarkInfra::Utils::Request.fetch(method: 'GET', path: 'public-key', query: { limit: 1 }, user: user).json['publicKeys'][0]['content']
22
+ return StarkCore::Utils::Parse.verify(
23
+ content: content,
24
+ signature: signature,
25
+ sdk_version: StarkInfra::SDK_VERSION,
26
+ api_version: StarkInfra::API_VERSION,
27
+ host: StarkInfra::HOST,
28
+ user: user ? user : StarkInfra.user,
29
+ language: StarkInfra.language,
30
+ timeout: StarkInfra.language
31
+ )
51
32
  end
52
33
  end
53
34
  end
data/lib/utils/rest.rb CHANGED
@@ -1,136 +1,237 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative('request')
4
- require_relative('api')
3
+ require('starkcore')
5
4
 
6
5
  module StarkInfra
7
6
  module Utils
8
7
  module Rest
9
- def self.get_page(resource_name:, resource_maker:, user: nil, **query)
10
- json = StarkInfra::Utils::Request.fetch(
11
- method: 'GET',
12
- path: StarkInfra::Utils::API.endpoint(resource_name),
13
- query: query,
14
- user: user
15
- ).json
16
- entities = []
17
- json[StarkInfra::Utils::API.last_name_plural(resource_name)].each do |entity_json|
18
- entities << StarkInfra::Utils::API.from_api_json(resource_maker, entity_json)
19
- end
20
- return entities, json['cursor']
8
+
9
+ def self.get_page(resource_name:, resource_maker:, user:, **query)
10
+ return StarkCore::Utils::Rest.get_page(
11
+ resource_name: resource_name,
12
+ resource_maker: resource_maker,
13
+ sdk_version: StarkInfra::SDK_VERSION,
14
+ host: StarkInfra::HOST,
15
+ api_version: StarkInfra::API_VERSION,
16
+ user: user ? user : StarkInfra.user,
17
+ language: StarkInfra.language,
18
+ timeout: StarkInfra.timeout,
19
+ **query
20
+ )
21
21
  end
22
22
 
23
- def self.get_stream(resource_name:, resource_maker:, user: nil, **query)
24
- limit = query[:limit]
25
- query[:limit] = limit.nil? ? limit : [limit, 100].min
26
-
27
- Enumerator.new do |enum|
28
- loop do
29
- json = StarkInfra::Utils::Request.fetch(
30
- method: 'GET',
31
- path: StarkInfra::Utils::API.endpoint(resource_name),
32
- query: query,
33
- user: user
34
- ).json
35
- entities = json[StarkInfra::Utils::API.last_name_plural(resource_name)]
36
-
37
- entities.each do |entity|
38
- enum << StarkInfra::Utils::API.from_api_json(resource_maker, entity)
39
- end
40
-
41
- unless limit.nil?
42
- limit -= 100
43
- query[:limit] = [limit, 100].min
44
- end
45
-
46
- cursor = json['cursor']
47
- query['cursor'] = cursor
48
- break if cursor.nil? || cursor.empty? || (!limit.nil? && limit <= 0)
49
- end
50
- end
23
+ def self.get_stream(resource_name:, resource_maker:, user:, **query)
24
+ return StarkCore::Utils::Rest.get_stream(
25
+ resource_name: resource_name,
26
+ resource_maker: resource_maker,
27
+ sdk_version: StarkInfra::SDK_VERSION,
28
+ host: StarkInfra::HOST,
29
+ api_version: StarkInfra::API_VERSION,
30
+ user: user ? user : StarkInfra.user,
31
+ language: StarkInfra.language,
32
+ timeout: StarkInfra.timeout,
33
+ **query
34
+ )
51
35
  end
52
36
 
53
- def self.get_id(resource_name:, resource_maker:, id:, user: nil, **query)
54
- json = StarkInfra::Utils::Request.fetch(
55
- method: 'GET',
56
- path: "#{StarkInfra::Utils::API.endpoint(resource_name)}/#{id}",
57
- query: query,
58
- user: user
59
- ).json
60
- entity = json[StarkInfra::Utils::API.last_name(resource_name)]
61
- StarkInfra::Utils::API.from_api_json(resource_maker, entity)
37
+ def self.get_id(resource_name:, resource_maker:, user:, id:, **query)
38
+ return StarkCore::Utils::Rest.get_id(
39
+ resource_name: resource_name,
40
+ resource_maker: resource_maker,
41
+ sdk_version: StarkInfra::SDK_VERSION,
42
+ host: StarkInfra::HOST,
43
+ api_version: StarkInfra::API_VERSION,
44
+ user: user ? user : StarkInfra.user,
45
+ language: StarkInfra.language,
46
+ timeout: StarkInfra.timeout,
47
+ id: id,
48
+ **query
49
+ )
62
50
  end
63
51
 
64
- def self.get_content(resource_name:, sub_resource_name:, id:, user: nil)
65
- StarkInfra::Utils::Request.fetch(
66
- method: 'GET',
67
- path: "#{StarkInfra::Utils::API.endpoint(resource_name)}/#{id}/#{sub_resource_name}",
68
- user: user
69
- ).content
52
+ def self.get_content(resource_name:, resource_maker:, user:, sub_resource_name:, id:, **query)
53
+ return StarkCore::Utils::Rest.get_content(
54
+ resource_name: resource_name,
55
+ resource_maker: resource_maker,
56
+ sdk_version: StarkInfra::SDK_VERSION,
57
+ host: StarkInfra::HOST,
58
+ api_version: StarkInfra::API_VERSION,
59
+ user: user ? user : StarkInfra.user,
60
+ language: StarkInfra.language,
61
+ timeout: StarkInfra.timeout,
62
+ sub_resource_name: sub_resource_name,
63
+ id: id,
64
+ **query
65
+ )
70
66
  end
71
67
 
72
- def self.post(resource_name:, resource_maker:, entities:, user: nil, **query)
73
- jsons = []
74
- entities.each do |entity|
75
- jsons << StarkInfra::Utils::API.api_json(entity)
76
- end
77
- payload = { StarkInfra::Utils::API.last_name_plural(resource_name) => jsons }
78
- json = StarkInfra::Utils::Request.fetch(
79
- method: 'POST',
80
- path: StarkInfra::Utils::API.endpoint(resource_name),
81
- payload: payload,
82
- query: query,
83
- user: user
84
- ).json
85
- returned_jsons = json[StarkInfra::Utils::API.last_name_plural(resource_name)]
86
- entities = []
87
- returned_jsons.each do |returned_json|
88
- entities << StarkInfra::Utils::API.from_api_json(resource_maker, returned_json)
89
- end
90
- entities
68
+ def self.get_sub_resource(resource_name:, sub_resource_maker:, sub_resource_name:, user:, id:, **query)
69
+ return StarkCore::Utils::Rest.get_sub_resource(
70
+ resource_name: resource_name,
71
+ sub_resource_maker: sub_resource_maker,
72
+ sub_resource_name: sub_resource_name,
73
+ sdk_version: StarkInfra::SDK_VERSION,
74
+ host: StarkInfra::HOST,
75
+ api_version: StarkInfra::API_VERSION,
76
+ user: user ? user : StarkInfra.user,
77
+ language: StarkInfra.language,
78
+ timeout: StarkInfra.timeout,
79
+ id: id,
80
+ **query
81
+ )
82
+ end
83
+
84
+ def self.get_sub_resources(resource_name:, sub_resource_maker:, sub_resource_name:, user:, id:, **query)
85
+ return StarkCore::Utils::Rest.get_sub_resource(
86
+ resource_name: resource_name,
87
+ sub_resource_maker: sub_resource_maker,
88
+ sub_resource_name: sub_resource_name,
89
+ sdk_version: StarkInfra::SDK_VERSION,
90
+ host: StarkInfra::HOST,
91
+ api_version: StarkInfra::API_VERSION,
92
+ user: user ? user : StarkInfra.user,
93
+ language: StarkInfra.language,
94
+ timeout: StarkInfra.timeout,
95
+ id: id,
96
+ **query
97
+ )
91
98
  end
92
99
 
93
- def self.post_single(resource_name:, resource_maker:, entity:, user: nil)
94
- json = StarkInfra::Utils::Request.fetch(
95
- method: 'POST',
96
- path: StarkInfra::Utils::API.endpoint(resource_name),
97
- payload: StarkInfra::Utils::API.api_json(entity),
98
- user: user
99
- ).json
100
- entity_json = json[StarkInfra::Utils::API.last_name(resource_name)]
101
- StarkInfra::Utils::API.from_api_json(resource_maker, entity_json)
100
+ def self.post(resource_name:, resource_maker:, user:, entities:, **query)
101
+ return StarkCore::Utils::Rest.post(
102
+ resource_name: resource_name,
103
+ resource_maker: resource_maker,
104
+ sdk_version: StarkInfra::SDK_VERSION,
105
+ host: StarkInfra::HOST,
106
+ api_version: StarkInfra::API_VERSION,
107
+ user: user ? user : StarkInfra.user,
108
+ language: StarkInfra.language,
109
+ timeout: StarkInfra.timeout,
110
+ entities: entities,
111
+ **query
112
+ )
102
113
  end
103
114
 
104
- def self.delete_id(resource_name:, resource_maker:, id:, user: nil)
105
- json = StarkInfra::Utils::Request.fetch(
106
- method: 'DELETE',
107
- path: "#{StarkInfra::Utils::API.endpoint(resource_name)}/#{id}",
108
- user: user
109
- ).json
110
- entity = json[StarkInfra::Utils::API.last_name(resource_name)]
111
- StarkInfra::Utils::API.from_api_json(resource_maker, entity)
115
+ def self.post_single(resource_name:, resource_maker:, user:, entity:)
116
+ return StarkCore::Utils::Rest.post_single(
117
+ resource_name: resource_name,
118
+ resource_maker: resource_maker,
119
+ sdk_version: StarkInfra::SDK_VERSION,
120
+ host: StarkInfra::HOST,
121
+ api_version: StarkInfra::API_VERSION,
122
+ user: user ? user : StarkInfra.user,
123
+ language: StarkInfra.language,
124
+ timeout: StarkInfra.timeout,
125
+ entity: entity
126
+ )
112
127
  end
113
128
 
114
- def self.patch_id(resource_name:, resource_maker:, id:, user: nil, **payload)
115
- json = StarkInfra::Utils::Request.fetch(
116
- method: 'PATCH',
117
- path: "#{StarkInfra::Utils::API.endpoint(resource_name)}/#{id}",
118
- user: user,
119
- payload: StarkInfra::Utils::API.cast_json_to_api_format(payload)
120
- ).json
121
- entity = json[StarkInfra::Utils::API.last_name(resource_name)]
122
- StarkInfra::Utils::API.from_api_json(resource_maker, entity)
129
+ def self.delete_id(resource_name:, resource_maker:, user:, id:)
130
+ return StarkCore::Utils::Rest.delete_id(
131
+ resource_name: resource_name,
132
+ resource_maker: resource_maker,
133
+ sdk_version: StarkInfra::SDK_VERSION,
134
+ host: StarkInfra::HOST,
135
+ api_version: StarkInfra::API_VERSION,
136
+ user: user ? user : StarkInfra.user,
137
+ language: StarkInfra.language,
138
+ timeout: StarkInfra.timeout,
139
+ id: id
140
+ )
123
141
  end
124
142
 
125
- def self.get_sub_resource(resource_name:, sub_resource_maker:, sub_resource_name:, id:, user: nil, **query)
126
- json = StarkInfra::Utils::Request.fetch(
127
- method: 'GET',
128
- path: "#{StarkInfra::Utils::API.endpoint(resource_name)}/#{id}/#{StarkInfra::Utils::API.endpoint(sub_resource_name)}",
129
- user: user,
143
+ def self.patch_id(resource_name:, resource_maker:, user:, id:, **payload)
144
+ return StarkCore::Utils::Rest.patch_id(
145
+ resource_name: resource_name,
146
+ resource_maker: resource_maker,
147
+ sdk_version: StarkInfra::SDK_VERSION,
148
+ host: StarkInfra::HOST,
149
+ api_version: StarkInfra::API_VERSION,
150
+ user: user ? user : StarkInfra.user,
151
+ language: StarkInfra.language,
152
+ timeout: StarkInfra.timeout,
153
+ id: id,
154
+ **payload
155
+ )
156
+ end
157
+
158
+ def self.get_raw(path:, prefix: nil, raiseException: nil, user: nil, query: nil)
159
+ return StarkCore::Utils::Rest.get_raw(
160
+ host: StarkInfra::HOST,
161
+ sdk_version: StarkInfra::SDK_VERSION,
162
+ user: user ? user : StarkInfra.user,
163
+ path: path,
164
+ api_version: StarkInfra::API_VERSION,
165
+ language: StarkInfra.language,
166
+ timeout: StarkInfra.timeout,
167
+ prefix: prefix,
168
+ raiseException: raiseException,
130
169
  query: query
131
- ).json
132
- entity = json[StarkInfra::Utils::API.last_name(sub_resource_name)]
133
- StarkInfra::Utils::API.from_api_json(sub_resource_maker, entity)
170
+ )
171
+ end
172
+
173
+ def self.post_raw(path:, payload:, query: nil, prefix: nil, raiseException: nil, user:)
174
+
175
+ return StarkCore::Utils::Rest.post_raw(
176
+ host: StarkInfra::HOST,
177
+ sdk_version: StarkInfra::SDK_VERSION,
178
+ user: user ? user : StarkInfra.user,
179
+ path: path,
180
+ payload: payload,
181
+ api_version: StarkInfra::API_VERSION,
182
+ language: StarkInfra.language,
183
+ timeout: StarkInfra.timeout,
184
+ query: query,
185
+ prefix: prefix,
186
+ raiseException: raiseException
187
+ )
188
+ end
189
+
190
+ def self.patch_raw(path:, payload:, query: nil, prefix: nil, raiseException: nil, user: nil)
191
+ return StarkCore::Utils::Rest.patch_raw(
192
+ host: StarkInfra::HOST,
193
+ sdk_version: StarkInfra::SDK_VERSION,
194
+ user: user ? user : StarkInfra.user,
195
+ path: path,
196
+ payload: payload,
197
+ api_version: StarkInfra::API_VERSION,
198
+ language: StarkInfra.language,
199
+ timeout: StarkInfra.timeout,
200
+ query: query,
201
+ prefix: prefix,
202
+ raiseException: raiseException
203
+ )
204
+ end
205
+
206
+ def self.put_raw(path:, payload:, query: nil, prefix: nil, raiseException: nil, user: nil)
207
+ return StarkCore::Utils::Rest.put_raw(
208
+ host: StarkInfra::HOST,
209
+ sdk_version: StarkInfra::SDK_VERSION,
210
+ user: user ? user : StarkInfra.user,
211
+ path: path,
212
+ payload: payload,
213
+ api_version: StarkInfra::API_VERSION,
214
+ language: StarkInfra.language,
215
+ timeout: StarkInfra.timeout,
216
+ query: query,
217
+ prefix: prefix,
218
+ raiseException: raiseException
219
+ )
220
+ end
221
+
222
+ def self.delete_raw(path:, query: nil, prefix: nil, raiseException: nil, user: nil)
223
+ return StarkCore::Utils::Rest.delete_raw(
224
+ host: StarkInfra::HOST,
225
+ sdk_version: StarkInfra::SDK_VERSION,
226
+ user: user ? user : StarkInfra.user,
227
+ path: path,
228
+ api_version: StarkInfra::API_VERSION,
229
+ language: StarkInfra.language,
230
+ timeout: StarkInfra.timeout,
231
+ query: query,
232
+ prefix: prefix,
233
+ raiseException: raiseException
234
+ )
134
235
  end
135
236
  end
136
237
  end
@@ -1,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require('starkcore')
3
4
  require_relative('../utils/rest')
4
- require_relative('../utils/checks')
5
- require_relative('../utils/resource')
6
5
 
7
6
  module StarkInfra
8
7
  # # Webhook object
@@ -16,7 +15,7 @@ module StarkInfra
16
15
  #
17
16
  # ## Attributes (return-only):
18
17
  # - id [string]: unique id returned when the webhook is created. ex: '5656565656565656'
19
- class Webhook < StarkInfra::Utils::Resource
18
+ class Webhook < StarkCore::Utils::Resource
20
19
  attr_reader :url, :subscriptions, :id
21
20
  def initialize(url:, subscriptions:, id: nil)
22
21
  super(id)
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: starkinfra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - starkinfra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-20 00:00:00.000000000 Z
11
+ date: 2024-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: starkbank-ecdsa
14
+ name: starkcore
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.5
19
+ version: 0.2.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.5
26
+ version: 0.2.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -113,7 +113,6 @@ files:
113
113
  - lib/issuingstock/log.rb
114
114
  - lib/issuingtransaction/issuingtransaction.rb
115
115
  - lib/issuingwithdrawal/issuingwithdrawal.rb
116
- - lib/key.rb
117
116
  - lib/merchantcategory/merchantcategory.rb
118
117
  - lib/merchantcountry/merchantcountry.rb
119
118
  - lib/pixbalance/pixbalance.rb
@@ -133,25 +132,11 @@ files:
133
132
  - lib/pixreversal/log.rb
134
133
  - lib/pixreversal/pixreversal.rb
135
134
  - lib/pixstatement/pixstatement.rb
135
+ - lib/request/request.rb
136
136
  - lib/starkinfra.rb
137
137
  - lib/staticbrcode/staticbrcode.rb
138
- - lib/user/organization.rb
139
- - lib/user/project.rb
140
- - lib/user/user.rb
141
- - lib/utils/api.rb
142
- - lib/utils/bacenid.rb
143
- - lib/utils/cache.rb
144
- - lib/utils/case.rb
145
- - lib/utils/checks.rb
146
- - lib/utils/endtoendid.rb
147
- - lib/utils/environment.rb
148
138
  - lib/utils/parse.rb
149
- - lib/utils/request.rb
150
- - lib/utils/resource.rb
151
139
  - lib/utils/rest.rb
152
- - lib/utils/returnid.rb
153
- - lib/utils/sub_resource.rb
154
- - lib/utils/url.rb
155
140
  - lib/webhook/webhook.rb
156
141
  homepage: https://github.com/starkinfra/sdk-ruby
157
142
  licenses:
data/lib/key.rb DELETED
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require('fileutils')
4
- require('starkbank-ecdsa')
5
-
6
- module StarkInfra
7
- module Key
8
- # # Generate a new key pair
9
- # Generates a secp256k1 ECDSA private/public key pair to be used in the API
10
- # authentications
11
- #
12
- # ## Parameters (optional):
13
- # - path [string]: path to save the keys .pem files. No files will be saved if this parameter isn't provided
14
- #
15
- # ## Return:
16
- # - private and public key pems
17
- def self.create(path = nil)
18
- private_key = EllipticCurve::PrivateKey.new
19
- public_key = private_key.publicKey
20
-
21
- private_key_pem = private_key.toPem
22
- public_key_pem = public_key.toPem
23
-
24
- unless path.nil?
25
- FileUtils.mkdir_p(path)
26
- File.write(File.join(path, 'private.pem'), private_key_pem)
27
- File.write(File.join(path, 'public.pem'), public_key_pem)
28
- end
29
-
30
- [private_key_pem, public_key_pem]
31
- end
32
- end
33
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative('user')
4
-
5
- module StarkInfra
6
- # # Organization object
7
- # The Organization object is an authentication entity for the SDK that
8
- # represents your entire Organization, being able to access any Workspace
9
- # underneath it and even create new Workspaces. Only a legal representative
10
- # of your organization can register or change the Organization credentials.
11
- # All requests to the Stark Infra API must be authenticated via an SDK user,
12
- # which must have been previously created at the Stark Infra website
13
- # [https://web.sandbox.starkinfra.com] or [https://web.starkinfra.com]
14
- # before you can use it in this SDK. Organizations may be passed as the user parameter on
15
- # each request or may be defined as the default user at the start (See README).
16
- # If you are accessing a specific Workspace using Organization credentials, you should
17
- # specify the workspace ID when building the Organization object or by request, using
18
- # the Organization.replace(organization, workspace_id) method, which creates a copy of the organization
19
- # object with the altered workspace ID. If you are listing or creating new Workspaces, the
20
- # workspace_id should be nil.
21
- #
22
- # ## Parameters (required):
23
- # - environment [string]: environment where the organization is being used. ex: 'sandbox' or 'production'
24
- # - id [string]: unique id required to identify organization. ex: '5656565656565656'
25
- # - private_key [string]: PEM string of the private key linked to the organization. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----'
26
- # - workspace_id [string]: unique id of the accessed Workspace, if any. ex: nil or '4848484848484848'
27
- #
28
- # ## Attributes (return-only):
29
- # - pem [string]: private key in pem format. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----'
30
- class Organization < StarkInfra::User
31
- attr_reader :workspace_id
32
- def initialize(id:, environment:, private_key:, workspace_id: nil)
33
- super(environment, id, private_key)
34
- @workspace_id = workspace_id
35
- end
36
-
37
- def access_id
38
- if @workspace_id
39
- "organization/#{@id}/workspace/#{@workspace_id}"
40
- else
41
- "organization/#{@id}"
42
- end
43
- end
44
-
45
- def self.replace(organization, workspace_id)
46
- Organization.new(
47
- environment: organization.environment,
48
- id: organization.id,
49
- private_key: organization.pem,
50
- workspace_id: workspace_id
51
- )
52
- end
53
- end
54
- end
data/lib/user/project.rb DELETED
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative('user')
4
-
5
- module StarkInfra
6
- # # Project object
7
- #
8
- # The Project object is an authentication entity for the SDK that is permanently
9
- # linked to a specific Workspace.
10
- # All requests to the Stark Infra API must be authenticated via an SDK user,
11
- # which must have been previously created at the Stark Infra website
12
- # [https://web.sandbox.starkinfra.com] or [https://web.starkinfra.com]
13
- # before you can use it in this SDK. Projects may be passed as the user parameter on
14
- # each request or may be defined as the default user at the start (See README).
15
- #
16
- # ## Parameters (required):
17
- # - id [string]: unique id required to identify project. ex: '5656565656565656'
18
- # - private_key [string]: PEM string of the private key linked to the project. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----'
19
- # - environment [string]: environment where the project is being used. ex: 'sandbox' or 'production'
20
- #
21
- # ## Attributes (return-only):
22
- # - name [string, default nil]: project name. ex: 'MyProject'
23
- # - allowed_ips [list of strings]: list containing the strings of the ips allowed to make requests on behalf of this project. ex: ['190.190.0.50']
24
- # - pem [string]: private key in pem format. ex: '-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyTIHK6jYuik6ktM9FIF3yCEYzpLjO5X/\ntqDioGM+R2RyW0QEo+1DG8BrUf4UXHSvCjtQ0yLppygz23z0yPZYfw==\n-----END PUBLIC KEY-----'
25
- class Project < StarkInfra::User
26
- attr_reader :name, :allowed_ips
27
- def initialize(environment:, id:, private_key:, name: '', allowed_ips: nil)
28
- super(environment, id, private_key)
29
- @name = name
30
- @allowed_ips = allowed_ips
31
- end
32
-
33
- def access_id
34
- "project/#{@id}"
35
- end
36
- end
37
- end
data/lib/user/user.rb DELETED
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require('starkbank-ecdsa')
4
- require_relative('../utils/resource')
5
-
6
- module StarkInfra
7
- class User < StarkInfra::Utils::Resource
8
- attr_reader :pem, :environment
9
- def initialize(environment, id, private_key)
10
- require_relative('../utils/checks')
11
- super(id)
12
- @pem = StarkInfra::Utils::Checks.check_private_key(private_key)
13
- @environment = StarkInfra::Utils::Checks.check_environment(environment)
14
- end
15
-
16
- def private_key
17
- EllipticCurve::PrivateKey.fromPem(@pem)
18
- end
19
- end
20
- end