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,34 +3,35 @@
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 SubmissionBatch
17
- attr_accessor :pending_count
18
-
19
- attr_accessor :completion_percentage
20
-
21
- attr_accessor :metadata
18
+ attr_accessor :id
22
19
 
23
20
  attr_accessor :total_count
24
21
 
25
- attr_accessor :submissions
22
+ attr_accessor :pending_count
26
23
 
27
- attr_accessor :processed_at
24
+ attr_accessor :error_count
28
25
 
29
- attr_accessor :id
26
+ attr_accessor :completion_percentage
30
27
 
31
28
  attr_accessor :state
32
29
 
33
- attr_accessor :error_count
30
+ attr_accessor :processed_at
31
+
32
+ attr_accessor :metadata
33
+
34
+ attr_accessor :submissions
34
35
 
35
36
  class EnumAttributeValidator
36
37
  attr_reader :datatype
@@ -57,101 +58,173 @@ module DocSpring
57
58
  # Attribute mapping from ruby-style variable name to JSON key.
58
59
  def self.attribute_map
59
60
  {
61
+ :'id' => :'id',
62
+ :'total_count' => :'total_count',
60
63
  :'pending_count' => :'pending_count',
64
+ :'error_count' => :'error_count',
61
65
  :'completion_percentage' => :'completion_percentage',
62
- :'metadata' => :'metadata',
63
- :'total_count' => :'total_count',
64
- :'submissions' => :'submissions',
65
- :'processed_at' => :'processed_at',
66
- :'id' => :'id',
67
66
  :'state' => :'state',
68
- :'error_count' => :'error_count'
67
+ :'processed_at' => :'processed_at',
68
+ :'metadata' => :'metadata',
69
+ :'submissions' => :'submissions'
69
70
  }
70
71
  end
71
72
 
73
+ # Returns all the JSON keys this model knows about
74
+ def self.acceptable_attributes
75
+ attribute_map.values
76
+ end
77
+
72
78
  # Attribute type mapping.
73
79
  def self.openapi_types
74
80
  {
81
+ :'id' => :'String',
82
+ :'total_count' => :'Integer',
75
83
  :'pending_count' => :'Integer',
84
+ :'error_count' => :'Integer',
76
85
  :'completion_percentage' => :'Integer',
77
- :'metadata' => :'Object',
78
- :'total_count' => :'Integer',
79
- :'submissions' => :'Array<Submission>',
80
- :'processed_at' => :'String',
81
- :'id' => :'String',
82
86
  :'state' => :'String',
83
- :'error_count' => :'Integer'
87
+ :'processed_at' => :'String',
88
+ :'metadata' => :'Object',
89
+ :'submissions' => :'Array<Submission>'
84
90
  }
85
91
  end
86
92
 
93
+ # List of attributes with nullable: true
94
+ def self.openapi_nullable
95
+ Set.new([
96
+ :'processed_at',
97
+ ])
98
+ end
99
+
87
100
  # Initializes the object
88
101
  # @param [Hash] attributes Model attributes in the form of hash
89
102
  def initialize(attributes = {})
90
- return unless attributes.is_a?(Hash)
103
+ if (!attributes.is_a?(Hash))
104
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::SubmissionBatch` initialize method"
105
+ end
91
106
 
92
- # convert string to symbol for hash key
93
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
107
+ # check to see if the attribute exists and convert string to symbol for hash key
108
+ attributes = attributes.each_with_object({}) { |(k, v), h|
109
+ if (!self.class.attribute_map.key?(k.to_sym))
110
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::SubmissionBatch`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
111
+ end
112
+ h[k.to_sym] = v
113
+ }
94
114
 
95
- if attributes.has_key?(:'pending_count')
96
- self.pending_count = attributes[:'pending_count']
115
+ if attributes.key?(:'id')
116
+ self.id = attributes[:'id']
117
+ else
118
+ self.id = nil
97
119
  end
98
120
 
99
- if attributes.has_key?(:'completion_percentage')
100
- self.completion_percentage = attributes[:'completion_percentage']
121
+ if attributes.key?(:'total_count')
122
+ self.total_count = attributes[:'total_count']
123
+ else
124
+ self.total_count = nil
101
125
  end
102
126
 
103
- if attributes.has_key?(:'metadata')
104
- self.metadata = attributes[:'metadata']
127
+ if attributes.key?(:'pending_count')
128
+ self.pending_count = attributes[:'pending_count']
129
+ else
130
+ self.pending_count = nil
105
131
  end
106
132
 
107
- if attributes.has_key?(:'total_count')
108
- self.total_count = attributes[:'total_count']
133
+ if attributes.key?(:'error_count')
134
+ self.error_count = attributes[:'error_count']
135
+ else
136
+ self.error_count = nil
109
137
  end
110
138
 
111
- if attributes.has_key?(:'submissions')
112
- if (value = attributes[:'submissions']).is_a?(Array)
113
- self.submissions = value
114
- end
139
+ if attributes.key?(:'completion_percentage')
140
+ self.completion_percentage = attributes[:'completion_percentage']
141
+ else
142
+ self.completion_percentage = nil
115
143
  end
116
144
 
117
- if attributes.has_key?(:'processed_at')
118
- self.processed_at = attributes[:'processed_at']
145
+ if attributes.key?(:'state')
146
+ self.state = attributes[:'state']
147
+ else
148
+ self.state = nil
119
149
  end
120
150
 
121
- if attributes.has_key?(:'id')
122
- self.id = attributes[:'id']
151
+ if attributes.key?(:'processed_at')
152
+ self.processed_at = attributes[:'processed_at']
153
+ else
154
+ self.processed_at = nil
123
155
  end
124
156
 
125
- if attributes.has_key?(:'state')
126
- self.state = attributes[:'state']
157
+ if attributes.key?(:'metadata')
158
+ self.metadata = attributes[:'metadata']
159
+ else
160
+ self.metadata = nil
127
161
  end
128
162
 
129
- if attributes.has_key?(:'error_count')
130
- self.error_count = attributes[:'error_count']
163
+ if attributes.key?(:'submissions')
164
+ if (value = attributes[:'submissions']).is_a?(Array)
165
+ self.submissions = value
166
+ end
131
167
  end
132
168
  end
133
169
 
134
170
  # Show invalid properties with the reasons. Usually used together with valid?
135
171
  # @return Array for valid properties with the reasons
136
172
  def list_invalid_properties
173
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
137
174
  invalid_properties = Array.new
175
+ if @id.nil?
176
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
177
+ end
178
+
179
+ if @total_count.nil?
180
+ invalid_properties.push('invalid value for "total_count", total_count cannot be nil.')
181
+ end
182
+
183
+ if @pending_count.nil?
184
+ invalid_properties.push('invalid value for "pending_count", pending_count cannot be nil.')
185
+ end
186
+
187
+ if @error_count.nil?
188
+ invalid_properties.push('invalid value for "error_count", error_count cannot be nil.')
189
+ end
190
+
191
+ if @completion_percentage.nil?
192
+ invalid_properties.push('invalid value for "completion_percentage", completion_percentage cannot be nil.')
193
+ end
194
+
195
+ if @state.nil?
196
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
197
+ end
198
+
199
+ if @metadata.nil?
200
+ invalid_properties.push('invalid value for "metadata", metadata cannot be nil.')
201
+ end
202
+
138
203
  invalid_properties
139
204
  end
140
205
 
141
206
  # Check to see if the all the properties in the model are valid
142
207
  # @return true if the model is valid
143
208
  def valid?
144
- state_validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'error'])
209
+ warn '[DEPRECATED] the `valid?` method is obsolete'
210
+ return false if @id.nil?
211
+ return false if @total_count.nil?
212
+ return false if @pending_count.nil?
213
+ return false if @error_count.nil?
214
+ return false if @completion_percentage.nil?
215
+ return false if @state.nil?
216
+ state_validator = EnumAttributeValidator.new('String', ["pending", "processed", "error"])
145
217
  return false unless state_validator.valid?(@state)
218
+ return false if @metadata.nil?
146
219
  true
147
220
  end
148
221
 
149
222
  # Custom attribute writer method checking allowed values (enum).
150
223
  # @param [Object] state Object to be assigned
151
224
  def state=(state)
152
- validator = EnumAttributeValidator.new('String', ['pending', 'processed', 'error'])
225
+ validator = EnumAttributeValidator.new('String', ["pending", "processed", "error"])
153
226
  unless validator.valid?(state)
154
- fail ArgumentError, 'invalid value for "state", must be one of #{validator.allowable_values}.'
227
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
155
228
  end
156
229
  @state = state
157
230
  end
@@ -161,15 +234,15 @@ module DocSpring
161
234
  def ==(o)
162
235
  return true if self.equal?(o)
163
236
  self.class == o.class &&
237
+ id == o.id &&
238
+ total_count == o.total_count &&
164
239
  pending_count == o.pending_count &&
240
+ error_count == o.error_count &&
165
241
  completion_percentage == o.completion_percentage &&
166
- metadata == o.metadata &&
167
- total_count == o.total_count &&
168
- submissions == o.submissions &&
169
- processed_at == o.processed_at &&
170
- id == o.id &&
171
242
  state == o.state &&
172
- error_count == o.error_count
243
+ processed_at == o.processed_at &&
244
+ metadata == o.metadata &&
245
+ submissions == o.submissions
173
246
  end
174
247
 
175
248
  # @see the `==` method
@@ -179,39 +252,42 @@ module DocSpring
179
252
  end
180
253
 
181
254
  # Calculates hash code according to all attributes.
182
- # @return [Fixnum] Hash code
255
+ # @return [Integer] Hash code
183
256
  def hash
184
- [pending_count, completion_percentage, metadata, total_count, submissions, processed_at, id, state, error_count].hash
257
+ [id, total_count, pending_count, error_count, completion_percentage, state, processed_at, metadata, submissions].hash
185
258
  end
186
259
 
187
260
  # Builds the object from hash
188
261
  # @param [Hash] attributes Model attributes in the form of hash
189
262
  # @return [Object] Returns the model itself
190
- def build_from_hash(attributes)
263
+ def self.build_from_hash(attributes)
191
264
  return nil unless attributes.is_a?(Hash)
192
- self.class.openapi_types.each_pair do |key, type|
193
- if type =~ /\AArray<(.*)>/i
194
- # check to ensure the input is an array given that the the attribute
265
+ attributes = attributes.transform_keys(&:to_sym)
266
+ transformed_hash = {}
267
+ openapi_types.each_pair do |key, type|
268
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
269
+ transformed_hash["#{key}"] = nil
270
+ elsif type =~ /\AArray<(.*)>/i
271
+ # check to ensure the input is an array given that the attribute
195
272
  # is documented as an array but the input is not
196
- if attributes[self.class.attribute_map[key]].is_a?(Array)
197
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
273
+ if attributes[attribute_map[key]].is_a?(Array)
274
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
198
275
  end
199
- elsif !attributes[self.class.attribute_map[key]].nil?
200
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
201
- end # or else data not found in attributes(hash), not an issue as the data can be optional
276
+ elsif !attributes[attribute_map[key]].nil?
277
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
278
+ end
202
279
  end
203
-
204
- self
280
+ new(transformed_hash)
205
281
  end
206
282
 
207
283
  # Deserializes the data based on type
208
284
  # @param string type Data type
209
285
  # @param string value Value to be deserialized
210
286
  # @return [Object] Deserialized data
211
- def _deserialize(type, value)
287
+ def self._deserialize(type, value)
212
288
  case type.to_sym
213
- when :DateTime
214
- DateTime.parse(value)
289
+ when :Time
290
+ Time.parse(value)
215
291
  when :Date
216
292
  Date.parse(value)
217
293
  when :String
@@ -220,7 +296,7 @@ module DocSpring
220
296
  value.to_i
221
297
  when :Float
222
298
  value.to_f
223
- when :BOOLEAN
299
+ when :Boolean
224
300
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
225
301
  true
226
302
  else
@@ -241,8 +317,9 @@ module DocSpring
241
317
  end
242
318
  end
243
319
  else # model
244
- temp_model = DocSpring.const_get(type).new
245
- temp_model.build_from_hash(value)
320
+ # models (e.g. Pet) or oneOf
321
+ klass = DocSpring.const_get(type)
322
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
246
323
  end
247
324
  end
248
325
 
@@ -264,7 +341,11 @@ module DocSpring
264
341
  hash = {}
265
342
  self.class.attribute_map.each_pair do |attr, param|
266
343
  value = self.send(attr)
267
- next if value.nil?
344
+ if value.nil?
345
+ is_nullable = self.class.openapi_nullable.include?(attr)
346
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
347
+ end
348
+
268
349
  hash[param] = _to_hash(value)
269
350
  end
270
351
  hash
@@ -287,5 +368,7 @@ module DocSpring
287
368
  value
288
369
  end
289
370
  end
371
+
290
372
  end
373
+
291
374
  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 SubmissionBatchData
@@ -20,6 +21,8 @@ module DocSpring
20
21
 
21
22
  attr_accessor :template_id
22
23
 
24
+ attr_accessor :template_version
25
+
23
26
  attr_accessor :test
24
27
 
25
28
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -28,43 +31,71 @@ module DocSpring
28
31
  :'metadata' => :'metadata',
29
32
  :'submissions' => :'submissions',
30
33
  :'template_id' => :'template_id',
34
+ :'template_version' => :'template_version',
31
35
  :'test' => :'test'
32
36
  }
33
37
  end
34
38
 
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ attribute_map.values
42
+ end
43
+
35
44
  # Attribute type mapping.
36
45
  def self.openapi_types
37
46
  {
38
47
  :'metadata' => :'Object',
39
48
  :'submissions' => :'Array<SubmissionDataBatchRequest>',
40
49
  :'template_id' => :'String',
41
- :'test' => :'BOOLEAN'
50
+ :'template_version' => :'String',
51
+ :'test' => :'Boolean'
42
52
  }
43
53
  end
44
54
 
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ :'template_id',
59
+ :'template_version',
60
+ ])
61
+ end
62
+
45
63
  # Initializes the object
46
64
  # @param [Hash] attributes Model attributes in the form of hash
47
65
  def initialize(attributes = {})
48
- return unless attributes.is_a?(Hash)
66
+ if (!attributes.is_a?(Hash))
67
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::SubmissionBatchData` initialize method"
68
+ end
49
69
 
50
- # convert string to symbol for hash key
51
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
70
+ # check to see if the attribute exists and convert string to symbol for hash key
71
+ attributes = attributes.each_with_object({}) { |(k, v), h|
72
+ if (!self.class.attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::SubmissionBatchData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
74
+ end
75
+ h[k.to_sym] = v
76
+ }
52
77
 
53
- if attributes.has_key?(:'metadata')
78
+ if attributes.key?(:'metadata')
54
79
  self.metadata = attributes[:'metadata']
55
80
  end
56
81
 
57
- if attributes.has_key?(:'submissions')
82
+ if attributes.key?(:'submissions')
58
83
  if (value = attributes[:'submissions']).is_a?(Array)
59
84
  self.submissions = value
60
85
  end
86
+ else
87
+ self.submissions = nil
61
88
  end
62
89
 
63
- if attributes.has_key?(:'template_id')
90
+ if attributes.key?(:'template_id')
64
91
  self.template_id = attributes[:'template_id']
65
92
  end
66
93
 
67
- if attributes.has_key?(:'test')
94
+ if attributes.key?(:'template_version')
95
+ self.template_version = attributes[:'template_version']
96
+ end
97
+
98
+ if attributes.key?(:'test')
68
99
  self.test = attributes[:'test']
69
100
  end
70
101
  end
@@ -72,6 +103,7 @@ module DocSpring
72
103
  # Show invalid properties with the reasons. Usually used together with valid?
73
104
  # @return Array for valid properties with the reasons
74
105
  def list_invalid_properties
106
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
75
107
  invalid_properties = Array.new
76
108
  if @submissions.nil?
77
109
  invalid_properties.push('invalid value for "submissions", submissions cannot be nil.')
@@ -83,6 +115,7 @@ module DocSpring
83
115
  # Check to see if the all the properties in the model are valid
84
116
  # @return true if the model is valid
85
117
  def valid?
118
+ warn '[DEPRECATED] the `valid?` method is obsolete'
86
119
  return false if @submissions.nil?
87
120
  true
88
121
  end
@@ -95,6 +128,7 @@ module DocSpring
95
128
  metadata == o.metadata &&
96
129
  submissions == o.submissions &&
97
130
  template_id == o.template_id &&
131
+ template_version == o.template_version &&
98
132
  test == o.test
99
133
  end
100
134
 
@@ -105,39 +139,42 @@ module DocSpring
105
139
  end
106
140
 
107
141
  # Calculates hash code according to all attributes.
108
- # @return [Fixnum] Hash code
142
+ # @return [Integer] Hash code
109
143
  def hash
110
- [metadata, submissions, template_id, test].hash
144
+ [metadata, submissions, template_id, template_version, test].hash
111
145
  end
112
146
 
113
147
  # Builds the object from hash
114
148
  # @param [Hash] attributes Model attributes in the form of hash
115
149
  # @return [Object] Returns the model itself
116
- def build_from_hash(attributes)
150
+ def self.build_from_hash(attributes)
117
151
  return nil unless attributes.is_a?(Hash)
118
- self.class.openapi_types.each_pair do |key, type|
119
- if type =~ /\AArray<(.*)>/i
120
- # check to ensure the input is an array given that the the attribute
152
+ attributes = attributes.transform_keys(&:to_sym)
153
+ transformed_hash = {}
154
+ openapi_types.each_pair do |key, type|
155
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
156
+ transformed_hash["#{key}"] = nil
157
+ elsif type =~ /\AArray<(.*)>/i
158
+ # check to ensure the input is an array given that the attribute
121
159
  # is documented as an array but the input is not
122
- if attributes[self.class.attribute_map[key]].is_a?(Array)
123
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
160
+ if attributes[attribute_map[key]].is_a?(Array)
161
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
124
162
  end
125
- elsif !attributes[self.class.attribute_map[key]].nil?
126
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
127
- end # or else data not found in attributes(hash), not an issue as the data can be optional
163
+ elsif !attributes[attribute_map[key]].nil?
164
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
165
+ end
128
166
  end
129
-
130
- self
167
+ new(transformed_hash)
131
168
  end
132
169
 
133
170
  # Deserializes the data based on type
134
171
  # @param string type Data type
135
172
  # @param string value Value to be deserialized
136
173
  # @return [Object] Deserialized data
137
- def _deserialize(type, value)
174
+ def self._deserialize(type, value)
138
175
  case type.to_sym
139
- when :DateTime
140
- DateTime.parse(value)
176
+ when :Time
177
+ Time.parse(value)
141
178
  when :Date
142
179
  Date.parse(value)
143
180
  when :String
@@ -146,7 +183,7 @@ module DocSpring
146
183
  value.to_i
147
184
  when :Float
148
185
  value.to_f
149
- when :BOOLEAN
186
+ when :Boolean
150
187
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
188
  true
152
189
  else
@@ -167,8 +204,9 @@ module DocSpring
167
204
  end
168
205
  end
169
206
  else # model
170
- temp_model = DocSpring.const_get(type).new
171
- temp_model.build_from_hash(value)
207
+ # models (e.g. Pet) or oneOf
208
+ klass = DocSpring.const_get(type)
209
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
210
  end
173
211
  end
174
212
 
@@ -190,7 +228,11 @@ module DocSpring
190
228
  hash = {}
191
229
  self.class.attribute_map.each_pair do |attr, param|
192
230
  value = self.send(attr)
193
- next if value.nil?
231
+ if value.nil?
232
+ is_nullable = self.class.openapi_nullable.include?(attr)
233
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
234
+ end
235
+
194
236
  hash[param] = _to_hash(value)
195
237
  end
196
238
  hash
@@ -213,5 +255,7 @@ module DocSpring
213
255
  value
214
256
  end
215
257
  end
258
+
216
259
  end
260
+
217
261
  end