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,127 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('IssuingRestock')
|
4
|
+
require_relative('../utils/rest')
|
5
|
+
require_relative('../utils/checks')
|
6
|
+
require_relative('../utils/resource')
|
7
|
+
|
8
|
+
module StarkInfra
|
9
|
+
class IssuingRestock
|
10
|
+
# # IssuingRestock::Log object
|
11
|
+
#
|
12
|
+
# Every time an IssuingRestock entity is updated, a corresponding IssuingRestock::Log is generated for the entity. This log
|
13
|
+
# is never generated by the user, but it can be retrieved to check additional information on the IssuingRestock.
|
14
|
+
#
|
15
|
+
# ## Attributes (return-only):
|
16
|
+
# - id [string]: unique id returned when the log is created. ex: '5656565656565656'
|
17
|
+
# - restock [IssuingRestock]: IssuingRestock entity to which the log refers to.
|
18
|
+
# - type [string]: type of the IssuingRestock event which triggered the log creation. ex: "created", "processing", "confirmed"
|
19
|
+
# - created [DateTime]: creation datetime for the log. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
20
|
+
class Log < StarkInfra::Utils::Resource
|
21
|
+
attr_reader :id, :restock, :type, :created
|
22
|
+
def initialize(id: nil, restock: nil, type: nil, created: nil)
|
23
|
+
super(id)
|
24
|
+
@restock = restock
|
25
|
+
@type = type
|
26
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
27
|
+
end
|
28
|
+
|
29
|
+
# # Retrieve a specific IssuingRestock::Log
|
30
|
+
#
|
31
|
+
# Receive a single IssuingRestock::Log object previously created by the Stark Infra API by passing its id
|
32
|
+
#
|
33
|
+
# ## Parameters (required):
|
34
|
+
# - id [string]: object unique id. ex: '5656565656565656'
|
35
|
+
#
|
36
|
+
# ## Parameters (optional):
|
37
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
38
|
+
#
|
39
|
+
# ## Return:
|
40
|
+
# - IssuingRestock::Log object with updated attributes
|
41
|
+
def self.get(id, user: nil)
|
42
|
+
StarkInfra::Utils::Rest.get_id(id: id, user: user, **resource)
|
43
|
+
end
|
44
|
+
|
45
|
+
# # Retrieve IssuingRestock::Logs
|
46
|
+
#
|
47
|
+
# Receive a generator of IssuingRestock::Log objects previously created in the Stark Infra API
|
48
|
+
#
|
49
|
+
# ## Parameters (optional):
|
50
|
+
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
51
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
52
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
53
|
+
# - types [list of strings, default nil]: filter for log event types. ex: ["created", "processing", "confirmed"]
|
54
|
+
# - restock_ids [list of strings, default nil]: list of IssuingRestock ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
55
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
56
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
57
|
+
#
|
58
|
+
# ## Return:
|
59
|
+
# - generator of IssuingRestock::Log objects with updated attributes
|
60
|
+
def self.query(
|
61
|
+
limit: nil, after: nil, before: nil, types: nil, restock_ids: nil, ids: nil, user: nil
|
62
|
+
)
|
63
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
64
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
65
|
+
StarkInfra::Utils::Rest.get_stream(
|
66
|
+
limit: limit,
|
67
|
+
after: after,
|
68
|
+
before: before,
|
69
|
+
types: types,
|
70
|
+
restock_ids: restock_ids,
|
71
|
+
ids: ids,
|
72
|
+
user: user,
|
73
|
+
**resource
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
# # Retrieve paged IssuingRestock::Logs
|
78
|
+
#
|
79
|
+
# Receive a list of up to 100 IssuingRestock::Log objects previously created in the Stark Infra API and the cursor to the next page.
|
80
|
+
# Use this function instead of query if you want to manually page your logs.
|
81
|
+
#
|
82
|
+
# ## Parameters (optional):
|
83
|
+
# - cursor [string, default nil]: cursor returned on the previous page function call
|
84
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
85
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
86
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
87
|
+
# - types [list of strings, default nil]: filter for log event types. ex: ["created", "processing", "confirmed"]
|
88
|
+
# - restock_ids [list of strings, default nil]: list of IssuingRestock ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
89
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
90
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
91
|
+
#
|
92
|
+
# ## Return:
|
93
|
+
# - list of IssuingRestock::Log objects with updated attributes
|
94
|
+
# - Cursor to retrieve the next page of Log objects
|
95
|
+
def self.page(cursor: nil, limit: nil, after: nil, before: nil, types: nil, restock_ids: nil, ids: nil, user: nil)
|
96
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
97
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
98
|
+
StarkInfra::Utils::Rest.get_page(
|
99
|
+
cursor: cursor,
|
100
|
+
limit: limit,
|
101
|
+
after: after,
|
102
|
+
before: before,
|
103
|
+
types: types,
|
104
|
+
restock_ids: restock_ids,
|
105
|
+
ids: ids,
|
106
|
+
user: user,
|
107
|
+
**resource
|
108
|
+
)
|
109
|
+
end
|
110
|
+
|
111
|
+
def self.resource
|
112
|
+
request_maker = StarkInfra::IssuingRestock.resource[:resource_maker]
|
113
|
+
{
|
114
|
+
resource_name: 'IssuingRestockLog',
|
115
|
+
resource_maker: proc { |json|
|
116
|
+
Log.new(
|
117
|
+
id: json['id'],
|
118
|
+
restock: StarkInfra::Utils::API.from_api_json(request_maker, json['restock']),
|
119
|
+
type: json['type'],
|
120
|
+
created: json['created']
|
121
|
+
)
|
122
|
+
}
|
123
|
+
}
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
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
|
# # IssuingRule object
|
@@ -12,33 +12,79 @@ module StarkInfra
|
|
12
12
|
# ## Parameters (required):
|
13
13
|
# - name [string]: rule name. ex: 'Travel' or 'Food'
|
14
14
|
# - amount [integer]: maximum amount that can be spent in the informed interval. ex: 200000 (= R$ 2000.00)
|
15
|
+
#
|
15
16
|
# ## Parameters (optional):
|
16
|
-
# - id [string, default nil]: unique id returned when
|
17
|
+
# - id [string, default nil]: unique id returned when an IssuingRule is created, used to update a specific IssuingRule. ex: '5656565656565656'
|
17
18
|
# - interval [string, default 'lifetime']: interval after which the rule amount counter will be reset to 0. ex: 'instant', 'day', 'week', 'month', 'year' or 'lifetime'
|
18
19
|
# - currency_code [string, default 'BRL']: code of the currency that the rule amount refers to. ex: 'BRL' or 'USD'
|
19
|
-
# - categories [list of
|
20
|
-
# - countries [list of
|
21
|
-
# - methods [list of
|
20
|
+
# - categories [list of MerchantCategories, default nil]: merchant categories accepted by the rule. ex: [MerchantCategory(code='fastFoodRestaurants')]
|
21
|
+
# - countries [list of MerchantCountries, default nil]: countries accepted by the rule. ex: [MerchantCountry(code='BRA')]
|
22
|
+
# - methods [list of CardMethods, default nil]: card purchase methods accepted by the rule. ex: [CardMethod(code='magstripe')]
|
23
|
+
#
|
22
24
|
# ## Attributes (expanded return-only):
|
23
25
|
# - counter_amount [integer]: current rule spent amount. ex: 1000
|
24
26
|
# - currency_symbol [string]: currency symbol. ex: 'R$'
|
25
27
|
# - currency_name [string]: currency name. ex: 'Brazilian Real'
|
26
28
|
class IssuingRule < StarkInfra::Utils::Resource
|
27
|
-
attr_reader :name, :interval, :amount, :currency_code, :counter_amount, :currency_name, :currency_symbol,
|
28
|
-
|
29
|
-
|
29
|
+
attr_reader :name, :interval, :amount, :currency_code, :counter_amount, :currency_name, :currency_symbol,
|
30
|
+
:categories, :countries, :methods
|
31
|
+
def initialize(
|
32
|
+
name:, amount:, id: nil, interval: nil, currency_code: nil, categories: nil, countries: nil, methods: nil,
|
33
|
+
counter_amount: nil, currency_symbol: nil, currency_name: nil
|
30
34
|
)
|
31
35
|
super(id)
|
32
36
|
@name = name
|
33
|
-
@interval = interval
|
34
37
|
@amount = amount
|
38
|
+
@interval = interval
|
35
39
|
@currency_code = currency_code
|
40
|
+
@categories = IssuingRule.parse_categories(categories)
|
41
|
+
@countries = IssuingRule.parse_categories(countries)
|
42
|
+
@methods = IssuingRule.parse_categories(methods)
|
36
43
|
@counter_amount = counter_amount
|
37
|
-
@currency_name = currency_name
|
38
44
|
@currency_symbol = currency_symbol
|
39
|
-
@
|
40
|
-
|
41
|
-
|
45
|
+
@currency_name = currency_name
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.parse_categories(categories)
|
49
|
+
resource_maker = StarkInfra::MerchantCategory.resource[:resource_maker]
|
50
|
+
return categories if categories.nil?
|
51
|
+
|
52
|
+
parsed_categories = []
|
53
|
+
categories.each do |category|
|
54
|
+
unless category.is_a? MerchantCategory
|
55
|
+
category = StarkInfra::Utils::API.from_api_json(resource_maker, category)
|
56
|
+
end
|
57
|
+
parsed_categories << category
|
58
|
+
end
|
59
|
+
parsed_categories
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.parse_countries(countries)
|
63
|
+
resource_maker = StarkInfra::MerchantCountry.resource[:resource_maker]
|
64
|
+
return countries if countries.nil?
|
65
|
+
|
66
|
+
parsed_countries = []
|
67
|
+
countries.each do |country|
|
68
|
+
unless country.is_a? MerchantCountry
|
69
|
+
country = StarkInfra::Utils::API.from_api_json(resource_maker, country)
|
70
|
+
end
|
71
|
+
parsed_countries << country
|
72
|
+
end
|
73
|
+
parsed_countries
|
74
|
+
end
|
75
|
+
|
76
|
+
def self.parse_methods(methods)
|
77
|
+
resource_maker = StarkInfra::CardMethod.resource[:resource_maker]
|
78
|
+
return methods if methods.nil?
|
79
|
+
|
80
|
+
parsed_methods = []
|
81
|
+
methods.each do |method|
|
82
|
+
unless method.is_a? CardMethod
|
83
|
+
method = StarkInfra::Utils::API.from_api_json(resource_maker, method)
|
84
|
+
end
|
85
|
+
parsed_methods << method
|
86
|
+
end
|
87
|
+
parsed_methods
|
42
88
|
end
|
43
89
|
|
44
90
|
def self.parse_rules(rules)
|
@@ -61,15 +107,15 @@ module StarkInfra
|
|
61
107
|
resource_maker: proc { |json|
|
62
108
|
IssuingRule.new(
|
63
109
|
name: json['name'],
|
64
|
-
interval: json['interval'],
|
65
110
|
amount: json['amount'],
|
111
|
+
interval: json['interval'],
|
66
112
|
currency_code: json['currency_code'],
|
67
|
-
counter_amount: json['counter_amount'],
|
68
|
-
currency_name: json['currency_name'],
|
69
|
-
currency_symbol: json['currency_symbol'],
|
70
113
|
categories: json['categories'],
|
71
114
|
countries: json['countries'],
|
72
|
-
methods: json['methods']
|
115
|
+
methods: json['methods'],
|
116
|
+
counter_amount: json['counter_amount'],
|
117
|
+
currency_symbol: json['currency_symbol'],
|
118
|
+
currency_name: json['currency_name']
|
73
119
|
)
|
74
120
|
}
|
75
121
|
}
|
@@ -0,0 +1,138 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('../utils/rest')
|
4
|
+
require_relative('../utils/checks')
|
5
|
+
require_relative('../utils/resource')
|
6
|
+
|
7
|
+
module StarkInfra
|
8
|
+
# # IssuingStock object
|
9
|
+
#
|
10
|
+
# The IssuingStock object represents the current stock of a certain IssuingDesign linked to an Embosser available to your workspace.
|
11
|
+
#
|
12
|
+
# ## Attributes (return-only):
|
13
|
+
# - id [string]: unique id returned when IssuingStock is created. ex: "5656565656565656"
|
14
|
+
# - balance [integer]: [EXPANDABLE] current stock balance. ex: 1000
|
15
|
+
# - design_id [string]: IssuingDesign unique id. ex: "5656565656565656"
|
16
|
+
# - embosser_id [string]: Embosser unique id. ex: "5656565656565656"
|
17
|
+
# - updated [DateTime]: latest update datetime for the IssuingStock. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
18
|
+
# - created [DateTime]: creation datetime for the IssuingStock. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
|
19
|
+
class IssuingStock < StarkInfra::Utils::Resource
|
20
|
+
attr_reader :id, :balance, :design_id, :embosser_id, :updated, :created
|
21
|
+
def initialize(
|
22
|
+
id: nil, balance: nil, design_id: nil, embosser_id: nil, updated: nil, created: nil
|
23
|
+
)
|
24
|
+
super(id)
|
25
|
+
@balance = balance
|
26
|
+
@design_id = design_id
|
27
|
+
@embosser_id = embosser_id
|
28
|
+
@updated = StarkInfra::Utils::Checks.check_datetime(updated)
|
29
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
30
|
+
end
|
31
|
+
|
32
|
+
# # Retrieve a specific IssuingStock
|
33
|
+
#
|
34
|
+
# Receive a single IssuingStock object previously created in the Stark Infra API by its id
|
35
|
+
#
|
36
|
+
# ## Parameters (required):
|
37
|
+
# - id [string]: object unique id. ex: '5656565656565656'
|
38
|
+
#
|
39
|
+
# ## Parameters (optional):
|
40
|
+
# - expand [list of strings, default nil]: fields to expand information. ex: ['balance']
|
41
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
42
|
+
#
|
43
|
+
# ## Return:
|
44
|
+
# - IssuingStock object with updated attributes
|
45
|
+
def self.get(id, expand: nil, user: nil)
|
46
|
+
StarkInfra::Utils::Rest.get_id(id: id, expand: expand, user: user, **resource)
|
47
|
+
end
|
48
|
+
|
49
|
+
# # Retrieve IssuingStocks
|
50
|
+
#
|
51
|
+
# Receive a generator of IssuingStocks objects previously created in the Stark Infra API
|
52
|
+
#
|
53
|
+
# ## Parameters (optional):
|
54
|
+
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
55
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
56
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
57
|
+
# - design_ids [list of strings, default nil]: IssuingDesign unique ids. ex: ["5656565656565656", "4545454545454545"]
|
58
|
+
# - embosser_ids [list of strings, default nil]: Embosser unique ids. ex: ["5656565656565656", "4545454545454545"]
|
59
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
60
|
+
# - expand [list of strings, default []]: fields to expand information. ex: ["balance"]
|
61
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
62
|
+
#
|
63
|
+
# ## Return:
|
64
|
+
# - generator of IssuingStocks objects with updated attributes
|
65
|
+
def self.query(
|
66
|
+
limit: nil, after: nil, before: nil, design_ids: nil, embosser_ids: nil, ids: nil, expand: nil, user: nil
|
67
|
+
)
|
68
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
69
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
70
|
+
StarkInfra::Utils::Rest.get_stream(
|
71
|
+
limit: limit,
|
72
|
+
after: after,
|
73
|
+
before: before,
|
74
|
+
design_ids: design_ids,
|
75
|
+
embosser_ids: embosser_ids,
|
76
|
+
ids: ids,
|
77
|
+
expand: expand,
|
78
|
+
user: user,
|
79
|
+
**resource
|
80
|
+
)
|
81
|
+
end
|
82
|
+
|
83
|
+
# # Retrieve paged IssuingStocks
|
84
|
+
#
|
85
|
+
# Receive a list of up to 100 IssuingStock objects previously created in the Stark Infra API and the cursor to the next page.
|
86
|
+
# Use this function instead of query if you want to manually page your requests.
|
87
|
+
#
|
88
|
+
# ## Parameters (optional):
|
89
|
+
# - cursor [string, default nil]: cursor returned on the previous page function call.
|
90
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
91
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
92
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
93
|
+
# - design_ids [list of strings, default nil]: IssuingDesign unique ids. ex: ["5656565656565656", "4545454545454545"]
|
94
|
+
# - embosser_ids [list of strings, default nil]: Embosser unique ids. ex: ["5656565656565656", "4545454545454545"]
|
95
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ["5656565656565656", "4545454545454545"]
|
96
|
+
# - expand [list of strings, default []]: fields to expand information. ex: ["balance"]
|
97
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if StarkInfra.user was set before function call
|
98
|
+
#
|
99
|
+
# ## Return:
|
100
|
+
# - list of IssuingStocks objects with updated attributes
|
101
|
+
# - cursor to retrieve the next page of IssuingStocks objects
|
102
|
+
def self.page(
|
103
|
+
cursor: nil, limit: nil, after: nil, before: nil, design_ids: nil, embosser_ids: nil,
|
104
|
+
ids: nil, expand: nil, user: nil
|
105
|
+
)
|
106
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
107
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
108
|
+
StarkInfra::Utils::Rest.get_page(
|
109
|
+
cursor: cursor,
|
110
|
+
limit: limit,
|
111
|
+
after: after,
|
112
|
+
before: before,
|
113
|
+
design_ids: design_ids,
|
114
|
+
embosser_ids: embosser_ids,
|
115
|
+
ids: ids,
|
116
|
+
expand: expand,
|
117
|
+
user: user,
|
118
|
+
**resource
|
119
|
+
)
|
120
|
+
end
|
121
|
+
|
122
|
+
def self.resource
|
123
|
+
{
|
124
|
+
resource_name: 'IssuingStock',
|
125
|
+
resource_maker: proc { |json|
|
126
|
+
IssuingStock.new(
|
127
|
+
id: json['id'],
|
128
|
+
balance: json['balance'],
|
129
|
+
design_id: json['design_id'],
|
130
|
+
embosser_id: json['embosser_id'],
|
131
|
+
updated: json['updated'],
|
132
|
+
created: json['created']
|
133
|
+
)
|
134
|
+
}
|
135
|
+
}
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative('IssuingStock')
|
4
|
+
require_relative('../utils/rest')
|
5
|
+
require_relative('../utils/checks')
|
6
|
+
require_relative('../utils/resource')
|
7
|
+
|
8
|
+
module StarkInfra
|
9
|
+
class IssuingStock
|
10
|
+
# # IssuingStock::Log object
|
11
|
+
#
|
12
|
+
# Every time an IssuingStock entity is updated, a corresponding IssuingStock::Log is generated for the entity. This log
|
13
|
+
# is never generated by the user, but it can be retrieved to check additional information on the IssuingStock.
|
14
|
+
#
|
15
|
+
# ## Attributes (return-only):
|
16
|
+
# - id [string]: unique id returned when the log is created. ex: '5656565656565656'
|
17
|
+
# - stock [IssuingStock]: IssuingStock entity to which the log refers to.
|
18
|
+
# - type [string]: type of the IssuingStock event which triggered the log creation. ex: "created", "spent", "restocked", "lost"
|
19
|
+
# - count [integer]: shift in stock balance. ex: 10
|
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, :stock, :type, :count, :created
|
23
|
+
def initialize(id: nil, stock: nil, type: nil, count: nil, created: nil)
|
24
|
+
super(id)
|
25
|
+
@stock = stock
|
26
|
+
@type = type
|
27
|
+
@count = count
|
28
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
29
|
+
end
|
30
|
+
|
31
|
+
# # Retrieve a specific IssuingStock::Log
|
32
|
+
#
|
33
|
+
# Receive a single IssuingStock::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
|
+
# - IssuingStock::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 IssuingStock::Logs
|
48
|
+
#
|
49
|
+
# Receive a generator of IssuingStock::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", "spent", "restocked", "lost"]
|
56
|
+
# - stock_ids [list of strings, default nil]: list of IssuingStock ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
57
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
58
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
59
|
+
#
|
60
|
+
# ## Return:
|
61
|
+
# - generator of IssuingStock::Log objects with updated attributes
|
62
|
+
def self.query(limit: nil, after: nil, before: nil, types: nil, stock_ids: nil, ids: nil, user: nil)
|
63
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
64
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
65
|
+
StarkInfra::Utils::Rest.get_stream(
|
66
|
+
limit: limit,
|
67
|
+
after: after,
|
68
|
+
before: before,
|
69
|
+
types: types,
|
70
|
+
stock_ids: stock_ids,
|
71
|
+
ids: ids,
|
72
|
+
user: user,
|
73
|
+
**resource
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
# # Retrieve paged IssuingStock::Logs
|
78
|
+
#
|
79
|
+
# Receive a list of up to 100 IssuingStock::Log objects previously created in the Stark Infra API and the cursor to the next page.
|
80
|
+
# Use this function instead of query if you want to manually page your logs.
|
81
|
+
#
|
82
|
+
# ## Parameters (optional):
|
83
|
+
# - cursor [string, default nil]: cursor returned on the previous page function call
|
84
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
85
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
86
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
87
|
+
# - types [list of strings, default nil]: filter for log event types. ex: ["created", "spent", "restocked", "lost"]
|
88
|
+
# - stock_ids [list of strings, default nil]: list of IssuingStock ids to filter logs. ex: ['5656565656565656', '4545454545454545']
|
89
|
+
# - ids [list of strings, default nil]: list of ids to filter retrieved objects. ex: ['5656565656565656', '4545454545454545']
|
90
|
+
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
91
|
+
#
|
92
|
+
# ## Return:
|
93
|
+
# - list of IssuingStock::Log objects with updated attributes
|
94
|
+
# - Cursor to retrieve the next page of Log objects
|
95
|
+
def self.page(
|
96
|
+
cursor: nil, limit: nil, after: nil, before: nil, types: nil, stock_ids: nil, ids: nil, user: nil
|
97
|
+
)
|
98
|
+
after = StarkInfra::Utils::Checks.check_date(after)
|
99
|
+
before = StarkInfra::Utils::Checks.check_date(before)
|
100
|
+
StarkInfra::Utils::Rest.get_page(
|
101
|
+
cursor: cursor,
|
102
|
+
limit: limit,
|
103
|
+
after: after,
|
104
|
+
before: before,
|
105
|
+
types: types,
|
106
|
+
stock_ids: stock_ids,
|
107
|
+
ids: ids,
|
108
|
+
user: user,
|
109
|
+
**resource
|
110
|
+
)
|
111
|
+
end
|
112
|
+
|
113
|
+
def self.resource
|
114
|
+
request_maker = StarkInfra::IssuingStock.resource[:resource_maker]
|
115
|
+
{
|
116
|
+
resource_name: 'IssuingStockLog',
|
117
|
+
resource_maker: proc { |json|
|
118
|
+
Log.new(
|
119
|
+
id: json['id'],
|
120
|
+
stock: StarkInfra::Utils::API.from_api_json(request_maker, json['stock']),
|
121
|
+
type: json['type'],
|
122
|
+
count: json['count'],
|
123
|
+
created: json['created']
|
124
|
+
)
|
125
|
+
}
|
126
|
+
}
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
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
|
# # IssuingTransaction object
|
@@ -20,9 +20,7 @@ module StarkInfra
|
|
20
20
|
class IssuingTransaction < StarkInfra::Utils::Resource
|
21
21
|
attr_reader :id, :amount, :balance, :description, :source, :tags, :created
|
22
22
|
|
23
|
-
def initialize(
|
24
|
-
id: nil, amount: nil, balance: nil, description: nil, source: nil, tags: nil, created: nil
|
25
|
-
)
|
23
|
+
def initialize(id: nil, amount: nil, balance: nil, description: nil, source: nil, tags: nil, created: nil)
|
26
24
|
super(id)
|
27
25
|
@amount = amount
|
28
26
|
@balance = balance
|
@@ -54,11 +52,11 @@ module StarkInfra
|
|
54
52
|
#
|
55
53
|
# ## Parameters (optional):
|
56
54
|
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
57
|
-
# - external_ids [list of strings, default
|
58
|
-
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
59
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
55
|
+
# - external_ids [list of strings, default nil]: external IDs. ex: ['5656565656565656', '4545454545454545']
|
56
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
57
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
60
58
|
# - status [string, default nil]: filter for status of retrieved objects. ex: 'approved', 'canceled', 'denied', 'confirmed' or 'voided'
|
61
|
-
# - ids [list of strings, default
|
59
|
+
# - ids [list of strings, default nil]: purchase IDs
|
62
60
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
63
61
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
64
62
|
#
|
@@ -82,17 +80,18 @@ module StarkInfra
|
|
82
80
|
|
83
81
|
# # Retrieve paged IssuingTransactions
|
84
82
|
#
|
85
|
-
# Receive a list of IssuingTransaction objects previously created in the Stark Infra API and the cursor to the next page.
|
83
|
+
# Receive a list of up to 100 IssuingTransaction objects previously created in the Stark Infra API and the cursor to the next page.
|
84
|
+
# Use this function instead of query if you want to manually page your requests.
|
86
85
|
#
|
87
86
|
# ## Parameters (optional):
|
88
87
|
# - cursor [string, default nil]: cursor returned on the previous page function call.
|
88
|
+
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
89
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
90
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
89
91
|
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
90
|
-
# - external_ids [list of strings, default nil: external IDs. ex: ['5656565656565656', '4545454545454545']
|
91
|
-
# - after [Date or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
92
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
92
|
+
# - external_ids [list of strings, default nil]: external IDs. ex: ['5656565656565656', '4545454545454545']
|
93
93
|
# - status [string, default nil]: filter for status of retrieved objects. ex: 'approved', 'canceled', 'denied', 'confirmed' or 'voided'
|
94
94
|
# - ids [list of strings, default nil]: purchase IDs
|
95
|
-
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
96
95
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
97
96
|
#
|
98
97
|
# ## Return:
|
@@ -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
|
# # IssuingWithdrawal object
|
@@ -15,7 +15,7 @@ module StarkInfra
|
|
15
15
|
# - description [string]: IssuingWithdrawal description. ex: 'sending money back'
|
16
16
|
#
|
17
17
|
# ## Parameters (optional):
|
18
|
-
# - tags [list of strings, default
|
18
|
+
# - tags [list of strings, default nil]: list of strings for tagging. ex: ['tony', 'stark']
|
19
19
|
#
|
20
20
|
# ## Attributes (return-only):
|
21
21
|
# - id [string]: unique id returned when IssuingWithdrawal is created. ex: '5656565656565656'
|
@@ -36,8 +36,8 @@ module StarkInfra
|
|
36
36
|
@tags = tags
|
37
37
|
@transaction_id = transaction_id
|
38
38
|
@issuing_transaction_id = issuing_transaction_id
|
39
|
-
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
40
39
|
@updated = StarkInfra::Utils::Checks.check_datetime(updated)
|
40
|
+
@created = StarkInfra::Utils::Checks.check_datetime(created)
|
41
41
|
end
|
42
42
|
|
43
43
|
# # Create an IssuingWithdrawal
|
@@ -78,10 +78,10 @@ module StarkInfra
|
|
78
78
|
#
|
79
79
|
# ## Parameters (optional):
|
80
80
|
# - limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35
|
81
|
-
# -
|
82
|
-
# -
|
83
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
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)
|
84
83
|
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
84
|
+
# - external_ids [list of strings, default nil]: external IDs. ex: ['5656565656565656', '4545454545454545']
|
85
85
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
86
86
|
#
|
87
87
|
# ## Return:
|
@@ -102,15 +102,16 @@ module StarkInfra
|
|
102
102
|
|
103
103
|
# # Retrieve paged IssuingWithdrawals
|
104
104
|
#
|
105
|
-
# Receive a list of
|
105
|
+
# Receive a list of up to 100 IssuingWithdrawal objects previously created in the Stark Infra API and the cursor to the next page.
|
106
|
+
# Use this function instead of query if you want to manually page your requests.
|
106
107
|
#
|
107
108
|
# ## Parameters (optional):
|
108
109
|
# - cursor [string, default nil]: cursor returned on the previous page function call.
|
109
110
|
# - limit [integer, default 100]: maximum number of objects to be retrieved. Max = 100. ex: 35
|
110
|
-
# -
|
111
|
-
# -
|
112
|
-
# - before [Date or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
111
|
+
# - after [Date or string, default nil]: date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)
|
112
|
+
# - before [Date or string, default nil]: date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)
|
113
113
|
# - tags [list of strings, default nil]: tags to filter retrieved objects. ex: ['tony', 'stark']
|
114
|
+
# - external_ids [list of strings, default nil]: external IDs. ex: ['5656565656565656', '4545454545454545']
|
114
115
|
# - user [Organization/Project object, default nil]: Organization or Project object. Not necessary if starkinfra.user was set before function call
|
115
116
|
#
|
116
117
|
# ## Return:
|
@@ -136,11 +137,11 @@ module StarkInfra
|
|
136
137
|
resource_name: 'IssuingWithdrawal',
|
137
138
|
resource_maker: proc { |json|
|
138
139
|
IssuingWithdrawal.new(
|
140
|
+
id: json['id'],
|
139
141
|
amount: json['amount'],
|
140
142
|
external_id: json['external_id'],
|
141
143
|
description: json['description'],
|
142
144
|
tags: json['tags'],
|
143
|
-
id: json['id'],
|
144
145
|
transaction_id: json['transaction_id'],
|
145
146
|
issuing_transaction_id: json['issuing_transaction_id'],
|
146
147
|
updated: json['updated'],
|