docspring 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. checksums.yaml +4 -4
  2. data/.gitlab-ci.yml +26 -0
  3. data/.openapi-generator/FILES +220 -0
  4. data/.openapi-generator/VERSION +1 -1
  5. data/.rubocop.yml +6 -12
  6. data/.travis.yml +11 -0
  7. data/CHANGELOG.md +9 -0
  8. data/Gemfile +5 -1
  9. data/Gemfile.lock +85 -48
  10. data/README.md +47 -16
  11. data/docs/AddFieldsData.md +13 -3
  12. data/docs/AddFieldsTemplateResponse.md +17 -5
  13. data/docs/AuthenticationError.md +15 -4
  14. data/docs/AuthenticationSuccessResponse.md +13 -3
  15. data/docs/CombinePdfsData.md +23 -7
  16. data/docs/CombinedSubmission.md +37 -12
  17. data/docs/CombinedSubmissionAction.md +23 -8
  18. data/docs/CombinedSubmissionData.md +21 -6
  19. data/docs/CopyTemplateData.md +15 -4
  20. data/docs/CreateCombinedSubmissionResponse.md +17 -5
  21. data/docs/CreateCustomFileData.md +13 -3
  22. data/docs/CreateCustomFileResponse.md +17 -5
  23. data/docs/CreateFolderAttributes.md +20 -0
  24. data/docs/CreateFolderData.md +13 -3
  25. data/docs/CreateHtmlTemplateData.md +13 -3
  26. data/docs/CreateSubmissionBatchResponse.md +21 -7
  27. data/docs/CreateSubmissionBatchSubmissionsResponse.md +17 -5
  28. data/docs/CreateSubmissionData.md +36 -0
  29. data/docs/CreateSubmissionDataRequestData.md +37 -15
  30. data/docs/CreateSubmissionDataRequestEventRequest.md +24 -0
  31. data/docs/CreateSubmissionDataRequestEventResponse.md +22 -0
  32. data/docs/CreateSubmissionDataRequestTokenResponse.md +17 -5
  33. data/docs/CreateSubmissionResponse.md +17 -5
  34. data/docs/CreateTemplateFromUploadData.md +13 -3
  35. data/docs/DataRequestToken.md +24 -0
  36. data/docs/DeleteTemplateResponse.md +20 -0
  37. data/docs/ErrorResponse.md +20 -0
  38. data/docs/Folder.md +19 -6
  39. data/docs/FullTemplate.md +94 -0
  40. data/docs/HtmlTemplateData.md +51 -19
  41. data/docs/HtmlTemplateDataWebhookOptions.md +18 -0
  42. data/docs/InvalidRequest.md +15 -4
  43. data/docs/InvalidRequestSingleError.md +20 -0
  44. data/docs/ListSubmissionsResponse.md +22 -0
  45. data/docs/MoveFolderData.md +13 -3
  46. data/docs/MoveTemplateData.md +13 -3
  47. data/docs/PDFApi.md +1746 -495
  48. data/docs/PendingTemplate.md +45 -19
  49. data/docs/PreviewPdfResponse.md +20 -0
  50. data/docs/PublishTemplateVersion404Response.md +20 -0
  51. data/docs/PublishTemplateVersion422Response.md +20 -0
  52. data/docs/PublishTemplateVersionResponse.md +20 -0
  53. data/docs/PublishTemplateVersionResponseResult.md +24 -0
  54. data/docs/PublishVersionData.md +20 -0
  55. data/docs/RenameFolderData.md +13 -3
  56. data/docs/RestoreTemplateVersionResponse.md +18 -0
  57. data/docs/RestoreVersionData.md +18 -0
  58. data/docs/Submission.md +49 -21
  59. data/docs/SubmissionAction.md +23 -8
  60. data/docs/SubmissionBatch.md +29 -11
  61. data/docs/SubmissionBatchData.md +21 -6
  62. data/docs/SubmissionData.md +23 -9
  63. data/docs/SubmissionDataBatchRequest.md +25 -8
  64. data/docs/SubmissionDataRequest.md +53 -22
  65. data/docs/SubmissionDataRequestEvent.md +30 -0
  66. data/docs/Template.md +51 -22
  67. data/docs/TemplateData.md +49 -18
  68. data/docs/TemplateDefaults.md +22 -0
  69. data/docs/TemplateDocument.md +22 -0
  70. data/docs/TemplateDocumentMetadata.md +22 -0
  71. data/docs/TemplateSchema.md +34 -0
  72. data/docs/UpdateDataRequestResponse.md +17 -5
  73. data/docs/UpdateSubmissionDataRequestData.md +37 -15
  74. data/docs/UpdateTemplateData.md +13 -3
  75. data/docs/UpdateTemplateResponse.md +15 -4
  76. data/docs/UploadPresign.md +24 -0
  77. data/docs/UploadTemplateData.md +53 -20
  78. data/docspring.gemspec +14 -11
  79. data/git_push.sh +11 -9
  80. data/lib/docspring/api/pdf_api.rb +1485 -497
  81. data/lib/docspring/api_client.rb +106 -98
  82. data/lib/docspring/api_error.rb +22 -2
  83. data/lib/docspring/configuration.rb +127 -16
  84. data/lib/docspring/models/add_fields_data.rb +59 -26
  85. data/lib/docspring/models/add_fields_template_response.rb +81 -43
  86. data/lib/docspring/models/authentication_error.rb +62 -29
  87. data/lib/docspring/models/authentication_success_response.rb +66 -28
  88. data/lib/docspring/models/combine_pdfs_data.rb +74 -32
  89. data/lib/docspring/models/combined_submission.rb +167 -68
  90. data/lib/docspring/models/combined_submission_action.rb +83 -39
  91. data/lib/docspring/models/combined_submission_data.rb +72 -30
  92. data/lib/docspring/models/copy_template_data.rb +59 -26
  93. data/lib/docspring/models/create_combined_submission_response.rb +86 -41
  94. data/lib/docspring/models/create_custom_file_data.rb +58 -25
  95. data/lib/docspring/models/create_custom_file_response.rb +86 -41
  96. data/lib/docspring/models/create_folder_attributes.rb +230 -0
  97. data/lib/docspring/models/create_folder_data.rb +59 -26
  98. data/lib/docspring/models/create_html_template_data.rb +58 -25
  99. data/lib/docspring/models/create_submission_batch_response.rb +104 -52
  100. data/lib/docspring/models/create_submission_batch_submissions_response.rb +79 -41
  101. data/lib/docspring/models/create_submission_data.rb +304 -0
  102. data/lib/docspring/models/create_submission_data_request_data.rb +139 -90
  103. data/lib/docspring/models/create_submission_data_request_event_request.rb +297 -0
  104. data/lib/docspring/models/create_submission_data_request_event_response.rb +282 -0
  105. data/lib/docspring/models/create_submission_data_request_token_response.rb +85 -40
  106. data/lib/docspring/models/create_submission_response.rb +86 -41
  107. data/lib/docspring/models/create_template_from_upload_data.rb +58 -25
  108. data/lib/docspring/models/{custom_file.rb → data_request_token.rb} +110 -33
  109. data/lib/docspring/models/delete_template_response.rb +266 -0
  110. data/lib/docspring/models/{error.rb → error_response.rb} +65 -30
  111. data/lib/docspring/models/folder.rb +78 -46
  112. data/lib/docspring/models/full_template.rb +801 -0
  113. data/lib/docspring/models/html_template_data.rb +180 -110
  114. data/lib/docspring/models/{folders_folder.rb → html_template_data_webhook_options.rb} +63 -41
  115. data/lib/docspring/models/invalid_request.rb +64 -29
  116. data/lib/docspring/models/invalid_request_single_error.rb +271 -0
  117. data/lib/docspring/models/list_submissions_response.rb +251 -0
  118. data/lib/docspring/models/move_folder_data.rb +56 -25
  119. data/lib/docspring/models/move_template_data.rb +58 -25
  120. data/lib/docspring/models/pending_template.rb +221 -118
  121. data/lib/docspring/models/preview_pdf_response.rb +264 -0
  122. data/lib/docspring/models/publish_template_version404_response.rb +271 -0
  123. data/lib/docspring/models/publish_template_version422_response.rb +273 -0
  124. data/lib/docspring/models/publish_template_version_response.rb +271 -0
  125. data/lib/docspring/models/publish_template_version_response_result.rb +263 -0
  126. data/lib/docspring/models/publish_version_data.rb +230 -0
  127. data/lib/docspring/models/rename_folder_data.rb +58 -25
  128. data/lib/docspring/models/restore_template_version_response.rb +255 -0
  129. data/lib/docspring/models/{create_submission_data_request_token_response_token.rb → restore_version_data.rb} +69 -58
  130. data/lib/docspring/models/submission.rb +98 -49
  131. data/lib/docspring/models/submission_action.rb +83 -39
  132. data/lib/docspring/models/submission_batch.rb +158 -75
  133. data/lib/docspring/models/submission_batch_data.rb +74 -30
  134. data/lib/docspring/models/submission_data.rb +65 -41
  135. data/lib/docspring/models/submission_data_batch_request.rb +100 -49
  136. data/lib/docspring/models/submission_data_request.rb +123 -54
  137. data/lib/docspring/models/submission_data_request_event.rb +309 -0
  138. data/lib/docspring/models/template.rb +267 -132
  139. data/lib/docspring/models/template_data.rb +173 -105
  140. data/lib/docspring/models/template_defaults.rb +249 -0
  141. data/lib/docspring/models/{upload_template_data_document.rb → template_document.rb} +91 -39
  142. data/lib/docspring/models/{upload_template_data_document_metadata.rb → template_document_metadata.rb} +94 -42
  143. data/lib/docspring/models/template_schema.rb +288 -0
  144. data/lib/docspring/models/update_data_request_response.rb +86 -41
  145. data/lib/docspring/models/update_submission_data_request_data.rb +82 -43
  146. data/lib/docspring/models/update_template_data.rb +58 -25
  147. data/lib/docspring/models/update_template_response.rb +79 -41
  148. data/lib/docspring/models/upload_presign.rb +296 -0
  149. data/lib/docspring/models/upload_template_data.rb +186 -116
  150. data/lib/docspring/version.rb +3 -3
  151. data/lib/docspring.rb +30 -10
  152. data/spec/api/client_integration_spec.rb +26 -19
  153. data/spec/api/pdf_api_integration_spec.rb +21 -19
  154. data/spec/api/pdf_api_spec_original.skipped.rb +469 -98
  155. data/spec/models/add_fields_data_spec.rb +8 -13
  156. data/spec/models/add_fields_template_response_spec.rb +16 -21
  157. data/spec/models/authentication_error_spec.rb +10 -15
  158. data/spec/models/authentication_success_response_spec.rb +9 -14
  159. data/spec/models/combine_pdfs_data_spec.rb +18 -17
  160. data/spec/models/combined_submission_action_spec.rb +16 -21
  161. data/spec/models/combined_submission_data_spec.rb +17 -16
  162. data/spec/models/combined_submission_spec.rb +45 -32
  163. data/spec/models/copy_template_data_spec.rb +9 -14
  164. data/spec/models/create_combined_submission_response_spec.rb +16 -21
  165. data/spec/models/create_custom_file_data_spec.rb +8 -13
  166. data/spec/models/create_custom_file_response_spec.rb +16 -21
  167. data/spec/models/create_folder_attributes_spec.rb +42 -0
  168. data/spec/models/create_folder_data_spec.rb +8 -13
  169. data/spec/models/create_html_template_data_spec.rb +8 -13
  170. data/spec/models/create_submission_batch_response_spec.rb +21 -26
  171. data/spec/models/create_submission_batch_submissions_response_spec.rb +16 -21
  172. data/spec/models/create_submission_data_request_data_spec.rb +33 -38
  173. data/spec/models/create_submission_data_request_event_request_spec.rb +62 -0
  174. data/spec/models/create_submission_data_request_event_response_spec.rb +52 -0
  175. data/spec/models/create_submission_data_request_token_response_spec.rb +15 -20
  176. data/spec/models/create_submission_data_spec.rb +90 -0
  177. data/spec/models/create_submission_response_spec.rb +16 -21
  178. data/spec/models/create_template_from_upload_data_spec.rb +8 -13
  179. data/spec/models/data_request_token_spec.rb +54 -0
  180. data/spec/models/delete_template_response_spec.rb +46 -0
  181. data/spec/models/error_response_spec.rb +46 -0
  182. data/spec/models/folder_spec.rb +15 -20
  183. data/spec/models/full_template_spec.rb +268 -0
  184. data/spec/models/html_template_data_spec.rb +62 -49
  185. data/spec/models/html_template_data_webhook_options_spec.rb +36 -0
  186. data/spec/models/invalid_request_single_error_spec.rb +46 -0
  187. data/spec/models/invalid_request_spec.rb +10 -15
  188. data/spec/models/list_submissions_response_spec.rb +48 -0
  189. data/spec/models/move_folder_data_spec.rb +8 -13
  190. data/spec/models/move_template_data_spec.rb +8 -13
  191. data/spec/models/pending_template_spec.rb +45 -50
  192. data/spec/models/preview_pdf_response_spec.rb +46 -0
  193. data/spec/models/publish_template_version404_response_spec.rb +46 -0
  194. data/spec/models/publish_template_version422_response_spec.rb +46 -0
  195. data/spec/models/publish_template_version_response_result_spec.rb +54 -0
  196. data/spec/models/publish_template_version_response_spec.rb +46 -0
  197. data/spec/models/publish_version_data_spec.rb +42 -0
  198. data/spec/models/rename_folder_data_spec.rb +8 -13
  199. data/spec/models/restore_template_version_response_spec.rb +40 -0
  200. data/spec/models/restore_version_data_spec.rb +36 -0
  201. data/spec/models/submission_action_spec.rb +16 -21
  202. data/spec/models/submission_batch_data_spec.rb +17 -16
  203. data/spec/models/submission_batch_spec.rb +29 -34
  204. data/spec/models/submission_data_batch_request_spec.rb +24 -23
  205. data/spec/models/submission_data_request_event_spec.rb +72 -0
  206. data/spec/models/submission_data_request_spec.rb +36 -35
  207. data/spec/models/submission_data_spec.rb +13 -24
  208. data/spec/models/submission_spec.rb +27 -32
  209. data/spec/models/template_data_spec.rb +59 -46
  210. data/spec/models/template_defaults_spec.rb +48 -0
  211. data/spec/models/template_document_metadata_spec.rb +52 -0
  212. data/spec/models/template_document_spec.rb +52 -0
  213. data/spec/models/template_schema_spec.rb +84 -0
  214. data/spec/models/template_spec.rb +50 -55
  215. data/spec/models/update_data_request_response_spec.rb +16 -21
  216. data/spec/models/update_submission_data_request_data_spec.rb +22 -27
  217. data/spec/models/update_template_data_spec.rb +8 -13
  218. data/spec/models/update_template_response_spec.rb +14 -19
  219. data/spec/models/upload_presign_spec.rb +58 -0
  220. data/spec/models/upload_template_data_spec.rb +64 -51
  221. data/spec/spec_helper.rb +5 -5
  222. metadata +112 -124
  223. data/docs/CreateSubmissionDataRequestTokenResponseToken.md +0 -11
  224. data/docs/CustomFile.md +0 -9
  225. data/docs/Error.md +0 -9
  226. data/docs/FoldersFolder.md +0 -9
  227. data/docs/TemplatestemplateIdaddFieldsFields.md +0 -92
  228. data/docs/UploadTemplateDataDocument.md +0 -10
  229. data/docs/UploadTemplateDataDocumentMetadata.md +0 -10
  230. data/lib/docspring/models/templatestemplate_idadd_fields_fields.rb +0 -1306
  231. data/spec/api_client_spec.rb +0 -226
  232. data/spec/configuration_spec.rb +0 -53
  233. data/spec/models/create_submission_data_request_token_response_token_spec.rb +0 -59
  234. data/spec/models/custom_file_spec.rb +0 -47
  235. data/spec/models/error_spec.rb +0 -51
  236. data/spec/models/folders_folder_spec.rb +0 -47
  237. data/spec/models/templatestemplate_idadd_fields_fields_spec.rb +0 -589
  238. data/spec/models/upload_template_data_document_metadata_spec.rb +0 -57
  239. data/spec/models/upload_template_data_document_spec.rb +0 -57
@@ -3,49 +3,56 @@
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 TemplateData
17
- attr_accessor :expiration_interval
18
+ attr_accessor :add_data_request_submission_id_footers
18
19
 
19
- attr_accessor :webhook_url
20
+ attr_accessor :allow_additional_properties
20
21
 
21
- attr_accessor :scss
22
+ attr_accessor :description
22
23
 
23
- attr_accessor :allow_additional_properties
24
+ attr_accessor :editable_submissions
24
25
 
25
- attr_accessor :expire_after
26
+ attr_accessor :expiration_interval
26
27
 
27
- attr_accessor :description
28
+ attr_accessor :expire_after
28
29
 
29
- attr_accessor :public_submissions
30
+ attr_accessor :expire_submissions
30
31
 
31
- attr_accessor :slack_webhook_url
32
+ attr_accessor :footer_html
32
33
 
33
34
  attr_accessor :header_html
34
35
 
35
- attr_accessor :public_web_form
36
-
37
- attr_accessor :editable_submissions
36
+ attr_accessor :html
38
37
 
39
- attr_accessor :expire_submissions
38
+ attr_accessor :merge_audit_trail_pdf
40
39
 
41
40
  attr_accessor :name
42
41
 
43
- attr_accessor :footer_html
42
+ attr_accessor :public_submissions
44
43
 
45
- attr_accessor :html
44
+ attr_accessor :public_web_form
46
45
 
47
46
  attr_accessor :redirect_url
48
47
 
48
+ attr_accessor :scss
49
+
50
+ attr_accessor :slack_webhook_url
51
+
52
+ attr_accessor :webhook_options
53
+
54
+ attr_accessor :webhook_url
55
+
49
56
  class EnumAttributeValidator
50
57
  attr_reader :datatype
51
58
  attr_reader :allowable_values
@@ -71,123 +78,170 @@ module DocSpring
71
78
  # Attribute mapping from ruby-style variable name to JSON key.
72
79
  def self.attribute_map
73
80
  {
74
- :'expiration_interval' => :'expiration_interval',
75
- :'webhook_url' => :'webhook_url',
76
- :'scss' => :'scss',
81
+ :'add_data_request_submission_id_footers' => :'add_data_request_submission_id_footers',
77
82
  :'allow_additional_properties' => :'allow_additional_properties',
78
- :'expire_after' => :'expire_after',
79
83
  :'description' => :'description',
80
- :'public_submissions' => :'public_submissions',
81
- :'slack_webhook_url' => :'slack_webhook_url',
82
- :'header_html' => :'header_html',
83
- :'public_web_form' => :'public_web_form',
84
84
  :'editable_submissions' => :'editable_submissions',
85
+ :'expiration_interval' => :'expiration_interval',
86
+ :'expire_after' => :'expire_after',
85
87
  :'expire_submissions' => :'expire_submissions',
86
- :'name' => :'name',
87
88
  :'footer_html' => :'footer_html',
89
+ :'header_html' => :'header_html',
88
90
  :'html' => :'html',
89
- :'redirect_url' => :'redirect_url'
91
+ :'merge_audit_trail_pdf' => :'merge_audit_trail_pdf',
92
+ :'name' => :'name',
93
+ :'public_submissions' => :'public_submissions',
94
+ :'public_web_form' => :'public_web_form',
95
+ :'redirect_url' => :'redirect_url',
96
+ :'scss' => :'scss',
97
+ :'slack_webhook_url' => :'slack_webhook_url',
98
+ :'webhook_options' => :'webhook_options',
99
+ :'webhook_url' => :'webhook_url'
90
100
  }
91
101
  end
92
102
 
103
+ # Returns all the JSON keys this model knows about
104
+ def self.acceptable_attributes
105
+ attribute_map.values
106
+ end
107
+
93
108
  # Attribute type mapping.
94
109
  def self.openapi_types
95
110
  {
111
+ :'add_data_request_submission_id_footers' => :'Boolean',
112
+ :'allow_additional_properties' => :'Boolean',
113
+ :'description' => :'String',
114
+ :'editable_submissions' => :'Boolean',
96
115
  :'expiration_interval' => :'String',
97
- :'webhook_url' => :'String',
98
- :'scss' => :'String',
99
- :'allow_additional_properties' => :'BOOLEAN',
100
116
  :'expire_after' => :'Float',
101
- :'description' => :'String',
102
- :'public_submissions' => :'BOOLEAN',
103
- :'slack_webhook_url' => :'String',
104
- :'header_html' => :'String',
105
- :'public_web_form' => :'BOOLEAN',
106
- :'editable_submissions' => :'BOOLEAN',
107
- :'expire_submissions' => :'BOOLEAN',
108
- :'name' => :'String',
117
+ :'expire_submissions' => :'Boolean',
109
118
  :'footer_html' => :'String',
119
+ :'header_html' => :'String',
110
120
  :'html' => :'String',
111
- :'redirect_url' => :'String'
121
+ :'merge_audit_trail_pdf' => :'Boolean',
122
+ :'name' => :'String',
123
+ :'public_submissions' => :'Boolean',
124
+ :'public_web_form' => :'Boolean',
125
+ :'redirect_url' => :'String',
126
+ :'scss' => :'String',
127
+ :'slack_webhook_url' => :'String',
128
+ :'webhook_options' => :'HtmlTemplateDataWebhookOptions',
129
+ :'webhook_url' => :'String'
112
130
  }
113
131
  end
114
132
 
133
+ # List of attributes with nullable: true
134
+ def self.openapi_nullable
135
+ Set.new([
136
+ :'description',
137
+ :'footer_html',
138
+ :'header_html',
139
+ :'html',
140
+ :'name',
141
+ :'redirect_url',
142
+ :'scss',
143
+ :'slack_webhook_url',
144
+ :'webhook_options',
145
+ :'webhook_url'
146
+ ])
147
+ end
148
+
115
149
  # Initializes the object
116
150
  # @param [Hash] attributes Model attributes in the form of hash
117
151
  def initialize(attributes = {})
118
- return unless attributes.is_a?(Hash)
152
+ if (!attributes.is_a?(Hash))
153
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::TemplateData` initialize method"
154
+ end
119
155
 
120
- # convert string to symbol for hash key
121
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
156
+ # check to see if the attribute exists and convert string to symbol for hash key
157
+ attributes = attributes.each_with_object({}) { |(k, v), h|
158
+ if (!self.class.attribute_map.key?(k.to_sym))
159
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::TemplateData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
160
+ end
161
+ h[k.to_sym] = v
162
+ }
122
163
 
123
- if attributes.has_key?(:'expiration_interval')
124
- self.expiration_interval = attributes[:'expiration_interval']
164
+ if attributes.key?(:'add_data_request_submission_id_footers')
165
+ self.add_data_request_submission_id_footers = attributes[:'add_data_request_submission_id_footers']
125
166
  end
126
167
 
127
- if attributes.has_key?(:'webhook_url')
128
- self.webhook_url = attributes[:'webhook_url']
168
+ if attributes.key?(:'allow_additional_properties')
169
+ self.allow_additional_properties = attributes[:'allow_additional_properties']
129
170
  end
130
171
 
131
- if attributes.has_key?(:'scss')
132
- self.scss = attributes[:'scss']
172
+ if attributes.key?(:'description')
173
+ self.description = attributes[:'description']
133
174
  end
134
175
 
135
- if attributes.has_key?(:'allow_additional_properties')
136
- self.allow_additional_properties = attributes[:'allow_additional_properties']
176
+ if attributes.key?(:'editable_submissions')
177
+ self.editable_submissions = attributes[:'editable_submissions']
137
178
  end
138
179
 
139
- if attributes.has_key?(:'expire_after')
140
- self.expire_after = attributes[:'expire_after']
180
+ if attributes.key?(:'expiration_interval')
181
+ self.expiration_interval = attributes[:'expiration_interval']
141
182
  end
142
183
 
143
- if attributes.has_key?(:'description')
144
- self.description = attributes[:'description']
184
+ if attributes.key?(:'expire_after')
185
+ self.expire_after = attributes[:'expire_after']
145
186
  end
146
187
 
147
- if attributes.has_key?(:'public_submissions')
148
- self.public_submissions = attributes[:'public_submissions']
188
+ if attributes.key?(:'expire_submissions')
189
+ self.expire_submissions = attributes[:'expire_submissions']
149
190
  end
150
191
 
151
- if attributes.has_key?(:'slack_webhook_url')
152
- self.slack_webhook_url = attributes[:'slack_webhook_url']
192
+ if attributes.key?(:'footer_html')
193
+ self.footer_html = attributes[:'footer_html']
153
194
  end
154
195
 
155
- if attributes.has_key?(:'header_html')
196
+ if attributes.key?(:'header_html')
156
197
  self.header_html = attributes[:'header_html']
157
198
  end
158
199
 
159
- if attributes.has_key?(:'public_web_form')
160
- self.public_web_form = attributes[:'public_web_form']
161
- end
162
-
163
- if attributes.has_key?(:'editable_submissions')
164
- self.editable_submissions = attributes[:'editable_submissions']
200
+ if attributes.key?(:'html')
201
+ self.html = attributes[:'html']
165
202
  end
166
203
 
167
- if attributes.has_key?(:'expire_submissions')
168
- self.expire_submissions = attributes[:'expire_submissions']
204
+ if attributes.key?(:'merge_audit_trail_pdf')
205
+ self.merge_audit_trail_pdf = attributes[:'merge_audit_trail_pdf']
169
206
  end
170
207
 
171
- if attributes.has_key?(:'name')
208
+ if attributes.key?(:'name')
172
209
  self.name = attributes[:'name']
173
210
  end
174
211
 
175
- if attributes.has_key?(:'footer_html')
176
- self.footer_html = attributes[:'footer_html']
212
+ if attributes.key?(:'public_submissions')
213
+ self.public_submissions = attributes[:'public_submissions']
177
214
  end
178
215
 
179
- if attributes.has_key?(:'html')
180
- self.html = attributes[:'html']
216
+ if attributes.key?(:'public_web_form')
217
+ self.public_web_form = attributes[:'public_web_form']
181
218
  end
182
219
 
183
- if attributes.has_key?(:'redirect_url')
220
+ if attributes.key?(:'redirect_url')
184
221
  self.redirect_url = attributes[:'redirect_url']
185
222
  end
223
+
224
+ if attributes.key?(:'scss')
225
+ self.scss = attributes[:'scss']
226
+ end
227
+
228
+ if attributes.key?(:'slack_webhook_url')
229
+ self.slack_webhook_url = attributes[:'slack_webhook_url']
230
+ end
231
+
232
+ if attributes.key?(:'webhook_options')
233
+ self.webhook_options = attributes[:'webhook_options']
234
+ end
235
+
236
+ if attributes.key?(:'webhook_url')
237
+ self.webhook_url = attributes[:'webhook_url']
238
+ end
186
239
  end
187
240
 
188
241
  # Show invalid properties with the reasons. Usually used together with valid?
189
242
  # @return Array for valid properties with the reasons
190
243
  def list_invalid_properties
244
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
191
245
  invalid_properties = Array.new
192
246
  invalid_properties
193
247
  end
@@ -195,7 +249,8 @@ module DocSpring
195
249
  # Check to see if the all the properties in the model are valid
196
250
  # @return true if the model is valid
197
251
  def valid?
198
- expiration_interval_validator = EnumAttributeValidator.new('String', ['minutes', 'hours', 'days'])
252
+ warn '[DEPRECATED] the `valid?` method is obsolete'
253
+ expiration_interval_validator = EnumAttributeValidator.new('String', ["minutes", "hours", "days"])
199
254
  return false unless expiration_interval_validator.valid?(@expiration_interval)
200
255
  true
201
256
  end
@@ -203,9 +258,9 @@ module DocSpring
203
258
  # Custom attribute writer method checking allowed values (enum).
204
259
  # @param [Object] expiration_interval Object to be assigned
205
260
  def expiration_interval=(expiration_interval)
206
- validator = EnumAttributeValidator.new('String', ['minutes', 'hours', 'days'])
261
+ validator = EnumAttributeValidator.new('String', ["minutes", "hours", "days"])
207
262
  unless validator.valid?(expiration_interval)
208
- fail ArgumentError, 'invalid value for "expiration_interval", must be one of #{validator.allowable_values}.'
263
+ fail ArgumentError, "invalid value for \"expiration_interval\", must be one of #{validator.allowable_values}."
209
264
  end
210
265
  @expiration_interval = expiration_interval
211
266
  end
@@ -215,22 +270,25 @@ module DocSpring
215
270
  def ==(o)
216
271
  return true if self.equal?(o)
217
272
  self.class == o.class &&
218
- expiration_interval == o.expiration_interval &&
219
- webhook_url == o.webhook_url &&
220
- scss == o.scss &&
273
+ add_data_request_submission_id_footers == o.add_data_request_submission_id_footers &&
221
274
  allow_additional_properties == o.allow_additional_properties &&
222
- expire_after == o.expire_after &&
223
275
  description == o.description &&
224
- public_submissions == o.public_submissions &&
225
- slack_webhook_url == o.slack_webhook_url &&
226
- header_html == o.header_html &&
227
- public_web_form == o.public_web_form &&
228
276
  editable_submissions == o.editable_submissions &&
277
+ expiration_interval == o.expiration_interval &&
278
+ expire_after == o.expire_after &&
229
279
  expire_submissions == o.expire_submissions &&
230
- name == o.name &&
231
280
  footer_html == o.footer_html &&
281
+ header_html == o.header_html &&
232
282
  html == o.html &&
233
- redirect_url == o.redirect_url
283
+ merge_audit_trail_pdf == o.merge_audit_trail_pdf &&
284
+ name == o.name &&
285
+ public_submissions == o.public_submissions &&
286
+ public_web_form == o.public_web_form &&
287
+ redirect_url == o.redirect_url &&
288
+ scss == o.scss &&
289
+ slack_webhook_url == o.slack_webhook_url &&
290
+ webhook_options == o.webhook_options &&
291
+ webhook_url == o.webhook_url
234
292
  end
235
293
 
236
294
  # @see the `==` method
@@ -240,39 +298,42 @@ module DocSpring
240
298
  end
241
299
 
242
300
  # Calculates hash code according to all attributes.
243
- # @return [Fixnum] Hash code
301
+ # @return [Integer] Hash code
244
302
  def hash
245
- [expiration_interval, webhook_url, scss, allow_additional_properties, expire_after, description, public_submissions, slack_webhook_url, header_html, public_web_form, editable_submissions, expire_submissions, name, footer_html, html, redirect_url].hash
303
+ [add_data_request_submission_id_footers, allow_additional_properties, description, editable_submissions, expiration_interval, expire_after, expire_submissions, footer_html, header_html, html, merge_audit_trail_pdf, name, public_submissions, public_web_form, redirect_url, scss, slack_webhook_url, webhook_options, webhook_url].hash
246
304
  end
247
305
 
248
306
  # Builds the object from hash
249
307
  # @param [Hash] attributes Model attributes in the form of hash
250
308
  # @return [Object] Returns the model itself
251
- def build_from_hash(attributes)
309
+ def self.build_from_hash(attributes)
252
310
  return nil unless attributes.is_a?(Hash)
253
- self.class.openapi_types.each_pair do |key, type|
254
- if type =~ /\AArray<(.*)>/i
255
- # check to ensure the input is an array given that the the attribute
311
+ attributes = attributes.transform_keys(&:to_sym)
312
+ transformed_hash = {}
313
+ openapi_types.each_pair do |key, type|
314
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
315
+ transformed_hash["#{key}"] = nil
316
+ elsif type =~ /\AArray<(.*)>/i
317
+ # check to ensure the input is an array given that the attribute
256
318
  # is documented as an array but the input is not
257
- if attributes[self.class.attribute_map[key]].is_a?(Array)
258
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
319
+ if attributes[attribute_map[key]].is_a?(Array)
320
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
259
321
  end
260
- elsif !attributes[self.class.attribute_map[key]].nil?
261
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
262
- end # or else data not found in attributes(hash), not an issue as the data can be optional
322
+ elsif !attributes[attribute_map[key]].nil?
323
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
324
+ end
263
325
  end
264
-
265
- self
326
+ new(transformed_hash)
266
327
  end
267
328
 
268
329
  # Deserializes the data based on type
269
330
  # @param string type Data type
270
331
  # @param string value Value to be deserialized
271
332
  # @return [Object] Deserialized data
272
- def _deserialize(type, value)
333
+ def self._deserialize(type, value)
273
334
  case type.to_sym
274
- when :DateTime
275
- DateTime.parse(value)
335
+ when :Time
336
+ Time.parse(value)
276
337
  when :Date
277
338
  Date.parse(value)
278
339
  when :String
@@ -281,7 +342,7 @@ module DocSpring
281
342
  value.to_i
282
343
  when :Float
283
344
  value.to_f
284
- when :BOOLEAN
345
+ when :Boolean
285
346
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
286
347
  true
287
348
  else
@@ -302,8 +363,9 @@ module DocSpring
302
363
  end
303
364
  end
304
365
  else # model
305
- temp_model = DocSpring.const_get(type).new
306
- temp_model.build_from_hash(value)
366
+ # models (e.g. Pet) or oneOf
367
+ klass = DocSpring.const_get(type)
368
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
307
369
  end
308
370
  end
309
371
 
@@ -325,7 +387,11 @@ module DocSpring
325
387
  hash = {}
326
388
  self.class.attribute_map.each_pair do |attr, param|
327
389
  value = self.send(attr)
328
- next if value.nil?
390
+ if value.nil?
391
+ is_nullable = self.class.openapi_nullable.include?(attr)
392
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
393
+ end
394
+
329
395
  hash[param] = _to_hash(value)
330
396
  end
331
397
  hash
@@ -348,5 +414,7 @@ module DocSpring
348
414
  value
349
415
  end
350
416
  end
417
+
351
418
  end
419
+
352
420
  end