stackone_hris_client 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,320 @@
1
+ =begin
2
+ #StackOne Unified API
3
+
4
+ #The documentation for the StackOne Unified API
5
+
6
+ The version of the OpenAPI document: 1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module StackOneHrisClient
17
+ class Account
18
+ attr_accessor :id
19
+
20
+ attr_accessor :provider
21
+
22
+ attr_accessor :origin_owner_id
23
+
24
+ attr_accessor :origin_owner_name
25
+
26
+ attr_accessor :origin_username
27
+
28
+ attr_accessor :credentials
29
+
30
+ attr_accessor :created_at
31
+
32
+ attr_accessor :updated_at
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'id' => :'id',
38
+ :'provider' => :'provider',
39
+ :'origin_owner_id' => :'origin_owner_id',
40
+ :'origin_owner_name' => :'origin_owner_name',
41
+ :'origin_username' => :'origin_username',
42
+ :'credentials' => :'credentials',
43
+ :'created_at' => :'created_at',
44
+ :'updated_at' => :'updated_at'
45
+ }
46
+ end
47
+
48
+ # Returns all the JSON keys this model knows about
49
+ def self.acceptable_attributes
50
+ attribute_map.values
51
+ end
52
+
53
+ # Attribute type mapping.
54
+ def self.openapi_types
55
+ {
56
+ :'id' => :'String',
57
+ :'provider' => :'String',
58
+ :'origin_owner_id' => :'String',
59
+ :'origin_owner_name' => :'String',
60
+ :'origin_username' => :'String',
61
+ :'credentials' => :'Object',
62
+ :'created_at' => :'Time',
63
+ :'updated_at' => :'Time'
64
+ }
65
+ end
66
+
67
+ # List of attributes with nullable: true
68
+ def self.openapi_nullable
69
+ Set.new([
70
+ ])
71
+ end
72
+
73
+ # Initializes the object
74
+ # @param [Hash] attributes Model attributes in the form of hash
75
+ def initialize(attributes = {})
76
+ if (!attributes.is_a?(Hash))
77
+ fail ArgumentError, "The input argument (attributes) must be a hash in `StackOneHrisClient::Account` initialize method"
78
+ end
79
+
80
+ # check to see if the attribute exists and convert string to symbol for hash key
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!self.class.attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `StackOneHrisClient::Account`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
87
+
88
+ if attributes.key?(:'id')
89
+ self.id = attributes[:'id']
90
+ end
91
+
92
+ if attributes.key?(:'provider')
93
+ self.provider = attributes[:'provider']
94
+ end
95
+
96
+ if attributes.key?(:'origin_owner_id')
97
+ self.origin_owner_id = attributes[:'origin_owner_id']
98
+ end
99
+
100
+ if attributes.key?(:'origin_owner_name')
101
+ self.origin_owner_name = attributes[:'origin_owner_name']
102
+ end
103
+
104
+ if attributes.key?(:'origin_username')
105
+ self.origin_username = attributes[:'origin_username']
106
+ end
107
+
108
+ if attributes.key?(:'credentials')
109
+ self.credentials = attributes[:'credentials']
110
+ end
111
+
112
+ if attributes.key?(:'created_at')
113
+ self.created_at = attributes[:'created_at']
114
+ end
115
+
116
+ if attributes.key?(:'updated_at')
117
+ self.updated_at = attributes[:'updated_at']
118
+ end
119
+ end
120
+
121
+ # Show invalid properties with the reasons. Usually used together with valid?
122
+ # @return Array for valid properties with the reasons
123
+ def list_invalid_properties
124
+ invalid_properties = Array.new
125
+ if @id.nil?
126
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
127
+ end
128
+
129
+ if @provider.nil?
130
+ invalid_properties.push('invalid value for "provider", provider cannot be nil.')
131
+ end
132
+
133
+ if @origin_owner_id.nil?
134
+ invalid_properties.push('invalid value for "origin_owner_id", origin_owner_id cannot be nil.')
135
+ end
136
+
137
+ if @origin_owner_name.nil?
138
+ invalid_properties.push('invalid value for "origin_owner_name", origin_owner_name cannot be nil.')
139
+ end
140
+
141
+ if @origin_username.nil?
142
+ invalid_properties.push('invalid value for "origin_username", origin_username cannot be nil.')
143
+ end
144
+
145
+ if @credentials.nil?
146
+ invalid_properties.push('invalid value for "credentials", credentials cannot be nil.')
147
+ end
148
+
149
+ if @created_at.nil?
150
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
151
+ end
152
+
153
+ if @updated_at.nil?
154
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
155
+ end
156
+
157
+ invalid_properties
158
+ end
159
+
160
+ # Check to see if the all the properties in the model are valid
161
+ # @return true if the model is valid
162
+ def valid?
163
+ return false if @id.nil?
164
+ return false if @provider.nil?
165
+ return false if @origin_owner_id.nil?
166
+ return false if @origin_owner_name.nil?
167
+ return false if @origin_username.nil?
168
+ return false if @credentials.nil?
169
+ return false if @created_at.nil?
170
+ return false if @updated_at.nil?
171
+ true
172
+ end
173
+
174
+ # Checks equality by comparing each attribute.
175
+ # @param [Object] Object to be compared
176
+ def ==(o)
177
+ return true if self.equal?(o)
178
+ self.class == o.class &&
179
+ id == o.id &&
180
+ provider == o.provider &&
181
+ origin_owner_id == o.origin_owner_id &&
182
+ origin_owner_name == o.origin_owner_name &&
183
+ origin_username == o.origin_username &&
184
+ credentials == o.credentials &&
185
+ created_at == o.created_at &&
186
+ updated_at == o.updated_at
187
+ end
188
+
189
+ # @see the `==` method
190
+ # @param [Object] Object to be compared
191
+ def eql?(o)
192
+ self == o
193
+ end
194
+
195
+ # Calculates hash code according to all attributes.
196
+ # @return [Integer] Hash code
197
+ def hash
198
+ [id, provider, origin_owner_id, origin_owner_name, origin_username, credentials, created_at, updated_at].hash
199
+ end
200
+
201
+ # Builds the object from hash
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ # @return [Object] Returns the model itself
204
+ def self.build_from_hash(attributes)
205
+ new.build_from_hash(attributes)
206
+ end
207
+
208
+ # Builds the object from hash
209
+ # @param [Hash] attributes Model attributes in the form of hash
210
+ # @return [Object] Returns the model itself
211
+ def build_from_hash(attributes)
212
+ return nil unless attributes.is_a?(Hash)
213
+ attributes = attributes.transform_keys(&:to_sym)
214
+ self.class.openapi_types.each_pair do |key, type|
215
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
216
+ self.send("#{key}=", nil)
217
+ elsif type =~ /\AArray<(.*)>/i
218
+ # check to ensure the input is an array given that the attribute
219
+ # is documented as an array but the input is not
220
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
221
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
222
+ end
223
+ elsif !attributes[self.class.attribute_map[key]].nil?
224
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
225
+ end
226
+ end
227
+
228
+ self
229
+ end
230
+
231
+ # Deserializes the data based on type
232
+ # @param string type Data type
233
+ # @param string value Value to be deserialized
234
+ # @return [Object] Deserialized data
235
+ def _deserialize(type, value)
236
+ case type.to_sym
237
+ when :Time
238
+ Time.parse(value)
239
+ when :Date
240
+ Date.parse(value)
241
+ when :String
242
+ value.to_s
243
+ when :Integer
244
+ value.to_i
245
+ when :Float
246
+ value.to_f
247
+ when :Boolean
248
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
249
+ true
250
+ else
251
+ false
252
+ end
253
+ when :Object
254
+ # generic object (usually a Hash), return directly
255
+ value
256
+ when /\AArray<(?<inner_type>.+)>\z/
257
+ inner_type = Regexp.last_match[:inner_type]
258
+ value.map { |v| _deserialize(inner_type, v) }
259
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
260
+ k_type = Regexp.last_match[:k_type]
261
+ v_type = Regexp.last_match[:v_type]
262
+ {}.tap do |hash|
263
+ value.each do |k, v|
264
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
265
+ end
266
+ end
267
+ else # model
268
+ # models (e.g. Pet) or oneOf
269
+ klass = StackOneHrisClient.const_get(type)
270
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
271
+ end
272
+ end
273
+
274
+ # Returns the string representation of the object
275
+ # @return [String] String presentation of the object
276
+ def to_s
277
+ to_hash.to_s
278
+ end
279
+
280
+ # to_body is an alias to to_hash (backward compatibility)
281
+ # @return [Hash] Returns the object in the form of hash
282
+ def to_body
283
+ to_hash
284
+ end
285
+
286
+ # Returns the object in the form of hash
287
+ # @return [Hash] Returns the object in the form of hash
288
+ def to_hash
289
+ hash = {}
290
+ self.class.attribute_map.each_pair do |attr, param|
291
+ value = self.send(attr)
292
+ if value.nil?
293
+ is_nullable = self.class.openapi_nullable.include?(attr)
294
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
295
+ end
296
+
297
+ hash[param] = _to_hash(value)
298
+ end
299
+ hash
300
+ end
301
+
302
+ # Outputs non-array value in the form of hash
303
+ # For object, use to_hash. Otherwise, just return the value
304
+ # @param [Object] value Any valid value
305
+ # @return [Hash] Returns the value in the form of hash
306
+ def _to_hash(value)
307
+ if value.is_a?(Array)
308
+ value.compact.map { |v| _to_hash(v) }
309
+ elsif value.is_a?(Hash)
310
+ {}.tap do |hash|
311
+ value.each { |k, v| hash[k] = _to_hash(v) }
312
+ end
313
+ elsif value.respond_to? :to_hash
314
+ value.to_hash
315
+ else
316
+ value
317
+ end
318
+ end
319
+ end
320
+ end
@@ -0,0 +1,348 @@
1
+ =begin
2
+ #StackOne Unified API
3
+
4
+ #The documentation for the StackOne Unified API
5
+
6
+ The version of the OpenAPI document: 1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module StackOneHrisClient
17
+ class ConnectSession
18
+ attr_accessor :id
19
+
20
+ attr_accessor :organization_id
21
+
22
+ attr_accessor :project_id
23
+
24
+ attr_accessor :categories
25
+
26
+ attr_accessor :provider
27
+
28
+ attr_accessor :origin_owner_id
29
+
30
+ attr_accessor :origin_owner_name
31
+
32
+ attr_accessor :origin_username
33
+
34
+ attr_accessor :created_at
35
+
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
58
+ # Attribute mapping from ruby-style variable name to JSON key.
59
+ def self.attribute_map
60
+ {
61
+ :'id' => :'id',
62
+ :'organization_id' => :'organization_id',
63
+ :'project_id' => :'project_id',
64
+ :'categories' => :'categories',
65
+ :'provider' => :'provider',
66
+ :'origin_owner_id' => :'origin_owner_id',
67
+ :'origin_owner_name' => :'origin_owner_name',
68
+ :'origin_username' => :'origin_username',
69
+ :'created_at' => :'created_at'
70
+ }
71
+ end
72
+
73
+ # Returns all the JSON keys this model knows about
74
+ def self.acceptable_attributes
75
+ attribute_map.values
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.openapi_types
80
+ {
81
+ :'id' => :'String',
82
+ :'organization_id' => :'String',
83
+ :'project_id' => :'String',
84
+ :'categories' => :'Array<String>',
85
+ :'provider' => :'String',
86
+ :'origin_owner_id' => :'String',
87
+ :'origin_owner_name' => :'String',
88
+ :'origin_username' => :'String',
89
+ :'created_at' => :'Time'
90
+ }
91
+ end
92
+
93
+ # List of attributes with nullable: true
94
+ def self.openapi_nullable
95
+ Set.new([
96
+ ])
97
+ end
98
+
99
+ # Initializes the object
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ def initialize(attributes = {})
102
+ if (!attributes.is_a?(Hash))
103
+ fail ArgumentError, "The input argument (attributes) must be a hash in `StackOneHrisClient::ConnectSession` initialize method"
104
+ end
105
+
106
+ # check to see if the attribute exists and convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h|
108
+ if (!self.class.attribute_map.key?(k.to_sym))
109
+ fail ArgumentError, "`#{k}` is not a valid attribute in `StackOneHrisClient::ConnectSession`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
110
+ end
111
+ h[k.to_sym] = v
112
+ }
113
+
114
+ if attributes.key?(:'id')
115
+ self.id = attributes[:'id']
116
+ end
117
+
118
+ if attributes.key?(:'organization_id')
119
+ self.organization_id = attributes[:'organization_id']
120
+ end
121
+
122
+ if attributes.key?(:'project_id')
123
+ self.project_id = attributes[:'project_id']
124
+ end
125
+
126
+ if attributes.key?(:'categories')
127
+ if (value = attributes[:'categories']).is_a?(Array)
128
+ self.categories = value
129
+ end
130
+ end
131
+
132
+ if attributes.key?(:'provider')
133
+ self.provider = attributes[:'provider']
134
+ end
135
+
136
+ if attributes.key?(:'origin_owner_id')
137
+ self.origin_owner_id = attributes[:'origin_owner_id']
138
+ end
139
+
140
+ if attributes.key?(:'origin_owner_name')
141
+ self.origin_owner_name = attributes[:'origin_owner_name']
142
+ end
143
+
144
+ if attributes.key?(:'origin_username')
145
+ self.origin_username = attributes[:'origin_username']
146
+ end
147
+
148
+ if attributes.key?(:'created_at')
149
+ self.created_at = attributes[:'created_at']
150
+ end
151
+ end
152
+
153
+ # Show invalid properties with the reasons. Usually used together with valid?
154
+ # @return Array for valid properties with the reasons
155
+ def list_invalid_properties
156
+ invalid_properties = Array.new
157
+ if @id.nil?
158
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
159
+ end
160
+
161
+ if @organization_id.nil?
162
+ invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.')
163
+ end
164
+
165
+ if @project_id.nil?
166
+ invalid_properties.push('invalid value for "project_id", project_id cannot be nil.')
167
+ end
168
+
169
+ if @provider.nil?
170
+ invalid_properties.push('invalid value for "provider", provider cannot be nil.')
171
+ end
172
+
173
+ if @origin_owner_id.nil?
174
+ invalid_properties.push('invalid value for "origin_owner_id", origin_owner_id cannot be nil.')
175
+ end
176
+
177
+ if @origin_owner_name.nil?
178
+ invalid_properties.push('invalid value for "origin_owner_name", origin_owner_name cannot be nil.')
179
+ end
180
+
181
+ if @created_at.nil?
182
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
183
+ end
184
+
185
+ invalid_properties
186
+ end
187
+
188
+ # Check to see if the all the properties in the model are valid
189
+ # @return true if the model is valid
190
+ def valid?
191
+ return false if @id.nil?
192
+ return false if @organization_id.nil?
193
+ return false if @project_id.nil?
194
+ return false if @provider.nil?
195
+ return false if @origin_owner_id.nil?
196
+ return false if @origin_owner_name.nil?
197
+ return false if @created_at.nil?
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
+ id == o.id &&
207
+ organization_id == o.organization_id &&
208
+ project_id == o.project_id &&
209
+ categories == o.categories &&
210
+ provider == o.provider &&
211
+ origin_owner_id == o.origin_owner_id &&
212
+ origin_owner_name == o.origin_owner_name &&
213
+ origin_username == o.origin_username &&
214
+ created_at == o.created_at
215
+ end
216
+
217
+ # @see the `==` method
218
+ # @param [Object] Object to be compared
219
+ def eql?(o)
220
+ self == o
221
+ end
222
+
223
+ # Calculates hash code according to all attributes.
224
+ # @return [Integer] Hash code
225
+ def hash
226
+ [id, organization_id, project_id, categories, provider, origin_owner_id, origin_owner_name, origin_username, created_at].hash
227
+ end
228
+
229
+ # Builds the object from hash
230
+ # @param [Hash] attributes Model attributes in the form of hash
231
+ # @return [Object] Returns the model itself
232
+ def self.build_from_hash(attributes)
233
+ new.build_from_hash(attributes)
234
+ end
235
+
236
+ # Builds the object from hash
237
+ # @param [Hash] attributes Model attributes in the form of hash
238
+ # @return [Object] Returns the model itself
239
+ def build_from_hash(attributes)
240
+ return nil unless attributes.is_a?(Hash)
241
+ attributes = attributes.transform_keys(&:to_sym)
242
+ self.class.openapi_types.each_pair do |key, type|
243
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
244
+ self.send("#{key}=", nil)
245
+ elsif type =~ /\AArray<(.*)>/i
246
+ # check to ensure the input is an array given that the attribute
247
+ # is documented as an array but the input is not
248
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
249
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
250
+ end
251
+ elsif !attributes[self.class.attribute_map[key]].nil?
252
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
253
+ end
254
+ end
255
+
256
+ self
257
+ end
258
+
259
+ # Deserializes the data based on type
260
+ # @param string type Data type
261
+ # @param string value Value to be deserialized
262
+ # @return [Object] Deserialized data
263
+ def _deserialize(type, value)
264
+ case type.to_sym
265
+ when :Time
266
+ Time.parse(value)
267
+ when :Date
268
+ Date.parse(value)
269
+ when :String
270
+ value.to_s
271
+ when :Integer
272
+ value.to_i
273
+ when :Float
274
+ value.to_f
275
+ when :Boolean
276
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
277
+ true
278
+ else
279
+ false
280
+ end
281
+ when :Object
282
+ # generic object (usually a Hash), return directly
283
+ value
284
+ when /\AArray<(?<inner_type>.+)>\z/
285
+ inner_type = Regexp.last_match[:inner_type]
286
+ value.map { |v| _deserialize(inner_type, v) }
287
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
288
+ k_type = Regexp.last_match[:k_type]
289
+ v_type = Regexp.last_match[:v_type]
290
+ {}.tap do |hash|
291
+ value.each do |k, v|
292
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
293
+ end
294
+ end
295
+ else # model
296
+ # models (e.g. Pet) or oneOf
297
+ klass = StackOneHrisClient.const_get(type)
298
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
299
+ end
300
+ end
301
+
302
+ # Returns the string representation of the object
303
+ # @return [String] String presentation of the object
304
+ def to_s
305
+ to_hash.to_s
306
+ end
307
+
308
+ # to_body is an alias to to_hash (backward compatibility)
309
+ # @return [Hash] Returns the object in the form of hash
310
+ def to_body
311
+ to_hash
312
+ end
313
+
314
+ # Returns the object in the form of hash
315
+ # @return [Hash] Returns the object in the form of hash
316
+ def to_hash
317
+ hash = {}
318
+ self.class.attribute_map.each_pair do |attr, param|
319
+ value = self.send(attr)
320
+ if value.nil?
321
+ is_nullable = self.class.openapi_nullable.include?(attr)
322
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
323
+ end
324
+
325
+ hash[param] = _to_hash(value)
326
+ end
327
+ hash
328
+ end
329
+
330
+ # Outputs non-array value in the form of hash
331
+ # For object, use to_hash. Otherwise, just return the value
332
+ # @param [Object] value Any valid value
333
+ # @return [Hash] Returns the value in the form of hash
334
+ def _to_hash(value)
335
+ if value.is_a?(Array)
336
+ value.compact.map { |v| _to_hash(v) }
337
+ elsif value.is_a?(Hash)
338
+ {}.tap do |hash|
339
+ value.each { |k, v| hash[k] = _to_hash(v) }
340
+ end
341
+ elsif value.respond_to? :to_hash
342
+ value.to_hash
343
+ else
344
+ value
345
+ end
346
+ end
347
+ end
348
+ end