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,21 +3,22 @@
3
3
 
4
4
  #DocSpring is a service that helps you fill out and sign PDF templates.
5
5
 
6
- OpenAPI spec version: v1
6
+ The version of the OpenAPI document: v1
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 3.3.0
9
+ Generator version: 7.11.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module DocSpring
16
- class UploadTemplateDataDocument
17
- attr_accessor :metadata
18
-
17
+ class TemplateDocument
19
18
  attr_accessor :id
20
19
 
20
+ attr_accessor :metadata
21
+
21
22
  attr_accessor :storage
22
23
 
23
24
  class EnumAttributeValidator
@@ -45,53 +46,94 @@ module DocSpring
45
46
  # Attribute mapping from ruby-style variable name to JSON key.
46
47
  def self.attribute_map
47
48
  {
48
- :'metadata' => :'metadata',
49
49
  :'id' => :'id',
50
+ :'metadata' => :'metadata',
50
51
  :'storage' => :'storage'
51
52
  }
52
53
  end
53
54
 
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ attribute_map.values
58
+ end
59
+
54
60
  # Attribute type mapping.
55
61
  def self.openapi_types
56
62
  {
57
- :'metadata' => :'UploadTemplateDataDocumentMetadata',
58
63
  :'id' => :'String',
64
+ :'metadata' => :'TemplateDocumentMetadata',
59
65
  :'storage' => :'String'
60
66
  }
61
67
  end
62
68
 
69
+ # List of attributes with nullable: true
70
+ def self.openapi_nullable
71
+ Set.new([
72
+ ])
73
+ end
74
+
63
75
  # Initializes the object
64
76
  # @param [Hash] attributes Model attributes in the form of hash
65
77
  def initialize(attributes = {})
66
- return unless attributes.is_a?(Hash)
78
+ if (!attributes.is_a?(Hash))
79
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::TemplateDocument` initialize method"
80
+ end
67
81
 
68
- # convert string to symbol for hash key
69
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
82
+ # check to see if the attribute exists and convert string to symbol for hash key
83
+ attributes = attributes.each_with_object({}) { |(k, v), h|
84
+ if (!self.class.attribute_map.key?(k.to_sym))
85
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::TemplateDocument`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
+ end
87
+ h[k.to_sym] = v
88
+ }
70
89
 
71
- if attributes.has_key?(:'metadata')
72
- self.metadata = attributes[:'metadata']
90
+ if attributes.key?(:'id')
91
+ self.id = attributes[:'id']
92
+ else
93
+ self.id = nil
73
94
  end
74
95
 
75
- if attributes.has_key?(:'id')
76
- self.id = attributes[:'id']
96
+ if attributes.key?(:'metadata')
97
+ self.metadata = attributes[:'metadata']
98
+ else
99
+ self.metadata = nil
77
100
  end
78
101
 
79
- if attributes.has_key?(:'storage')
102
+ if attributes.key?(:'storage')
80
103
  self.storage = attributes[:'storage']
104
+ else
105
+ self.storage = nil
81
106
  end
82
107
  end
83
108
 
84
109
  # Show invalid properties with the reasons. Usually used together with valid?
85
110
  # @return Array for valid properties with the reasons
86
111
  def list_invalid_properties
112
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
87
113
  invalid_properties = Array.new
114
+ if @id.nil?
115
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
116
+ end
117
+
118
+ if @metadata.nil?
119
+ invalid_properties.push('invalid value for "metadata", metadata cannot be nil.')
120
+ end
121
+
122
+ if @storage.nil?
123
+ invalid_properties.push('invalid value for "storage", storage cannot be nil.')
124
+ end
125
+
88
126
  invalid_properties
89
127
  end
90
128
 
91
129
  # Check to see if the all the properties in the model are valid
92
130
  # @return true if the model is valid
93
131
  def valid?
94
- storage_validator = EnumAttributeValidator.new('String', ['cache'])
132
+ warn '[DEPRECATED] the `valid?` method is obsolete'
133
+ return false if @id.nil?
134
+ return false if @metadata.nil?
135
+ return false if @storage.nil?
136
+ storage_validator = EnumAttributeValidator.new('String', ["cache"])
95
137
  return false unless storage_validator.valid?(@storage)
96
138
  true
97
139
  end
@@ -99,9 +141,9 @@ module DocSpring
99
141
  # Custom attribute writer method checking allowed values (enum).
100
142
  # @param [Object] storage Object to be assigned
101
143
  def storage=(storage)
102
- validator = EnumAttributeValidator.new('String', ['cache'])
144
+ validator = EnumAttributeValidator.new('String', ["cache"])
103
145
  unless validator.valid?(storage)
104
- fail ArgumentError, 'invalid value for "storage", must be one of #{validator.allowable_values}.'
146
+ fail ArgumentError, "invalid value for \"storage\", must be one of #{validator.allowable_values}."
105
147
  end
106
148
  @storage = storage
107
149
  end
@@ -111,8 +153,8 @@ module DocSpring
111
153
  def ==(o)
112
154
  return true if self.equal?(o)
113
155
  self.class == o.class &&
114
- metadata == o.metadata &&
115
156
  id == o.id &&
157
+ metadata == o.metadata &&
116
158
  storage == o.storage
117
159
  end
118
160
 
@@ -123,39 +165,42 @@ module DocSpring
123
165
  end
124
166
 
125
167
  # Calculates hash code according to all attributes.
126
- # @return [Fixnum] Hash code
168
+ # @return [Integer] Hash code
127
169
  def hash
128
- [metadata, id, storage].hash
170
+ [id, metadata, storage].hash
129
171
  end
130
172
 
131
173
  # Builds the object from hash
132
174
  # @param [Hash] attributes Model attributes in the form of hash
133
175
  # @return [Object] Returns the model itself
134
- def build_from_hash(attributes)
176
+ def self.build_from_hash(attributes)
135
177
  return nil unless attributes.is_a?(Hash)
136
- self.class.openapi_types.each_pair do |key, type|
137
- if type =~ /\AArray<(.*)>/i
138
- # check to ensure the input is an array given that the the attribute
178
+ attributes = attributes.transform_keys(&:to_sym)
179
+ transformed_hash = {}
180
+ openapi_types.each_pair do |key, type|
181
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
182
+ transformed_hash["#{key}"] = nil
183
+ elsif type =~ /\AArray<(.*)>/i
184
+ # check to ensure the input is an array given that the attribute
139
185
  # is documented as an array but the input is not
140
- if attributes[self.class.attribute_map[key]].is_a?(Array)
141
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
186
+ if attributes[attribute_map[key]].is_a?(Array)
187
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
142
188
  end
143
- elsif !attributes[self.class.attribute_map[key]].nil?
144
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
145
- end # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ elsif !attributes[attribute_map[key]].nil?
190
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
191
+ end
146
192
  end
147
-
148
- self
193
+ new(transformed_hash)
149
194
  end
150
195
 
151
196
  # Deserializes the data based on type
152
197
  # @param string type Data type
153
198
  # @param string value Value to be deserialized
154
199
  # @return [Object] Deserialized data
155
- def _deserialize(type, value)
200
+ def self._deserialize(type, value)
156
201
  case type.to_sym
157
- when :DateTime
158
- DateTime.parse(value)
202
+ when :Time
203
+ Time.parse(value)
159
204
  when :Date
160
205
  Date.parse(value)
161
206
  when :String
@@ -164,7 +209,7 @@ module DocSpring
164
209
  value.to_i
165
210
  when :Float
166
211
  value.to_f
167
- when :BOOLEAN
212
+ when :Boolean
168
213
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
169
214
  true
170
215
  else
@@ -185,8 +230,9 @@ module DocSpring
185
230
  end
186
231
  end
187
232
  else # model
188
- temp_model = DocSpring.const_get(type).new
189
- temp_model.build_from_hash(value)
233
+ # models (e.g. Pet) or oneOf
234
+ klass = DocSpring.const_get(type)
235
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
236
  end
191
237
  end
192
238
 
@@ -208,7 +254,11 @@ module DocSpring
208
254
  hash = {}
209
255
  self.class.attribute_map.each_pair do |attr, param|
210
256
  value = self.send(attr)
211
- next if value.nil?
257
+ if value.nil?
258
+ is_nullable = self.class.openapi_nullable.include?(attr)
259
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
260
+ end
261
+
212
262
  hash[param] = _to_hash(value)
213
263
  end
214
264
  hash
@@ -231,5 +281,7 @@ module DocSpring
231
281
  value
232
282
  end
233
283
  end
284
+
234
285
  end
286
+
235
287
  end
@@ -3,23 +3,24 @@
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
- class UploadTemplateDataDocumentMetadata
17
+ class TemplateDocumentMetadata
17
18
  attr_accessor :filename
18
19
 
19
- attr_accessor :size
20
-
21
20
  attr_accessor :mime_type
22
21
 
22
+ attr_accessor :size
23
+
23
24
  class EnumAttributeValidator
24
25
  attr_reader :datatype
25
26
  attr_reader :allowable_values
@@ -46,62 +47,103 @@ module DocSpring
46
47
  def self.attribute_map
47
48
  {
48
49
  :'filename' => :'filename',
49
- :'size' => :'size',
50
- :'mime_type' => :'mime_type'
50
+ :'mime_type' => :'mime_type',
51
+ :'size' => :'size'
51
52
  }
52
53
  end
53
54
 
55
+ # Returns all the JSON keys this model knows about
56
+ def self.acceptable_attributes
57
+ attribute_map.values
58
+ end
59
+
54
60
  # Attribute type mapping.
55
61
  def self.openapi_types
56
62
  {
57
63
  :'filename' => :'String',
58
- :'size' => :'Integer',
59
- :'mime_type' => :'String'
64
+ :'mime_type' => :'String',
65
+ :'size' => :'Integer'
60
66
  }
61
67
  end
62
68
 
69
+ # List of attributes with nullable: true
70
+ def self.openapi_nullable
71
+ Set.new([
72
+ ])
73
+ end
74
+
63
75
  # Initializes the object
64
76
  # @param [Hash] attributes Model attributes in the form of hash
65
77
  def initialize(attributes = {})
66
- return unless attributes.is_a?(Hash)
78
+ if (!attributes.is_a?(Hash))
79
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::TemplateDocumentMetadata` initialize method"
80
+ end
67
81
 
68
- # convert string to symbol for hash key
69
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
82
+ # check to see if the attribute exists and convert string to symbol for hash key
83
+ attributes = attributes.each_with_object({}) { |(k, v), h|
84
+ if (!self.class.attribute_map.key?(k.to_sym))
85
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::TemplateDocumentMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
+ end
87
+ h[k.to_sym] = v
88
+ }
70
89
 
71
- if attributes.has_key?(:'filename')
90
+ if attributes.key?(:'filename')
72
91
  self.filename = attributes[:'filename']
92
+ else
93
+ self.filename = nil
73
94
  end
74
95
 
75
- if attributes.has_key?(:'size')
76
- self.size = attributes[:'size']
96
+ if attributes.key?(:'mime_type')
97
+ self.mime_type = attributes[:'mime_type']
98
+ else
99
+ self.mime_type = nil
77
100
  end
78
101
 
79
- if attributes.has_key?(:'mime_type')
80
- self.mime_type = attributes[:'mime_type']
102
+ if attributes.key?(:'size')
103
+ self.size = attributes[:'size']
104
+ else
105
+ self.size = nil
81
106
  end
82
107
  end
83
108
 
84
109
  # Show invalid properties with the reasons. Usually used together with valid?
85
110
  # @return Array for valid properties with the reasons
86
111
  def list_invalid_properties
112
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
87
113
  invalid_properties = Array.new
114
+ if @filename.nil?
115
+ invalid_properties.push('invalid value for "filename", filename cannot be nil.')
116
+ end
117
+
118
+ if @mime_type.nil?
119
+ invalid_properties.push('invalid value for "mime_type", mime_type cannot be nil.')
120
+ end
121
+
122
+ if @size.nil?
123
+ invalid_properties.push('invalid value for "size", size cannot be nil.')
124
+ end
125
+
88
126
  invalid_properties
89
127
  end
90
128
 
91
129
  # Check to see if the all the properties in the model are valid
92
130
  # @return true if the model is valid
93
131
  def valid?
94
- mime_type_validator = EnumAttributeValidator.new('String', ['application/pdf'])
132
+ warn '[DEPRECATED] the `valid?` method is obsolete'
133
+ return false if @filename.nil?
134
+ return false if @mime_type.nil?
135
+ mime_type_validator = EnumAttributeValidator.new('String', ["application/pdf"])
95
136
  return false unless mime_type_validator.valid?(@mime_type)
137
+ return false if @size.nil?
96
138
  true
97
139
  end
98
140
 
99
141
  # Custom attribute writer method checking allowed values (enum).
100
142
  # @param [Object] mime_type Object to be assigned
101
143
  def mime_type=(mime_type)
102
- validator = EnumAttributeValidator.new('String', ['application/pdf'])
144
+ validator = EnumAttributeValidator.new('String', ["application/pdf"])
103
145
  unless validator.valid?(mime_type)
104
- fail ArgumentError, 'invalid value for "mime_type", must be one of #{validator.allowable_values}.'
146
+ fail ArgumentError, "invalid value for \"mime_type\", must be one of #{validator.allowable_values}."
105
147
  end
106
148
  @mime_type = mime_type
107
149
  end
@@ -112,8 +154,8 @@ module DocSpring
112
154
  return true if self.equal?(o)
113
155
  self.class == o.class &&
114
156
  filename == o.filename &&
115
- size == o.size &&
116
- mime_type == o.mime_type
157
+ mime_type == o.mime_type &&
158
+ size == o.size
117
159
  end
118
160
 
119
161
  # @see the `==` method
@@ -123,39 +165,42 @@ module DocSpring
123
165
  end
124
166
 
125
167
  # Calculates hash code according to all attributes.
126
- # @return [Fixnum] Hash code
168
+ # @return [Integer] Hash code
127
169
  def hash
128
- [filename, size, mime_type].hash
170
+ [filename, mime_type, size].hash
129
171
  end
130
172
 
131
173
  # Builds the object from hash
132
174
  # @param [Hash] attributes Model attributes in the form of hash
133
175
  # @return [Object] Returns the model itself
134
- def build_from_hash(attributes)
176
+ def self.build_from_hash(attributes)
135
177
  return nil unless attributes.is_a?(Hash)
136
- self.class.openapi_types.each_pair do |key, type|
137
- if type =~ /\AArray<(.*)>/i
138
- # check to ensure the input is an array given that the the attribute
178
+ attributes = attributes.transform_keys(&:to_sym)
179
+ transformed_hash = {}
180
+ openapi_types.each_pair do |key, type|
181
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
182
+ transformed_hash["#{key}"] = nil
183
+ elsif type =~ /\AArray<(.*)>/i
184
+ # check to ensure the input is an array given that the attribute
139
185
  # is documented as an array but the input is not
140
- if attributes[self.class.attribute_map[key]].is_a?(Array)
141
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
186
+ if attributes[attribute_map[key]].is_a?(Array)
187
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
142
188
  end
143
- elsif !attributes[self.class.attribute_map[key]].nil?
144
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
145
- end # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ elsif !attributes[attribute_map[key]].nil?
190
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
191
+ end
146
192
  end
147
-
148
- self
193
+ new(transformed_hash)
149
194
  end
150
195
 
151
196
  # Deserializes the data based on type
152
197
  # @param string type Data type
153
198
  # @param string value Value to be deserialized
154
199
  # @return [Object] Deserialized data
155
- def _deserialize(type, value)
200
+ def self._deserialize(type, value)
156
201
  case type.to_sym
157
- when :DateTime
158
- DateTime.parse(value)
202
+ when :Time
203
+ Time.parse(value)
159
204
  when :Date
160
205
  Date.parse(value)
161
206
  when :String
@@ -164,7 +209,7 @@ module DocSpring
164
209
  value.to_i
165
210
  when :Float
166
211
  value.to_f
167
- when :BOOLEAN
212
+ when :Boolean
168
213
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
169
214
  true
170
215
  else
@@ -185,8 +230,9 @@ module DocSpring
185
230
  end
186
231
  end
187
232
  else # model
188
- temp_model = DocSpring.const_get(type).new
189
- temp_model.build_from_hash(value)
233
+ # models (e.g. Pet) or oneOf
234
+ klass = DocSpring.const_get(type)
235
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
190
236
  end
191
237
  end
192
238
 
@@ -208,7 +254,11 @@ module DocSpring
208
254
  hash = {}
209
255
  self.class.attribute_map.each_pair do |attr, param|
210
256
  value = self.send(attr)
211
- next if value.nil?
257
+ if value.nil?
258
+ is_nullable = self.class.openapi_nullable.include?(attr)
259
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
260
+ end
261
+
212
262
  hash[param] = _to_hash(value)
213
263
  end
214
264
  hash
@@ -231,5 +281,7 @@ module DocSpring
231
281
  value
232
282
  end
233
283
  end
284
+
234
285
  end
286
+
235
287
  end