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,14 +3,15 @@
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 Submission
@@ -99,14 +100,19 @@ module DocSpring
99
100
  }
100
101
  end
101
102
 
103
+ # Returns all the JSON keys this model knows about
104
+ def self.acceptable_attributes
105
+ attribute_map.values
106
+ end
107
+
102
108
  # Attribute type mapping.
103
109
  def self.openapi_types
104
110
  {
105
111
  :'id' => :'String',
106
112
  :'template_id' => :'String',
107
- :'test' => :'BOOLEAN',
108
- :'editable' => :'BOOLEAN',
109
- :'expired' => :'BOOLEAN',
113
+ :'test' => :'Boolean',
114
+ :'editable' => :'Boolean',
115
+ :'expired' => :'Boolean',
110
116
  :'expires_at' => :'String',
111
117
  :'processed_at' => :'String',
112
118
  :'state' => :'String',
@@ -124,91 +130,122 @@ module DocSpring
124
130
  }
125
131
  end
126
132
 
133
+ # List of attributes with nullable: true
134
+ def self.openapi_nullable
135
+ Set.new([
136
+ :'editable',
137
+ :'expires_at',
138
+ :'processed_at',
139
+ :'data',
140
+ :'pdf_hash',
141
+ :'download_url',
142
+ :'permanent_download_url',
143
+ :'batch_id',
144
+ :'source',
145
+ :'referrer'
146
+ ])
147
+ end
148
+
127
149
  # Initializes the object
128
150
  # @param [Hash] attributes Model attributes in the form of hash
129
151
  def initialize(attributes = {})
130
- return unless attributes.is_a?(Hash)
152
+ if (!attributes.is_a?(Hash))
153
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::Submission` initialize method"
154
+ end
131
155
 
132
- # convert string to symbol for hash key
133
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
156
+ # check to see if the attribute exists and convert string to symbol for hash key
157
+ attributes = attributes.each_with_object({}) { |(k, v), h|
158
+ if (!self.class.attribute_map.key?(k.to_sym))
159
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::Submission`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
160
+ end
161
+ h[k.to_sym] = v
162
+ }
134
163
 
135
- if attributes.has_key?(:'id')
164
+ if attributes.key?(:'id')
136
165
  self.id = attributes[:'id']
166
+ else
167
+ self.id = nil
137
168
  end
138
169
 
139
- if attributes.has_key?(:'template_id')
170
+ if attributes.key?(:'template_id')
140
171
  self.template_id = attributes[:'template_id']
141
172
  end
142
173
 
143
- if attributes.has_key?(:'test')
174
+ if attributes.key?(:'test')
144
175
  self.test = attributes[:'test']
176
+ else
177
+ self.test = nil
145
178
  end
146
179
 
147
- if attributes.has_key?(:'editable')
180
+ if attributes.key?(:'editable')
148
181
  self.editable = attributes[:'editable']
149
182
  end
150
183
 
151
- if attributes.has_key?(:'expired')
184
+ if attributes.key?(:'expired')
152
185
  self.expired = attributes[:'expired']
186
+ else
187
+ self.expired = nil
153
188
  end
154
189
 
155
- if attributes.has_key?(:'expires_at')
190
+ if attributes.key?(:'expires_at')
156
191
  self.expires_at = attributes[:'expires_at']
157
192
  end
158
193
 
159
- if attributes.has_key?(:'processed_at')
194
+ if attributes.key?(:'processed_at')
160
195
  self.processed_at = attributes[:'processed_at']
161
196
  end
162
197
 
163
- if attributes.has_key?(:'state')
198
+ if attributes.key?(:'state')
164
199
  self.state = attributes[:'state']
200
+ else
201
+ self.state = nil
165
202
  end
166
203
 
167
- if attributes.has_key?(:'data')
204
+ if attributes.key?(:'data')
168
205
  self.data = attributes[:'data']
169
206
  end
170
207
 
171
- if attributes.has_key?(:'metadata')
208
+ if attributes.key?(:'metadata')
172
209
  self.metadata = attributes[:'metadata']
173
210
  end
174
211
 
175
- if attributes.has_key?(:'truncated_text')
212
+ if attributes.key?(:'truncated_text')
176
213
  self.truncated_text = attributes[:'truncated_text']
177
214
  end
178
215
 
179
- if attributes.has_key?(:'pdf_hash')
216
+ if attributes.key?(:'pdf_hash')
180
217
  self.pdf_hash = attributes[:'pdf_hash']
181
218
  end
182
219
 
183
- if attributes.has_key?(:'download_url')
220
+ if attributes.key?(:'download_url')
184
221
  self.download_url = attributes[:'download_url']
185
222
  end
186
223
 
187
- if attributes.has_key?(:'permanent_download_url')
224
+ if attributes.key?(:'permanent_download_url')
188
225
  self.permanent_download_url = attributes[:'permanent_download_url']
189
226
  end
190
227
 
191
- if attributes.has_key?(:'batch_id')
228
+ if attributes.key?(:'batch_id')
192
229
  self.batch_id = attributes[:'batch_id']
193
230
  end
194
231
 
195
- if attributes.has_key?(:'data_requests')
232
+ if attributes.key?(:'data_requests')
196
233
  if (value = attributes[:'data_requests']).is_a?(Array)
197
234
  self.data_requests = value
198
235
  end
199
236
  end
200
237
 
201
- if attributes.has_key?(:'actions')
238
+ if attributes.key?(:'actions')
202
239
  if (value = attributes[:'actions']).is_a?(Array)
203
240
  self.actions = value
204
241
  end
205
242
  end
206
243
 
207
- if attributes.has_key?(:'source')
244
+ if attributes.key?(:'source')
208
245
  self.source = attributes[:'source']
209
246
  end
210
247
 
211
- if attributes.has_key?(:'referrer')
248
+ if attributes.key?(:'referrer')
212
249
  self.referrer = attributes[:'referrer']
213
250
  end
214
251
  end
@@ -216,6 +253,7 @@ module DocSpring
216
253
  # Show invalid properties with the reasons. Usually used together with valid?
217
254
  # @return Array for valid properties with the reasons
218
255
  def list_invalid_properties
256
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
219
257
  invalid_properties = Array.new
220
258
  if @id.nil?
221
259
  invalid_properties.push('invalid value for "id", id cannot be nil.')
@@ -239,11 +277,12 @@ module DocSpring
239
277
  # Check to see if the all the properties in the model are valid
240
278
  # @return true if the model is valid
241
279
  def valid?
280
+ warn '[DEPRECATED] the `valid?` method is obsolete'
242
281
  return false if @id.nil?
243
282
  return false if @test.nil?
244
283
  return false if @expired.nil?
245
284
  return false if @state.nil?
246
- state_validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'invalid_data', 'error', 'image_download_failed', 'image_processing_failed', 'waiting_for_data_requests', 'syntax_error', 'account_suspended', 'license_revoked', 'accidental'])
285
+ state_validator = EnumAttributeValidator.new('String', ["pending", "processed", "invalid_data", "error", "image_download_failed", "image_processing_failed", "waiting_for_data_requests", "syntax_error", "account_suspended", "license_revoked", "accidental"])
247
286
  return false unless state_validator.valid?(@state)
248
287
  true
249
288
  end
@@ -251,9 +290,9 @@ module DocSpring
251
290
  # Custom attribute writer method checking allowed values (enum).
252
291
  # @param [Object] state Object to be assigned
253
292
  def state=(state)
254
- validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'invalid_data', 'error', 'image_download_failed', 'image_processing_failed', 'waiting_for_data_requests', 'syntax_error', 'account_suspended', 'license_revoked', 'accidental'])
293
+ validator = EnumAttributeValidator.new('String', ["pending", "processed", "invalid_data", "error", "image_download_failed", "image_processing_failed", "waiting_for_data_requests", "syntax_error", "account_suspended", "license_revoked", "accidental"])
255
294
  unless validator.valid?(state)
256
- fail ArgumentError, 'invalid value for "state", must be one of #{validator.allowable_values}.'
295
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
257
296
  end
258
297
  @state = state
259
298
  end
@@ -291,7 +330,7 @@ module DocSpring
291
330
  end
292
331
 
293
332
  # Calculates hash code according to all attributes.
294
- # @return [Fixnum] Hash code
333
+ # @return [Integer] Hash code
295
334
  def hash
296
335
  [id, template_id, test, editable, expired, expires_at, processed_at, state, data, metadata, truncated_text, pdf_hash, download_url, permanent_download_url, batch_id, data_requests, actions, source, referrer].hash
297
336
  end
@@ -299,31 +338,34 @@ module DocSpring
299
338
  # Builds the object from hash
300
339
  # @param [Hash] attributes Model attributes in the form of hash
301
340
  # @return [Object] Returns the model itself
302
- def build_from_hash(attributes)
341
+ def self.build_from_hash(attributes)
303
342
  return nil unless attributes.is_a?(Hash)
304
- self.class.openapi_types.each_pair do |key, type|
305
- if type =~ /\AArray<(.*)>/i
306
- # check to ensure the input is an array given that the the attribute
343
+ attributes = attributes.transform_keys(&:to_sym)
344
+ transformed_hash = {}
345
+ openapi_types.each_pair do |key, type|
346
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
347
+ transformed_hash["#{key}"] = nil
348
+ elsif type =~ /\AArray<(.*)>/i
349
+ # check to ensure the input is an array given that the attribute
307
350
  # is documented as an array but the input is not
308
- if attributes[self.class.attribute_map[key]].is_a?(Array)
309
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
351
+ if attributes[attribute_map[key]].is_a?(Array)
352
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
310
353
  end
311
- elsif !attributes[self.class.attribute_map[key]].nil?
312
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
313
- end # or else data not found in attributes(hash), not an issue as the data can be optional
354
+ elsif !attributes[attribute_map[key]].nil?
355
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
356
+ end
314
357
  end
315
-
316
- self
358
+ new(transformed_hash)
317
359
  end
318
360
 
319
361
  # Deserializes the data based on type
320
362
  # @param string type Data type
321
363
  # @param string value Value to be deserialized
322
364
  # @return [Object] Deserialized data
323
- def _deserialize(type, value)
365
+ def self._deserialize(type, value)
324
366
  case type.to_sym
325
- when :DateTime
326
- DateTime.parse(value)
367
+ when :Time
368
+ Time.parse(value)
327
369
  when :Date
328
370
  Date.parse(value)
329
371
  when :String
@@ -332,7 +374,7 @@ module DocSpring
332
374
  value.to_i
333
375
  when :Float
334
376
  value.to_f
335
- when :BOOLEAN
377
+ when :Boolean
336
378
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
337
379
  true
338
380
  else
@@ -353,8 +395,9 @@ module DocSpring
353
395
  end
354
396
  end
355
397
  else # model
356
- temp_model = DocSpring.const_get(type).new
357
- temp_model.build_from_hash(value)
398
+ # models (e.g. Pet) or oneOf
399
+ klass = DocSpring.const_get(type)
400
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
358
401
  end
359
402
  end
360
403
 
@@ -376,7 +419,11 @@ module DocSpring
376
419
  hash = {}
377
420
  self.class.attribute_map.each_pair do |attr, param|
378
421
  value = self.send(attr)
379
- next if value.nil?
422
+ if value.nil?
423
+ is_nullable = self.class.openapi_nullable.include?(attr)
424
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
425
+ end
426
+
380
427
  hash[param] = _to_hash(value)
381
428
  end
382
429
  hash
@@ -399,5 +446,7 @@ module DocSpring
399
446
  value
400
447
  end
401
448
  end
449
+
402
450
  end
451
+
403
452
  end
@@ -3,14 +3,15 @@
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 SubmissionAction
@@ -60,6 +61,11 @@ module DocSpring
60
61
  }
61
62
  end
62
63
 
64
+ # Returns all the JSON keys this model knows about
65
+ def self.acceptable_attributes
66
+ attribute_map.values
67
+ end
68
+
63
69
  # Attribute type mapping.
64
70
  def self.openapi_types
65
71
  {
@@ -72,42 +78,69 @@ module DocSpring
72
78
  }
73
79
  end
74
80
 
81
+ # List of attributes with nullable: true
82
+ def self.openapi_nullable
83
+ Set.new([
84
+ :'integration_id',
85
+ ])
86
+ end
87
+
75
88
  # Initializes the object
76
89
  # @param [Hash] attributes Model attributes in the form of hash
77
90
  def initialize(attributes = {})
78
- return unless attributes.is_a?(Hash)
91
+ if (!attributes.is_a?(Hash))
92
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::SubmissionAction` initialize method"
93
+ end
79
94
 
80
- # convert string to symbol for hash key
81
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
95
+ # check to see if the attribute exists and convert string to symbol for hash key
96
+ attributes = attributes.each_with_object({}) { |(k, v), h|
97
+ if (!self.class.attribute_map.key?(k.to_sym))
98
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::SubmissionAction`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
99
+ end
100
+ h[k.to_sym] = v
101
+ }
82
102
 
83
- if attributes.has_key?(:'id')
103
+ if attributes.key?(:'id')
84
104
  self.id = attributes[:'id']
105
+ else
106
+ self.id = nil
85
107
  end
86
108
 
87
- if attributes.has_key?(:'integration_id')
109
+ if attributes.key?(:'integration_id')
88
110
  self.integration_id = attributes[:'integration_id']
111
+ else
112
+ self.integration_id = nil
89
113
  end
90
114
 
91
- if attributes.has_key?(:'state')
115
+ if attributes.key?(:'state')
92
116
  self.state = attributes[:'state']
117
+ else
118
+ self.state = nil
93
119
  end
94
120
 
95
- if attributes.has_key?(:'action_category')
121
+ if attributes.key?(:'action_category')
96
122
  self.action_category = attributes[:'action_category']
123
+ else
124
+ self.action_category = nil
97
125
  end
98
126
 
99
- if attributes.has_key?(:'action_type')
127
+ if attributes.key?(:'action_type')
100
128
  self.action_type = attributes[:'action_type']
129
+ else
130
+ self.action_type = nil
101
131
  end
102
132
 
103
- if attributes.has_key?(:'result_data')
133
+ if attributes.key?(:'result_data')
104
134
  self.result_data = attributes[:'result_data']
135
+ else
136
+ self.result_data = nil
105
137
  end
106
138
  end
107
139
 
108
140
  # Show invalid properties with the reasons. Usually used together with valid?
109
141
  # @return Array for valid properties with the reasons
110
142
  def list_invalid_properties
143
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
111
144
  invalid_properties = Array.new
112
145
  if @id.nil?
113
146
  invalid_properties.push('invalid value for "id", id cannot be nil.')
@@ -135,15 +168,16 @@ module DocSpring
135
168
  # Check to see if the all the properties in the model are valid
136
169
  # @return true if the model is valid
137
170
  def valid?
171
+ warn '[DEPRECATED] the `valid?` method is obsolete'
138
172
  return false if @id.nil?
139
173
  return false if @state.nil?
140
- state_validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'failed', 'error'])
174
+ state_validator = EnumAttributeValidator.new('String', ["pending", "processed", "failed", "error"])
141
175
  return false unless state_validator.valid?(@state)
142
176
  return false if @action_category.nil?
143
- action_category_validator = EnumAttributeValidator.new('String', ['notification', 'file_upload'])
177
+ action_category_validator = EnumAttributeValidator.new('String', ["notification", "file_upload"])
144
178
  return false unless action_category_validator.valid?(@action_category)
145
179
  return false if @action_type.nil?
146
- action_type_validator = EnumAttributeValidator.new('String', ['webhook', 'slack_webhook', 'email', 'aws_s3_upload'])
180
+ action_type_validator = EnumAttributeValidator.new('String', ["webhook", "slack_webhook", "email", "aws_s3_upload"])
147
181
  return false unless action_type_validator.valid?(@action_type)
148
182
  return false if @result_data.nil?
149
183
  true
@@ -152,9 +186,9 @@ module DocSpring
152
186
  # Custom attribute writer method checking allowed values (enum).
153
187
  # @param [Object] state Object to be assigned
154
188
  def state=(state)
155
- validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'failed', 'error'])
189
+ validator = EnumAttributeValidator.new('String', ["pending", "processed", "failed", "error"])
156
190
  unless validator.valid?(state)
157
- fail ArgumentError, 'invalid value for "state", must be one of #{validator.allowable_values}.'
191
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
158
192
  end
159
193
  @state = state
160
194
  end
@@ -162,9 +196,9 @@ module DocSpring
162
196
  # Custom attribute writer method checking allowed values (enum).
163
197
  # @param [Object] action_category Object to be assigned
164
198
  def action_category=(action_category)
165
- validator = EnumAttributeValidator.new('String', ['notification', 'file_upload'])
199
+ validator = EnumAttributeValidator.new('String', ["notification", "file_upload"])
166
200
  unless validator.valid?(action_category)
167
- fail ArgumentError, 'invalid value for "action_category", must be one of #{validator.allowable_values}.'
201
+ fail ArgumentError, "invalid value for \"action_category\", must be one of #{validator.allowable_values}."
168
202
  end
169
203
  @action_category = action_category
170
204
  end
@@ -172,9 +206,9 @@ module DocSpring
172
206
  # Custom attribute writer method checking allowed values (enum).
173
207
  # @param [Object] action_type Object to be assigned
174
208
  def action_type=(action_type)
175
- validator = EnumAttributeValidator.new('String', ['webhook', 'slack_webhook', 'email', 'aws_s3_upload'])
209
+ validator = EnumAttributeValidator.new('String', ["webhook", "slack_webhook", "email", "aws_s3_upload"])
176
210
  unless validator.valid?(action_type)
177
- fail ArgumentError, 'invalid value for "action_type", must be one of #{validator.allowable_values}.'
211
+ fail ArgumentError, "invalid value for \"action_type\", must be one of #{validator.allowable_values}."
178
212
  end
179
213
  @action_type = action_type
180
214
  end
@@ -199,7 +233,7 @@ module DocSpring
199
233
  end
200
234
 
201
235
  # Calculates hash code according to all attributes.
202
- # @return [Fixnum] Hash code
236
+ # @return [Integer] Hash code
203
237
  def hash
204
238
  [id, integration_id, state, action_category, action_type, result_data].hash
205
239
  end
@@ -207,31 +241,34 @@ module DocSpring
207
241
  # Builds the object from hash
208
242
  # @param [Hash] attributes Model attributes in the form of hash
209
243
  # @return [Object] Returns the model itself
210
- def build_from_hash(attributes)
244
+ def self.build_from_hash(attributes)
211
245
  return nil unless attributes.is_a?(Hash)
212
- self.class.openapi_types.each_pair do |key, type|
213
- if type =~ /\AArray<(.*)>/i
214
- # check to ensure the input is an array given that the the attribute
246
+ attributes = attributes.transform_keys(&:to_sym)
247
+ transformed_hash = {}
248
+ openapi_types.each_pair do |key, type|
249
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
250
+ transformed_hash["#{key}"] = nil
251
+ elsif type =~ /\AArray<(.*)>/i
252
+ # check to ensure the input is an array given that the attribute
215
253
  # is documented as an array but the input is not
216
- if attributes[self.class.attribute_map[key]].is_a?(Array)
217
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
254
+ if attributes[attribute_map[key]].is_a?(Array)
255
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
218
256
  end
219
- elsif !attributes[self.class.attribute_map[key]].nil?
220
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
221
- end # or else data not found in attributes(hash), not an issue as the data can be optional
257
+ elsif !attributes[attribute_map[key]].nil?
258
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
259
+ end
222
260
  end
223
-
224
- self
261
+ new(transformed_hash)
225
262
  end
226
263
 
227
264
  # Deserializes the data based on type
228
265
  # @param string type Data type
229
266
  # @param string value Value to be deserialized
230
267
  # @return [Object] Deserialized data
231
- def _deserialize(type, value)
268
+ def self._deserialize(type, value)
232
269
  case type.to_sym
233
- when :DateTime
234
- DateTime.parse(value)
270
+ when :Time
271
+ Time.parse(value)
235
272
  when :Date
236
273
  Date.parse(value)
237
274
  when :String
@@ -240,7 +277,7 @@ module DocSpring
240
277
  value.to_i
241
278
  when :Float
242
279
  value.to_f
243
- when :BOOLEAN
280
+ when :Boolean
244
281
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
245
282
  true
246
283
  else
@@ -261,8 +298,9 @@ module DocSpring
261
298
  end
262
299
  end
263
300
  else # model
264
- temp_model = DocSpring.const_get(type).new
265
- temp_model.build_from_hash(value)
301
+ # models (e.g. Pet) or oneOf
302
+ klass = DocSpring.const_get(type)
303
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
266
304
  end
267
305
  end
268
306
 
@@ -284,7 +322,11 @@ module DocSpring
284
322
  hash = {}
285
323
  self.class.attribute_map.each_pair do |attr, param|
286
324
  value = self.send(attr)
287
- next if value.nil?
325
+ if value.nil?
326
+ is_nullable = self.class.openapi_nullable.include?(attr)
327
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
328
+ end
329
+
288
330
  hash[param] = _to_hash(value)
289
331
  end
290
332
  hash
@@ -307,5 +349,7 @@ module DocSpring
307
349
  value
308
350
  end
309
351
  end
352
+
310
353
  end
354
+
311
355
  end