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