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