starkinfra 0.1.0 → 0.3.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.
- checksums.yaml +4 -4
- data/lib/brcodepreview/brcodepreview.rb +125 -0
- data/lib/cardmethod/cardmethod.rb +56 -0
- data/lib/creditholmes/creditholmes.rb +160 -0
- data/lib/creditnote/creditnote.rb +51 -355
- data/lib/creditnote/invoice/description.rb +51 -0
- data/lib/creditnote/invoice/discount.rb +49 -0
- data/lib/creditnote/invoice/invoice.rb +124 -0
- data/lib/creditnote/log.rb +18 -19
- data/lib/creditnote/transfer.rb +90 -0
- data/lib/creditpreview/creditnotepreview.rb +85 -0
- data/lib/creditpreview/creditpreview.rb +77 -0
- data/lib/creditsigner/creditsigner.rb +57 -0
- data/lib/dynamicbrcode/dynamicbrcode.rb +350 -0
- data/lib/event/attempt.rb +5 -4
- data/lib/event/event.rb +11 -11
- data/lib/individualdocument/individualdocument.rb +165 -0
- data/lib/individualdocument/log.rb +125 -0
- data/lib/individualidentity/individualidentity.rb +193 -0
- data/lib/individualidentity/log.rb +124 -0
- data/lib/issuingbalance/issuingbalance.rb +4 -4
- data/lib/issuingcard/issuingcard.rb +35 -33
- data/lib/issuingcard/log.rb +21 -21
- data/lib/issuingdesign/issuingdesign.rb +138 -0
- data/lib/issuingembossingkit/issuingembossingkit.rb +121 -0
- data/lib/issuingembossingrequest/issuingembossingrequest.rb +210 -0
- data/lib/issuingembossingrequest/log.rb +128 -0
- data/lib/issuingholder/issuingholder.rb +21 -15
- data/lib/issuingholder/log.rb +19 -19
- data/lib/issuinginvoice/issuinginvoice.rb +29 -14
- data/lib/issuinginvoice/log.rb +18 -18
- data/lib/{issuingbin/issuingbin.rb → issuingproduct/issuingproduct.rb} +27 -30
- data/lib/issuingpurchase/issuingpurchase.rb +111 -31
- data/lib/issuingpurchase/log.rb +16 -16
- data/lib/issuingrestock/issuingrestock.rb +162 -0
- data/lib/issuingrestock/log.rb +127 -0
- data/lib/issuingrule/issuingrule.rb +64 -18
- data/lib/issuingstock/issuingstock.rb +138 -0
- data/lib/issuingstock/log.rb +130 -0
- data/lib/issuingtransaction/issuingtransaction.rb +12 -13
- data/lib/issuingwithdrawal/issuingwithdrawal.rb +12 -11
- data/lib/merchantcategory/merchantcategory.rb +63 -0
- data/lib/merchantcountry/merchantcountry.rb +59 -0
- data/lib/pixbalance/pixbalance.rb +5 -5
- data/lib/pixchargeback/log.rb +15 -15
- data/lib/pixchargeback/pixchargeback.rb +32 -20
- data/lib/pixclaim/log.rb +21 -24
- data/lib/pixclaim/pixclaim.rb +44 -34
- data/lib/pixdirector/pixdirector.rb +9 -11
- data/lib/pixdomain/certificate.rb +1 -1
- data/lib/pixdomain/pixdomain.rb +5 -5
- data/lib/pixinfraction/log.rb +20 -20
- data/lib/pixinfraction/pixinfraction.rb +23 -15
- data/lib/pixkey/log.rb +23 -23
- data/lib/pixkey/pixkey.rb +14 -12
- data/lib/pixrequest/log.rb +24 -20
- data/lib/pixrequest/pixrequest.rb +54 -21
- data/lib/pixreversal/log.rb +3 -3
- data/lib/pixreversal/pixreversal.rb +48 -21
- data/lib/pixstatement/pixstatement.rb +13 -8
- data/lib/starkinfra.rb +40 -15
- data/lib/staticbrcode/staticbrcode.rb +170 -0
- data/lib/user/project.rb +1 -1
- data/lib/utils/api.rb +1 -0
- data/lib/utils/bacenid.rb +1 -1
- data/lib/utils/parse.rb +7 -3
- data/lib/utils/request.rb +1 -1
- data/lib/utils/resource.rb +1 -1
- data/lib/utils/sub_resource.rb +21 -22
- data/lib/webhook/webhook.rb +11 -11
- metadata +29 -4
- data/lib/issuingauthorization/issuingauthorization.rb +0 -141
@@ -0,0 +1,125 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('../utils/rest')
|
4
|
+
require_relative('../utils/checks')
|
5
|
+
require_relative('IndividualDocument')
|
6
|
+
require_relative('../utils/resource')
|
7
|
+
|
8
|
+
module StarkInfra
|
9
|
+
class IndividualDocument
|
10
|
+
# # IndividualDocument::Log object
|
11
|
+
#
|
12
|
+
# Every time an IndividualDocument entity is updated, a corresponding IndividualDocument::Log is generated for the entity.
|
13
|
+
# This Log is never generated by the user, but it can be retrieved to check additional information on the IndividualDocument.
|
14
|
+
#
|
15
|
+
# ## Attributes (return-only):
|
16
|
+
# - id [string]: unique id returned when the log is created. ex: '5656565656565656'
|
17
|
+
# - document [IndividualDocument]: IndividualDocument entity to which the log refers to.
|
18
|
+
# - errors [list of strings]: list of errors linked to this IndividualDocument event
|
19
|
+
# - type [string]: type of the IndividualDocument event which triggered the log creation. ex: 'approved', 'canceled', 'confirmed', 'denied', 'reversed', 'voided'.
|
20
|
+
# - created [DateTime]: creation datetime for the log. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
21
|
+
class Log < StarkInfra::Utils::Resource
|
22
|
+
attr_reader :id, :document, :errors, :type, :created
|
23
|
+
def initialize(id: nil, document: nil, errors: nil, type: nil, created: nil)
|
24
|
+
super(id)
|
25
|
+
@document = document
|
26
|
+
@errors = errors
|
27
|
+
@type = type
|
28
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
29
|
+
end
|
30
|
+
|
31
|
+
# # Retrieve a specific IndividualDocument::Log
|
32
|
+
#
|
33
|
+
# Receive a single IndividualDocument::Log object previously created by the Stark Infra API by passing its id
|
34
|
+
#
|
35
|
+
# ## Parameters (required):
|
36
|
+
# - id [string]: object unique id. ex: '5656565656565656'
|
37
|
+
#
|
38
|
+
# ## Parameters (optional):
|
39
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
40
|
+
#
|
41
|
+
# ## Return:
|
42
|
+
# - IndividualDocument::Log object with updated attributes
|
43
|
+
def self.get(id, user: nil)
|
44
|
+
StarkInfra::Utils::Rest.get_id(id: id, user: user, **resource)
|
45
|
+
end
|
46
|
+
|
47
|
+
# # Retrieve IndividualDocument::Logs
|
48
|
+
#
|
49
|
+
# Receive a generator of IndividualDocument::Log objects previously created in the Stark Infra API
|
50
|
+
#
|
51
|
+
# ## Parameters (optional):
|
52
|
+
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
53
|
+
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
54
|
+
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
55
|
+
# - types [list of strings, default nil]: filter for log event types. ex: ['created', 'canceled', 'processing', 'failed', 'success']
|
56
|
+
# - document_ids [list of strings, default nil]: list of IndividualDocument ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
57
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
58
|
+
#
|
59
|
+
# ## Return:
|
60
|
+
# - generator of IndividualDocument::Log objects with updated attributes
|
61
|
+
def self.query(ids: nil, limit: nil, after: nil, before: nil, types: nil, document_ids: nil, user: nil)
|
62
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
63
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
64
|
+
StarkInfra::Utils::Rest.get_stream(
|
65
|
+
ids: ids,
|
66
|
+
limit: limit,
|
67
|
+
after: after,
|
68
|
+
before: before,
|
69
|
+
types: types,
|
70
|
+
document_ids: document_ids,
|
71
|
+
user: user,
|
72
|
+
**resource
|
73
|
+
)
|
74
|
+
end
|
75
|
+
|
76
|
+
# # Retrieve paged IndividualDocument::Logs
|
77
|
+
#
|
78
|
+
# Receive a list of up to 100 IndividualDocument::Log objects previously created in the Stark Infra API and the cursor to the next page.
|
79
|
+
# Use this function instead of query if you want to manually page your documents.
|
80
|
+
#
|
81
|
+
# ## Parameters (optional):
|
82
|
+
# - cursor [string, default nil]: cursor returned on the previous page function call
|
83
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
84
|
+
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
85
|
+
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
86
|
+
# - types [list of strings, default nil]: filter for log event types. ex: ['created', 'canceled', 'processing', 'failed', 'success']
|
87
|
+
# - document_ids [list of strings, default nil]: list of document ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
88
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
89
|
+
#
|
90
|
+
# ## Return:
|
91
|
+
# - list of IndividualDocument::Log objects with updated attributes
|
92
|
+
# - cursor to retrieve the next page of Log objects
|
93
|
+
def self.page(cursor: nil, ids: nil, limit: nil, after: nil, before: nil, types: nil, document_ids: nil, user: nil)
|
94
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
95
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
96
|
+
StarkInfra::Utils::Rest.get_page(
|
97
|
+
cursor: cursor,
|
98
|
+
limit: limit,
|
99
|
+
after: after,
|
100
|
+
before: before,
|
101
|
+
types: types,
|
102
|
+
document_ids: document_ids,
|
103
|
+
user: user,
|
104
|
+
**resource
|
105
|
+
)
|
106
|
+
end
|
107
|
+
|
108
|
+
def self.resource
|
109
|
+
request_maker = StarkInfra::IndividualDocument.resource[:resource_maker]
|
110
|
+
{
|
111
|
+
resource_name: 'IndividualDocumentLog',
|
112
|
+
resource_maker: proc { |json|
|
113
|
+
Log.new(
|
114
|
+
id: json['id'],
|
115
|
+
document: StarkInfra::Utils::API.from_api_json(request_maker, json['document']),
|
116
|
+
errors: json['errors'],
|
117
|
+
type: json['type'],
|
118
|
+
created: json['created']
|
119
|
+
)
|
120
|
+
}
|
121
|
+
}
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,193 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('../utils/rest')
|
4
|
+
require_relative('../utils/parse')
|
5
|
+
require_relative('../utils/checks')
|
6
|
+
require_relative('../utils/resource')
|
7
|
+
|
8
|
+
module StarkInfra
|
9
|
+
# # IndividualIdentity object
|
10
|
+
#
|
11
|
+
# An IndividualDocument represents an individual to be validated. It can have several individual documents attached
|
12
|
+
# to it, which are used to validate the identity of the individual. Once an individual identity is created, individual
|
13
|
+
# documents must be attached to it using the created method of the individual document resource. When all the required
|
14
|
+
# individual documents are attached to an individual identity it can be sent to validation by patching its status to
|
15
|
+
# processing.
|
16
|
+
#
|
17
|
+
# When you initialize a IndividualIdentity, the entity will not be automatically
|
18
|
+
# created in the Stark Infra API. The 'create' function sends the objects
|
19
|
+
# to the Stark Infra API and returns the list of created objects.
|
20
|
+
#
|
21
|
+
# ## Parameters (required):
|
22
|
+
# - name [string]: individual's full name. ex: "Edward Stark".
|
23
|
+
# - tax_id [string]: individual's tax ID (CPF). ex: "594.739.480-42"
|
24
|
+
#
|
25
|
+
# ## Parameters (optional):
|
26
|
+
# - tags [list of strings, default nil]: list of strings for reference when searching for IndividualIdentities. ex: ["employees", "monthly"]
|
27
|
+
#
|
28
|
+
# ## Attributes (return-only):
|
29
|
+
# - id [string]: unique id returned when the IndividualIdentity is created. ex: "5656565656565656"
|
30
|
+
# - status [string]: current status of the IndividualIdentity. Options: "created", "canceled", "processing", "failed", "success"
|
31
|
+
# - created [DateTime]: creation datetime for the IndividualIdentity. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
32
|
+
class IndividualIdentity < StarkInfra::Utils::Resource
|
33
|
+
attr_reader :name, :tax_id, :tags, :id, :status, :created
|
34
|
+
def initialize(name:, tax_id:, tags: nil, id: nil, status: nil, created: nil)
|
35
|
+
super(id)
|
36
|
+
@name = name
|
37
|
+
@tax_id = tax_id
|
38
|
+
@tags = tags
|
39
|
+
@status = status
|
40
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
41
|
+
end
|
42
|
+
|
43
|
+
# # Create IndividualIdentities
|
44
|
+
#
|
45
|
+
# Send a list of IndividualIdentity objects for creation at the Stark Infra API
|
46
|
+
#
|
47
|
+
# ## Parameters (required):
|
48
|
+
# - identities [list of IndividualIdentity objects]: list of IndividualIdentity objects to be created in the API.
|
49
|
+
#
|
50
|
+
# ## Parameters (optional):
|
51
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
52
|
+
#
|
53
|
+
# ## Return:
|
54
|
+
# - list of IndividualIdentity objects with updated attributes
|
55
|
+
def self.create(identities, user: nil)
|
56
|
+
StarkInfra::Utils::Rest.post(entities: identities, user: user, **resource)
|
57
|
+
end
|
58
|
+
|
59
|
+
# # Retrieve a specific IndividualIdentity
|
60
|
+
#
|
61
|
+
# Receive a single IndividualIdentity object previously created in the Stark Infra API by its id
|
62
|
+
#
|
63
|
+
# ## Parameters (required):
|
64
|
+
# - id [string]: object unique id. ex: "5656565656565656"
|
65
|
+
#
|
66
|
+
# ## Parameters (optional):
|
67
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
68
|
+
#
|
69
|
+
# ## Return:
|
70
|
+
# - IndividualIdentity object with updated attributes
|
71
|
+
def self.get(uuid, user: nil)
|
72
|
+
StarkInfra::Utils::Rest.get_id(id: uuid, user: user, **resource)
|
73
|
+
end
|
74
|
+
|
75
|
+
# # Retrieve IndividualIdentities
|
76
|
+
#
|
77
|
+
# Receive a generator of IndividualIdentity objects previously created in the Stark Infra API
|
78
|
+
#
|
79
|
+
# ## Parameters (optional):
|
80
|
+
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
81
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
82
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
83
|
+
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ["created", "canceled", "processing", "failed", "success"]
|
84
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
85
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
86
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
87
|
+
#
|
88
|
+
# ## Return:
|
89
|
+
# - generator of IndividualIdentity objects with updated attributes
|
90
|
+
def self.query(limit: nil, after: nil, before: nil, status: nil, tags: nil, ids: nil, user: nil)
|
91
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
92
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
93
|
+
StarkInfra::Utils::Rest.get_stream(
|
94
|
+
limit: limit,
|
95
|
+
after: after,
|
96
|
+
before: before,
|
97
|
+
status: status,
|
98
|
+
tags: tags,
|
99
|
+
ids: ids,
|
100
|
+
user: user,
|
101
|
+
**resource
|
102
|
+
)
|
103
|
+
end
|
104
|
+
|
105
|
+
# # Retrieve paged IndividualIdentities
|
106
|
+
#
|
107
|
+
# Receive a list of up to 100 IndividualIdentity objects previously created in the Stark Infra API and the cursor to the next page.
|
108
|
+
# Use this function instead of query if you want to manually page your requests.
|
109
|
+
#
|
110
|
+
# ## Parameters (optional):
|
111
|
+
# - cursor [string, default nil]: cursor returned on the previous page function call
|
112
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex 35
|
113
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
114
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
115
|
+
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ["created", "canceled", "processing", "failed", "success"]
|
116
|
+
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
117
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
118
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
119
|
+
#
|
120
|
+
# ## Return:
|
121
|
+
# - list of IndividualIdentity objects with updated attributes
|
122
|
+
# - cursor to retrieve the next page of IndividualIdentity objects
|
123
|
+
def self.page(cursor: nil, limit: nil, after: nil, before: nil, status: nil, tags: nil, ids: nil, user: nil)
|
124
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
125
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
126
|
+
StarkInfra::Utils::Rest.get_page(
|
127
|
+
cursor: cursor,
|
128
|
+
limit: limit,
|
129
|
+
after: after,
|
130
|
+
before: before,
|
131
|
+
status: status,
|
132
|
+
tags: tags,
|
133
|
+
ids: ids,
|
134
|
+
user: user,
|
135
|
+
**resource
|
136
|
+
)
|
137
|
+
end
|
138
|
+
|
139
|
+
# # Update IndividualIdentity entity
|
140
|
+
#
|
141
|
+
# Update an IndividualIdentity by passing id.
|
142
|
+
#
|
143
|
+
# ## Parameters (required):
|
144
|
+
# - id [string]: IndividualIdentity unique id. ex: '5656565656565656'
|
145
|
+
# - status [string]: You may send IndividualDocuments to validation by passing 'processing' in the status
|
146
|
+
#
|
147
|
+
# ## Parameters (optional):
|
148
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
149
|
+
#
|
150
|
+
# ## Return:
|
151
|
+
# - target IndividualIdentity with updated attributes
|
152
|
+
def self.update(id, status:, user: nil)
|
153
|
+
StarkInfra::Utils::Rest.patch_id(
|
154
|
+
id: id,
|
155
|
+
status: status,
|
156
|
+
user: user,
|
157
|
+
**resource
|
158
|
+
)
|
159
|
+
end
|
160
|
+
|
161
|
+
# # Cancel an IndividualIdentity entity
|
162
|
+
#
|
163
|
+
# Cancel an IndividualIdentity entity previously created in the Stark Infra API
|
164
|
+
#
|
165
|
+
# ## Parameters (required):
|
166
|
+
# - id [string]: IndividualIdentity unique id. ex: '5656565656565656'
|
167
|
+
#
|
168
|
+
# ## Parameters (optional):
|
169
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
170
|
+
#
|
171
|
+
# ## Return:
|
172
|
+
# - canceled IndividualIdentity object
|
173
|
+
def self.cancel(id, user: nil)
|
174
|
+
StarkInfra::Utils::Rest.delete_id(id: id, user: user, **resource)
|
175
|
+
end
|
176
|
+
|
177
|
+
def self.resource
|
178
|
+
{
|
179
|
+
resource_name: 'IndividualIdentity',
|
180
|
+
resource_maker: proc { |json|
|
181
|
+
IndividualIdentity.new(
|
182
|
+
name: json['name'],
|
183
|
+
tax_id: json['tax_id'],
|
184
|
+
tags: json['tags'],
|
185
|
+
id: json['id'],
|
186
|
+
status: json['status'],
|
187
|
+
created: json['created']
|
188
|
+
)
|
189
|
+
}
|
190
|
+
}
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
@@ -0,0 +1,124 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('../utils/rest')
|
4
|
+
require_relative('../utils/checks')
|
5
|
+
require_relative('IndividualIdentity')
|
6
|
+
require_relative('../utils/resource')
|
7
|
+
|
8
|
+
module StarkInfra
|
9
|
+
class IndividualIdentity
|
10
|
+
# # IndividualIdentity::Log object
|
11
|
+
#
|
12
|
+
# Every time an IndividualIdentity entity is updated, a corresponding IndividualIdentity::Log is generated for the entity.
|
13
|
+
# This Log is never generated by the user, but it can be retrieved to check additional information on the IndividualIdentity.
|
14
|
+
#
|
15
|
+
# ## Attributes (return-only):
|
16
|
+
# - id [string]: unique id returned when the log is created. ex: '5656565656565656'
|
17
|
+
# - identity [IndividualIdentity]: IndividualIdentity entity to which the log refers to.
|
18
|
+
# - errors [list of strings]: list of errors linked to this IndividualIdentity event
|
19
|
+
# - type [string]: type of the IndividualIdentity event which triggered the log creation. ex: "created", "canceled", "processing", "failed", "success"
|
20
|
+
# - created [DateTime]: creation datetime for the log. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
21
|
+
class Log < StarkInfra::Utils::Resource
|
22
|
+
attr_reader :id, :identity, :errors, :type, :created
|
23
|
+
def initialize(id: nil, identity: nil, errors: nil, type: nil, created: nil)
|
24
|
+
super(id)
|
25
|
+
@identity = identity
|
26
|
+
@errors = errors
|
27
|
+
@type = type
|
28
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
29
|
+
end
|
30
|
+
|
31
|
+
# # Retrieve a specific IndividualIdentity::Log
|
32
|
+
#
|
33
|
+
# Receive a single IndividualIdentity::Log object previously created by the Stark Infra API by passing its id
|
34
|
+
#
|
35
|
+
# ## Parameters (required):
|
36
|
+
# - id [string]: object unique id. ex: '5656565656565656'
|
37
|
+
#
|
38
|
+
# ## Parameters (optional):
|
39
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
40
|
+
#
|
41
|
+
# ## Return:
|
42
|
+
# - IndividualIdentity::Log object with updated attributes
|
43
|
+
def self.get(id, user: nil)
|
44
|
+
StarkInfra::Utils::Rest.get_id(id: id, user: user, **resource)
|
45
|
+
end
|
46
|
+
|
47
|
+
# # Retrieve IndividualIdentity::Logs
|
48
|
+
#
|
49
|
+
# Receive a generator of IndividualIdentity::Log objects previously created in the Stark Infra API
|
50
|
+
#
|
51
|
+
# ## Parameters (optional):
|
52
|
+
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
53
|
+
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
54
|
+
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
55
|
+
# - types [list of strings, default nil]: filter for log event types. ex: "created", "canceled", "processing", "failed", "success"
|
56
|
+
# - identity_ids [list of strings, default nil]: list of identity ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
57
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
58
|
+
#
|
59
|
+
# ## Return:
|
60
|
+
# - generator of IndividualIdentity::Log objects with updated attributes
|
61
|
+
def self.query(limit: nil, after: nil, before: nil, types: nil, identity_ids: nil, user: nil)
|
62
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
63
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
64
|
+
StarkInfra::Utils::Rest.get_stream(
|
65
|
+
limit: limit,
|
66
|
+
after: after,
|
67
|
+
before: before,
|
68
|
+
types: types,
|
69
|
+
identity_ids: identity_ids,
|
70
|
+
user: user,
|
71
|
+
**resource
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
75
|
+
# # Retrieve paged IndividualIdentity::Logs
|
76
|
+
#
|
77
|
+
# Receive a list of up to 100 IndividualIdentity::Log objects previously created in the Stark Infra API and the cursor to the next page.
|
78
|
+
# Use this function instead of query if you want to manually page your identities.
|
79
|
+
#
|
80
|
+
# ## Parameters (optional):
|
81
|
+
# - cursor [string, default nil]: cursor returned on the previous page function call
|
82
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
83
|
+
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
84
|
+
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
85
|
+
# - types [list of strings, default nil]: filter for log event types. ex: "created", "canceled", "processing", "failed", "success"
|
86
|
+
# - identity_ids [list of strings, default nil]: list of identity ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
87
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
88
|
+
#
|
89
|
+
# ## Return:
|
90
|
+
# - list of IndividualIdentity::Log objects with updated attributes
|
91
|
+
# - cursor to retrieve the next page of Log objects
|
92
|
+
def self.page(cursor: nil, limit: nil, after: nil, before: nil, types: nil, identity_ids: nil, user: nil)
|
93
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
94
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
95
|
+
StarkInfra::Utils::Rest.get_page(
|
96
|
+
cursor: cursor,
|
97
|
+
limit: limit,
|
98
|
+
after: after,
|
99
|
+
before: before,
|
100
|
+
types: types,
|
101
|
+
identity_ids: identity_ids,
|
102
|
+
user: user,
|
103
|
+
**resource
|
104
|
+
)
|
105
|
+
end
|
106
|
+
|
107
|
+
def self.resource
|
108
|
+
request_maker = StarkInfra::IndividualIdentity.resource[:resource_maker]
|
109
|
+
{
|
110
|
+
resource_name: 'IndividualIdentityLog',
|
111
|
+
resource_maker: proc { |json|
|
112
|
+
Log.new(
|
113
|
+
id: json['id'],
|
114
|
+
identity: StarkInfra::Utils::API.from_api_json(request_maker, json['identity']),
|
115
|
+
errors: json['errors'],
|
116
|
+
type: json['type'],
|
117
|
+
created: json['created']
|
118
|
+
)
|
119
|
+
}
|
120
|
+
}
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative('../utils/resource')
|
4
3
|
require_relative('../utils/rest')
|
5
4
|
require_relative('../utils/checks')
|
5
|
+
require_relative('../utils/resource')
|
6
6
|
|
7
7
|
module StarkInfra
|
8
8
|
# # IssuingBalance object
|
@@ -13,7 +13,7 @@ module StarkInfra
|
|
13
13
|
#
|
14
14
|
# ## Attributes (return-only):
|
15
15
|
# - id [string]: unique id returned when IssuingBalance is created. ex: '5656565656565656'
|
16
|
-
# - amount [integer]: current balance amount of the Workspace in cents. ex: 200 (= R$ 2.00)
|
16
|
+
# - amount [integer]: current issuing balance amount of the Workspace in cents. ex: 200 (= R$ 2.00)
|
17
17
|
# - currency [string]: currency of the current Workspace. Expect others to be added eventually. ex: 'BRL'
|
18
18
|
# - updated [DateTime]: latest update datetime for the IssuingBalance. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
19
19
|
class IssuingBalance < StarkInfra::Utils::Resource
|
@@ -43,10 +43,10 @@ module StarkInfra
|
|
43
43
|
resource_name: 'IssuingBalance',
|
44
44
|
resource_maker: proc { |json|
|
45
45
|
IssuingBalance.new(
|
46
|
+
id: json['id'],
|
46
47
|
amount: json['amount'],
|
47
48
|
currency: json['currency'],
|
48
|
-
updated: json['updated']
|
49
|
-
id: json['id']
|
49
|
+
updated: json['updated']
|
50
50
|
)
|
51
51
|
}
|
52
52
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative('../utils/resource')
|
4
3
|
require_relative('../utils/rest')
|
5
4
|
require_relative('../utils/checks')
|
5
|
+
require_relative('../utils/resource')
|
6
6
|
|
7
7
|
module StarkInfra
|
8
8
|
# # IssuingCard object
|
@@ -17,9 +17,9 @@ module StarkInfra
|
|
17
17
|
#
|
18
18
|
# ## Parameters (optional):
|
19
19
|
# - display_name [string, default nil]: card displayed name. ex: 'ANTHONY STARK'
|
20
|
-
# - rules [list of IssuingRule objects, default
|
21
|
-
# -
|
22
|
-
# - tags [list of strings, default
|
20
|
+
# - rules [list of IssuingRule objects, default nil]: [EXPANDABLE] list of card spending rules.
|
21
|
+
# - product_id [string, default nil]: card product ID to which the card is bound. ex: '53810200'
|
22
|
+
# - tags [list of strings, default nil]: list of strings for tagging. ex: ['travel', 'food']
|
23
23
|
# - street_line_1 [string, default sub-issuer street line 1]: card holder main address. ex: 'Av. Paulista, 200'
|
24
24
|
# - street_line_2 [string, default sub-issuer street line 2]: card holder address complement. ex: 'Apto. 123'
|
25
25
|
# - district [string, default sub-issuer district]: card holder address district / neighbourhood. ex: 'Bela Vista'
|
@@ -38,32 +38,31 @@ module StarkInfra
|
|
38
38
|
# - created [DateTime]: creation datetime for the IssuingCard. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
39
39
|
# - updated [DateTime]: latest update datetime for the IssuingCard. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
40
40
|
class IssuingCard < StarkInfra::Utils::Resource
|
41
|
-
attr_reader :id, :
|
42
|
-
|
43
|
-
|
41
|
+
attr_reader :id, :holder_name, :holder_tax_id, :holder_external_id, :display_name, :rules, :product_id, :tags,
|
42
|
+
:street_line_1, :street_line_2, :district, :city, :state_code, :zip_code, :holder_id,
|
43
|
+
:type, :status, :number, :security_code, :expiration, :created, :updated
|
44
44
|
def initialize(
|
45
|
-
holder_name
|
46
|
-
|
47
|
-
|
48
|
-
created: nil, updated: nil
|
45
|
+
holder_name: , holder_tax_id: , holder_external_id: , display_name: nil, rules: nil, product_id: nil, tags: nil,
|
46
|
+
street_line_1: nil, street_line_2: nil, district: nil, city: nil, state_code: nil, zip_code: nil, id: nil,
|
47
|
+
holder_id: nil, type: nil, status: nil, number: nil, security_code: nil, expiration: nil, created: nil, updated: nil
|
49
48
|
)
|
50
49
|
super(id)
|
51
50
|
@holder_name = holder_name
|
52
51
|
@holder_tax_id = holder_tax_id
|
53
52
|
@holder_external_id = holder_external_id
|
54
|
-
@holder_id = holder_id
|
55
|
-
@type = type
|
56
53
|
@display_name = display_name
|
57
|
-
@status = status
|
58
54
|
@rules = StarkInfra::IssuingRule.parse_rules(rules)
|
59
|
-
@
|
55
|
+
@product_id = product_id
|
56
|
+
@tags = tags
|
60
57
|
@street_line_1 = street_line_1
|
61
58
|
@street_line_2 = street_line_2
|
62
59
|
@district = district
|
63
60
|
@city = city
|
64
61
|
@state_code = state_code
|
65
62
|
@zip_code = zip_code
|
66
|
-
@
|
63
|
+
@holder_id = holder_id
|
64
|
+
@type = type
|
65
|
+
@status = status
|
67
66
|
@number = number
|
68
67
|
@security_code = security_code
|
69
68
|
expiration = nil if !expiration.nil? && expiration.include?('*')
|
@@ -111,14 +110,14 @@ module StarkInfra
|
|
111
110
|
#
|
112
111
|
# ## Parameters (optional):
|
113
112
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
114
|
-
# -
|
115
|
-
# -
|
116
|
-
# - before [DateTime or string, default nil] date filter for objects created only before specified date. ex: DateTime.new(2020, 3, 10)
|
113
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
114
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
117
115
|
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ['active', 'blocked', 'canceled', 'expired']
|
118
116
|
# - types [list of strings, default nil]: card type. ex: ['virtual']
|
119
|
-
# - holder_ids [list of strings]: card holder IDs. ex: ['5656565656565656', '4545454545454545']
|
117
|
+
# - holder_ids [list of strings, default nil]: card holder IDs. ex: ['5656565656565656', '4545454545454545']
|
120
118
|
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
121
|
-
# - expand [list of strings, default
|
119
|
+
# - expand [list of strings, default nil]: fields to expand information. ex: ['rules', 'security_code', 'number', 'expiration']
|
120
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
122
121
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
123
122
|
#
|
124
123
|
# ## Return:
|
@@ -144,23 +143,24 @@ module StarkInfra
|
|
144
143
|
|
145
144
|
# # Retrieve paged IssuingCards
|
146
145
|
#
|
147
|
-
# Receive a list of
|
146
|
+
# Receive a list of up to 100 IssuingCard objects previously created in the Stark Infra API and the cursor to the next page.
|
147
|
+
# Use this function instead of query if you want to manually page your identities.
|
148
148
|
#
|
149
149
|
# ## Parameters (optional):
|
150
150
|
# - cursor [string, default nil]: cursor returned on the previous page function call.
|
151
151
|
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
152
152
|
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
153
|
-
# - after [
|
154
|
-
# - before [
|
153
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
154
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
155
155
|
# - status [list of strings, default nil]: filter for status of retrieved objects. ex: ['active', 'blocked', 'canceled', 'expired']
|
156
156
|
# - types [list of strings, default nil]: card type. ex: ['virtual']
|
157
|
-
# - holder_ids [list of strings]: card holder IDs. ex: ['5656565656565656', '4545454545454545']
|
157
|
+
# - holder_ids [list of strings, default nil]: card holder IDs. ex: ['5656565656565656', '4545454545454545']
|
158
158
|
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
159
|
-
# - expand [list of strings, default
|
159
|
+
# - expand [list of strings, default nil]: fields to expand information. ex: ['rules', 'security_code', 'number', 'expiration']
|
160
160
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
161
161
|
#
|
162
162
|
# ## Return:
|
163
|
-
# - list of
|
163
|
+
# - list of IssuingCard objects with updated attributes
|
164
164
|
# - cursor to retrieve the next page of IssuingCards objects
|
165
165
|
def self.page(cursor: nil, limit: nil, ids: nil, after: nil, before: nil, status: nil, types: nil, holder_ids: nil,
|
166
166
|
tags: nil, expand: nil, user: nil)
|
@@ -191,6 +191,7 @@ module StarkInfra
|
|
191
191
|
#
|
192
192
|
# ## Parameters (optional):
|
193
193
|
# - status [string, default nil]: You may block the IssuingCard by passing 'blocked' or activate by passing 'active' in the status
|
194
|
+
# - pin [string, default nil]: You may unlock your physical card by passing its PIN. This is also the PIN you use to authorize a purhcase.
|
194
195
|
# - display_name [string, default nil]: card displayed name
|
195
196
|
# - rules [list of IssuingRule objects, default nil]: [EXPANDABLE] list of card spending rules.
|
196
197
|
# - tags [list of strings, default nil]: list of strings for tagging
|
@@ -198,10 +199,11 @@ module StarkInfra
|
|
198
199
|
#
|
199
200
|
# ## Return:
|
200
201
|
# - target IssuingCard with updated attributes
|
201
|
-
def self.update(id, status: nil, display_name: nil, rules: nil, tags: nil, user: nil)
|
202
|
+
def self.update(id, status: nil, display_name: nil, pin: nil, rules: nil, tags: nil, user: nil)
|
202
203
|
StarkInfra::Utils::Rest.patch_id(
|
203
204
|
id: id,
|
204
205
|
status: status,
|
206
|
+
pin: pin,
|
205
207
|
display_name: display_name,
|
206
208
|
rules: rules,
|
207
209
|
tags: tags,
|
@@ -232,22 +234,22 @@ module StarkInfra
|
|
232
234
|
resource_maker: proc { |json|
|
233
235
|
IssuingCard.new(
|
234
236
|
id: json['id'],
|
235
|
-
holder_id: json['holder_id'],
|
236
237
|
holder_name: json['holder_name'],
|
237
238
|
holder_tax_id: json['holder_tax_id'],
|
238
239
|
holder_external_id: json['holder_external_id'],
|
239
|
-
type: json['type'],
|
240
240
|
display_name: json['display_name'],
|
241
|
-
status: json['status'],
|
242
241
|
rules: json['rules'],
|
243
|
-
|
242
|
+
product_id: json['product_id'],
|
243
|
+
tags: json['tags'],
|
244
244
|
street_line_1: json['street_line_1'],
|
245
245
|
street_line_2: json['street_line_2'],
|
246
246
|
district: json['district'],
|
247
247
|
city: json['city'],
|
248
248
|
state_code: json['state_code'],
|
249
249
|
zip_code: json['zip_code'],
|
250
|
-
|
250
|
+
holder_id: json['holder_id'],
|
251
|
+
type: json['type'],
|
252
|
+
status: json['status'],
|
251
253
|
number: json['number'],
|
252
254
|
security_code: json['security_code'],
|
253
255
|
expiration: json['expiration'],
|