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,40 +3,41 @@
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 CreateSubmissionDataRequestData
17
- attr_accessor :auth_type
18
+ attr_accessor :auth_phone_number_hash
18
19
 
19
- attr_accessor :metadata
20
+ attr_accessor :auth_provider
20
21
 
21
22
  attr_accessor :auth_second_factor_type
22
23
 
23
- attr_accessor :auth_phone_number_hash
24
+ attr_accessor :auth_session_id_hash
24
25
 
25
26
  attr_accessor :auth_session_started_at
26
27
 
27
- attr_accessor :auth_user_id_hash
28
+ attr_accessor :auth_type
28
29
 
29
- attr_accessor :auth_session_id_hash
30
+ attr_accessor :auth_user_id_hash
30
31
 
31
32
  attr_accessor :auth_username_hash
32
33
 
33
- attr_accessor :name
34
+ attr_accessor :email
34
35
 
35
36
  attr_accessor :fields
36
37
 
37
- attr_accessor :auth_provider
38
+ attr_accessor :metadata
38
39
 
39
- attr_accessor :email
40
+ attr_accessor :name
40
41
 
41
42
  attr_accessor :order
42
43
 
@@ -65,100 +66,131 @@ module DocSpring
65
66
  # Attribute mapping from ruby-style variable name to JSON key.
66
67
  def self.attribute_map
67
68
  {
68
- :'auth_type' => :'auth_type',
69
- :'metadata' => :'metadata',
70
- :'auth_second_factor_type' => :'auth_second_factor_type',
71
69
  :'auth_phone_number_hash' => :'auth_phone_number_hash',
70
+ :'auth_provider' => :'auth_provider',
71
+ :'auth_second_factor_type' => :'auth_second_factor_type',
72
+ :'auth_session_id_hash' => :'auth_session_id_hash',
72
73
  :'auth_session_started_at' => :'auth_session_started_at',
74
+ :'auth_type' => :'auth_type',
73
75
  :'auth_user_id_hash' => :'auth_user_id_hash',
74
- :'auth_session_id_hash' => :'auth_session_id_hash',
75
76
  :'auth_username_hash' => :'auth_username_hash',
76
- :'name' => :'name',
77
- :'fields' => :'fields',
78
- :'auth_provider' => :'auth_provider',
79
77
  :'email' => :'email',
78
+ :'fields' => :'fields',
79
+ :'metadata' => :'metadata',
80
+ :'name' => :'name',
80
81
  :'order' => :'order'
81
82
  }
82
83
  end
83
84
 
85
+ # Returns all the JSON keys this model knows about
86
+ def self.acceptable_attributes
87
+ attribute_map.values
88
+ end
89
+
84
90
  # Attribute type mapping.
85
91
  def self.openapi_types
86
92
  {
87
- :'auth_type' => :'String',
88
- :'metadata' => :'Object',
89
- :'auth_second_factor_type' => :'String',
90
93
  :'auth_phone_number_hash' => :'String',
94
+ :'auth_provider' => :'String',
95
+ :'auth_second_factor_type' => :'String',
96
+ :'auth_session_id_hash' => :'String',
91
97
  :'auth_session_started_at' => :'String',
98
+ :'auth_type' => :'String',
92
99
  :'auth_user_id_hash' => :'String',
93
- :'auth_session_id_hash' => :'String',
94
100
  :'auth_username_hash' => :'String',
95
- :'name' => :'String',
96
- :'fields' => :'Array<String>',
97
- :'auth_provider' => :'String',
98
101
  :'email' => :'String',
102
+ :'fields' => :'Array<String>',
103
+ :'metadata' => :'Object',
104
+ :'name' => :'String',
99
105
  :'order' => :'Integer'
100
106
  }
101
107
  end
102
108
 
109
+ # List of attributes with nullable: true
110
+ def self.openapi_nullable
111
+ Set.new([
112
+ :'auth_phone_number_hash',
113
+ :'auth_provider',
114
+ :'auth_session_id_hash',
115
+ :'auth_session_started_at',
116
+ :'auth_user_id_hash',
117
+ :'auth_username_hash',
118
+ :'email',
119
+ :'fields',
120
+ :'name',
121
+ ])
122
+ end
123
+
103
124
  # Initializes the object
104
125
  # @param [Hash] attributes Model attributes in the form of hash
105
126
  def initialize(attributes = {})
106
- return unless attributes.is_a?(Hash)
127
+ if (!attributes.is_a?(Hash))
128
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::CreateSubmissionDataRequestData` initialize method"
129
+ end
107
130
 
108
- # convert string to symbol for hash key
109
- attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
131
+ # check to see if the attribute exists and convert string to symbol for hash key
132
+ attributes = attributes.each_with_object({}) { |(k, v), h|
133
+ if (!self.class.attribute_map.key?(k.to_sym))
134
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::CreateSubmissionDataRequestData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
135
+ end
136
+ h[k.to_sym] = v
137
+ }
110
138
 
111
- if attributes.has_key?(:'auth_type')
112
- self.auth_type = attributes[:'auth_type']
139
+ if attributes.key?(:'auth_phone_number_hash')
140
+ self.auth_phone_number_hash = attributes[:'auth_phone_number_hash']
113
141
  end
114
142
 
115
- if attributes.has_key?(:'metadata')
116
- self.metadata = attributes[:'metadata']
143
+ if attributes.key?(:'auth_provider')
144
+ self.auth_provider = attributes[:'auth_provider']
117
145
  end
118
146
 
119
- if attributes.has_key?(:'auth_second_factor_type')
147
+ if attributes.key?(:'auth_second_factor_type')
120
148
  self.auth_second_factor_type = attributes[:'auth_second_factor_type']
121
149
  end
122
150
 
123
- if attributes.has_key?(:'auth_phone_number_hash')
124
- self.auth_phone_number_hash = attributes[:'auth_phone_number_hash']
151
+ if attributes.key?(:'auth_session_id_hash')
152
+ self.auth_session_id_hash = attributes[:'auth_session_id_hash']
125
153
  end
126
154
 
127
- if attributes.has_key?(:'auth_session_started_at')
155
+ if attributes.key?(:'auth_session_started_at')
128
156
  self.auth_session_started_at = attributes[:'auth_session_started_at']
129
157
  end
130
158
 
131
- if attributes.has_key?(:'auth_user_id_hash')
132
- self.auth_user_id_hash = attributes[:'auth_user_id_hash']
159
+ if attributes.key?(:'auth_type')
160
+ self.auth_type = attributes[:'auth_type']
161
+ else
162
+ self.auth_type = nil
133
163
  end
134
164
 
135
- if attributes.has_key?(:'auth_session_id_hash')
136
- self.auth_session_id_hash = attributes[:'auth_session_id_hash']
165
+ if attributes.key?(:'auth_user_id_hash')
166
+ self.auth_user_id_hash = attributes[:'auth_user_id_hash']
137
167
  end
138
168
 
139
- if attributes.has_key?(:'auth_username_hash')
169
+ if attributes.key?(:'auth_username_hash')
140
170
  self.auth_username_hash = attributes[:'auth_username_hash']
141
171
  end
142
172
 
143
- if attributes.has_key?(:'name')
144
- self.name = attributes[:'name']
173
+ if attributes.key?(:'email')
174
+ self.email = attributes[:'email']
175
+ else
176
+ self.email = nil
145
177
  end
146
178
 
147
- if attributes.has_key?(:'fields')
179
+ if attributes.key?(:'fields')
148
180
  if (value = attributes[:'fields']).is_a?(Array)
149
181
  self.fields = value
150
182
  end
151
183
  end
152
184
 
153
- if attributes.has_key?(:'auth_provider')
154
- self.auth_provider = attributes[:'auth_provider']
185
+ if attributes.key?(:'metadata')
186
+ self.metadata = attributes[:'metadata']
155
187
  end
156
188
 
157
- if attributes.has_key?(:'email')
158
- self.email = attributes[:'email']
189
+ if attributes.key?(:'name')
190
+ self.name = attributes[:'name']
159
191
  end
160
192
 
161
- if attributes.has_key?(:'order')
193
+ if attributes.key?(:'order')
162
194
  self.order = attributes[:'order']
163
195
  end
164
196
  end
@@ -166,57 +198,64 @@ module DocSpring
166
198
  # Show invalid properties with the reasons. Usually used together with valid?
167
199
  # @return Array for valid properties with the reasons
168
200
  def list_invalid_properties
201
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
169
202
  invalid_properties = Array.new
203
+ if @auth_type.nil?
204
+ invalid_properties.push('invalid value for "auth_type", auth_type cannot be nil.')
205
+ end
206
+
170
207
  invalid_properties
171
208
  end
172
209
 
173
210
  # Check to see if the all the properties in the model are valid
174
211
  # @return true if the model is valid
175
212
  def valid?
176
- auth_type_validator = EnumAttributeValidator.new('String', ['none', 'password', 'oauth', 'email_link', 'phone_number', 'ldap', 'saml'])
177
- return false unless auth_type_validator.valid?(@auth_type)
178
- auth_second_factor_type_validator = EnumAttributeValidator.new('String', ['none', 'phone_number', 'totp', 'mobile_push', 'security_key', 'fingerprint'])
213
+ warn '[DEPRECATED] the `valid?` method is obsolete'
214
+ auth_second_factor_type_validator = EnumAttributeValidator.new('String', ["none", "phone_number", "totp", "mobile_push", "security_key", "fingerprint"])
179
215
  return false unless auth_second_factor_type_validator.valid?(@auth_second_factor_type)
216
+ return false if @auth_type.nil?
217
+ auth_type_validator = EnumAttributeValidator.new('String', ["none", "password", "oauth", "email_link", "phone_number", "ldap", "saml"])
218
+ return false unless auth_type_validator.valid?(@auth_type)
180
219
  true
181
220
  end
182
221
 
183
- # Custom attribute writer method checking allowed values (enum).
184
- # @param [Object] auth_type Object to be assigned
185
- def auth_type=(auth_type)
186
- validator = EnumAttributeValidator.new('String', ['none', 'password', 'oauth', 'email_link', 'phone_number', 'ldap', 'saml'])
187
- unless validator.valid?(auth_type)
188
- fail ArgumentError, 'invalid value for "auth_type", must be one of #{validator.allowable_values}.'
189
- end
190
- @auth_type = auth_type
191
- end
192
-
193
222
  # Custom attribute writer method checking allowed values (enum).
194
223
  # @param [Object] auth_second_factor_type Object to be assigned
195
224
  def auth_second_factor_type=(auth_second_factor_type)
196
- validator = EnumAttributeValidator.new('String', ['none', 'phone_number', 'totp', 'mobile_push', 'security_key', 'fingerprint'])
225
+ validator = EnumAttributeValidator.new('String', ["none", "phone_number", "totp", "mobile_push", "security_key", "fingerprint"])
197
226
  unless validator.valid?(auth_second_factor_type)
198
- fail ArgumentError, 'invalid value for "auth_second_factor_type", must be one of #{validator.allowable_values}.'
227
+ fail ArgumentError, "invalid value for \"auth_second_factor_type\", must be one of #{validator.allowable_values}."
199
228
  end
200
229
  @auth_second_factor_type = auth_second_factor_type
201
230
  end
202
231
 
232
+ # Custom attribute writer method checking allowed values (enum).
233
+ # @param [Object] auth_type Object to be assigned
234
+ def auth_type=(auth_type)
235
+ validator = EnumAttributeValidator.new('String', ["none", "password", "oauth", "email_link", "phone_number", "ldap", "saml"])
236
+ unless validator.valid?(auth_type)
237
+ fail ArgumentError, "invalid value for \"auth_type\", must be one of #{validator.allowable_values}."
238
+ end
239
+ @auth_type = auth_type
240
+ end
241
+
203
242
  # Checks equality by comparing each attribute.
204
243
  # @param [Object] Object to be compared
205
244
  def ==(o)
206
245
  return true if self.equal?(o)
207
246
  self.class == o.class &&
208
- auth_type == o.auth_type &&
209
- metadata == o.metadata &&
210
- auth_second_factor_type == o.auth_second_factor_type &&
211
247
  auth_phone_number_hash == o.auth_phone_number_hash &&
248
+ auth_provider == o.auth_provider &&
249
+ auth_second_factor_type == o.auth_second_factor_type &&
250
+ auth_session_id_hash == o.auth_session_id_hash &&
212
251
  auth_session_started_at == o.auth_session_started_at &&
252
+ auth_type == o.auth_type &&
213
253
  auth_user_id_hash == o.auth_user_id_hash &&
214
- auth_session_id_hash == o.auth_session_id_hash &&
215
254
  auth_username_hash == o.auth_username_hash &&
216
- name == o.name &&
217
- fields == o.fields &&
218
- auth_provider == o.auth_provider &&
219
255
  email == o.email &&
256
+ fields == o.fields &&
257
+ metadata == o.metadata &&
258
+ name == o.name &&
220
259
  order == o.order
221
260
  end
222
261
 
@@ -227,39 +266,42 @@ module DocSpring
227
266
  end
228
267
 
229
268
  # Calculates hash code according to all attributes.
230
- # @return [Fixnum] Hash code
269
+ # @return [Integer] Hash code
231
270
  def hash
232
- [auth_type, metadata, auth_second_factor_type, auth_phone_number_hash, auth_session_started_at, auth_user_id_hash, auth_session_id_hash, auth_username_hash, name, fields, auth_provider, email, order].hash
271
+ [auth_phone_number_hash, auth_provider, auth_second_factor_type, auth_session_id_hash, auth_session_started_at, auth_type, auth_user_id_hash, auth_username_hash, email, fields, metadata, name, order].hash
233
272
  end
234
273
 
235
274
  # Builds the object from hash
236
275
  # @param [Hash] attributes Model attributes in the form of hash
237
276
  # @return [Object] Returns the model itself
238
- def build_from_hash(attributes)
277
+ def self.build_from_hash(attributes)
239
278
  return nil unless attributes.is_a?(Hash)
240
- self.class.openapi_types.each_pair do |key, type|
241
- if type =~ /\AArray<(.*)>/i
242
- # check to ensure the input is an array given that the the attribute
279
+ attributes = attributes.transform_keys(&:to_sym)
280
+ transformed_hash = {}
281
+ openapi_types.each_pair do |key, type|
282
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
283
+ transformed_hash["#{key}"] = nil
284
+ elsif type =~ /\AArray<(.*)>/i
285
+ # check to ensure the input is an array given that the attribute
243
286
  # is documented as an array but the input is not
244
- if attributes[self.class.attribute_map[key]].is_a?(Array)
245
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
287
+ if attributes[attribute_map[key]].is_a?(Array)
288
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
246
289
  end
247
- elsif !attributes[self.class.attribute_map[key]].nil?
248
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
249
- end # or else data not found in attributes(hash), not an issue as the data can be optional
290
+ elsif !attributes[attribute_map[key]].nil?
291
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
292
+ end
250
293
  end
251
-
252
- self
294
+ new(transformed_hash)
253
295
  end
254
296
 
255
297
  # Deserializes the data based on type
256
298
  # @param string type Data type
257
299
  # @param string value Value to be deserialized
258
300
  # @return [Object] Deserialized data
259
- def _deserialize(type, value)
301
+ def self._deserialize(type, value)
260
302
  case type.to_sym
261
- when :DateTime
262
- DateTime.parse(value)
303
+ when :Time
304
+ Time.parse(value)
263
305
  when :Date
264
306
  Date.parse(value)
265
307
  when :String
@@ -268,7 +310,7 @@ module DocSpring
268
310
  value.to_i
269
311
  when :Float
270
312
  value.to_f
271
- when :BOOLEAN
313
+ when :Boolean
272
314
  if value.to_s =~ /\A(true|t|yes|y|1)\z/i
273
315
  true
274
316
  else
@@ -289,8 +331,9 @@ module DocSpring
289
331
  end
290
332
  end
291
333
  else # model
292
- temp_model = DocSpring.const_get(type).new
293
- temp_model.build_from_hash(value)
334
+ # models (e.g. Pet) or oneOf
335
+ klass = DocSpring.const_get(type)
336
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
294
337
  end
295
338
  end
296
339
 
@@ -312,7 +355,11 @@ module DocSpring
312
355
  hash = {}
313
356
  self.class.attribute_map.each_pair do |attr, param|
314
357
  value = self.send(attr)
315
- next if value.nil?
358
+ if value.nil?
359
+ is_nullable = self.class.openapi_nullable.include?(attr)
360
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
361
+ end
362
+
316
363
  hash[param] = _to_hash(value)
317
364
  end
318
365
  hash
@@ -335,5 +382,7 @@ module DocSpring
335
382
  value
336
383
  end
337
384
  end
385
+
338
386
  end
387
+
339
388
  end