docspring 1.4.1 → 2.0.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 (243) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +26 -0
  3. data/.openapi-generator/FILES +220 -0
  4. data/.openapi-generator/VERSION +1 -1
  5. data/.rubocop.yml +6 -12
  6. data/.travis.yml +11 -0
  7. data/CHANGELOG.md +5 -0
  8. data/Gemfile +5 -1
  9. data/Gemfile.lock +85 -48
  10. data/README.md +43 -18
  11. data/docs/AddFieldsData.md +13 -3
  12. data/docs/AddFieldsTemplateResponse.md +17 -5
  13. data/docs/AuthenticationError.md +15 -4
  14. data/docs/AuthenticationSuccessResponse.md +13 -3
  15. data/docs/CombinePdfsData.md +23 -8
  16. data/docs/CombinedSubmission.md +37 -13
  17. data/docs/CombinedSubmissionAction.md +23 -8
  18. data/docs/CombinedSubmissionData.md +21 -7
  19. data/docs/CopyTemplateData.md +15 -4
  20. data/docs/CreateCombinedSubmissionResponse.md +17 -5
  21. data/docs/CreateCustomFileData.md +13 -3
  22. data/docs/CreateCustomFileResponse.md +17 -5
  23. data/docs/CreateFolderAttributes.md +20 -0
  24. data/docs/CreateFolderData.md +13 -3
  25. data/docs/CreateHtmlTemplateData.md +13 -3
  26. data/docs/CreateSubmissionBatchResponse.md +21 -7
  27. data/docs/CreateSubmissionBatchSubmissionsResponse.md +17 -5
  28. data/docs/CreateSubmissionData.md +36 -0
  29. data/docs/CreateSubmissionDataRequestData.md +37 -15
  30. data/docs/CreateSubmissionDataRequestEventRequest.md +24 -0
  31. data/docs/CreateSubmissionDataRequestEventResponse.md +22 -0
  32. data/docs/CreateSubmissionDataRequestTokenResponse.md +17 -5
  33. data/docs/CreateSubmissionResponse.md +17 -5
  34. data/docs/CreateTemplateFromUploadData.md +13 -3
  35. data/docs/DataRequestToken.md +24 -0
  36. data/docs/DeleteTemplateResponse.md +20 -0
  37. data/docs/ErrorResponse.md +20 -0
  38. data/docs/Folder.md +19 -6
  39. data/docs/FullTemplate.md +94 -0
  40. data/docs/HtmlTemplateData.md +51 -19
  41. data/docs/HtmlTemplateDataWebhookOptions.md +18 -0
  42. data/docs/InvalidRequest.md +15 -4
  43. data/docs/InvalidRequestSingleError.md +20 -0
  44. data/docs/ListSubmissionsResponse.md +17 -5
  45. data/docs/MoveFolderData.md +13 -3
  46. data/docs/MoveTemplateData.md +13 -3
  47. data/docs/PDFApi.md +1598 -523
  48. data/docs/PendingTemplate.md +45 -19
  49. data/docs/PreviewPdfResponse.md +20 -0
  50. data/docs/PublishTemplateVersion404Response.md +20 -0
  51. data/docs/PublishTemplateVersion422Response.md +20 -0
  52. data/docs/PublishTemplateVersionResponse.md +20 -0
  53. data/docs/PublishTemplateVersionResponseResult.md +24 -0
  54. data/docs/PublishVersionData.md +20 -0
  55. data/docs/RenameFolderData.md +13 -3
  56. data/docs/RestoreTemplateVersionResponse.md +18 -0
  57. data/docs/RestoreVersionData.md +18 -0
  58. data/docs/Submission.md +49 -21
  59. data/docs/SubmissionAction.md +23 -8
  60. data/docs/SubmissionBatch.md +29 -11
  61. data/docs/SubmissionBatchData.md +21 -6
  62. data/docs/SubmissionData.md +23 -10
  63. data/docs/SubmissionDataBatchRequest.md +25 -8
  64. data/docs/SubmissionDataRequest.md +53 -22
  65. data/docs/SubmissionDataRequestEvent.md +30 -0
  66. data/docs/Template.md +51 -22
  67. data/docs/TemplateData.md +49 -18
  68. data/docs/TemplateDefaults.md +22 -0
  69. data/docs/TemplateDocument.md +22 -0
  70. data/docs/TemplateDocumentMetadata.md +22 -0
  71. data/docs/TemplateSchema.md +34 -0
  72. data/docs/UpdateDataRequestResponse.md +17 -5
  73. data/docs/UpdateSubmissionDataRequestData.md +37 -15
  74. data/docs/UpdateTemplateData.md +13 -3
  75. data/docs/UpdateTemplateResponse.md +15 -4
  76. data/docs/UploadPresign.md +24 -0
  77. data/docs/UploadTemplateData.md +53 -20
  78. data/docspring.gemspec +14 -11
  79. data/git_push.sh +11 -9
  80. data/lib/docspring/api/pdf_api.rb +1344 -539
  81. data/lib/docspring/api_client.rb +106 -98
  82. data/lib/docspring/api_error.rb +22 -2
  83. data/lib/docspring/configuration.rb +127 -16
  84. data/lib/docspring/models/add_fields_data.rb +59 -26
  85. data/lib/docspring/models/add_fields_template_response.rb +81 -43
  86. data/lib/docspring/models/authentication_error.rb +62 -29
  87. data/lib/docspring/models/authentication_success_response.rb +66 -28
  88. data/lib/docspring/models/combine_pdfs_data.rb +65 -32
  89. data/lib/docspring/models/combined_submission.rb +165 -75
  90. data/lib/docspring/models/combined_submission_action.rb +83 -39
  91. data/lib/docspring/models/combined_submission_data.rb +63 -30
  92. data/lib/docspring/models/copy_template_data.rb +59 -26
  93. data/lib/docspring/models/create_combined_submission_response.rb +86 -41
  94. data/lib/docspring/models/create_custom_file_data.rb +58 -25
  95. data/lib/docspring/models/create_custom_file_response.rb +86 -41
  96. data/lib/docspring/models/create_folder_attributes.rb +230 -0
  97. data/lib/docspring/models/create_folder_data.rb +59 -26
  98. data/lib/docspring/models/create_html_template_data.rb +58 -25
  99. data/lib/docspring/models/create_submission_batch_response.rb +104 -52
  100. data/lib/docspring/models/create_submission_batch_submissions_response.rb +79 -41
  101. data/lib/docspring/models/create_submission_data.rb +304 -0
  102. data/lib/docspring/models/create_submission_data_request_data.rb +139 -90
  103. data/lib/docspring/models/create_submission_data_request_event_request.rb +297 -0
  104. data/lib/docspring/models/create_submission_data_request_event_response.rb +282 -0
  105. data/lib/docspring/models/create_submission_data_request_token_response.rb +85 -40
  106. data/lib/docspring/models/create_submission_response.rb +86 -41
  107. data/lib/docspring/models/create_template_from_upload_data.rb +58 -25
  108. data/lib/docspring/models/{custom_file.rb → data_request_token.rb} +110 -33
  109. data/lib/docspring/models/delete_template_response.rb +266 -0
  110. data/lib/docspring/models/{error.rb → error_response.rb} +65 -30
  111. data/lib/docspring/models/folder.rb +78 -46
  112. data/lib/docspring/models/{template1.rb → full_template.rb} +476 -240
  113. data/lib/docspring/models/html_template_data.rb +180 -110
  114. data/lib/docspring/models/{folders_folder.rb → html_template_data_webhook_options.rb} +63 -41
  115. data/lib/docspring/models/invalid_request.rb +64 -29
  116. data/lib/docspring/models/invalid_request_single_error.rb +271 -0
  117. data/lib/docspring/models/list_submissions_response.rb +87 -39
  118. data/lib/docspring/models/move_folder_data.rb +56 -25
  119. data/lib/docspring/models/move_template_data.rb +58 -25
  120. data/lib/docspring/models/pending_template.rb +221 -118
  121. data/lib/docspring/models/preview_pdf_response.rb +264 -0
  122. data/lib/docspring/models/publish_template_version404_response.rb +271 -0
  123. data/lib/docspring/models/publish_template_version422_response.rb +273 -0
  124. data/lib/docspring/models/publish_template_version_response.rb +271 -0
  125. data/lib/docspring/models/publish_template_version_response_result.rb +263 -0
  126. data/lib/docspring/models/publish_version_data.rb +230 -0
  127. data/lib/docspring/models/rename_folder_data.rb +58 -25
  128. data/lib/docspring/models/restore_template_version_response.rb +255 -0
  129. data/lib/docspring/models/{create_submission_data_request_token_response_token.rb → restore_version_data.rb} +69 -58
  130. data/lib/docspring/models/submission.rb +98 -49
  131. data/lib/docspring/models/submission_action.rb +83 -39
  132. data/lib/docspring/models/submission_batch.rb +158 -75
  133. data/lib/docspring/models/submission_batch_data.rb +74 -30
  134. data/lib/docspring/models/submission_data.rb +65 -50
  135. data/lib/docspring/models/submission_data_batch_request.rb +100 -49
  136. data/lib/docspring/models/submission_data_request.rb +123 -54
  137. data/lib/docspring/models/submission_data_request_event.rb +309 -0
  138. data/lib/docspring/models/template.rb +267 -132
  139. data/lib/docspring/models/template_data.rb +173 -105
  140. data/lib/docspring/models/{template1_defaults.rb → template_defaults.rb} +77 -29
  141. data/lib/docspring/models/{upload_template_data_document.rb → template_document.rb} +91 -39
  142. data/lib/docspring/models/{upload_template_data_document_metadata.rb → template_document_metadata.rb} +94 -42
  143. data/lib/docspring/models/template_schema.rb +288 -0
  144. data/lib/docspring/models/update_data_request_response.rb +86 -41
  145. data/lib/docspring/models/update_submission_data_request_data.rb +82 -43
  146. data/lib/docspring/models/update_template_data.rb +58 -25
  147. data/lib/docspring/models/update_template_response.rb +79 -41
  148. data/lib/docspring/models/upload_presign.rb +296 -0
  149. data/lib/docspring/models/upload_template_data.rb +186 -116
  150. data/lib/docspring/version.rb +3 -3
  151. data/lib/docspring.rb +29 -12
  152. data/spec/api/client_integration_spec.rb +26 -19
  153. data/spec/api/pdf_api_integration_spec.rb +21 -19
  154. data/spec/api/pdf_api_spec_original.skipped.rb +427 -118
  155. data/spec/models/add_fields_data_spec.rb +8 -13
  156. data/spec/models/add_fields_template_response_spec.rb +16 -21
  157. data/spec/models/authentication_error_spec.rb +10 -15
  158. data/spec/models/authentication_success_response_spec.rb +9 -14
  159. data/spec/models/combine_pdfs_data_spec.rb +13 -18
  160. data/spec/models/combined_submission_action_spec.rb +16 -21
  161. data/spec/models/combined_submission_data_spec.rb +12 -17
  162. data/spec/models/combined_submission_spec.rb +42 -35
  163. data/spec/models/copy_template_data_spec.rb +9 -14
  164. data/spec/models/create_combined_submission_response_spec.rb +16 -21
  165. data/spec/models/create_custom_file_data_spec.rb +8 -13
  166. data/spec/models/create_custom_file_response_spec.rb +16 -21
  167. data/spec/models/create_folder_attributes_spec.rb +42 -0
  168. data/spec/models/create_folder_data_spec.rb +8 -13
  169. data/spec/models/create_html_template_data_spec.rb +8 -13
  170. data/spec/models/create_submission_batch_response_spec.rb +21 -26
  171. data/spec/models/create_submission_batch_submissions_response_spec.rb +16 -21
  172. data/spec/models/create_submission_data_request_data_spec.rb +33 -38
  173. data/spec/models/create_submission_data_request_event_request_spec.rb +62 -0
  174. data/spec/models/create_submission_data_request_event_response_spec.rb +52 -0
  175. data/spec/models/create_submission_data_request_token_response_spec.rb +15 -20
  176. data/spec/models/create_submission_data_spec.rb +90 -0
  177. data/spec/models/create_submission_response_spec.rb +16 -21
  178. data/spec/models/create_template_from_upload_data_spec.rb +8 -13
  179. data/spec/models/data_request_token_spec.rb +54 -0
  180. data/spec/models/delete_template_response_spec.rb +46 -0
  181. data/spec/models/error_response_spec.rb +46 -0
  182. data/spec/models/folder_spec.rb +15 -20
  183. data/spec/models/full_template_spec.rb +268 -0
  184. data/spec/models/html_template_data_spec.rb +62 -49
  185. data/spec/models/html_template_data_webhook_options_spec.rb +36 -0
  186. data/spec/models/invalid_request_single_error_spec.rb +46 -0
  187. data/spec/models/invalid_request_spec.rb +10 -15
  188. data/spec/models/list_submissions_response_spec.rb +13 -18
  189. data/spec/models/move_folder_data_spec.rb +8 -13
  190. data/spec/models/move_template_data_spec.rb +8 -13
  191. data/spec/models/pending_template_spec.rb +45 -50
  192. data/spec/models/preview_pdf_response_spec.rb +46 -0
  193. data/spec/models/publish_template_version404_response_spec.rb +46 -0
  194. data/spec/models/publish_template_version422_response_spec.rb +46 -0
  195. data/spec/models/publish_template_version_response_result_spec.rb +54 -0
  196. data/spec/models/publish_template_version_response_spec.rb +46 -0
  197. data/spec/models/publish_version_data_spec.rb +42 -0
  198. data/spec/models/rename_folder_data_spec.rb +8 -13
  199. data/spec/models/restore_template_version_response_spec.rb +40 -0
  200. data/spec/models/restore_version_data_spec.rb +36 -0
  201. data/spec/models/submission_action_spec.rb +16 -21
  202. data/spec/models/submission_batch_data_spec.rb +17 -16
  203. data/spec/models/submission_batch_spec.rb +29 -34
  204. data/spec/models/submission_data_batch_request_spec.rb +24 -23
  205. data/spec/models/submission_data_request_event_spec.rb +72 -0
  206. data/spec/models/submission_data_request_spec.rb +36 -35
  207. data/spec/models/submission_data_spec.rb +13 -30
  208. data/spec/models/submission_spec.rb +27 -32
  209. data/spec/models/template_data_spec.rb +59 -46
  210. data/spec/models/template_defaults_spec.rb +48 -0
  211. data/spec/models/template_document_metadata_spec.rb +52 -0
  212. data/spec/models/template_document_spec.rb +52 -0
  213. data/spec/models/template_schema_spec.rb +84 -0
  214. data/spec/models/template_spec.rb +50 -55
  215. data/spec/models/update_data_request_response_spec.rb +16 -21
  216. data/spec/models/update_submission_data_request_data_spec.rb +22 -27
  217. data/spec/models/update_template_data_spec.rb +8 -13
  218. data/spec/models/update_template_response_spec.rb +14 -19
  219. data/spec/models/upload_presign_spec.rb +58 -0
  220. data/spec/models/upload_template_data_spec.rb +64 -51
  221. data/spec/spec_helper.rb +5 -5
  222. metadata +108 -132
  223. data/docs/CreateSubmissionDataRequestTokenResponseToken.md +0 -11
  224. data/docs/CustomFile.md +0 -9
  225. data/docs/Error.md +0 -9
  226. data/docs/FoldersFolder.md +0 -9
  227. data/docs/Template1.md +0 -46
  228. data/docs/Template1Defaults.md +0 -10
  229. data/docs/TemplatestemplateIdaddFieldsFields.md +0 -92
  230. data/docs/UploadTemplateDataDocument.md +0 -10
  231. data/docs/UploadTemplateDataDocumentMetadata.md +0 -10
  232. data/lib/docspring/models/templatestemplate_idadd_fields_fields.rb +0 -1306
  233. data/spec/api_client_spec.rb +0 -226
  234. data/spec/configuration_spec.rb +0 -53
  235. data/spec/models/create_submission_data_request_token_response_token_spec.rb +0 -59
  236. data/spec/models/custom_file_spec.rb +0 -47
  237. data/spec/models/error_spec.rb +0 -51
  238. data/spec/models/folders_folder_spec.rb +0 -47
  239. data/spec/models/template1_defaults_spec.rb +0 -53
  240. data/spec/models/template1_spec.rb +0 -273
  241. data/spec/models/templatestemplate_idadd_fields_fields_spec.rb +0 -589
  242. data/spec/models/upload_template_data_document_metadata_spec.rb +0 -57
  243. data/spec/models/upload_template_data_document_spec.rb +0 -57
@@ -3,19 +3,22 @@
3
3
 
4
4
  #DocSpring is a service that helps you fill out and sign PDF templates.
5
5
 
6
- OpenAPI spec version: v1
6
+ The version of the OpenAPI document: v1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 3.3.0
9
+ Generator version: 7.11.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module DocSpring
16
17
  class SubmissionDataRequest
17
18
  attr_accessor :id
18
19
 
20
+ attr_accessor :submission_id
21
+
19
22
  attr_accessor :name
20
23
 
21
24
  attr_accessor :email
@@ -80,6 +83,7 @@ module DocSpring
80
83
  def self.attribute_map
81
84
  {
82
85
  :'id' => :'id',
86
+ :'submission_id' => :'submission_id',
83
87
  :'name' => :'name',
84
88
  :'email' => :'email',
85
89
  :'order' => :'order',
@@ -102,10 +106,16 @@ module DocSpring
102
106
  }
103
107
  end
104
108
 
109
+ # Returns all the JSON keys this model knows about
110
+ def self.acceptable_attributes
111
+ attribute_map.values
112
+ end
113
+
105
114
  # Attribute type mapping.
106
115
  def self.openapi_types
107
116
  {
108
117
  :'id' => :'String',
118
+ :'submission_id' => :'String',
109
119
  :'name' => :'String',
110
120
  :'email' => :'String',
111
121
  :'order' => :'Integer',
@@ -128,93 +138,139 @@ module DocSpring
128
138
  }
129
139
  end
130
140
 
141
+ # List of attributes with nullable: true
142
+ def self.openapi_nullable
143
+ Set.new([
144
+ :'name',
145
+ :'email',
146
+ :'fields',
147
+ :'viewed_at',
148
+ :'completed_at',
149
+ :'auth_provider',
150
+ :'auth_session_started_at',
151
+ :'auth_session_id_hash',
152
+ :'auth_user_id_hash',
153
+ :'auth_username_hash',
154
+ :'auth_phone_number_hash',
155
+ :'ip_address',
156
+ :'user_agent'
157
+ ])
158
+ end
159
+
131
160
  # Initializes the object
132
161
  # @param [Hash] attributes Model attributes in the form of hash
133
162
  def initialize(attributes = {})
134
- return unless attributes.is_a?(Hash)
163
+ if (!attributes.is_a?(Hash))
164
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::SubmissionDataRequest` initialize method"
165
+ end
135
166
 
136
- # convert string to symbol for hash key
137
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
167
+ # check to see if the attribute exists and convert string to symbol for hash key
168
+ attributes = attributes.each_with_object({}) { |(k, v), h|
169
+ if (!self.class.attribute_map.key?(k.to_sym))
170
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::SubmissionDataRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
171
+ end
172
+ h[k.to_sym] = v
173
+ }
138
174
 
139
- if attributes.has_key?(:'id')
175
+ if attributes.key?(:'id')
140
176
  self.id = attributes[:'id']
177
+ else
178
+ self.id = nil
141
179
  end
142
180
 
143
- if attributes.has_key?(:'name')
181
+ if attributes.key?(:'submission_id')
182
+ self.submission_id = attributes[:'submission_id']
183
+ end
184
+
185
+ if attributes.key?(:'name')
144
186
  self.name = attributes[:'name']
187
+ else
188
+ self.name = nil
145
189
  end
146
190
 
147
- if attributes.has_key?(:'email')
191
+ if attributes.key?(:'email')
148
192
  self.email = attributes[:'email']
193
+ else
194
+ self.email = nil
149
195
  end
150
196
 
151
- if attributes.has_key?(:'order')
197
+ if attributes.key?(:'order')
152
198
  self.order = attributes[:'order']
199
+ else
200
+ self.order = nil
153
201
  end
154
202
 
155
- if attributes.has_key?(:'sort_order')
203
+ if attributes.key?(:'sort_order')
156
204
  self.sort_order = attributes[:'sort_order']
205
+ else
206
+ self.sort_order = nil
157
207
  end
158
208
 
159
- if attributes.has_key?(:'fields')
209
+ if attributes.key?(:'fields')
160
210
  if (value = attributes[:'fields']).is_a?(Array)
161
211
  self.fields = value
162
212
  end
213
+ else
214
+ self.fields = nil
163
215
  end
164
216
 
165
- if attributes.has_key?(:'metadata')
217
+ if attributes.key?(:'metadata')
166
218
  self.metadata = attributes[:'metadata']
219
+ else
220
+ self.metadata = nil
167
221
  end
168
222
 
169
- if attributes.has_key?(:'state')
223
+ if attributes.key?(:'state')
170
224
  self.state = attributes[:'state']
225
+ else
226
+ self.state = nil
171
227
  end
172
228
 
173
- if attributes.has_key?(:'viewed_at')
229
+ if attributes.key?(:'viewed_at')
174
230
  self.viewed_at = attributes[:'viewed_at']
175
231
  end
176
232
 
177
- if attributes.has_key?(:'completed_at')
233
+ if attributes.key?(:'completed_at')
178
234
  self.completed_at = attributes[:'completed_at']
179
235
  end
180
236
 
181
- if attributes.has_key?(:'auth_type')
237
+ if attributes.key?(:'auth_type')
182
238
  self.auth_type = attributes[:'auth_type']
183
239
  end
184
240
 
185
- if attributes.has_key?(:'auth_second_factor_type')
241
+ if attributes.key?(:'auth_second_factor_type')
186
242
  self.auth_second_factor_type = attributes[:'auth_second_factor_type']
187
243
  end
188
244
 
189
- if attributes.has_key?(:'auth_provider')
245
+ if attributes.key?(:'auth_provider')
190
246
  self.auth_provider = attributes[:'auth_provider']
191
247
  end
192
248
 
193
- if attributes.has_key?(:'auth_session_started_at')
249
+ if attributes.key?(:'auth_session_started_at')
194
250
  self.auth_session_started_at = attributes[:'auth_session_started_at']
195
251
  end
196
252
 
197
- if attributes.has_key?(:'auth_session_id_hash')
253
+ if attributes.key?(:'auth_session_id_hash')
198
254
  self.auth_session_id_hash = attributes[:'auth_session_id_hash']
199
255
  end
200
256
 
201
- if attributes.has_key?(:'auth_user_id_hash')
257
+ if attributes.key?(:'auth_user_id_hash')
202
258
  self.auth_user_id_hash = attributes[:'auth_user_id_hash']
203
259
  end
204
260
 
205
- if attributes.has_key?(:'auth_username_hash')
261
+ if attributes.key?(:'auth_username_hash')
206
262
  self.auth_username_hash = attributes[:'auth_username_hash']
207
263
  end
208
264
 
209
- if attributes.has_key?(:'auth_phone_number_hash')
265
+ if attributes.key?(:'auth_phone_number_hash')
210
266
  self.auth_phone_number_hash = attributes[:'auth_phone_number_hash']
211
267
  end
212
268
 
213
- if attributes.has_key?(:'ip_address')
269
+ if attributes.key?(:'ip_address')
214
270
  self.ip_address = attributes[:'ip_address']
215
271
  end
216
272
 
217
- if attributes.has_key?(:'user_agent')
273
+ if attributes.key?(:'user_agent')
218
274
  self.user_agent = attributes[:'user_agent']
219
275
  end
220
276
  end
@@ -222,6 +278,7 @@ module DocSpring
222
278
  # Show invalid properties with the reasons. Usually used together with valid?
223
279
  # @return Array for valid properties with the reasons
224
280
  def list_invalid_properties
281
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
225
282
  invalid_properties = Array.new
226
283
  if @id.nil?
227
284
  invalid_properties.push('invalid value for "id", id cannot be nil.')
@@ -249,16 +306,17 @@ module DocSpring
249
306
  # Check to see if the all the properties in the model are valid
250
307
  # @return true if the model is valid
251
308
  def valid?
309
+ warn '[DEPRECATED] the `valid?` method is obsolete'
252
310
  return false if @id.nil?
253
311
  return false if @order.nil?
254
312
  return false if @sort_order.nil?
255
313
  return false if @metadata.nil?
256
314
  return false if @state.nil?
257
- state_validator = EnumAttributeValidator.new('String', ['pending', 'completed'])
315
+ state_validator = EnumAttributeValidator.new('String', ["pending", "completed"])
258
316
  return false unless state_validator.valid?(@state)
259
- auth_type_validator = EnumAttributeValidator.new('String', ['none', 'password', 'oauth', 'email_link', 'phone_number', 'ldap', 'saml'])
317
+ auth_type_validator = EnumAttributeValidator.new('String', ["none", "password", "oauth", "email_link", "phone_number", "ldap", "saml"])
260
318
  return false unless auth_type_validator.valid?(@auth_type)
261
- auth_second_factor_type_validator = EnumAttributeValidator.new('String', ['none', 'phone_number', 'totp', 'mobile_push', 'security_key', 'fingerprint'])
319
+ auth_second_factor_type_validator = EnumAttributeValidator.new('String', ["none", "phone_number", "totp", "mobile_push", "security_key", "fingerprint"])
262
320
  return false unless auth_second_factor_type_validator.valid?(@auth_second_factor_type)
263
321
  true
264
322
  end
@@ -266,9 +324,9 @@ module DocSpring
266
324
  # Custom attribute writer method checking allowed values (enum).
267
325
  # @param [Object] state Object to be assigned
268
326
  def state=(state)
269
- validator = EnumAttributeValidator.new('String', ['pending', 'completed'])
327
+ validator = EnumAttributeValidator.new('String', ["pending", "completed"])
270
328
  unless validator.valid?(state)
271
- fail ArgumentError, 'invalid value for "state", must be one of #{validator.allowable_values}.'
329
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
272
330
  end
273
331
  @state = state
274
332
  end
@@ -276,9 +334,9 @@ module DocSpring
276
334
  # Custom attribute writer method checking allowed values (enum).
277
335
  # @param [Object] auth_type Object to be assigned
278
336
  def auth_type=(auth_type)
279
- validator = EnumAttributeValidator.new('String', ['none', 'password', 'oauth', 'email_link', 'phone_number', 'ldap', 'saml'])
337
+ validator = EnumAttributeValidator.new('String', ["none", "password", "oauth", "email_link", "phone_number", "ldap", "saml"])
280
338
  unless validator.valid?(auth_type)
281
- fail ArgumentError, 'invalid value for "auth_type", must be one of #{validator.allowable_values}.'
339
+ fail ArgumentError, "invalid value for \"auth_type\", must be one of #{validator.allowable_values}."
282
340
  end
283
341
  @auth_type = auth_type
284
342
  end
@@ -286,9 +344,9 @@ module DocSpring
286
344
  # Custom attribute writer method checking allowed values (enum).
287
345
  # @param [Object] auth_second_factor_type Object to be assigned
288
346
  def auth_second_factor_type=(auth_second_factor_type)
289
- validator = EnumAttributeValidator.new('String', ['none', 'phone_number', 'totp', 'mobile_push', 'security_key', 'fingerprint'])
347
+ validator = EnumAttributeValidator.new('String', ["none", "phone_number", "totp", "mobile_push", "security_key", "fingerprint"])
290
348
  unless validator.valid?(auth_second_factor_type)
291
- fail ArgumentError, 'invalid value for "auth_second_factor_type", must be one of #{validator.allowable_values}.'
349
+ fail ArgumentError, "invalid value for \"auth_second_factor_type\", must be one of #{validator.allowable_values}."
292
350
  end
293
351
  @auth_second_factor_type = auth_second_factor_type
294
352
  end
@@ -299,6 +357,7 @@ module DocSpring
299
357
  return true if self.equal?(o)
300
358
  self.class == o.class &&
301
359
  id == o.id &&
360
+ submission_id == o.submission_id &&
302
361
  name == o.name &&
303
362
  email == o.email &&
304
363
  order == o.order &&
@@ -327,39 +386,42 @@ module DocSpring
327
386
  end
328
387
 
329
388
  # Calculates hash code according to all attributes.
330
- # @return [Fixnum] Hash code
389
+ # @return [Integer] Hash code
331
390
  def hash
332
- [id, name, email, order, sort_order, fields, metadata, state, viewed_at, completed_at, auth_type, auth_second_factor_type, auth_provider, auth_session_started_at, auth_session_id_hash, auth_user_id_hash, auth_username_hash, auth_phone_number_hash, ip_address, user_agent].hash
391
+ [id, submission_id, name, email, order, sort_order, fields, metadata, state, viewed_at, completed_at, auth_type, auth_second_factor_type, auth_provider, auth_session_started_at, auth_session_id_hash, auth_user_id_hash, auth_username_hash, auth_phone_number_hash, ip_address, user_agent].hash
333
392
  end
334
393
 
335
394
  # Builds the object from hash
336
395
  # @param [Hash] attributes Model attributes in the form of hash
337
396
  # @return [Object] Returns the model itself
338
- def build_from_hash(attributes)
397
+ def self.build_from_hash(attributes)
339
398
  return nil unless attributes.is_a?(Hash)
340
- self.class.openapi_types.each_pair do |key, type|
341
- if type =~ /\AArray<(.*)>/i
342
- # check to ensure the input is an array given that the the attribute
399
+ attributes = attributes.transform_keys(&:to_sym)
400
+ transformed_hash = {}
401
+ openapi_types.each_pair do |key, type|
402
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
403
+ transformed_hash["#{key}"] = nil
404
+ elsif type =~ /\AArray<(.*)>/i
405
+ # check to ensure the input is an array given that the attribute
343
406
  # is documented as an array but the input is not
344
- if attributes[self.class.attribute_map[key]].is_a?(Array)
345
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
407
+ if attributes[attribute_map[key]].is_a?(Array)
408
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
346
409
  end
347
- elsif !attributes[self.class.attribute_map[key]].nil?
348
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
349
- end # or else data not found in attributes(hash), not an issue as the data can be optional
410
+ elsif !attributes[attribute_map[key]].nil?
411
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
412
+ end
350
413
  end
351
-
352
- self
414
+ new(transformed_hash)
353
415
  end
354
416
 
355
417
  # Deserializes the data based on type
356
418
  # @param string type Data type
357
419
  # @param string value Value to be deserialized
358
420
  # @return [Object] Deserialized data
359
- def _deserialize(type, value)
421
+ def self._deserialize(type, value)
360
422
  case type.to_sym
361
- when :DateTime
362
- DateTime.parse(value)
423
+ when :Time
424
+ Time.parse(value)
363
425
  when :Date
364
426
  Date.parse(value)
365
427
  when :String
@@ -368,7 +430,7 @@ module DocSpring
368
430
  value.to_i
369
431
  when :Float
370
432
  value.to_f
371
- when :BOOLEAN
433
+ when :Boolean
372
434
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
373
435
  true
374
436
  else
@@ -389,8 +451,9 @@ module DocSpring
389
451
  end
390
452
  end
391
453
  else # model
392
- temp_model = DocSpring.const_get(type).new
393
- temp_model.build_from_hash(value)
454
+ # models (e.g. Pet) or oneOf
455
+ klass = DocSpring.const_get(type)
456
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
394
457
  end
395
458
  end
396
459
 
@@ -412,7 +475,11 @@ module DocSpring
412
475
  hash = {}
413
476
  self.class.attribute_map.each_pair do |attr, param|
414
477
  value = self.send(attr)
415
- next if value.nil?
478
+ if value.nil?
479
+ is_nullable = self.class.openapi_nullable.include?(attr)
480
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
481
+ end
482
+
416
483
  hash[param] = _to_hash(value)
417
484
  end
418
485
  hash
@@ -435,5 +502,7 @@ module DocSpring
435
502
  value
436
503
  end
437
504
  end
505
+
438
506
  end
507
+
439
508
  end
@@ -0,0 +1,309 @@
1
+ =begin
2
+ #API v1
3
+
4
+ #DocSpring is a service that helps you fill out and sign PDF templates.
5
+
6
+ The version of the OpenAPI document: v1
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.11.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DocSpring
17
+ class SubmissionDataRequestEvent
18
+ attr_accessor :id
19
+
20
+ attr_accessor :submission_id
21
+
22
+ attr_accessor :submission_data_request_id
23
+
24
+ attr_accessor :event_type
25
+
26
+ attr_accessor :message_type
27
+
28
+ attr_accessor :message_recipient
29
+
30
+ attr_accessor :occurred_at
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'id' => :'id',
36
+ :'submission_id' => :'submission_id',
37
+ :'submission_data_request_id' => :'submission_data_request_id',
38
+ :'event_type' => :'event_type',
39
+ :'message_type' => :'message_type',
40
+ :'message_recipient' => :'message_recipient',
41
+ :'occurred_at' => :'occurred_at'
42
+ }
43
+ end
44
+
45
+ # Returns all the JSON keys this model knows about
46
+ def self.acceptable_attributes
47
+ attribute_map.values
48
+ end
49
+
50
+ # Attribute type mapping.
51
+ def self.openapi_types
52
+ {
53
+ :'id' => :'String',
54
+ :'submission_id' => :'String',
55
+ :'submission_data_request_id' => :'String',
56
+ :'event_type' => :'String',
57
+ :'message_type' => :'String',
58
+ :'message_recipient' => :'String',
59
+ :'occurred_at' => :'String'
60
+ }
61
+ end
62
+
63
+ # List of attributes with nullable: true
64
+ def self.openapi_nullable
65
+ Set.new([
66
+ :'message_type',
67
+ :'message_recipient',
68
+ ])
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ if (!attributes.is_a?(Hash))
75
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::SubmissionDataRequestEvent` initialize method"
76
+ end
77
+
78
+ # check to see if the attribute exists and convert string to symbol for hash key
79
+ attributes = attributes.each_with_object({}) { |(k, v), h|
80
+ if (!self.class.attribute_map.key?(k.to_sym))
81
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::SubmissionDataRequestEvent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
82
+ end
83
+ h[k.to_sym] = v
84
+ }
85
+
86
+ if attributes.key?(:'id')
87
+ self.id = attributes[:'id']
88
+ else
89
+ self.id = nil
90
+ end
91
+
92
+ if attributes.key?(:'submission_id')
93
+ self.submission_id = attributes[:'submission_id']
94
+ else
95
+ self.submission_id = nil
96
+ end
97
+
98
+ if attributes.key?(:'submission_data_request_id')
99
+ self.submission_data_request_id = attributes[:'submission_data_request_id']
100
+ else
101
+ self.submission_data_request_id = nil
102
+ end
103
+
104
+ if attributes.key?(:'event_type')
105
+ self.event_type = attributes[:'event_type']
106
+ else
107
+ self.event_type = nil
108
+ end
109
+
110
+ if attributes.key?(:'message_type')
111
+ self.message_type = attributes[:'message_type']
112
+ else
113
+ self.message_type = nil
114
+ end
115
+
116
+ if attributes.key?(:'message_recipient')
117
+ self.message_recipient = attributes[:'message_recipient']
118
+ else
119
+ self.message_recipient = nil
120
+ end
121
+
122
+ if attributes.key?(:'occurred_at')
123
+ self.occurred_at = attributes[:'occurred_at']
124
+ else
125
+ self.occurred_at = nil
126
+ end
127
+ end
128
+
129
+ # Show invalid properties with the reasons. Usually used together with valid?
130
+ # @return Array for valid properties with the reasons
131
+ def list_invalid_properties
132
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
133
+ invalid_properties = Array.new
134
+ if @id.nil?
135
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
136
+ end
137
+
138
+ if @submission_id.nil?
139
+ invalid_properties.push('invalid value for "submission_id", submission_id cannot be nil.')
140
+ end
141
+
142
+ if @submission_data_request_id.nil?
143
+ invalid_properties.push('invalid value for "submission_data_request_id", submission_data_request_id cannot be nil.')
144
+ end
145
+
146
+ if @event_type.nil?
147
+ invalid_properties.push('invalid value for "event_type", event_type cannot be nil.')
148
+ end
149
+
150
+ if @occurred_at.nil?
151
+ invalid_properties.push('invalid value for "occurred_at", occurred_at cannot be nil.')
152
+ end
153
+
154
+ invalid_properties
155
+ end
156
+
157
+ # Check to see if the all the properties in the model are valid
158
+ # @return true if the model is valid
159
+ def valid?
160
+ warn '[DEPRECATED] the `valid?` method is obsolete'
161
+ return false if @id.nil?
162
+ return false if @submission_id.nil?
163
+ return false if @submission_data_request_id.nil?
164
+ return false if @event_type.nil?
165
+ return false if @occurred_at.nil?
166
+ true
167
+ end
168
+
169
+ # Checks equality by comparing each attribute.
170
+ # @param [Object] Object to be compared
171
+ def ==(o)
172
+ return true if self.equal?(o)
173
+ self.class == o.class &&
174
+ id == o.id &&
175
+ submission_id == o.submission_id &&
176
+ submission_data_request_id == o.submission_data_request_id &&
177
+ event_type == o.event_type &&
178
+ message_type == o.message_type &&
179
+ message_recipient == o.message_recipient &&
180
+ occurred_at == o.occurred_at
181
+ end
182
+
183
+ # @see the `==` method
184
+ # @param [Object] Object to be compared
185
+ def eql?(o)
186
+ self == o
187
+ end
188
+
189
+ # Calculates hash code according to all attributes.
190
+ # @return [Integer] Hash code
191
+ def hash
192
+ [id, submission_id, submission_data_request_id, event_type, message_type, message_recipient, occurred_at].hash
193
+ end
194
+
195
+ # Builds the object from hash
196
+ # @param [Hash] attributes Model attributes in the form of hash
197
+ # @return [Object] Returns the model itself
198
+ def self.build_from_hash(attributes)
199
+ return nil unless attributes.is_a?(Hash)
200
+ attributes = attributes.transform_keys(&:to_sym)
201
+ transformed_hash = {}
202
+ openapi_types.each_pair do |key, type|
203
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
204
+ transformed_hash["#{key}"] = nil
205
+ elsif type =~ /\AArray<(.*)>/i
206
+ # check to ensure the input is an array given that the attribute
207
+ # is documented as an array but the input is not
208
+ if attributes[attribute_map[key]].is_a?(Array)
209
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
210
+ end
211
+ elsif !attributes[attribute_map[key]].nil?
212
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
213
+ end
214
+ end
215
+ new(transformed_hash)
216
+ end
217
+
218
+ # Deserializes the data based on type
219
+ # @param string type Data type
220
+ # @param string value Value to be deserialized
221
+ # @return [Object] Deserialized data
222
+ def self._deserialize(type, value)
223
+ case type.to_sym
224
+ when :Time
225
+ Time.parse(value)
226
+ when :Date
227
+ Date.parse(value)
228
+ when :String
229
+ value.to_s
230
+ when :Integer
231
+ value.to_i
232
+ when :Float
233
+ value.to_f
234
+ when :Boolean
235
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
236
+ true
237
+ else
238
+ false
239
+ end
240
+ when :Object
241
+ # generic object (usually a Hash), return directly
242
+ value
243
+ when /\AArray<(?<inner_type>.+)>\z/
244
+ inner_type = Regexp.last_match[:inner_type]
245
+ value.map { |v| _deserialize(inner_type, v) }
246
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
247
+ k_type = Regexp.last_match[:k_type]
248
+ v_type = Regexp.last_match[:v_type]
249
+ {}.tap do |hash|
250
+ value.each do |k, v|
251
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
252
+ end
253
+ end
254
+ else # model
255
+ # models (e.g. Pet) or oneOf
256
+ klass = DocSpring.const_get(type)
257
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
258
+ end
259
+ end
260
+
261
+ # Returns the string representation of the object
262
+ # @return [String] String presentation of the object
263
+ def to_s
264
+ to_hash.to_s
265
+ end
266
+
267
+ # to_body is an alias to to_hash (backward compatibility)
268
+ # @return [Hash] Returns the object in the form of hash
269
+ def to_body
270
+ to_hash
271
+ end
272
+
273
+ # Returns the object in the form of hash
274
+ # @return [Hash] Returns the object in the form of hash
275
+ def to_hash
276
+ hash = {}
277
+ self.class.attribute_map.each_pair do |attr, param|
278
+ value = self.send(attr)
279
+ if value.nil?
280
+ is_nullable = self.class.openapi_nullable.include?(attr)
281
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
282
+ end
283
+
284
+ hash[param] = _to_hash(value)
285
+ end
286
+ hash
287
+ end
288
+
289
+ # Outputs non-array value in the form of hash
290
+ # For object, use to_hash. Otherwise, just return the value
291
+ # @param [Object] value Any valid value
292
+ # @return [Hash] Returns the value in the form of hash
293
+ def _to_hash(value)
294
+ if value.is_a?(Array)
295
+ value.compact.map { |v| _to_hash(v) }
296
+ elsif value.is_a?(Hash)
297
+ {}.tap do |hash|
298
+ value.each { |k, v| hash[k] = _to_hash(v) }
299
+ end
300
+ elsif value.respond_to? :to_hash
301
+ value.to_hash
302
+ else
303
+ value
304
+ end
305
+ end
306
+
307
+ end
308
+
309
+ end