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