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