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,22 +3,23 @@
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 UpdateDataRequestResponse
17
- attr_accessor :data_request
18
+ attr_accessor :status
18
19
 
19
20
  attr_accessor :errors
20
21
 
21
- attr_accessor :status
22
+ attr_accessor :data_request
22
23
 
23
24
  class EnumAttributeValidator
24
25
  attr_reader :datatype
@@ -45,65 +46,99 @@ module DocSpring
45
46
  # Attribute mapping from ruby-style variable name to JSON key.
46
47
  def self.attribute_map
47
48
  {
48
- :'data_request' => :'data_request',
49
+ :'status' => :'status',
49
50
  :'errors' => :'errors',
50
- :'status' => :'status'
51
+ :'data_request' => :'data_request'
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
- :'data_request' => :'SubmissionDataRequest',
63
+ :'status' => :'String',
58
64
  :'errors' => :'Array<String>',
59
- :'status' => :'String'
65
+ :'data_request' => :'SubmissionDataRequest'
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::UpdateDataRequestResponse` 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::UpdateDataRequestResponse`. 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?(:'data_request')
72
- self.data_request = attributes[:'data_request']
90
+ if attributes.key?(:'status')
91
+ self.status = attributes[:'status']
92
+ else
93
+ self.status = nil
73
94
  end
74
95
 
75
- if attributes.has_key?(:'errors')
96
+ if attributes.key?(:'errors')
76
97
  if (value = attributes[:'errors']).is_a?(Array)
77
98
  self.errors = value
78
99
  end
79
100
  end
80
101
 
81
- if attributes.has_key?(:'status')
82
- self.status = attributes[:'status']
102
+ if attributes.key?(:'data_request')
103
+ self.data_request = attributes[:'data_request']
104
+ else
105
+ self.data_request = nil
83
106
  end
84
107
  end
85
108
 
86
109
  # Show invalid properties with the reasons. Usually used together with valid?
87
110
  # @return Array for valid properties with the reasons
88
111
  def list_invalid_properties
112
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
113
  invalid_properties = Array.new
114
+ if @status.nil?
115
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
116
+ end
117
+
118
+ if @data_request.nil?
119
+ invalid_properties.push('invalid value for "data_request", data_request cannot be nil.')
120
+ end
121
+
90
122
  invalid_properties
91
123
  end
92
124
 
93
125
  # Check to see if the all the properties in the model are valid
94
126
  # @return true if the model is valid
95
127
  def valid?
96
- status_validator = EnumAttributeValidator.new('String', ['success', 'error'])
128
+ warn '[DEPRECATED] the `valid?` method is obsolete'
129
+ return false if @status.nil?
130
+ status_validator = EnumAttributeValidator.new('String', ["success", "error"])
97
131
  return false unless status_validator.valid?(@status)
132
+ return false if @data_request.nil?
98
133
  true
99
134
  end
100
135
 
101
136
  # Custom attribute writer method checking allowed values (enum).
102
137
  # @param [Object] status Object to be assigned
103
138
  def status=(status)
104
- validator = EnumAttributeValidator.new('String', ['success', 'error'])
139
+ validator = EnumAttributeValidator.new('String', ["success", "error"])
105
140
  unless validator.valid?(status)
106
- fail ArgumentError, 'invalid value for "status", must be one of #{validator.allowable_values}.'
141
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
107
142
  end
108
143
  @status = status
109
144
  end
@@ -113,9 +148,9 @@ module DocSpring
113
148
  def ==(o)
114
149
  return true if self.equal?(o)
115
150
  self.class == o.class &&
116
- data_request == o.data_request &&
151
+ status == o.status &&
117
152
  errors == o.errors &&
118
- status == o.status
153
+ data_request == o.data_request
119
154
  end
120
155
 
121
156
  # @see the `==` method
@@ -125,39 +160,42 @@ module DocSpring
125
160
  end
126
161
 
127
162
  # Calculates hash code according to all attributes.
128
- # @return [Fixnum] Hash code
163
+ # @return [Integer] Hash code
129
164
  def hash
130
- [data_request, errors, status].hash
165
+ [status, errors, data_request].hash
131
166
  end
132
167
 
133
168
  # Builds the object from hash
134
169
  # @param [Hash] attributes Model attributes in the form of hash
135
170
  # @return [Object] Returns the model itself
136
- def build_from_hash(attributes)
171
+ def self.build_from_hash(attributes)
137
172
  return nil unless attributes.is_a?(Hash)
138
- self.class.openapi_types.each_pair do |key, type|
139
- if type =~ /\AArray<(.*)>/i
140
- # check to ensure the input is an array given that the the attribute
173
+ attributes = attributes.transform_keys(&:to_sym)
174
+ transformed_hash = {}
175
+ openapi_types.each_pair do |key, type|
176
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
177
+ transformed_hash["#{key}"] = nil
178
+ elsif type =~ /\AArray<(.*)>/i
179
+ # check to ensure the input is an array given that the attribute
141
180
  # is documented as an array but the input is not
142
- if attributes[self.class.attribute_map[key]].is_a?(Array)
143
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
181
+ if attributes[attribute_map[key]].is_a?(Array)
182
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
144
183
  end
145
- elsif !attributes[self.class.attribute_map[key]].nil?
146
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
147
- end # or else data not found in attributes(hash), not an issue as the data can be optional
184
+ elsif !attributes[attribute_map[key]].nil?
185
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
186
+ end
148
187
  end
149
-
150
- self
188
+ new(transformed_hash)
151
189
  end
152
190
 
153
191
  # Deserializes the data based on type
154
192
  # @param string type Data type
155
193
  # @param string value Value to be deserialized
156
194
  # @return [Object] Deserialized data
157
- def _deserialize(type, value)
195
+ def self._deserialize(type, value)
158
196
  case type.to_sym
159
- when :DateTime
160
- DateTime.parse(value)
197
+ when :Time
198
+ Time.parse(value)
161
199
  when :Date
162
200
  Date.parse(value)
163
201
  when :String
@@ -166,7 +204,7 @@ module DocSpring
166
204
  value.to_i
167
205
  when :Float
168
206
  value.to_f
169
- when :BOOLEAN
207
+ when :Boolean
170
208
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
171
209
  true
172
210
  else
@@ -187,8 +225,9 @@ module DocSpring
187
225
  end
188
226
  end
189
227
  else # model
190
- temp_model = DocSpring.const_get(type).new
191
- temp_model.build_from_hash(value)
228
+ # models (e.g. Pet) or oneOf
229
+ klass = DocSpring.const_get(type)
230
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
192
231
  end
193
232
  end
194
233
 
@@ -210,7 +249,11 @@ module DocSpring
210
249
  hash = {}
211
250
  self.class.attribute_map.each_pair do |attr, param|
212
251
  value = self.send(attr)
213
- next if value.nil?
252
+ if value.nil?
253
+ is_nullable = self.class.openapi_nullable.include?(attr)
254
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
255
+ end
256
+
214
257
  hash[param] = _to_hash(value)
215
258
  end
216
259
  hash
@@ -233,5 +276,7 @@ module DocSpring
233
276
  value
234
277
  end
235
278
  end
279
+
236
280
  end
281
+
237
282
  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 UpdateSubmissionDataRequestData
@@ -81,6 +82,11 @@ module DocSpring
81
82
  }
82
83
  end
83
84
 
85
+ # Returns all the JSON keys this model knows about
86
+ def self.acceptable_attributes
87
+ attribute_map.values
88
+ end
89
+
84
90
  # Attribute type mapping.
85
91
  def self.openapi_types
86
92
  {
@@ -100,65 +106,86 @@ module DocSpring
100
106
  }
101
107
  end
102
108
 
109
+ # List of attributes with nullable: true
110
+ def self.openapi_nullable
111
+ Set.new([
112
+ :'auth_phone_number_hash',
113
+ :'auth_provider',
114
+ :'auth_session_id_hash',
115
+ :'auth_session_started_at',
116
+ :'auth_user_id_hash',
117
+ :'auth_username_hash',
118
+ :'email',
119
+ :'name',
120
+ ])
121
+ end
122
+
103
123
  # Initializes the object
104
124
  # @param [Hash] attributes Model attributes in the form of hash
105
125
  def initialize(attributes = {})
106
- return unless attributes.is_a?(Hash)
126
+ if (!attributes.is_a?(Hash))
127
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::UpdateSubmissionDataRequestData` initialize method"
128
+ end
107
129
 
108
- # convert string to symbol for hash key
109
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
130
+ # check to see if the attribute exists and convert string to symbol for hash key
131
+ attributes = attributes.each_with_object({}) { |(k, v), h|
132
+ if (!self.class.attribute_map.key?(k.to_sym))
133
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::UpdateSubmissionDataRequestData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
134
+ end
135
+ h[k.to_sym] = v
136
+ }
110
137
 
111
- if attributes.has_key?(:'auth_phone_number_hash')
138
+ if attributes.key?(:'auth_phone_number_hash')
112
139
  self.auth_phone_number_hash = attributes[:'auth_phone_number_hash']
113
140
  end
114
141
 
115
- if attributes.has_key?(:'auth_provider')
142
+ if attributes.key?(:'auth_provider')
116
143
  self.auth_provider = attributes[:'auth_provider']
117
144
  end
118
145
 
119
- if attributes.has_key?(:'auth_second_factor_type')
146
+ if attributes.key?(:'auth_second_factor_type')
120
147
  self.auth_second_factor_type = attributes[:'auth_second_factor_type']
121
148
  end
122
149
 
123
- if attributes.has_key?(:'auth_session_id_hash')
150
+ if attributes.key?(:'auth_session_id_hash')
124
151
  self.auth_session_id_hash = attributes[:'auth_session_id_hash']
125
152
  end
126
153
 
127
- if attributes.has_key?(:'auth_session_started_at')
154
+ if attributes.key?(:'auth_session_started_at')
128
155
  self.auth_session_started_at = attributes[:'auth_session_started_at']
129
156
  end
130
157
 
131
- if attributes.has_key?(:'auth_type')
158
+ if attributes.key?(:'auth_type')
132
159
  self.auth_type = attributes[:'auth_type']
133
160
  end
134
161
 
135
- if attributes.has_key?(:'auth_user_id_hash')
162
+ if attributes.key?(:'auth_user_id_hash')
136
163
  self.auth_user_id_hash = attributes[:'auth_user_id_hash']
137
164
  end
138
165
 
139
- if attributes.has_key?(:'auth_username_hash')
166
+ if attributes.key?(:'auth_username_hash')
140
167
  self.auth_username_hash = attributes[:'auth_username_hash']
141
168
  end
142
169
 
143
- if attributes.has_key?(:'email')
170
+ if attributes.key?(:'email')
144
171
  self.email = attributes[:'email']
145
172
  end
146
173
 
147
- if attributes.has_key?(:'fields')
174
+ if attributes.key?(:'fields')
148
175
  if (value = attributes[:'fields']).is_a?(Array)
149
176
  self.fields = value
150
177
  end
151
178
  end
152
179
 
153
- if attributes.has_key?(:'metadata')
180
+ if attributes.key?(:'metadata')
154
181
  self.metadata = attributes[:'metadata']
155
182
  end
156
183
 
157
- if attributes.has_key?(:'name')
184
+ if attributes.key?(:'name')
158
185
  self.name = attributes[:'name']
159
186
  end
160
187
 
161
- if attributes.has_key?(:'order')
188
+ if attributes.key?(:'order')
162
189
  self.order = attributes[:'order']
163
190
  end
164
191
  end
@@ -166,6 +193,7 @@ module DocSpring
166
193
  # Show invalid properties with the reasons. Usually used together with valid?
167
194
  # @return Array for valid properties with the reasons
168
195
  def list_invalid_properties
196
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
169
197
  invalid_properties = Array.new
170
198
  invalid_properties
171
199
  end
@@ -173,9 +201,10 @@ module DocSpring
173
201
  # Check to see if the all the properties in the model are valid
174
202
  # @return true if the model is valid
175
203
  def valid?
176
- auth_second_factor_type_validator = EnumAttributeValidator.new('String', ['none', 'phone_number', 'totp', 'mobile_push', 'security_key', 'fingerprint'])
204
+ warn '[DEPRECATED] the `valid?` method is obsolete'
205
+ auth_second_factor_type_validator = EnumAttributeValidator.new('String', ["none", "phone_number", "totp", "mobile_push", "security_key", "fingerprint"])
177
206
  return false unless auth_second_factor_type_validator.valid?(@auth_second_factor_type)
178
- auth_type_validator = EnumAttributeValidator.new('String', ['none', 'password', 'oauth', 'email_link', 'phone_number', 'ldap', 'saml'])
207
+ auth_type_validator = EnumAttributeValidator.new('String', ["none", "password", "oauth", "email_link", "phone_number", "ldap", "saml"])
179
208
  return false unless auth_type_validator.valid?(@auth_type)
180
209
  true
181
210
  end
@@ -183,9 +212,9 @@ module DocSpring
183
212
  # Custom attribute writer method checking allowed values (enum).
184
213
  # @param [Object] auth_second_factor_type Object to be assigned
185
214
  def auth_second_factor_type=(auth_second_factor_type)
186
- validator = EnumAttributeValidator.new('String', ['none', 'phone_number', 'totp', 'mobile_push', 'security_key', 'fingerprint'])
215
+ validator = EnumAttributeValidator.new('String', ["none", "phone_number", "totp", "mobile_push", "security_key", "fingerprint"])
187
216
  unless validator.valid?(auth_second_factor_type)
188
- fail ArgumentError, 'invalid value for "auth_second_factor_type", must be one of #{validator.allowable_values}.'
217
+ fail ArgumentError, "invalid value for \"auth_second_factor_type\", must be one of #{validator.allowable_values}."
189
218
  end
190
219
  @auth_second_factor_type = auth_second_factor_type
191
220
  end
@@ -193,9 +222,9 @@ module DocSpring
193
222
  # Custom attribute writer method checking allowed values (enum).
194
223
  # @param [Object] auth_type Object to be assigned
195
224
  def auth_type=(auth_type)
196
- validator = EnumAttributeValidator.new('String', ['none', 'password', 'oauth', 'email_link', 'phone_number', 'ldap', 'saml'])
225
+ validator = EnumAttributeValidator.new('String', ["none", "password", "oauth", "email_link", "phone_number", "ldap", "saml"])
197
226
  unless validator.valid?(auth_type)
198
- fail ArgumentError, 'invalid value for "auth_type", must be one of #{validator.allowable_values}.'
227
+ fail ArgumentError, "invalid value for \"auth_type\", must be one of #{validator.allowable_values}."
199
228
  end
200
229
  @auth_type = auth_type
201
230
  end
@@ -227,7 +256,7 @@ module DocSpring
227
256
  end
228
257
 
229
258
  # Calculates hash code according to all attributes.
230
- # @return [Fixnum] Hash code
259
+ # @return [Integer] Hash code
231
260
  def hash
232
261
  [auth_phone_number_hash, auth_provider, auth_second_factor_type, auth_session_id_hash, auth_session_started_at, auth_type, auth_user_id_hash, auth_username_hash, email, fields, metadata, name, order].hash
233
262
  end
@@ -235,31 +264,34 @@ module DocSpring
235
264
  # Builds the object from hash
236
265
  # @param [Hash] attributes Model attributes in the form of hash
237
266
  # @return [Object] Returns the model itself
238
- def build_from_hash(attributes)
267
+ def self.build_from_hash(attributes)
239
268
  return nil unless attributes.is_a?(Hash)
240
- self.class.openapi_types.each_pair do |key, type|
241
- if type =~ /\AArray<(.*)>/i
242
- # check to ensure the input is an array given that the the attribute
269
+ attributes = attributes.transform_keys(&:to_sym)
270
+ transformed_hash = {}
271
+ openapi_types.each_pair do |key, type|
272
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
273
+ transformed_hash["#{key}"] = nil
274
+ elsif type =~ /\AArray<(.*)>/i
275
+ # check to ensure the input is an array given that the attribute
243
276
  # is documented as an array but the input is not
244
- if attributes[self.class.attribute_map[key]].is_a?(Array)
245
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
277
+ if attributes[attribute_map[key]].is_a?(Array)
278
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
246
279
  end
247
- elsif !attributes[self.class.attribute_map[key]].nil?
248
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
249
- end # or else data not found in attributes(hash), not an issue as the data can be optional
280
+ elsif !attributes[attribute_map[key]].nil?
281
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
282
+ end
250
283
  end
251
-
252
- self
284
+ new(transformed_hash)
253
285
  end
254
286
 
255
287
  # Deserializes the data based on type
256
288
  # @param string type Data type
257
289
  # @param string value Value to be deserialized
258
290
  # @return [Object] Deserialized data
259
- def _deserialize(type, value)
291
+ def self._deserialize(type, value)
260
292
  case type.to_sym
261
- when :DateTime
262
- DateTime.parse(value)
293
+ when :Time
294
+ Time.parse(value)
263
295
  when :Date
264
296
  Date.parse(value)
265
297
  when :String
@@ -268,7 +300,7 @@ module DocSpring
268
300
  value.to_i
269
301
  when :Float
270
302
  value.to_f
271
- when :BOOLEAN
303
+ when :Boolean
272
304
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
273
305
  true
274
306
  else
@@ -289,8 +321,9 @@ module DocSpring
289
321
  end
290
322
  end
291
323
  else # model
292
- temp_model = DocSpring.const_get(type).new
293
- temp_model.build_from_hash(value)
324
+ # models (e.g. Pet) or oneOf
325
+ klass = DocSpring.const_get(type)
326
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
294
327
  end
295
328
  end
296
329
 
@@ -312,7 +345,11 @@ module DocSpring
312
345
  hash = {}
313
346
  self.class.attribute_map.each_pair do |attr, param|
314
347
  value = self.send(attr)
315
- next if value.nil?
348
+ if value.nil?
349
+ is_nullable = self.class.openapi_nullable.include?(attr)
350
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
351
+ end
352
+
316
353
  hash[param] = _to_hash(value)
317
354
  end
318
355
  hash
@@ -335,5 +372,7 @@ module DocSpring
335
372
  value
336
373
  end
337
374
  end
375
+
338
376
  end
377
+
339
378
  end