docspring 1.4.0 → 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 (239) 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 +9 -0
  8. data/Gemfile +5 -1
  9. data/Gemfile.lock +85 -48
  10. data/README.md +47 -16
  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 -7
  16. data/docs/CombinedSubmission.md +37 -12
  17. data/docs/CombinedSubmissionAction.md +23 -8
  18. data/docs/CombinedSubmissionData.md +21 -6
  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 +22 -0
  45. data/docs/MoveFolderData.md +13 -3
  46. data/docs/MoveTemplateData.md +13 -3
  47. data/docs/PDFApi.md +1746 -495
  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 -9
  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 +1485 -497
  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 +74 -32
  89. data/lib/docspring/models/combined_submission.rb +167 -68
  90. data/lib/docspring/models/combined_submission_action.rb +83 -39
  91. data/lib/docspring/models/combined_submission_data.rb +72 -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/full_template.rb +801 -0
  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 +251 -0
  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 -41
  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/template_defaults.rb +249 -0
  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 +30 -10
  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 +469 -98
  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 +18 -17
  160. data/spec/models/combined_submission_action_spec.rb +16 -21
  161. data/spec/models/combined_submission_data_spec.rb +17 -16
  162. data/spec/models/combined_submission_spec.rb +45 -32
  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 +48 -0
  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 -24
  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 +112 -124
  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/TemplatestemplateIdaddFieldsFields.md +0 -92
  228. data/docs/UploadTemplateDataDocument.md +0 -10
  229. data/docs/UploadTemplateDataDocumentMetadata.md +0 -10
  230. data/lib/docspring/models/templatestemplate_idadd_fields_fields.rb +0 -1306
  231. data/spec/api_client_spec.rb +0 -226
  232. data/spec/configuration_spec.rb +0 -53
  233. data/spec/models/create_submission_data_request_token_response_token_spec.rb +0 -59
  234. data/spec/models/custom_file_spec.rb +0 -47
  235. data/spec/models/error_spec.rb +0 -51
  236. data/spec/models/folders_folder_spec.rb +0 -47
  237. data/spec/models/templatestemplate_idadd_fields_fields_spec.rb +0 -589
  238. data/spec/models/upload_template_data_document_metadata_spec.rb +0 -57
  239. data/spec/models/upload_template_data_document_spec.rb +0 -57
@@ -3,34 +3,41 @@
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 CombinedSubmission
17
- attr_accessor :metadata
18
+ attr_accessor :id
18
19
 
19
20
  attr_accessor :expired
20
21
 
22
+ attr_accessor :expires_in
23
+
21
24
  attr_accessor :expires_at
22
25
 
23
- attr_accessor :source_pdfs
26
+ attr_accessor :state
24
27
 
25
- attr_accessor :pdf_hash
28
+ attr_accessor :error_message
26
29
 
27
- attr_accessor :download_url
30
+ attr_accessor :metadata
31
+
32
+ attr_accessor :password
28
33
 
29
34
  attr_accessor :submission_ids
30
35
 
31
- attr_accessor :id
36
+ attr_accessor :source_pdfs
32
37
 
33
- attr_accessor :state
38
+ attr_accessor :download_url
39
+
40
+ attr_accessor :pdf_hash
34
41
 
35
42
  attr_accessor :actions
36
43
 
@@ -59,84 +66,136 @@ module DocSpring
59
66
  # Attribute mapping from ruby-style variable name to JSON key.
60
67
  def self.attribute_map
61
68
  {
62
- :'metadata' => :'metadata',
69
+ :'id' => :'id',
63
70
  :'expired' => :'expired',
71
+ :'expires_in' => :'expires_in',
64
72
  :'expires_at' => :'expires_at',
73
+ :'state' => :'state',
74
+ :'error_message' => :'error_message',
75
+ :'metadata' => :'metadata',
76
+ :'password' => :'password',
77
+ :'submission_ids' => :'submission_ids',
65
78
  :'source_pdfs' => :'source_pdfs',
66
- :'pdf_hash' => :'pdf_hash',
67
79
  :'download_url' => :'download_url',
68
- :'submission_ids' => :'submission_ids',
69
- :'id' => :'id',
70
- :'state' => :'state',
80
+ :'pdf_hash' => :'pdf_hash',
71
81
  :'actions' => :'actions'
72
82
  }
73
83
  end
74
84
 
85
+ # Returns all the JSON keys this model knows about
86
+ def self.acceptable_attributes
87
+ attribute_map.values
88
+ end
89
+
75
90
  # Attribute type mapping.
76
91
  def self.openapi_types
77
92
  {
78
- :'metadata' => :'Object',
79
- :'expired' => :'BOOLEAN',
93
+ :'id' => :'String',
94
+ :'expired' => :'Boolean',
95
+ :'expires_in' => :'Integer',
80
96
  :'expires_at' => :'String',
97
+ :'state' => :'String',
98
+ :'error_message' => :'String',
99
+ :'metadata' => :'Object',
100
+ :'password' => :'String',
101
+ :'submission_ids' => :'Array<String>',
81
102
  :'source_pdfs' => :'Array<Object>',
82
- :'pdf_hash' => :'String',
83
103
  :'download_url' => :'String',
84
- :'submission_ids' => :'Array<String>',
85
- :'id' => :'String',
86
- :'state' => :'String',
104
+ :'pdf_hash' => :'String',
87
105
  :'actions' => :'Array<CombinedSubmissionAction>'
88
106
  }
89
107
  end
90
108
 
109
+ # List of attributes with nullable: true
110
+ def self.openapi_nullable
111
+ Set.new([
112
+ :'expires_in',
113
+ :'expires_at',
114
+ :'error_message',
115
+ :'password',
116
+ :'download_url',
117
+ :'pdf_hash',
118
+ ])
119
+ end
120
+
91
121
  # Initializes the object
92
122
  # @param [Hash] attributes Model attributes in the form of hash
93
123
  def initialize(attributes = {})
94
- return unless attributes.is_a?(Hash)
124
+ if (!attributes.is_a?(Hash))
125
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::CombinedSubmission` initialize method"
126
+ end
95
127
 
96
- # convert string to symbol for hash key
97
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
128
+ # check to see if the attribute exists and convert string to symbol for hash key
129
+ attributes = attributes.each_with_object({}) { |(k, v), h|
130
+ if (!self.class.attribute_map.key?(k.to_sym))
131
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::CombinedSubmission`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
132
+ end
133
+ h[k.to_sym] = v
134
+ }
98
135
 
99
- if attributes.has_key?(:'metadata')
100
- self.metadata = attributes[:'metadata']
136
+ if attributes.key?(:'id')
137
+ self.id = attributes[:'id']
138
+ else
139
+ self.id = nil
101
140
  end
102
141
 
103
- if attributes.has_key?(:'expired')
142
+ if attributes.key?(:'expired')
104
143
  self.expired = attributes[:'expired']
144
+ else
145
+ self.expired = nil
146
+ end
147
+
148
+ if attributes.key?(:'expires_in')
149
+ self.expires_in = attributes[:'expires_in']
105
150
  end
106
151
 
107
- if attributes.has_key?(:'expires_at')
152
+ if attributes.key?(:'expires_at')
108
153
  self.expires_at = attributes[:'expires_at']
109
154
  end
110
155
 
111
- if attributes.has_key?(:'source_pdfs')
112
- if (value = attributes[:'source_pdfs']).is_a?(Array)
113
- self.source_pdfs = value
114
- end
156
+ if attributes.key?(:'state')
157
+ self.state = attributes[:'state']
158
+ else
159
+ self.state = nil
115
160
  end
116
161
 
117
- if attributes.has_key?(:'pdf_hash')
118
- self.pdf_hash = attributes[:'pdf_hash']
162
+ if attributes.key?(:'error_message')
163
+ self.error_message = attributes[:'error_message']
119
164
  end
120
165
 
121
- if attributes.has_key?(:'download_url')
122
- self.download_url = attributes[:'download_url']
166
+ if attributes.key?(:'metadata')
167
+ self.metadata = attributes[:'metadata']
168
+ end
169
+
170
+ if attributes.key?(:'password')
171
+ self.password = attributes[:'password']
123
172
  end
124
173
 
125
- if attributes.has_key?(:'submission_ids')
174
+ if attributes.key?(:'submission_ids')
126
175
  if (value = attributes[:'submission_ids']).is_a?(Array)
127
176
  self.submission_ids = value
128
177
  end
178
+ else
179
+ self.submission_ids = nil
129
180
  end
130
181
 
131
- if attributes.has_key?(:'id')
132
- self.id = attributes[:'id']
182
+ if attributes.key?(:'source_pdfs')
183
+ if (value = attributes[:'source_pdfs']).is_a?(Array)
184
+ self.source_pdfs = value
185
+ end
186
+ else
187
+ self.source_pdfs = nil
133
188
  end
134
189
 
135
- if attributes.has_key?(:'state')
136
- self.state = attributes[:'state']
190
+ if attributes.key?(:'download_url')
191
+ self.download_url = attributes[:'download_url']
137
192
  end
138
193
 
139
- if attributes.has_key?(:'actions')
194
+ if attributes.key?(:'pdf_hash')
195
+ self.pdf_hash = attributes[:'pdf_hash']
196
+ end
197
+
198
+ if attributes.key?(:'actions')
140
199
  if (value = attributes[:'actions']).is_a?(Array)
141
200
  self.actions = value
142
201
  end
@@ -146,24 +205,51 @@ module DocSpring
146
205
  # Show invalid properties with the reasons. Usually used together with valid?
147
206
  # @return Array for valid properties with the reasons
148
207
  def list_invalid_properties
208
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
149
209
  invalid_properties = Array.new
210
+ if @id.nil?
211
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
212
+ end
213
+
214
+ if @expired.nil?
215
+ invalid_properties.push('invalid value for "expired", expired cannot be nil.')
216
+ end
217
+
218
+ if @state.nil?
219
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
220
+ end
221
+
222
+ if @submission_ids.nil?
223
+ invalid_properties.push('invalid value for "submission_ids", submission_ids cannot be nil.')
224
+ end
225
+
226
+ if @source_pdfs.nil?
227
+ invalid_properties.push('invalid value for "source_pdfs", source_pdfs cannot be nil.')
228
+ end
229
+
150
230
  invalid_properties
151
231
  end
152
232
 
153
233
  # Check to see if the all the properties in the model are valid
154
234
  # @return true if the model is valid
155
235
  def valid?
156
- state_validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'error'])
236
+ warn '[DEPRECATED] the `valid?` method is obsolete'
237
+ return false if @id.nil?
238
+ return false if @expired.nil?
239
+ return false if @state.nil?
240
+ state_validator = EnumAttributeValidator.new('String', ["pending", "processed", "error"])
157
241
  return false unless state_validator.valid?(@state)
242
+ return false if @submission_ids.nil?
243
+ return false if @source_pdfs.nil?
158
244
  true
159
245
  end
160
246
 
161
247
  # Custom attribute writer method checking allowed values (enum).
162
248
  # @param [Object] state Object to be assigned
163
249
  def state=(state)
164
- validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'error'])
250
+ validator = EnumAttributeValidator.new('String', ["pending", "processed", "error"])
165
251
  unless validator.valid?(state)
166
- fail ArgumentError, 'invalid value for "state", must be one of #{validator.allowable_values}.'
252
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
167
253
  end
168
254
  @state = state
169
255
  end
@@ -173,15 +259,18 @@ module DocSpring
173
259
  def ==(o)
174
260
  return true if self.equal?(o)
175
261
  self.class == o.class &&
176
- metadata == o.metadata &&
262
+ id == o.id &&
177
263
  expired == o.expired &&
264
+ expires_in == o.expires_in &&
178
265
  expires_at == o.expires_at &&
266
+ state == o.state &&
267
+ error_message == o.error_message &&
268
+ metadata == o.metadata &&
269
+ password == o.password &&
270
+ submission_ids == o.submission_ids &&
179
271
  source_pdfs == o.source_pdfs &&
180
- pdf_hash == o.pdf_hash &&
181
272
  download_url == o.download_url &&
182
- submission_ids == o.submission_ids &&
183
- id == o.id &&
184
- state == o.state &&
273
+ pdf_hash == o.pdf_hash &&
185
274
  actions == o.actions
186
275
  end
187
276
 
@@ -192,39 +281,42 @@ module DocSpring
192
281
  end
193
282
 
194
283
  # Calculates hash code according to all attributes.
195
- # @return [Fixnum] Hash code
284
+ # @return [Integer] Hash code
196
285
  def hash
197
- [metadata, expired, expires_at, source_pdfs, pdf_hash, download_url, submission_ids, id, state, actions].hash
286
+ [id, expired, expires_in, expires_at, state, error_message, metadata, password, submission_ids, source_pdfs, download_url, pdf_hash, actions].hash
198
287
  end
199
288
 
200
289
  # Builds the object from hash
201
290
  # @param [Hash] attributes Model attributes in the form of hash
202
291
  # @return [Object] Returns the model itself
203
- def build_from_hash(attributes)
292
+ def self.build_from_hash(attributes)
204
293
  return nil unless attributes.is_a?(Hash)
205
- self.class.openapi_types.each_pair do |key, type|
206
- if type =~ /\AArray<(.*)>/i
207
- # check to ensure the input is an array given that the the attribute
294
+ attributes = attributes.transform_keys(&:to_sym)
295
+ transformed_hash = {}
296
+ openapi_types.each_pair do |key, type|
297
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
298
+ transformed_hash["#{key}"] = nil
299
+ elsif type =~ /\AArray<(.*)>/i
300
+ # check to ensure the input is an array given that the attribute
208
301
  # is documented as an array but the input is not
209
- if attributes[self.class.attribute_map[key]].is_a?(Array)
210
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
302
+ if attributes[attribute_map[key]].is_a?(Array)
303
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
211
304
  end
212
- elsif !attributes[self.class.attribute_map[key]].nil?
213
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
214
- end # or else data not found in attributes(hash), not an issue as the data can be optional
305
+ elsif !attributes[attribute_map[key]].nil?
306
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
307
+ end
215
308
  end
216
-
217
- self
309
+ new(transformed_hash)
218
310
  end
219
311
 
220
312
  # Deserializes the data based on type
221
313
  # @param string type Data type
222
314
  # @param string value Value to be deserialized
223
315
  # @return [Object] Deserialized data
224
- def _deserialize(type, value)
316
+ def self._deserialize(type, value)
225
317
  case type.to_sym
226
- when :DateTime
227
- DateTime.parse(value)
318
+ when :Time
319
+ Time.parse(value)
228
320
  when :Date
229
321
  Date.parse(value)
230
322
  when :String
@@ -233,7 +325,7 @@ module DocSpring
233
325
  value.to_i
234
326
  when :Float
235
327
  value.to_f
236
- when :BOOLEAN
328
+ when :Boolean
237
329
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
238
330
  true
239
331
  else
@@ -254,8 +346,9 @@ module DocSpring
254
346
  end
255
347
  end
256
348
  else # model
257
- temp_model = DocSpring.const_get(type).new
258
- temp_model.build_from_hash(value)
349
+ # models (e.g. Pet) or oneOf
350
+ klass = DocSpring.const_get(type)
351
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
259
352
  end
260
353
  end
261
354
 
@@ -277,7 +370,11 @@ module DocSpring
277
370
  hash = {}
278
371
  self.class.attribute_map.each_pair do |attr, param|
279
372
  value = self.send(attr)
280
- next if value.nil?
373
+ if value.nil?
374
+ is_nullable = self.class.openapi_nullable.include?(attr)
375
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
376
+ end
377
+
281
378
  hash[param] = _to_hash(value)
282
379
  end
283
380
  hash
@@ -300,5 +397,7 @@ module DocSpring
300
397
  value
301
398
  end
302
399
  end
400
+
303
401
  end
402
+
304
403
  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 CombinedSubmissionAction
@@ -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::CombinedSubmissionAction` 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::CombinedSubmissionAction`. 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