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