lib/plaid/models/asset_report_transaction.rb in plaid-19.1.0 vs lib/plaid/models/asset_report_transaction.rb in plaid-20.0.0
- old
+ new
@@ -1,11 +1,11 @@
=begin
#The Plaid API
#The Plaid REST API. Please see https://plaid.com/docs/api for more details.
-The version of the OpenAPI document: 2020-09-14_1.379.0
+The version of the OpenAPI document: 2020-09-14_1.385.1
Generated by: https://openapi-generator.tech
OpenAPI Generator version: 5.1.1
=end
@@ -26,33 +26,38 @@
attr_accessor :iso_currency_code
# The unofficial currency code associated with the transaction. Always `null` if `iso_currency_code` is non-`null`. Unofficial currency codes are used for currencies that do not have official ISO currency codes, such as cryptocurrencies and the currencies of certain countries. See the [currency code schema](https://plaid.com/docs/api/accounts#currency-code-schema) for a full listing of supported `iso_currency_code`s.
attr_accessor :unofficial_currency_code
+ # The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/get`, this field is in beta and will be omitted unless the client is both enrolled in the closed beta program and has set `options.include_original_description` to `true`.
+ attr_accessor :original_description
+
# A hierarchical array of the categories to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category`. `personal_finance_category` provides more meaningful categorization and greater accuracy. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.
attr_accessor :category
# The ID of the category to which this transaction belongs. For a full list of categories, see [`/categories/get`](https://plaid.com/docs/api/products/transactions/#categoriesget). All Transactions implementations are recommended to use the new `personal_finance_category` instead of `category_id`, as it provides greater accuracy and more meaningful categorization. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.
attr_accessor :category_id
+ attr_accessor :credit_category
+
# The check number of the transaction. This field is only populated for check transactions.
attr_accessor :check_number
# For pending transactions, the date that the transaction occurred; for posted transactions, the date that the transaction posted. Both dates are returned in an [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format ( `YYYY-MM-DD` ).
attr_accessor :date
+ # The date on which the transaction took place, in IS0 8601 format.
+ attr_accessor :date_transacted
+
attr_accessor :location
# The merchant name or transaction description. If the `transactions` object was returned by a Transactions endpoint such as `/transactions/get`, this field will always appear. If the `transactions` object was returned by an Assets endpoint such as `/asset_report/get/` or `/asset_report/pdf/get`, this field will only appear in an Asset Report with Insights.
attr_accessor :name
# The merchant name, as enriched by Plaid from the `name` field. This is typically a more human-readable version of the merchant counterparty in the transaction. For some bank transactions (such as checks or account transfers) where there is no meaningful merchant name, this value will be `null`.
attr_accessor :merchant_name
- # The string returned by the financial institution to describe the transaction. For transactions returned by `/transactions/get`, this field is in beta and will be omitted unless the client is both enrolled in the closed beta program and has set `options.include_original_description` to `true`.
- attr_accessor :original_description
-
attr_accessor :payment_meta
# When `true`, identifies the transaction as pending or unsettled. Pending transaction details (name, type, amount, category ID) may change before they are settled.
attr_accessor :pending
@@ -63,71 +68,39 @@
attr_accessor :account_owner
# The unique ID of the transaction. Like all Plaid identifiers, the `transaction_id` is case sensitive.
attr_accessor :transaction_id
- # Please use the `payment_channel` field, `transaction_type` will be deprecated in the future. `digital:` transactions that took place online. `place:` transactions that were made at a physical location. `special:` transactions that relate to banks, e.g. fees or deposits. `unresolved:` transactions that do not fit into the other three types.
attr_accessor :transaction_type
- # The logo associated with the merchant, if available. Formatted as a 100x100 pixels PNG file path.
- attr_accessor :logo_url
+ # A unique identifier for an income source.
+ attr_accessor :income_source_id
- # The website associated with the merchant, if available.
- attr_accessor :website
-
- # The date on which the transaction took place, in IS0 8601 format.
- attr_accessor :date_transacted
-
- attr_accessor :credit_category
-
- class EnumAttributeValidator
- attr_reader :datatype
- attr_reader :allowable_values
-
- def initialize(datatype, allowable_values)
- @allowable_values = allowable_values.map do |value|
- case datatype.to_s
- when /Integer/i
- value.to_i
- when /Float/i
- value.to_f
- else
- value
- end
- end
- end
-
- def valid?(value)
- !value || allowable_values.include?(value)
- end
- end
-
# Attribute mapping from ruby-style variable name to JSON key.
def self.attribute_map
{
:'account_id' => :'account_id',
:'amount' => :'amount',
:'iso_currency_code' => :'iso_currency_code',
:'unofficial_currency_code' => :'unofficial_currency_code',
+ :'original_description' => :'original_description',
:'category' => :'category',
:'category_id' => :'category_id',
+ :'credit_category' => :'credit_category',
:'check_number' => :'check_number',
:'date' => :'date',
+ :'date_transacted' => :'date_transacted',
:'location' => :'location',
:'name' => :'name',
:'merchant_name' => :'merchant_name',
- :'original_description' => :'original_description',
:'payment_meta' => :'payment_meta',
:'pending' => :'pending',
:'pending_transaction_id' => :'pending_transaction_id',
:'account_owner' => :'account_owner',
:'transaction_id' => :'transaction_id',
:'transaction_type' => :'transaction_type',
- :'logo_url' => :'logo_url',
- :'website' => :'website',
- :'date_transacted' => :'date_transacted',
- :'credit_category' => :'credit_category'
+ :'income_source_id' => :'income_source_id'
}
end
# Returns all the JSON keys this model knows about
def self.acceptable_attributes
@@ -139,58 +112,47 @@
{
:'account_id' => :'String',
:'amount' => :'Float',
:'iso_currency_code' => :'String',
:'unofficial_currency_code' => :'String',
+ :'original_description' => :'String',
:'category' => :'Array<String>',
:'category_id' => :'String',
+ :'credit_category' => :'CreditCategory',
:'check_number' => :'String',
:'date' => :'Date',
+ :'date_transacted' => :'String',
:'location' => :'Location',
:'name' => :'String',
:'merchant_name' => :'String',
- :'original_description' => :'String',
:'payment_meta' => :'PaymentMeta',
:'pending' => :'Boolean',
:'pending_transaction_id' => :'String',
:'account_owner' => :'String',
:'transaction_id' => :'String',
- :'transaction_type' => :'String',
- :'logo_url' => :'String',
- :'website' => :'String',
- :'date_transacted' => :'String',
- :'credit_category' => :'CreditCategory'
+ :'transaction_type' => :'AssetReportTransactionType',
+ :'income_source_id' => :'String'
}
end
# List of attributes with nullable: true
def self.openapi_nullable
Set.new([
:'iso_currency_code',
:'unofficial_currency_code',
+ :'original_description',
:'category',
:'category_id',
+ :'credit_category',
:'check_number',
+ :'date_transacted',
:'merchant_name',
- :'original_description',
:'pending_transaction_id',
:'account_owner',
- :'logo_url',
- :'website',
- :'date_transacted',
- :'credit_category'
])
end
- # List of class defined in allOf (OpenAPI v3)
- def self.openapi_all_of
- [
- :'AssetReportTransactionAllOf',
- :'TransactionBase'
- ]
- end
-
# Initializes the object
# @param [Hash] attributes Model attributes in the form of hash
def initialize(attributes = {})
if (!attributes.is_a?(Hash))
fail ArgumentError, "The input argument (attributes) must be a hash in `Plaid::AssetReportTransaction` initialize method"
@@ -218,28 +180,40 @@
if attributes.key?(:'unofficial_currency_code')
self.unofficial_currency_code = attributes[:'unofficial_currency_code']
end
+ if attributes.key?(:'original_description')
+ self.original_description = attributes[:'original_description']
+ end
+
if attributes.key?(:'category')
if (value = attributes[:'category']).is_a?(Array)
self.category = value
end
end
if attributes.key?(:'category_id')
self.category_id = attributes[:'category_id']
end
+ if attributes.key?(:'credit_category')
+ self.credit_category = attributes[:'credit_category']
+ end
+
if attributes.key?(:'check_number')
self.check_number = attributes[:'check_number']
end
if attributes.key?(:'date')
self.date = attributes[:'date']
end
+ if attributes.key?(:'date_transacted')
+ self.date_transacted = attributes[:'date_transacted']
+ end
+
if attributes.key?(:'location')
self.location = attributes[:'location']
end
if attributes.key?(:'name')
@@ -248,14 +222,10 @@
if attributes.key?(:'merchant_name')
self.merchant_name = attributes[:'merchant_name']
end
- if attributes.key?(:'original_description')
- self.original_description = attributes[:'original_description']
- end
-
if attributes.key?(:'payment_meta')
self.payment_meta = attributes[:'payment_meta']
end
if attributes.key?(:'pending')
@@ -276,25 +246,13 @@
if attributes.key?(:'transaction_type')
self.transaction_type = attributes[:'transaction_type']
end
- if attributes.key?(:'logo_url')
- self.logo_url = attributes[:'logo_url']
+ if attributes.key?(:'income_source_id')
+ self.income_source_id = attributes[:'income_source_id']
end
-
- if attributes.key?(:'website')
- self.website = attributes[:'website']
- end
-
- if attributes.key?(:'date_transacted')
- self.date_transacted = attributes[:'date_transacted']
- end
-
- if attributes.key?(:'credit_category')
- self.credit_category = attributes[:'credit_category']
- end
end
# Show invalid properties with the reasons. Usually used together with valid?
# @return Array for valid properties with the reasons
def list_invalid_properties
@@ -328,52 +286,39 @@
return false if @account_id.nil?
return false if @amount.nil?
return false if @date.nil?
return false if @pending.nil?
return false if @transaction_id.nil?
- transaction_type_validator = EnumAttributeValidator.new('String', ["digital", "place", "special", "unresolved"])
- return false unless transaction_type_validator.valid?(@transaction_type)
true
end
- # Custom attribute writer method checking allowed values (enum).
- # @param [Object] transaction_type Object to be assigned
- def transaction_type=(transaction_type)
- validator = EnumAttributeValidator.new('String', ["digital", "place", "special", "unresolved"])
- unless validator.valid?(transaction_type)
- fail ArgumentError, "invalid value for \"transaction_type\", must be one of #{validator.allowable_values}."
- end
- @transaction_type = transaction_type
- end
-
# Checks equality by comparing each attribute.
# @param [Object] Object to be compared
def ==(o)
return true if self.equal?(o)
self.class == o.class &&
account_id == o.account_id &&
amount == o.amount &&
iso_currency_code == o.iso_currency_code &&
unofficial_currency_code == o.unofficial_currency_code &&
+ original_description == o.original_description &&
category == o.category &&
category_id == o.category_id &&
+ credit_category == o.credit_category &&
check_number == o.check_number &&
date == o.date &&
+ date_transacted == o.date_transacted &&
location == o.location &&
name == o.name &&
merchant_name == o.merchant_name &&
- original_description == o.original_description &&
payment_meta == o.payment_meta &&
pending == o.pending &&
pending_transaction_id == o.pending_transaction_id &&
account_owner == o.account_owner &&
transaction_id == o.transaction_id &&
transaction_type == o.transaction_type &&
- logo_url == o.logo_url &&
- website == o.website &&
- date_transacted == o.date_transacted &&
- credit_category == o.credit_category
+ income_source_id == o.income_source_id
end
# @see the `==` method
# @param [Object] Object to be compared
def eql?(o)
@@ -381,10 +326,10 @@
end
# Calculates hash code according to all attributes.
# @return [Integer] Hash code
def hash
- [account_id, amount, iso_currency_code, unofficial_currency_code, category, category_id, check_number, date, location, name, merchant_name, original_description, payment_meta, pending, pending_transaction_id, account_owner, transaction_id, transaction_type, logo_url, website, date_transacted, credit_category].hash
+ [account_id, amount, iso_currency_code, unofficial_currency_code, original_description, category, category_id, credit_category, check_number, date, date_transacted, location, name, merchant_name, payment_meta, pending, pending_transaction_id, account_owner, transaction_id, transaction_type, income_source_id].hash
end
# Builds the object from hash
# @param [Hash] attributes Model attributes in the form of hash
# @return [Object] Returns the model itself