merge_ats_client 3.0.0 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -6
  3. data/docs/AccountIntegration.md +6 -2
  4. data/docs/ActivitiesApi.md +164 -8
  5. data/docs/Activity.md +12 -6
  6. data/docs/ActivityEndpointRequest.md +20 -0
  7. data/docs/ActivityRequest.md +32 -0
  8. data/docs/ActivityResponse.md +24 -0
  9. data/docs/Application.md +12 -10
  10. data/docs/ApplicationRequest.md +5 -9
  11. data/docs/ApplicationsApi.md +4 -4
  12. data/docs/AsyncPassthroughApi.md +155 -0
  13. data/docs/AsyncPassthroughReciept.md +18 -0
  14. data/docs/Attachment.md +8 -4
  15. data/docs/AttachmentRequest.md +1 -3
  16. data/docs/AttachmentsApi.md +13 -9
  17. data/docs/Candidate.md +8 -6
  18. data/docs/CandidateRequest.md +1 -9
  19. data/docs/CandidatesApi.md +172 -13
  20. data/docs/CommonModelScopesBodyRequest.md +22 -0
  21. data/docs/ConditionSchema.md +1 -1
  22. data/docs/DataPassthroughRequest.md +1 -1
  23. data/docs/DeleteAccountApi.md +9 -9
  24. data/docs/Department.md +7 -3
  25. data/docs/DepartmentsApi.md +4 -4
  26. data/docs/EEOC.md +12 -8
  27. data/docs/EeocsApi.md +13 -9
  28. data/docs/EmailAddress.md +4 -2
  29. data/docs/EmailAddressRequest.md +1 -1
  30. data/docs/EnabledActionsEnum.md +15 -0
  31. data/docs/EndUserDetailsRequest.md +4 -2
  32. data/docs/ForceResyncApi.md +1 -1
  33. data/docs/InterviewsApi.md +165 -9
  34. data/docs/Issue.md +10 -8
  35. data/docs/IssuesApi.md +6 -6
  36. data/docs/Job.md +8 -4
  37. data/docs/JobInterviewStage.md +10 -4
  38. data/docs/JobInterviewStagesApi.md +4 -4
  39. data/docs/JobsApi.md +16 -10
  40. data/docs/LinkToken.md +1 -1
  41. data/docs/LinkedAccountsApi.md +2 -2
  42. data/docs/MetaResponse.md +2 -0
  43. data/docs/MultipartFormFieldRequest.md +1 -1
  44. data/docs/Offer.md +10 -6
  45. data/docs/OffersApi.md +13 -9
  46. data/docs/Office.md +7 -3
  47. data/docs/OfficesApi.md +4 -4
  48. data/docs/PaginatedConditionSchemaList.md +2 -2
  49. data/docs/PatchedCandidateEndpointRequest.md +20 -0
  50. data/docs/PatchedCandidateRequest.md +50 -0
  51. data/docs/PhoneNumber.md +4 -2
  52. data/docs/PhoneNumberRequest.md +1 -1
  53. data/docs/RejectReason.md +7 -3
  54. data/docs/RejectReasonsApi.md +4 -4
  55. data/docs/RemoteData.md +1 -1
  56. data/docs/RemoteUser.md +8 -4
  57. data/docs/ScheduledInterview.md +11 -7
  58. data/docs/ScheduledInterviewEndpointRequest.md +20 -0
  59. data/docs/ScheduledInterviewRequest.md +36 -0
  60. data/docs/ScheduledInterviewResponse.md +24 -0
  61. data/docs/Scorecard.md +11 -7
  62. data/docs/ScorecardsApi.md +13 -9
  63. data/docs/SelectiveSyncApi.md +2 -2
  64. data/docs/SelectiveSyncConfigurationsUsageEnum.md +15 -0
  65. data/docs/SyncStatus.md +3 -1
  66. data/docs/SyncStatusApi.md +1 -1
  67. data/docs/Tag.md +7 -3
  68. data/docs/TagsApi.md +4 -4
  69. data/docs/Url.md +4 -2
  70. data/docs/UrlRequest.md +1 -1
  71. data/docs/UsersApi.md +13 -9
  72. data/lib/merge_ats_client/api/activities_api.rb +160 -8
  73. data/lib/merge_ats_client/api/applications_api.rb +4 -4
  74. data/lib/merge_ats_client/api/async_passthrough_api.rb +160 -0
  75. data/lib/merge_ats_client/api/attachments_api.rb +22 -8
  76. data/lib/merge_ats_client/api/candidates_api.rb +165 -11
  77. data/lib/merge_ats_client/api/delete_account_api.rb +7 -7
  78. data/lib/merge_ats_client/api/departments_api.rb +4 -4
  79. data/lib/merge_ats_client/api/eeocs_api.rb +22 -8
  80. data/lib/merge_ats_client/api/force_resync_api.rb +2 -2
  81. data/lib/merge_ats_client/api/interviews_api.rb +160 -8
  82. data/lib/merge_ats_client/api/issues_api.rb +6 -6
  83. data/lib/merge_ats_client/api/job_interview_stages_api.rb +4 -4
  84. data/lib/merge_ats_client/api/jobs_api.rb +27 -10
  85. data/lib/merge_ats_client/api/linked_accounts_api.rb +3 -3
  86. data/lib/merge_ats_client/api/offers_api.rb +22 -8
  87. data/lib/merge_ats_client/api/offices_api.rb +4 -4
  88. data/lib/merge_ats_client/api/reject_reasons_api.rb +4 -4
  89. data/lib/merge_ats_client/api/scorecards_api.rb +22 -8
  90. data/lib/merge_ats_client/api/selective_sync_api.rb +2 -2
  91. data/lib/merge_ats_client/api/sync_status_api.rb +2 -2
  92. data/lib/merge_ats_client/api/tags_api.rb +4 -4
  93. data/lib/merge_ats_client/api/users_api.rb +22 -8
  94. data/lib/merge_ats_client/models/account_integration.rb +30 -8
  95. data/lib/merge_ats_client/models/activity.rb +50 -16
  96. data/lib/merge_ats_client/models/activity_endpoint_request.rb +237 -0
  97. data/lib/merge_ats_client/models/activity_request.rb +300 -0
  98. data/lib/merge_ats_client/models/activity_response.rb +266 -0
  99. data/lib/merge_ats_client/models/application.rb +40 -26
  100. data/lib/merge_ats_client/models/application_request.rb +7 -26
  101. data/lib/merge_ats_client/models/async_passthrough_reciept.rb +223 -0
  102. data/lib/merge_ats_client/models/attachment.rb +38 -16
  103. data/lib/merge_ats_client/models/attachment_request.rb +3 -14
  104. data/lib/merge_ats_client/models/candidate.rb +36 -27
  105. data/lib/merge_ats_client/models/candidate_request.rb +3 -49
  106. data/lib/merge_ats_client/models/categories_enum.rb +3 -1
  107. data/lib/merge_ats_client/models/category_enum.rb +3 -1
  108. data/lib/merge_ats_client/models/common_model_scopes_body_request.rb +274 -0
  109. data/lib/merge_ats_client/models/condition_schema.rb +1 -0
  110. data/lib/merge_ats_client/models/data_passthrough_request.rb +1 -0
  111. data/lib/merge_ats_client/models/department.rb +36 -14
  112. data/lib/merge_ats_client/models/eeoc.rb +42 -19
  113. data/lib/merge_ats_client/models/email_address.rb +16 -6
  114. data/lib/merge_ats_client/models/email_address_request.rb +1 -1
  115. data/lib/merge_ats_client/models/enabled_actions_enum.rb +45 -0
  116. data/lib/merge_ats_client/models/end_user_details_request.rb +19 -6
  117. data/lib/merge_ats_client/models/issue.rb +16 -4
  118. data/lib/merge_ats_client/models/job.rb +38 -16
  119. data/lib/merge_ats_client/models/job_interview_stage.rb +72 -15
  120. data/lib/merge_ats_client/models/link_token.rb +0 -5
  121. data/lib/merge_ats_client/models/meta_response.rb +12 -1
  122. data/lib/merge_ats_client/models/multipart_form_field_request.rb +1 -1
  123. data/lib/merge_ats_client/models/offer.rb +40 -16
  124. data/lib/merge_ats_client/models/office.rb +37 -15
  125. data/lib/merge_ats_client/models/patched_candidate_endpoint_request.rb +237 -0
  126. data/lib/merge_ats_client/models/patched_candidate_request.rb +418 -0
  127. data/lib/merge_ats_client/models/phone_number.rb +16 -6
  128. data/lib/merge_ats_client/models/phone_number_request.rb +1 -1
  129. data/lib/merge_ats_client/models/reject_reason.rb +37 -15
  130. data/lib/merge_ats_client/models/remote_data.rb +3 -4
  131. data/lib/merge_ats_client/models/remote_user.rb +38 -16
  132. data/lib/merge_ats_client/models/scheduled_interview.rb +41 -16
  133. data/lib/merge_ats_client/models/scheduled_interview_endpoint_request.rb +237 -0
  134. data/lib/merge_ats_client/models/scheduled_interview_request.rb +323 -0
  135. data/lib/merge_ats_client/models/scheduled_interview_response.rb +266 -0
  136. data/lib/merge_ats_client/models/scorecard.rb +41 -16
  137. data/lib/merge_ats_client/models/selective_sync_configurations_usage_enum.rb +45 -0
  138. data/lib/merge_ats_client/models/sync_status.rb +13 -4
  139. data/lib/merge_ats_client/models/sync_status_status_enum.rb +2 -1
  140. data/lib/merge_ats_client/models/tag.rb +36 -14
  141. data/lib/merge_ats_client/models/url.rb +16 -6
  142. data/lib/merge_ats_client/models/url_request.rb +1 -1
  143. data/lib/merge_ats_client/version.rb +1 -1
  144. data/lib/merge_ats_client.rb +13 -1
  145. data/spec/api/activities_api_spec.rb +31 -4
  146. data/spec/api/applications_api_spec.rb +2 -2
  147. data/spec/api/async_passthrough_api_spec.rb +59 -0
  148. data/spec/api/attachments_api_spec.rb +6 -4
  149. data/spec/api/candidates_api_spec.rb +32 -3
  150. data/spec/api/delete_account_api_spec.rb +2 -2
  151. data/spec/api/departments_api_spec.rb +2 -2
  152. data/spec/api/eeocs_api_spec.rb +6 -4
  153. data/spec/api/force_resync_api_spec.rb +1 -1
  154. data/spec/api/interviews_api_spec.rb +31 -4
  155. data/spec/api/issues_api_spec.rb +3 -3
  156. data/spec/api/job_interview_stages_api_spec.rb +2 -2
  157. data/spec/api/jobs_api_spec.rb +8 -5
  158. data/spec/api/linked_accounts_api_spec.rb +1 -1
  159. data/spec/api/offers_api_spec.rb +6 -4
  160. data/spec/api/offices_api_spec.rb +2 -2
  161. data/spec/api/reject_reasons_api_spec.rb +2 -2
  162. data/spec/api/scorecards_api_spec.rb +6 -4
  163. data/spec/api/selective_sync_api_spec.rb +1 -1
  164. data/spec/api/sync_status_api_spec.rb +1 -1
  165. data/spec/api/tags_api_spec.rb +2 -2
  166. data/spec/api/users_api_spec.rb +6 -4
  167. data/spec/models/account_integration_spec.rb +12 -0
  168. data/spec/models/{ignore_common_model_spec.rb → activity_endpoint_request_spec.rb} +8 -8
  169. data/spec/models/activity_request_spec.rb +76 -0
  170. data/spec/models/activity_response_spec.rb +52 -0
  171. data/spec/models/activity_spec.rb +19 -1
  172. data/spec/models/application_request_spec.rb +0 -12
  173. data/spec/models/application_spec.rb +9 -3
  174. data/spec/models/async_passthrough_reciept_spec.rb +34 -0
  175. data/spec/models/attachment_request_spec.rb +0 -6
  176. data/spec/models/attachment_spec.rb +14 -2
  177. data/spec/models/candidate_request_spec.rb +0 -24
  178. data/spec/models/candidate_spec.rb +9 -3
  179. data/spec/models/common_model_scopes_body_request_spec.rb +46 -0
  180. data/spec/models/department_spec.rb +14 -2
  181. data/spec/models/eeoc_spec.rb +14 -2
  182. data/spec/models/email_address_spec.rb +6 -0
  183. data/spec/models/enabled_actions_enum_spec.rb +28 -0
  184. data/spec/models/end_user_details_request_spec.rb +6 -0
  185. data/spec/models/issue_spec.rb +6 -0
  186. data/spec/models/job_interview_stage_spec.rb +19 -1
  187. data/spec/models/job_spec.rb +14 -2
  188. data/spec/models/meta_response_spec.rb +6 -0
  189. data/spec/models/offer_spec.rb +14 -2
  190. data/spec/models/office_spec.rb +14 -2
  191. data/spec/models/{remote_data_request_spec.rb → patched_candidate_endpoint_request_spec.rb} +8 -8
  192. data/spec/models/patched_candidate_request_spec.rb +130 -0
  193. data/spec/models/phone_number_spec.rb +6 -0
  194. data/spec/models/reject_reason_spec.rb +14 -2
  195. data/spec/models/remote_user_spec.rb +14 -2
  196. data/spec/models/scheduled_interview_endpoint_request_spec.rb +40 -0
  197. data/spec/models/scheduled_interview_request_spec.rb +88 -0
  198. data/spec/models/scheduled_interview_response_spec.rb +52 -0
  199. data/spec/models/scheduled_interview_spec.rb +14 -2
  200. data/spec/models/scorecard_spec.rb +14 -2
  201. data/spec/models/selective_sync_configurations_usage_enum_spec.rb +28 -0
  202. data/spec/models/sync_status_spec.rb +6 -0
  203. data/spec/models/tag_spec.rb +14 -2
  204. data/spec/models/url_spec.rb +6 -0
  205. metadata +167 -119
@@ -14,11 +14,8 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeATSClient
17
- # # The Candidate Object ### Description The `Candidate` object is used to represent a Candidate for various positions. ### Usage Example Fetch from the `LIST Candidates` endpoint and filter by `ID` to show all candidates.
17
+ # # The Candidate Object ### Description The `Candidate` object is used to represent profile information about a given Candidate. Because it is specific to a Candidate, this information stays constant across applications. ### Usage Example Fetch from the `LIST Candidates` endpoint and filter by `ID` to show all candidates.
18
18
  class CandidateRequest
19
- # The third-party API ID of the matching object.
20
- attr_accessor :remote_id
21
-
22
19
  # The candidate's first name.
23
20
  attr_accessor :first_name
24
21
 
@@ -31,13 +28,7 @@ module MergeATSClient
31
28
  # The candidate's current title.
32
29
  attr_accessor :title
33
30
 
34
- # When the third party's candidate was created.
35
- attr_accessor :remote_created_at
36
-
37
- # When the third party's candidate was updated.
38
- attr_accessor :remote_updated_at
39
-
40
- # When the most recent candidate interaction occurred.
31
+ # When the most recent interaction with the candidate occurred.
41
32
  attr_accessor :last_interaction_at
42
33
 
43
34
  # Whether or not the candidate is private.
@@ -64,9 +55,6 @@ module MergeATSClient
64
55
  # Array of `Attachment` object IDs.
65
56
  attr_accessor :attachments
66
57
 
67
- # Custom fields configured for a given model.
68
- attr_accessor :custom_fields
69
-
70
58
  attr_accessor :remote_template_id
71
59
 
72
60
  attr_accessor :integration_params
@@ -76,13 +64,10 @@ module MergeATSClient
76
64
  # Attribute mapping from ruby-style variable name to JSON key.
77
65
  def self.attribute_map
78
66
  {
79
- :'remote_id' => :'remote_id',
80
67
  :'first_name' => :'first_name',
81
68
  :'last_name' => :'last_name',
82
69
  :'company' => :'company',
83
70
  :'title' => :'title',
84
- :'remote_created_at' => :'remote_created_at',
85
- :'remote_updated_at' => :'remote_updated_at',
86
71
  :'last_interaction_at' => :'last_interaction_at',
87
72
  :'is_private' => :'is_private',
88
73
  :'can_email' => :'can_email',
@@ -93,7 +78,6 @@ module MergeATSClient
93
78
  :'tags' => :'tags',
94
79
  :'applications' => :'applications',
95
80
  :'attachments' => :'attachments',
96
- :'custom_fields' => :'custom_fields',
97
81
  :'remote_template_id' => :'remote_template_id',
98
82
  :'integration_params' => :'integration_params',
99
83
  :'linked_account_params' => :'linked_account_params'
@@ -108,13 +92,10 @@ module MergeATSClient
108
92
  # Attribute type mapping.
109
93
  def self.openapi_types
110
94
  {
111
- :'remote_id' => :'String',
112
95
  :'first_name' => :'String',
113
96
  :'last_name' => :'String',
114
97
  :'company' => :'String',
115
98
  :'title' => :'String',
116
- :'remote_created_at' => :'Time',
117
- :'remote_updated_at' => :'Time',
118
99
  :'last_interaction_at' => :'Time',
119
100
  :'is_private' => :'Boolean',
120
101
  :'can_email' => :'Boolean',
@@ -125,7 +106,6 @@ module MergeATSClient
125
106
  :'tags' => :'Array<String>',
126
107
  :'applications' => :'Array<String>',
127
108
  :'attachments' => :'Array<String>',
128
- :'custom_fields' => :'Hash<String, Object>',
129
109
  :'remote_template_id' => :'String',
130
110
  :'integration_params' => :'Hash<String, Object>',
131
111
  :'linked_account_params' => :'Hash<String, Object>'
@@ -135,18 +115,14 @@ module MergeATSClient
135
115
  # List of attributes with nullable: true
136
116
  def self.openapi_nullable
137
117
  Set.new([
138
- :'remote_id',
139
118
  :'first_name',
140
119
  :'last_name',
141
120
  :'company',
142
121
  :'title',
143
- :'remote_created_at',
144
- :'remote_updated_at',
145
122
  :'last_interaction_at',
146
123
  :'is_private',
147
124
  :'can_email',
148
125
  :'locations',
149
- :'custom_fields',
150
126
  :'remote_template_id',
151
127
  :'integration_params',
152
128
  :'linked_account_params'
@@ -168,10 +144,6 @@ module MergeATSClient
168
144
  h[k.to_sym] = v
169
145
  }
170
146
 
171
- if attributes.key?(:'remote_id')
172
- self.remote_id = attributes[:'remote_id']
173
- end
174
-
175
147
  if attributes.key?(:'first_name')
176
148
  self.first_name = attributes[:'first_name']
177
149
  end
@@ -188,14 +160,6 @@ module MergeATSClient
188
160
  self.title = attributes[:'title']
189
161
  end
190
162
 
191
- if attributes.key?(:'remote_created_at')
192
- self.remote_created_at = attributes[:'remote_created_at']
193
- end
194
-
195
- if attributes.key?(:'remote_updated_at')
196
- self.remote_updated_at = attributes[:'remote_updated_at']
197
- end
198
-
199
163
  if attributes.key?(:'last_interaction_at')
200
164
  self.last_interaction_at = attributes[:'last_interaction_at']
201
165
  end
@@ -250,12 +214,6 @@ module MergeATSClient
250
214
  end
251
215
  end
252
216
 
253
- if attributes.key?(:'custom_fields')
254
- if (value = attributes[:'custom_fields']).is_a?(Hash)
255
- self.custom_fields = value
256
- end
257
- end
258
-
259
217
  if attributes.key?(:'remote_template_id')
260
218
  self.remote_template_id = attributes[:'remote_template_id']
261
219
  end
@@ -306,13 +264,10 @@ module MergeATSClient
306
264
  def ==(o)
307
265
  return true if self.equal?(o)
308
266
  self.class == o.class &&
309
- remote_id == o.remote_id &&
310
267
  first_name == o.first_name &&
311
268
  last_name == o.last_name &&
312
269
  company == o.company &&
313
270
  title == o.title &&
314
- remote_created_at == o.remote_created_at &&
315
- remote_updated_at == o.remote_updated_at &&
316
271
  last_interaction_at == o.last_interaction_at &&
317
272
  is_private == o.is_private &&
318
273
  can_email == o.can_email &&
@@ -323,7 +278,6 @@ module MergeATSClient
323
278
  tags == o.tags &&
324
279
  applications == o.applications &&
325
280
  attachments == o.attachments &&
326
- custom_fields == o.custom_fields &&
327
281
  remote_template_id == o.remote_template_id &&
328
282
  integration_params == o.integration_params &&
329
283
  linked_account_params == o.linked_account_params
@@ -338,7 +292,7 @@ module MergeATSClient
338
292
  # Calculates hash code according to all attributes.
339
293
  # @return [Integer] Hash code
340
294
  def hash
341
- [remote_id, first_name, last_name, company, title, remote_created_at, remote_updated_at, last_interaction_at, is_private, can_email, locations, phone_numbers, email_addresses, urls, tags, applications, attachments, custom_fields, remote_template_id, integration_params, linked_account_params].hash
295
+ [first_name, last_name, company, title, last_interaction_at, is_private, can_email, locations, phone_numbers, email_addresses, urls, tags, applications, attachments, remote_template_id, integration_params, linked_account_params].hash
342
296
  end
343
297
 
344
298
  # Builds the object from hash
@@ -20,6 +20,8 @@ module MergeATSClient
20
20
  ACCOUNTING = "accounting".freeze
21
21
  TICKETING = "ticketing".freeze
22
22
  CRM = "crm".freeze
23
+ MKTG = "mktg".freeze
24
+ FILESTORAGE = "filestorage".freeze
23
25
 
24
26
  MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
25
27
 
@@ -31,7 +33,7 @@ module MergeATSClient
31
33
  # @return [String] The enum value
32
34
  def build_from_hash(value)
33
35
  @raw_value = value
34
- if ["hris", "ats", "accounting", "ticketing", "crm", ].include? value
36
+ if ["hris", "ats", "accounting", "ticketing", "crm", "mktg", "filestorage", ].include? value
35
37
  @value = value
36
38
  else
37
39
  @value = MERGE_NONSTANDARD_VALUE
@@ -20,6 +20,8 @@ module MergeATSClient
20
20
  ACCOUNTING = "accounting".freeze
21
21
  TICKETING = "ticketing".freeze
22
22
  CRM = "crm".freeze
23
+ MKTG = "mktg".freeze
24
+ FILESTORAGE = "filestorage".freeze
23
25
 
24
26
  MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
25
27
 
@@ -31,7 +33,7 @@ module MergeATSClient
31
33
  # @return [String] The enum value
32
34
  def build_from_hash(value)
33
35
  @raw_value = value
34
- if ["hris", "ats", "accounting", "ticketing", "crm", ].include? value
36
+ if ["hris", "ats", "accounting", "ticketing", "crm", "mktg", "filestorage", ].include? value
35
37
  @value = value
36
38
  else
37
39
  @value = MERGE_NONSTANDARD_VALUE
@@ -0,0 +1,274 @@
1
+ =begin
2
+ #Merge ATS API
3
+
4
+ #The unified API for building rich integrations with multiple Applicant Tracking System platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeATSClient
17
+ class CommonModelScopesBodyRequest
18
+ attr_accessor :model_id
19
+
20
+ attr_accessor :enabled_actions
21
+
22
+ attr_accessor :disabled_fields
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'model_id' => :'model_id',
28
+ :'enabled_actions' => :'enabled_actions',
29
+ :'disabled_fields' => :'disabled_fields'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'model_id' => :'String',
42
+ :'enabled_actions' => :'Array<EnabledActionsEnum>',
43
+ :'disabled_fields' => :'Array<String>'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeATSClient::CommonModelScopesBodyRequest` initialize method"
58
+ end
59
+
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeATSClient::CommonModelScopesBodyRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'model_id')
69
+ self.model_id = attributes[:'model_id']
70
+ end
71
+
72
+ if attributes.key?(:'enabled_actions')
73
+ if (value = attributes[:'enabled_actions']).is_a?(Array)
74
+ self.enabled_actions = value
75
+ end
76
+ end
77
+
78
+ if attributes.key?(:'disabled_fields')
79
+ if (value = attributes[:'disabled_fields']).is_a?(Array)
80
+ self.disabled_fields = value
81
+ end
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ invalid_properties = Array.new
89
+ if @model_id.nil?
90
+ invalid_properties.push('invalid value for "model_id", model_id cannot be nil.')
91
+ end
92
+
93
+ if @model_id.to_s.length < 1
94
+ invalid_properties.push('invalid value for "model_id", the character length must be great than or equal to 1.')
95
+ end
96
+
97
+ if @enabled_actions.nil?
98
+ invalid_properties.push('invalid value for "enabled_actions", enabled_actions cannot be nil.')
99
+ end
100
+
101
+ if @disabled_fields.nil?
102
+ invalid_properties.push('invalid value for "disabled_fields", disabled_fields cannot be nil.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ return false if @model_id.nil?
112
+ return false if @model_id.to_s.length < 1
113
+ return false if @enabled_actions.nil?
114
+ return false if @disabled_fields.nil?
115
+ true
116
+ end
117
+
118
+ # Custom attribute writer method with validation
119
+ # @param [Object] model_id Value to be assigned
120
+ def model_id=(model_id)
121
+ if model_id.nil?
122
+ fail ArgumentError, 'model_id cannot be nil'
123
+ end
124
+
125
+ if model_id.to_s.length < 1
126
+ fail ArgumentError, 'invalid value for "model_id", the character length must be great than or equal to 1.'
127
+ end
128
+
129
+ @model_id = model_id
130
+ end
131
+
132
+ # Checks equality by comparing each attribute.
133
+ # @param [Object] Object to be compared
134
+ def ==(o)
135
+ return true if self.equal?(o)
136
+ self.class == o.class &&
137
+ model_id == o.model_id &&
138
+ enabled_actions == o.enabled_actions &&
139
+ disabled_fields == o.disabled_fields
140
+ end
141
+
142
+ # @see the `==` method
143
+ # @param [Object] Object to be compared
144
+ def eql?(o)
145
+ self == o
146
+ end
147
+
148
+ # Calculates hash code according to all attributes.
149
+ # @return [Integer] Hash code
150
+ def hash
151
+ [model_id, enabled_actions, disabled_fields].hash
152
+ end
153
+
154
+ # Builds the object from hash
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ # @return [Object] Returns the model itself
157
+ def self.build_from_hash(attributes)
158
+ new.build_from_hash(attributes)
159
+ end
160
+
161
+ # Builds the object from hash
162
+ # @param [Hash] attributes Model attributes in the form of hash
163
+ # @return [Object] Returns the model itself
164
+ def build_from_hash(attributes)
165
+ return nil unless attributes.is_a?(Hash)
166
+ self.class.openapi_types.each_pair do |key, type|
167
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
168
+ self.send("#{key}=", nil)
169
+ elsif type =~ /\AArray<(.*)>/i
170
+ # check to ensure the input is an array given that the attribute
171
+ # is documented as an array but the input is not
172
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
173
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
174
+ end
175
+ elsif !attributes[self.class.attribute_map[key]].nil?
176
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
177
+ end
178
+ end
179
+
180
+ self
181
+ end
182
+
183
+ # Deserializes the data based on type
184
+ # @param string type Data type
185
+ # @param string value Value to be deserialized
186
+ # @return [Object] Deserialized data
187
+ def _deserialize(type, value)
188
+ case type.to_sym
189
+ when :Time
190
+ Time.parse(value)
191
+ when :Date
192
+ Date.parse(value)
193
+ when :String
194
+ value
195
+ when :Integer
196
+ value.to_i
197
+ when :Float
198
+ value.to_f
199
+ when :Boolean
200
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
201
+ true
202
+ else
203
+ false
204
+ end
205
+ when :Object
206
+ # generic object (usually a Hash), return directly
207
+ value
208
+ when /\AArray<(?<inner_type>.+)>\z/
209
+ inner_type = Regexp.last_match[:inner_type]
210
+ value.map { |v| _deserialize(inner_type, v) }
211
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
212
+ k_type = Regexp.last_match[:k_type]
213
+ v_type = Regexp.last_match[:v_type]
214
+ {}.tap do |hash|
215
+ value.each do |k, v|
216
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
217
+ end
218
+ end
219
+ else # model
220
+ # models (e.g. Pet) or oneOf
221
+ klass = MergeATSClient.const_get(type)
222
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
223
+ end
224
+ end
225
+
226
+ # Returns the string representation of the object
227
+ # @return [String] String presentation of the object
228
+ def to_s
229
+ to_hash.to_s
230
+ end
231
+
232
+ # to_body is an alias to to_hash (backward compatibility)
233
+ # @return [Hash] Returns the object in the form of hash
234
+ def to_body
235
+ to_hash
236
+ end
237
+
238
+ # Returns the object in the form of hash
239
+ # @return [Hash] Returns the object in the form of hash
240
+ def to_hash
241
+ hash = {}
242
+ self.class.attribute_map.each_pair do |attr, param|
243
+ value = self.send(attr)
244
+ if value.nil?
245
+ is_nullable = self.class.openapi_nullable.include?(attr)
246
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
247
+ end
248
+
249
+ hash[param] = _to_hash(value)
250
+ end
251
+ hash
252
+ end
253
+
254
+ # Outputs non-array value in the form of hash
255
+ # For object, use to_hash. Otherwise, just return the value
256
+ # @param [Object] value Any valid value
257
+ # @return [Hash] Returns the value in the form of hash
258
+ def _to_hash(value)
259
+ if value.is_a?(Array)
260
+ value.compact.map { |v| _to_hash(v) }
261
+ elsif value.is_a?(Hash)
262
+ {}.tap do |hash|
263
+ value.each { |k, v| hash[k] = _to_hash(v) }
264
+ end
265
+ elsif value.respond_to? :to_hash
266
+ value.to_hash
267
+ else
268
+ value
269
+ end
270
+ end
271
+
272
+ end
273
+
274
+ end
@@ -30,6 +30,7 @@ module MergeATSClient
30
30
  # Whether this condition can only be applied once. If false, the condition can be AND'd together multiple times.
31
31
  attr_accessor :is_unique
32
32
 
33
+ # The type of value(s) that can be set for this condition. * `BOOLEAN` - BOOLEAN * `DATE` - DATE * `DATE_TIME` - DATE_TIME * `INTEGER` - INTEGER * `FLOAT` - FLOAT * `STRING` - STRING * `LIST_OF_STRINGS` - LIST_OF_STRINGS
33
34
  attr_accessor :condition_type
34
35
 
35
36
  # The schemas for the operators that can be used on a condition.
@@ -32,6 +32,7 @@ module MergeATSClient
32
32
 
33
33
  attr_accessor :request_format
34
34
 
35
+ # Optional. If true, the response will always be an object of the form `{\"type\": T, \"value\": ...}` where `T` will be one of `string, boolean, number, null, array, object`.
35
36
  attr_accessor :normalize_response
36
37
 
37
38
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -24,19 +24,26 @@ module MergeATSClient
24
24
  # The department's name.
25
25
  attr_accessor :name
26
26
 
27
- attr_accessor :remote_data
28
-
29
27
  # Indicates whether or not this object has been deleted by third party webhooks.
30
28
  attr_accessor :remote_was_deleted
31
29
 
30
+ # This is the datetime that this object was last updated by Merge
31
+ attr_accessor :modified_at
32
+
33
+ attr_accessor :field_mappings
34
+
35
+ attr_accessor :remote_data
36
+
32
37
  # Attribute mapping from ruby-style variable name to JSON key.
33
38
  def self.attribute_map
34
39
  {
35
40
  :'id' => :'id',
36
41
  :'remote_id' => :'remote_id',
37
42
  :'name' => :'name',
38
- :'remote_data' => :'remote_data',
39
- :'remote_was_deleted' => :'remote_was_deleted'
43
+ :'remote_was_deleted' => :'remote_was_deleted',
44
+ :'modified_at' => :'modified_at',
45
+ :'field_mappings' => :'field_mappings',
46
+ :'remote_data' => :'remote_data'
40
47
  }
41
48
  end
42
49
 
@@ -51,8 +58,10 @@ module MergeATSClient
51
58
  :'id' => :'String',
52
59
  :'remote_id' => :'String',
53
60
  :'name' => :'String',
54
- :'remote_data' => :'Array<RemoteData>',
55
- :'remote_was_deleted' => :'Boolean'
61
+ :'remote_was_deleted' => :'Boolean',
62
+ :'modified_at' => :'Time',
63
+ :'field_mappings' => :'Hash<String, Object>',
64
+ :'remote_data' => :'Array<RemoteData>'
56
65
  }
57
66
  end
58
67
 
@@ -61,7 +70,8 @@ module MergeATSClient
61
70
  Set.new([
62
71
  :'remote_id',
63
72
  :'name',
64
- :'remote_data',
73
+ :'field_mappings',
74
+ :'remote_data'
65
75
  ])
66
76
  end
67
77
 
@@ -92,15 +102,25 @@ module MergeATSClient
92
102
  self.name = attributes[:'name']
93
103
  end
94
104
 
105
+ if attributes.key?(:'remote_was_deleted')
106
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
107
+ end
108
+
109
+ if attributes.key?(:'modified_at')
110
+ self.modified_at = attributes[:'modified_at']
111
+ end
112
+
113
+ if attributes.key?(:'field_mappings')
114
+ if (value = attributes[:'field_mappings']).is_a?(Hash)
115
+ self.field_mappings = value
116
+ end
117
+ end
118
+
95
119
  if attributes.key?(:'remote_data')
96
120
  if (value = attributes[:'remote_data']).is_a?(Array)
97
121
  self.remote_data = value
98
122
  end
99
123
  end
100
-
101
- if attributes.key?(:'remote_was_deleted')
102
- self.remote_was_deleted = attributes[:'remote_was_deleted']
103
- end
104
124
  end
105
125
 
106
126
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -124,8 +144,10 @@ module MergeATSClient
124
144
  id == o.id &&
125
145
  remote_id == o.remote_id &&
126
146
  name == o.name &&
127
- remote_data == o.remote_data &&
128
- remote_was_deleted == o.remote_was_deleted
147
+ remote_was_deleted == o.remote_was_deleted &&
148
+ modified_at == o.modified_at &&
149
+ field_mappings == o.field_mappings &&
150
+ remote_data == o.remote_data
129
151
  end
130
152
 
131
153
  # @see the `==` method
@@ -137,7 +159,7 @@ module MergeATSClient
137
159
  # Calculates hash code according to all attributes.
138
160
  # @return [Integer] Hash code
139
161
  def hash
140
- [id, remote_id, name, remote_data, remote_was_deleted].hash
162
+ [id, remote_id, name, remote_was_deleted, modified_at, field_mappings, remote_data].hash
141
163
  end
142
164
 
143
165
  # Builds the object from hash