trinsic_api 3.1.0.pre.preview1 → 3.1.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/docs/AgeOverOutput.md +20 -0
  3. data/docs/AppleWalletProviderOutput.md +2 -0
  4. data/docs/EudiAgeVerificationCredential.md +22 -0
  5. data/docs/EudiPidCredential.md +70 -0
  6. data/docs/FranceIdentiteProviderOutput.md +4 -0
  7. data/docs/GoogleWalletIdPassCredential.md +40 -0
  8. data/docs/GoogleWalletProviderOutput.md +4 -0
  9. data/docs/Iso180132BiometricDataBlockProduct.md +20 -0
  10. data/docs/Iso180132BiometricGroupTemplate.md +18 -0
  11. data/docs/Iso180132BiometricTemplate.md +24 -0
  12. data/docs/Iso180132BiometricTemplateHeader.md +36 -0
  13. data/docs/Iso180132BiometricValidityPeriod.md +20 -0
  14. data/docs/Iso180135AamvaDomesticDrivingPrivilege.md +22 -0
  15. data/docs/Iso180135AamvaDomesticVehicleClass.md +24 -0
  16. data/docs/Iso180135AamvaDomesticVehicleEndorsement.md +20 -0
  17. data/docs/Iso180135AamvaDomesticVehicleRestriction.md +20 -0
  18. data/docs/Iso180135AamvaNamespaceOutput.md +70 -0
  19. data/docs/Iso180135AamvaWeightRange.md +20 -0
  20. data/docs/Iso180135DrivingPrivilege.md +24 -0
  21. data/docs/Iso180135DrivingPrivilegeCode.md +22 -0
  22. data/docs/Iso180135MobileDriversLicenseCredential.md +20 -0
  23. data/docs/Iso180135StandardNamespaceOutput.md +86 -0
  24. data/docs/SamsungWalletProviderOutput.md +2 -0
  25. data/lib/trinsic_api/models/age_over_output.rb +193 -0
  26. data/lib/trinsic_api/models/apple_wallet_provider_output.rb +12 -1
  27. data/lib/trinsic_api/models/eudi_age_verification_credential.rb +174 -0
  28. data/lib/trinsic_api/models/eudi_pid_credential.rb +438 -0
  29. data/lib/trinsic_api/models/france_identite_provider_output.rb +23 -1
  30. data/lib/trinsic_api/models/google_wallet_id_pass_credential.rb +273 -0
  31. data/lib/trinsic_api/models/google_wallet_provider_output.rb +23 -1
  32. data/lib/trinsic_api/models/iso180132_biometric_data_block_product.rb +193 -0
  33. data/lib/trinsic_api/models/iso180132_biometric_group_template.rb +168 -0
  34. data/lib/trinsic_api/models/iso180132_biometric_template.rb +231 -0
  35. data/lib/trinsic_api/models/iso180132_biometric_template_header.rb +297 -0
  36. data/lib/trinsic_api/models/iso180132_biometric_validity_period.rb +193 -0
  37. data/lib/trinsic_api/models/iso180135_aamva_domestic_driving_privilege.rb +176 -0
  38. data/lib/trinsic_api/models/iso180135_aamva_domestic_vehicle_class.rb +215 -0
  39. data/lib/trinsic_api/models/iso180135_aamva_domestic_vehicle_endorsement.rb +177 -0
  40. data/lib/trinsic_api/models/iso180135_aamva_domestic_vehicle_restriction.rb +177 -0
  41. data/lib/trinsic_api/models/iso180135_aamva_namespace_output.rb +438 -0
  42. data/lib/trinsic_api/models/iso180135_aamva_weight_range.rb +177 -0
  43. data/lib/trinsic_api/models/iso180135_driving_privilege.rb +201 -0
  44. data/lib/trinsic_api/models/iso180135_driving_privilege_code.rb +188 -0
  45. data/lib/trinsic_api/models/iso180135_mobile_drivers_license_credential.rb +161 -0
  46. data/lib/trinsic_api/models/iso180135_standard_namespace_output.rb +528 -0
  47. data/lib/trinsic_api/models/samsung_wallet_provider_output.rb +12 -1
  48. data/lib/trinsic_api/version.rb +1 -1
  49. data/lib/trinsic_api.rb +19 -0
  50. data/spec/models/age_over_output_spec.rb +42 -0
  51. data/spec/models/apple_wallet_provider_output_spec.rb +6 -0
  52. data/spec/models/eudi_age_verification_credential_spec.rb +48 -0
  53. data/spec/models/eudi_pid_credential_spec.rb +192 -0
  54. data/spec/models/france_identite_provider_output_spec.rb +12 -0
  55. data/spec/models/google_wallet_id_pass_credential_spec.rb +102 -0
  56. data/spec/models/google_wallet_provider_output_spec.rb +12 -0
  57. data/spec/models/iso180132_biometric_data_block_product_spec.rb +42 -0
  58. data/spec/models/iso180132_biometric_group_template_spec.rb +36 -0
  59. data/spec/models/iso180132_biometric_template_header_spec.rb +90 -0
  60. data/spec/models/iso180132_biometric_template_spec.rb +54 -0
  61. data/spec/models/iso180132_biometric_validity_period_spec.rb +42 -0
  62. data/spec/models/iso180135_aamva_domestic_driving_privilege_spec.rb +48 -0
  63. data/spec/models/iso180135_aamva_domestic_vehicle_class_spec.rb +54 -0
  64. data/spec/models/iso180135_aamva_domestic_vehicle_endorsement_spec.rb +42 -0
  65. data/spec/models/iso180135_aamva_domestic_vehicle_restriction_spec.rb +42 -0
  66. data/spec/models/iso180135_aamva_namespace_output_spec.rb +192 -0
  67. data/spec/models/iso180135_aamva_weight_range_spec.rb +42 -0
  68. data/spec/models/iso180135_driving_privilege_code_spec.rb +48 -0
  69. data/spec/models/iso180135_driving_privilege_spec.rb +54 -0
  70. data/spec/models/iso180135_mobile_drivers_license_credential_spec.rb +42 -0
  71. data/spec/models/iso180135_standard_namespace_output_spec.rb +240 -0
  72. data/spec/models/samsung_wallet_provider_output_spec.rb +6 -0
  73. metadata +78 -2
@@ -0,0 +1,273 @@
1
+ =begin
2
+ #Trinsic API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ # A Google Wallet ID Pass credential, with document type `com.google.wallet.idcard.1`. This is a passport-derived digital credential issued by Google.
18
+ class GoogleWalletIdPassCredential < ApiModelBase
19
+ # First name(s), other name(s), or secondary identifier of the individual.
20
+ attr_accessor :given_name
21
+
22
+ # Last name, surname, or primary identifier of the individual.
23
+ attr_accessor :family_name
24
+
25
+ # The date of birth of the individual.
26
+ attr_accessor :date_of_birth
27
+
28
+ # The date when the ID Pass was issued. This is not the same as the issue date of the underlying physical passport used to create the ID Pass.
29
+ attr_accessor :issue_date
30
+
31
+ # The date when the ID Pass expires. This is not necessarily the same as the expiration date of the underlying physical passport used to create the ID Pass.
32
+ attr_accessor :expiry_date
33
+
34
+ # Alpha-2 country code of the issuing authority's country or territory.
35
+ attr_accessor :issuing_country
36
+
37
+ # Name or identifier of the mDL issuing authority. This field's contents are arbitrary; it has no guaranteed format.
38
+ attr_accessor :issuing_authority
39
+
40
+ # Nationality of the individual as an ISO 3166-1 alpha-2 country code.
41
+ attr_accessor :nationality
42
+
43
+ # The number of the underlying passport used to create the ID Pass.
44
+ attr_accessor :document_number
45
+
46
+ # The individual's sex as an ISO/IEC 5218 code. Possible values: - 0: Unknown - 1: Male - 2: Female - 9: Not Applicable
47
+ attr_accessor :sex
48
+
49
+ # Processed age-over claims returned by the ID Pass.
50
+ attr_accessor :age_over
51
+
52
+ # Date when the underlying passport backing this digital credential was originally issued.
53
+ attr_accessor :issue_date_of_underlying_document
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'given_name' => :'givenName',
59
+ :'family_name' => :'familyName',
60
+ :'date_of_birth' => :'dateOfBirth',
61
+ :'issue_date' => :'issueDate',
62
+ :'expiry_date' => :'expiryDate',
63
+ :'issuing_country' => :'issuingCountry',
64
+ :'issuing_authority' => :'issuingAuthority',
65
+ :'nationality' => :'nationality',
66
+ :'document_number' => :'documentNumber',
67
+ :'sex' => :'sex',
68
+ :'age_over' => :'ageOver',
69
+ :'issue_date_of_underlying_document' => :'issueDateOfUnderlyingDocument'
70
+ }
71
+ end
72
+
73
+ # Returns attribute mapping this model knows about
74
+ def self.acceptable_attribute_map
75
+ attribute_map
76
+ end
77
+
78
+ # Returns all the JSON keys this model knows about
79
+ def self.acceptable_attributes
80
+ acceptable_attribute_map.values
81
+ end
82
+
83
+ # Attribute type mapping.
84
+ def self.openapi_types
85
+ {
86
+ :'given_name' => :'String',
87
+ :'family_name' => :'String',
88
+ :'date_of_birth' => :'Date',
89
+ :'issue_date' => :'Date',
90
+ :'expiry_date' => :'Date',
91
+ :'issuing_country' => :'String',
92
+ :'issuing_authority' => :'String',
93
+ :'nationality' => :'String',
94
+ :'document_number' => :'String',
95
+ :'sex' => :'Integer',
96
+ :'age_over' => :'Array<AgeOverOutput>',
97
+ :'issue_date_of_underlying_document' => :'Date'
98
+ }
99
+ end
100
+
101
+ # List of attributes with nullable: true
102
+ def self.openapi_nullable
103
+ Set.new([
104
+ :'given_name',
105
+ :'family_name',
106
+ :'date_of_birth',
107
+ :'issue_date',
108
+ :'expiry_date',
109
+ :'issuing_country',
110
+ :'issuing_authority',
111
+ :'nationality',
112
+ :'document_number',
113
+ :'sex',
114
+ :'age_over',
115
+ :'issue_date_of_underlying_document'
116
+ ])
117
+ end
118
+
119
+ # Initializes the object
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ def initialize(attributes = {})
122
+ if (!attributes.is_a?(Hash))
123
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::GoogleWalletIdPassCredential` initialize method"
124
+ end
125
+
126
+ # check to see if the attribute exists and convert string to symbol for hash key
127
+ acceptable_attribute_map = self.class.acceptable_attribute_map
128
+ attributes = attributes.each_with_object({}) { |(k, v), h|
129
+ if (!acceptable_attribute_map.key?(k.to_sym))
130
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::GoogleWalletIdPassCredential`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
131
+ end
132
+ h[k.to_sym] = v
133
+ }
134
+
135
+ if attributes.key?(:'given_name')
136
+ self.given_name = attributes[:'given_name']
137
+ end
138
+
139
+ if attributes.key?(:'family_name')
140
+ self.family_name = attributes[:'family_name']
141
+ end
142
+
143
+ if attributes.key?(:'date_of_birth')
144
+ self.date_of_birth = attributes[:'date_of_birth']
145
+ end
146
+
147
+ if attributes.key?(:'issue_date')
148
+ self.issue_date = attributes[:'issue_date']
149
+ end
150
+
151
+ if attributes.key?(:'expiry_date')
152
+ self.expiry_date = attributes[:'expiry_date']
153
+ end
154
+
155
+ if attributes.key?(:'issuing_country')
156
+ self.issuing_country = attributes[:'issuing_country']
157
+ end
158
+
159
+ if attributes.key?(:'issuing_authority')
160
+ self.issuing_authority = attributes[:'issuing_authority']
161
+ end
162
+
163
+ if attributes.key?(:'nationality')
164
+ self.nationality = attributes[:'nationality']
165
+ end
166
+
167
+ if attributes.key?(:'document_number')
168
+ self.document_number = attributes[:'document_number']
169
+ end
170
+
171
+ if attributes.key?(:'sex')
172
+ self.sex = attributes[:'sex']
173
+ end
174
+
175
+ if attributes.key?(:'age_over')
176
+ if (value = attributes[:'age_over']).is_a?(Array)
177
+ self.age_over = value
178
+ end
179
+ end
180
+
181
+ if attributes.key?(:'issue_date_of_underlying_document')
182
+ self.issue_date_of_underlying_document = attributes[:'issue_date_of_underlying_document']
183
+ end
184
+ end
185
+
186
+ # Show invalid properties with the reasons. Usually used together with valid?
187
+ # @return Array for valid properties with the reasons
188
+ def list_invalid_properties
189
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
190
+ invalid_properties = Array.new
191
+ invalid_properties
192
+ end
193
+
194
+ # Check to see if the all the properties in the model are valid
195
+ # @return true if the model is valid
196
+ def valid?
197
+ warn '[DEPRECATED] the `valid?` method is obsolete'
198
+ true
199
+ end
200
+
201
+ # Checks equality by comparing each attribute.
202
+ # @param [Object] Object to be compared
203
+ def ==(o)
204
+ return true if self.equal?(o)
205
+ self.class == o.class &&
206
+ given_name == o.given_name &&
207
+ family_name == o.family_name &&
208
+ date_of_birth == o.date_of_birth &&
209
+ issue_date == o.issue_date &&
210
+ expiry_date == o.expiry_date &&
211
+ issuing_country == o.issuing_country &&
212
+ issuing_authority == o.issuing_authority &&
213
+ nationality == o.nationality &&
214
+ document_number == o.document_number &&
215
+ sex == o.sex &&
216
+ age_over == o.age_over &&
217
+ issue_date_of_underlying_document == o.issue_date_of_underlying_document
218
+ end
219
+
220
+ # @see the `==` method
221
+ # @param [Object] Object to be compared
222
+ def eql?(o)
223
+ self == o
224
+ end
225
+
226
+ # Calculates hash code according to all attributes.
227
+ # @return [Integer] Hash code
228
+ def hash
229
+ [given_name, family_name, date_of_birth, issue_date, expiry_date, issuing_country, issuing_authority, nationality, document_number, sex, age_over, issue_date_of_underlying_document].hash
230
+ end
231
+
232
+ # Builds the object from hash
233
+ # @param [Hash] attributes Model attributes in the form of hash
234
+ # @return [Object] Returns the model itself
235
+ def self.build_from_hash(attributes)
236
+ return nil unless attributes.is_a?(Hash)
237
+ attributes = attributes.transform_keys(&:to_sym)
238
+ transformed_hash = {}
239
+ openapi_types.each_pair do |key, type|
240
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
241
+ transformed_hash["#{key}"] = nil
242
+ elsif type =~ /\AArray<(.*)>/i
243
+ # check to ensure the input is an array given that the attribute
244
+ # is documented as an array but the input is not
245
+ if attributes[attribute_map[key]].is_a?(Array)
246
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
247
+ end
248
+ elsif !attributes[attribute_map[key]].nil?
249
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
250
+ end
251
+ end
252
+ new(transformed_hash)
253
+ end
254
+
255
+ # Returns the object in the form of hash
256
+ # @return [Hash] Returns the object in the form of hash
257
+ def to_hash
258
+ hash = {}
259
+ self.class.attribute_map.each_pair do |attr, param|
260
+ value = self.send(attr)
261
+ if value.nil?
262
+ is_nullable = self.class.openapi_nullable.include?(attr)
263
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
264
+ end
265
+
266
+ hash[param] = _to_hash(value)
267
+ end
268
+ hash
269
+ end
270
+
271
+ end
272
+
273
+ end
@@ -16,12 +16,20 @@ require 'time'
16
16
  module TrinsicApi
17
17
  # Exposed properties for the `google-wallet` Provider which do not directly map to the normalized IdentityData model.
18
18
  class GoogleWalletProviderOutput < ApiModelBase
19
+ # A standard 18013-5 Mobile Driver's License credential, retrieved from the individual's wallet.
20
+ attr_accessor :mobile_drivers_license
21
+
22
+ # A Google Wallet ID Pass credential (`com.google.wallet.idcard.1`), retrieved from the individual's wallet.
23
+ attr_accessor :id_pass
24
+
19
25
  # The raw output of the mDL exchange performed through Google Wallet.
20
26
  attr_accessor :raw_mdl_output
21
27
 
22
28
  # Attribute mapping from ruby-style variable name to JSON key.
23
29
  def self.attribute_map
24
30
  {
31
+ :'mobile_drivers_license' => :'mobileDriversLicense',
32
+ :'id_pass' => :'idPass',
25
33
  :'raw_mdl_output' => :'rawMdlOutput'
26
34
  }
27
35
  end
@@ -39,6 +47,8 @@ module TrinsicApi
39
47
  # Attribute type mapping.
40
48
  def self.openapi_types
41
49
  {
50
+ :'mobile_drivers_license' => :'Iso180135MobileDriversLicenseCredential',
51
+ :'id_pass' => :'GoogleWalletIdPassCredential',
42
52
  :'raw_mdl_output' => :'MdlOutput'
43
53
  }
44
54
  end
@@ -46,6 +56,8 @@ module TrinsicApi
46
56
  # List of attributes with nullable: true
47
57
  def self.openapi_nullable
48
58
  Set.new([
59
+ :'mobile_drivers_license',
60
+ :'id_pass',
49
61
  ])
50
62
  end
51
63
 
@@ -65,6 +77,14 @@ module TrinsicApi
65
77
  h[k.to_sym] = v
66
78
  }
67
79
 
80
+ if attributes.key?(:'mobile_drivers_license')
81
+ self.mobile_drivers_license = attributes[:'mobile_drivers_license']
82
+ end
83
+
84
+ if attributes.key?(:'id_pass')
85
+ self.id_pass = attributes[:'id_pass']
86
+ end
87
+
68
88
  if attributes.key?(:'raw_mdl_output')
69
89
  self.raw_mdl_output = attributes[:'raw_mdl_output']
70
90
  else
@@ -107,6 +127,8 @@ module TrinsicApi
107
127
  def ==(o)
108
128
  return true if self.equal?(o)
109
129
  self.class == o.class &&
130
+ mobile_drivers_license == o.mobile_drivers_license &&
131
+ id_pass == o.id_pass &&
110
132
  raw_mdl_output == o.raw_mdl_output
111
133
  end
112
134
 
@@ -119,7 +141,7 @@ module TrinsicApi
119
141
  # Calculates hash code according to all attributes.
120
142
  # @return [Integer] Hash code
121
143
  def hash
122
- [raw_mdl_output].hash
144
+ [mobile_drivers_license, id_pass, raw_mdl_output].hash
123
145
  end
124
146
 
125
147
  # Builds the object from hash
@@ -0,0 +1,193 @@
1
+ =begin
2
+ #Trinsic API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ # Owner and type identifying the product that produced a biometric data block.
18
+ class Iso180132BiometricDataBlockProduct < ApiModelBase
19
+ # Identifier of the product owner.
20
+ attr_accessor :product_owner
21
+
22
+ # Identifier of the product type.
23
+ attr_accessor :product_type
24
+
25
+ # Attribute mapping from ruby-style variable name to JSON key.
26
+ def self.attribute_map
27
+ {
28
+ :'product_owner' => :'productOwner',
29
+ :'product_type' => :'productType'
30
+ }
31
+ end
32
+
33
+ # Returns attribute mapping this model knows about
34
+ def self.acceptable_attribute_map
35
+ attribute_map
36
+ end
37
+
38
+ # Returns all the JSON keys this model knows about
39
+ def self.acceptable_attributes
40
+ acceptable_attribute_map.values
41
+ end
42
+
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'product_owner' => :'Integer',
47
+ :'product_type' => :'Integer'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::Iso180132BiometricDataBlockProduct` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ acceptable_attribute_map = self.class.acceptable_attribute_map
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!acceptable_attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::Iso180132BiometricDataBlockProduct`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
69
+ end
70
+ h[k.to_sym] = v
71
+ }
72
+
73
+ if attributes.key?(:'product_owner')
74
+ self.product_owner = attributes[:'product_owner']
75
+ else
76
+ self.product_owner = nil
77
+ end
78
+
79
+ if attributes.key?(:'product_type')
80
+ self.product_type = attributes[:'product_type']
81
+ else
82
+ self.product_type = nil
83
+ end
84
+ end
85
+
86
+ # Show invalid properties with the reasons. Usually used together with valid?
87
+ # @return Array for valid properties with the reasons
88
+ def list_invalid_properties
89
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
90
+ invalid_properties = Array.new
91
+ if @product_owner.nil?
92
+ invalid_properties.push('invalid value for "product_owner", product_owner cannot be nil.')
93
+ end
94
+
95
+ if @product_type.nil?
96
+ invalid_properties.push('invalid value for "product_type", product_type cannot be nil.')
97
+ end
98
+
99
+ invalid_properties
100
+ end
101
+
102
+ # Check to see if the all the properties in the model are valid
103
+ # @return true if the model is valid
104
+ def valid?
105
+ warn '[DEPRECATED] the `valid?` method is obsolete'
106
+ return false if @product_owner.nil?
107
+ return false if @product_type.nil?
108
+ true
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param [Object] product_owner Value to be assigned
113
+ def product_owner=(product_owner)
114
+ if product_owner.nil?
115
+ fail ArgumentError, 'product_owner cannot be nil'
116
+ end
117
+
118
+ @product_owner = product_owner
119
+ end
120
+
121
+ # Custom attribute writer method with validation
122
+ # @param [Object] product_type Value to be assigned
123
+ def product_type=(product_type)
124
+ if product_type.nil?
125
+ fail ArgumentError, 'product_type cannot be nil'
126
+ end
127
+
128
+ @product_type = product_type
129
+ end
130
+
131
+ # Checks equality by comparing each attribute.
132
+ # @param [Object] Object to be compared
133
+ def ==(o)
134
+ return true if self.equal?(o)
135
+ self.class == o.class &&
136
+ product_owner == o.product_owner &&
137
+ product_type == o.product_type
138
+ end
139
+
140
+ # @see the `==` method
141
+ # @param [Object] Object to be compared
142
+ def eql?(o)
143
+ self == o
144
+ end
145
+
146
+ # Calculates hash code according to all attributes.
147
+ # @return [Integer] Hash code
148
+ def hash
149
+ [product_owner, product_type].hash
150
+ end
151
+
152
+ # Builds the object from hash
153
+ # @param [Hash] attributes Model attributes in the form of hash
154
+ # @return [Object] Returns the model itself
155
+ def self.build_from_hash(attributes)
156
+ return nil unless attributes.is_a?(Hash)
157
+ attributes = attributes.transform_keys(&:to_sym)
158
+ transformed_hash = {}
159
+ openapi_types.each_pair do |key, type|
160
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
161
+ transformed_hash["#{key}"] = nil
162
+ elsif type =~ /\AArray<(.*)>/i
163
+ # check to ensure the input is an array given that the attribute
164
+ # is documented as an array but the input is not
165
+ if attributes[attribute_map[key]].is_a?(Array)
166
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
167
+ end
168
+ elsif !attributes[attribute_map[key]].nil?
169
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
170
+ end
171
+ end
172
+ new(transformed_hash)
173
+ end
174
+
175
+ # Returns the object in the form of hash
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_hash
178
+ hash = {}
179
+ self.class.attribute_map.each_pair do |attr, param|
180
+ value = self.send(attr)
181
+ if value.nil?
182
+ is_nullable = self.class.openapi_nullable.include?(attr)
183
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
184
+ end
185
+
186
+ hash[param] = _to_hash(value)
187
+ end
188
+ hash
189
+ end
190
+
191
+ end
192
+
193
+ end
@@ -0,0 +1,168 @@
1
+ =begin
2
+ #Trinsic API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.21.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrinsicApi
17
+ # A group of biometric templates returned for a single biometric category, per ISO 18013-2 Table C.11.
18
+ class Iso180132BiometricGroupTemplate < ApiModelBase
19
+ # Individual biometric templates contained in this group.
20
+ attr_accessor :templates
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'templates' => :'templates'
26
+ }
27
+ end
28
+
29
+ # Returns attribute mapping this model knows about
30
+ def self.acceptable_attribute_map
31
+ attribute_map
32
+ end
33
+
34
+ # Returns all the JSON keys this model knows about
35
+ def self.acceptable_attributes
36
+ acceptable_attribute_map.values
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.openapi_types
41
+ {
42
+ :'templates' => :'Array<Iso180132BiometricTemplate>'
43
+ }
44
+ end
45
+
46
+ # List of attributes with nullable: true
47
+ def self.openapi_nullable
48
+ Set.new([
49
+ ])
50
+ end
51
+
52
+ # Initializes the object
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ def initialize(attributes = {})
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrinsicApi::Iso180132BiometricGroupTemplate` initialize method"
57
+ end
58
+
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ acceptable_attribute_map = self.class.acceptable_attribute_map
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!acceptable_attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrinsicApi::Iso180132BiometricGroupTemplate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'templates')
69
+ if (value = attributes[:'templates']).is_a?(Array)
70
+ self.templates = value
71
+ end
72
+ else
73
+ self.templates = nil
74
+ end
75
+ end
76
+
77
+ # Show invalid properties with the reasons. Usually used together with valid?
78
+ # @return Array for valid properties with the reasons
79
+ def list_invalid_properties
80
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
81
+ invalid_properties = Array.new
82
+ if @templates.nil?
83
+ invalid_properties.push('invalid value for "templates", templates cannot be nil.')
84
+ end
85
+
86
+ invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ warn '[DEPRECATED] the `valid?` method is obsolete'
93
+ return false if @templates.nil?
94
+ true
95
+ end
96
+
97
+ # Custom attribute writer method with validation
98
+ # @param [Object] templates Value to be assigned
99
+ def templates=(templates)
100
+ if templates.nil?
101
+ fail ArgumentError, 'templates cannot be nil'
102
+ end
103
+
104
+ @templates = templates
105
+ end
106
+
107
+ # Checks equality by comparing each attribute.
108
+ # @param [Object] Object to be compared
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ templates == o.templates
113
+ end
114
+
115
+ # @see the `==` method
116
+ # @param [Object] Object to be compared
117
+ def eql?(o)
118
+ self == o
119
+ end
120
+
121
+ # Calculates hash code according to all attributes.
122
+ # @return [Integer] Hash code
123
+ def hash
124
+ [templates].hash
125
+ end
126
+
127
+ # Builds the object from hash
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ # @return [Object] Returns the model itself
130
+ def self.build_from_hash(attributes)
131
+ return nil unless attributes.is_a?(Hash)
132
+ attributes = attributes.transform_keys(&:to_sym)
133
+ transformed_hash = {}
134
+ openapi_types.each_pair do |key, type|
135
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
136
+ transformed_hash["#{key}"] = nil
137
+ elsif type =~ /\AArray<(.*)>/i
138
+ # check to ensure the input is an array given that the attribute
139
+ # is documented as an array but the input is not
140
+ if attributes[attribute_map[key]].is_a?(Array)
141
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
142
+ end
143
+ elsif !attributes[attribute_map[key]].nil?
144
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
145
+ end
146
+ end
147
+ new(transformed_hash)
148
+ end
149
+
150
+ # Returns the object in the form of hash
151
+ # @return [Hash] Returns the object in the form of hash
152
+ def to_hash
153
+ hash = {}
154
+ self.class.attribute_map.each_pair do |attr, param|
155
+ value = self.send(attr)
156
+ if value.nil?
157
+ is_nullable = self.class.openapi_nullable.include?(attr)
158
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
159
+ end
160
+
161
+ hash[param] = _to_hash(value)
162
+ end
163
+ hash
164
+ end
165
+
166
+ end
167
+
168
+ end