docspring 3.5.0 → 4.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 (505) hide show
  1. checksums.yaml +4 -4
  2. data/.openapi-generator/FILES +361 -150
  3. data/.openapi-generator/VERSION +1 -1
  4. data/.rubocop.yml +1 -1
  5. data/.travis.yml +1 -1
  6. data/AGENTS.md +79 -19
  7. data/CHANGELOG.md +123 -0
  8. data/Gemfile.lock +7 -7
  9. data/README.md +60 -53
  10. data/docs/{RenameFolderData.md → AiFieldNamingLanguage.md} +2 -5
  11. data/docs/AuthenticationCheck.md +18 -0
  12. data/docs/{CreateFolderData.md → BarcodeSymbology.md} +2 -5
  13. data/docs/{CreateWebhookData.md → CheckCharacter.md} +2 -5
  14. data/docs/Client.md +890 -777
  15. data/docs/{UpdateWebhookData.md → CombinedFieldType.md} +2 -5
  16. data/docs/CombinedPdf.md +44 -0
  17. data/docs/CombinedPdfFiles.md +18 -0
  18. data/docs/CombinedPdfList.md +20 -0
  19. data/docs/CombinedPdfSource.md +26 -0
  20. data/docs/CombinedPdfSourceInput.md +88 -0
  21. data/docs/CombinedPdfSourcePdf.md +20 -0
  22. data/docs/CombinedPdfSourceType.md +15 -0
  23. data/docs/CombinedPdfState.md +15 -0
  24. data/docs/CopyTemplateRequest.md +22 -0
  25. data/docs/CreateCombinedPdfRequest.md +26 -0
  26. data/docs/CreateCustomFileFromUploadRequest.md +18 -0
  27. data/docs/CreateFolderRequest.md +20 -0
  28. data/docs/CreateSignatureRequestEventRequest.md +24 -0
  29. data/docs/CreateSignatureRequestTokenRequest.md +18 -0
  30. data/docs/CreateSubmissionBatchRequest.md +26 -0
  31. data/docs/CreateSubmissionRequest.md +36 -0
  32. data/docs/CreateTemplateRequest.md +94 -0
  33. data/docs/CreateWebhookRequest.md +38 -0
  34. data/docs/CustomFile.md +11 -3
  35. data/docs/CustomFileList.md +20 -0
  36. data/docs/CustomFileSourcePdf.md +20 -0
  37. data/docs/ErrorCode.md +15 -0
  38. data/docs/ErrorDetail.md +26 -0
  39. data/docs/ErrorInfo.md +32 -0
  40. data/docs/ErrorResponse.md +1 -3
  41. data/docs/ExpirationInterval.md +15 -0
  42. data/docs/FieldComparisonCondition.md +22 -0
  43. data/docs/FieldComparisonOperator.md +15 -0
  44. data/docs/FieldDisplayType.md +15 -0
  45. data/docs/FieldEqualsCondition.md +22 -0
  46. data/docs/FieldEqualsOperator.md +15 -0
  47. data/docs/FieldInCondition.md +22 -0
  48. data/docs/FieldOverride.md +142 -0
  49. data/docs/FieldPresenceCondition.md +20 -0
  50. data/docs/FieldPresenceOperator.md +15 -0
  51. data/docs/FieldRangeCondition.md +24 -0
  52. data/docs/FieldReimportState.md +15 -0
  53. data/docs/FieldSetupLogic.md +15 -0
  54. data/docs/FieldSetupNaming.md +15 -0
  55. data/docs/FieldSetupSource.md +15 -0
  56. data/docs/Folder.md +9 -5
  57. data/docs/FolderList.md +20 -0
  58. data/docs/GeneratedFile.md +32 -0
  59. data/docs/GeneratedFileState.md +15 -0
  60. data/docs/HtmlEngineOptions.md +36 -0
  61. data/docs/HtmlEngineOptionsInput.md +36 -0
  62. data/docs/ImageGravity.md +15 -0
  63. data/docs/ImageScaleType.md +15 -0
  64. data/docs/ModelCodeLanguage.md +15 -0
  65. data/docs/MoveFolderRequest.md +18 -0
  66. data/docs/MoveTemplateRequest.md +18 -0
  67. data/docs/NumberConditionType.md +15 -0
  68. data/docs/PageFormat.md +15 -0
  69. data/docs/PublishTemplateVersionRequest.md +20 -0
  70. data/docs/RenameFolderRequest.md +18 -0
  71. data/docs/RestoreTemplateVersionRequest.md +18 -0
  72. data/docs/ShapeType.md +15 -0
  73. data/docs/SignatureRequest.md +66 -0
  74. data/docs/SignatureRequestAuthSecondFactorType.md +15 -0
  75. data/docs/SignatureRequestAuthType.md +15 -0
  76. data/docs/SignatureRequestEvent.md +32 -0
  77. data/docs/SignatureRequestEventType.md +15 -0
  78. data/docs/SignatureRequestInput.md +46 -0
  79. data/docs/SignatureRequestMessageType.md +15 -0
  80. data/docs/SignatureRequestState.md +15 -0
  81. data/docs/SignatureRequestToken.md +30 -0
  82. data/docs/SignatureRequestTokenType.md +15 -0
  83. data/docs/StringConditionType.md +15 -0
  84. data/docs/Submission.md +41 -47
  85. data/docs/SubmissionAction.md +6 -8
  86. data/docs/SubmissionActionState.md +15 -0
  87. data/docs/SubmissionActionType.md +15 -0
  88. data/docs/SubmissionBatch.md +16 -10
  89. data/docs/SubmissionBatchState.md +15 -0
  90. data/docs/SubmissionFiles.md +22 -0
  91. data/docs/SubmissionInput.md +38 -0
  92. data/docs/SubmissionList.md +20 -0
  93. data/docs/SubmissionSource.md +15 -0
  94. data/docs/SubmissionSourcePdf.md +20 -0
  95. data/docs/SubmissionState.md +15 -0
  96. data/docs/Template.md +73 -107
  97. data/docs/TemplateActor.md +26 -0
  98. data/docs/TemplateActorType.md +15 -0
  99. data/docs/TemplateDefaults.md +56 -0
  100. data/docs/TemplateDefaultsInput.md +56 -0
  101. data/docs/TemplateDocument.md +40 -0
  102. data/docs/TemplateDocumentState.md +15 -0
  103. data/docs/TemplateFieldDependency.md +26 -0
  104. data/docs/TemplateFieldDependencyAction.md +15 -0
  105. data/docs/TemplateFieldDependencyCondition.md +24 -0
  106. data/docs/TemplateFieldDependencyConditionInput.md +93 -0
  107. data/docs/TemplateFieldDependencyInput.md +26 -0
  108. data/docs/TemplateFieldDependencyMatch.md +15 -0
  109. data/docs/TemplateFieldDependencyOperator.md +15 -0
  110. data/docs/TemplateFieldLogicStatus.md +15 -0
  111. data/docs/TemplateFormMode.md +15 -0
  112. data/docs/TemplateModelCode.md +22 -0
  113. data/docs/TemplatePageAiError.md +15 -0
  114. data/docs/TemplatePageAiNamingStatus.md +15 -0
  115. data/docs/TemplatePageFieldsStatus.md +15 -0
  116. data/docs/TemplatePageImageStatus.md +15 -0
  117. data/docs/TemplatePageProcessingStatus.md +26 -0
  118. data/docs/TemplateSourcePdf.md +24 -0
  119. data/docs/TemplateSummary.md +90 -0
  120. data/docs/TemplateSummaryList.md +20 -0
  121. data/docs/TemplateType.md +15 -0
  122. data/docs/TemplateVersion.md +24 -0
  123. data/docs/TemplateVersionType.md +15 -0
  124. data/docs/TextAlignment.md +15 -0
  125. data/docs/TextOverflow.md +15 -0
  126. data/docs/TextVerticalAlignment.md +15 -0
  127. data/docs/Typeface.md +15 -0
  128. data/docs/UpdateSignatureRequestRequest.md +34 -0
  129. data/docs/UpdateTemplateDocumentRequest.md +22 -0
  130. data/docs/UpdateTemplateRequest.md +80 -0
  131. data/docs/UpdateWebhookRequest.md +38 -0
  132. data/docs/UploadMethod.md +15 -0
  133. data/docs/UploadPresign.md +24 -0
  134. data/docs/UrlSourcePdf.md +20 -0
  135. data/docs/Webhook.md +20 -20
  136. data/docs/WebhookEventType.md +15 -0
  137. data/docs/WebhookList.md +20 -0
  138. data/docs/WebhookMode.md +15 -0
  139. data/docspring.gemspec +3 -3
  140. data/lib/docspring/api/client.rb +995 -942
  141. data/lib/docspring/api_client.rb +14 -6
  142. data/lib/docspring/api_error.rb +3 -3
  143. data/lib/docspring/api_model_base.rb +88 -0
  144. data/lib/docspring/configuration.rb +12 -7
  145. data/lib/docspring/models/ai_field_naming_language.rb +42 -0
  146. data/lib/docspring/models/authentication_check.rb +185 -0
  147. data/lib/docspring/models/barcode_symbology.rb +47 -0
  148. data/lib/docspring/models/check_character.rb +44 -0
  149. data/lib/docspring/models/combined_field_type.rb +41 -0
  150. data/lib/docspring/models/{combined_submission.rb → combined_pdf.rb} +228 -206
  151. data/lib/docspring/models/combined_pdf_files.rb +167 -0
  152. data/lib/docspring/models/combined_pdf_list.rb +200 -0
  153. data/lib/docspring/models/{update_webhook_data.rb → combined_pdf_source.rb} +107 -103
  154. data/lib/docspring/models/combined_pdf_source_input.rb +62 -0
  155. data/lib/docspring/models/combined_pdf_source_pdf.rb +212 -0
  156. data/lib/docspring/models/combined_pdf_source_type.rb +44 -0
  157. data/lib/docspring/models/combined_pdf_state.rb +44 -0
  158. data/lib/docspring/models/{copy_template_options.rb → copy_template_request.rb} +32 -87
  159. data/lib/docspring/models/{combine_pdfs_data.rb → create_combined_pdf_request.rb} +60 -123
  160. data/lib/docspring/models/{create_custom_file_data.rb → create_custom_file_from_upload_request.rb} +29 -96
  161. data/lib/docspring/models/{move_template_data.rb → create_folder_request.rb} +60 -102
  162. data/lib/docspring/models/{create_submission_data_request_event_request.rb → create_signature_request_event_request.rb} +50 -122
  163. data/lib/docspring/models/create_signature_request_token_request.rb +190 -0
  164. data/lib/docspring/models/{submission_batch_data.rb → create_submission_batch_request.rb} +53 -108
  165. data/lib/docspring/models/{create_pdf_submission_data.rb → create_submission_request.rb} +97 -149
  166. data/lib/docspring/models/create_template_request.rb +601 -0
  167. data/lib/docspring/models/create_webhook_request.rb +368 -0
  168. data/lib/docspring/models/custom_file.rb +132 -95
  169. data/lib/docspring/models/custom_file_list.rb +200 -0
  170. data/lib/docspring/models/custom_file_source_pdf.rb +212 -0
  171. data/lib/docspring/models/error_code.rb +60 -0
  172. data/lib/docspring/models/error_detail.rb +242 -0
  173. data/lib/docspring/models/error_info.rb +316 -0
  174. data/lib/docspring/models/error_response.rb +28 -138
  175. data/lib/docspring/models/expiration_interval.rb +42 -0
  176. data/lib/docspring/models/field_comparison_condition.rb +247 -0
  177. data/lib/docspring/models/field_comparison_operator.rb +43 -0
  178. data/lib/docspring/models/field_display_type.rb +45 -0
  179. data/lib/docspring/models/field_equals_condition.rb +247 -0
  180. data/lib/docspring/models/field_equals_operator.rb +41 -0
  181. data/lib/docspring/models/{create_folder_data.rb → field_in_condition.rb} +101 -103
  182. data/lib/docspring/models/field_override.rb +829 -0
  183. data/lib/docspring/models/field_presence_condition.rb +234 -0
  184. data/lib/docspring/models/field_presence_operator.rb +41 -0
  185. data/lib/docspring/models/field_range_condition.rb +234 -0
  186. data/lib/docspring/models/field_reimport_state.rb +43 -0
  187. data/lib/docspring/models/field_setup_logic.rb +41 -0
  188. data/lib/docspring/models/field_setup_naming.rb +41 -0
  189. data/lib/docspring/models/field_setup_source.rb +42 -0
  190. data/lib/docspring/models/folder.rb +134 -93
  191. data/lib/docspring/models/folder_list.rb +200 -0
  192. data/lib/docspring/models/generated_file.rb +326 -0
  193. data/lib/docspring/models/generated_file_state.rb +42 -0
  194. data/lib/docspring/models/html_engine_options.rb +416 -0
  195. data/lib/docspring/models/html_engine_options_input.rb +280 -0
  196. data/lib/docspring/models/image_gravity.rb +48 -0
  197. data/lib/docspring/models/image_scale_type.rb +42 -0
  198. data/lib/docspring/models/model_code_language.rb +48 -0
  199. data/lib/docspring/models/{move_folder_data.rb → move_folder_request.rb} +31 -87
  200. data/lib/docspring/models/move_template_request.rb +171 -0
  201. data/lib/docspring/models/number_condition_type.rb +45 -0
  202. data/lib/docspring/models/page_format.rb +52 -0
  203. data/lib/docspring/models/{publish_version_data.rb → publish_template_version_request.rb} +64 -99
  204. data/lib/docspring/models/{rename_folder_data.rb → rename_folder_request.rb} +29 -87
  205. data/lib/docspring/models/{restore_version_data.rb → restore_template_version_request.rb} +29 -87
  206. data/lib/docspring/models/shape_type.rb +45 -0
  207. data/lib/docspring/models/{submission_data_request_show.rb → signature_request.rb} +240 -171
  208. data/lib/docspring/models/signature_request_auth_second_factor_type.rb +45 -0
  209. data/lib/docspring/models/signature_request_auth_type.rb +46 -0
  210. data/lib/docspring/models/{submission_data_request_event.rb → signature_request_event.rb} +137 -122
  211. data/lib/docspring/models/signature_request_event_type.rb +45 -0
  212. data/lib/docspring/models/{update_submission_data_request_data.rb → signature_request_input.rb} +156 -173
  213. data/lib/docspring/models/signature_request_message_type.rb +48 -0
  214. data/lib/docspring/models/signature_request_state.rb +42 -0
  215. data/lib/docspring/models/signature_request_token.rb +369 -0
  216. data/lib/docspring/models/signature_request_token_type.rb +41 -0
  217. data/lib/docspring/models/string_condition_type.rb +44 -0
  218. data/lib/docspring/models/submission.rb +374 -339
  219. data/lib/docspring/models/submission_action.rb +64 -136
  220. data/lib/docspring/models/submission_action_state.rb +43 -0
  221. data/lib/docspring/models/submission_action_type.rb +46 -0
  222. data/lib/docspring/models/submission_batch.rb +157 -112
  223. data/lib/docspring/models/submission_batch_state.rb +42 -0
  224. data/lib/docspring/models/submission_files.rb +188 -0
  225. data/lib/docspring/models/submission_input.rb +274 -0
  226. data/lib/docspring/models/submission_list.rb +200 -0
  227. data/lib/docspring/models/submission_source.rb +43 -0
  228. data/lib/docspring/models/submission_source_pdf.rb +212 -0
  229. data/lib/docspring/models/submission_state.rb +52 -0
  230. data/lib/docspring/models/template.rb +485 -766
  231. data/lib/docspring/models/{add_fields_data.rb → template_actor.rb} +119 -105
  232. data/lib/docspring/models/template_actor_type.rb +42 -0
  233. data/lib/docspring/models/template_defaults.rb +395 -0
  234. data/lib/docspring/models/template_defaults_input.rb +395 -0
  235. data/lib/docspring/models/template_document.rb +396 -0
  236. data/lib/docspring/models/template_document_state.rb +44 -0
  237. data/lib/docspring/models/{success_error_response.rb → template_field_dependency.rb} +122 -114
  238. data/lib/docspring/models/template_field_dependency_action.rb +42 -0
  239. data/lib/docspring/models/{create_pdf_template.rb → template_field_dependency_condition.rb} +116 -103
  240. data/lib/docspring/models/template_field_dependency_condition_input.rb +67 -0
  241. data/lib/docspring/models/template_field_dependency_input.rb +285 -0
  242. data/lib/docspring/models/template_field_dependency_match.rb +41 -0
  243. data/lib/docspring/models/template_field_dependency_operator.rb +49 -0
  244. data/lib/docspring/models/template_field_logic_status.rb +44 -0
  245. data/lib/docspring/models/template_form_mode.rb +42 -0
  246. data/lib/docspring/models/{template_model_code_response.rb → template_model_code.rb} +37 -96
  247. data/lib/docspring/models/template_page_ai_error.rb +43 -0
  248. data/lib/docspring/models/template_page_ai_naming_status.rb +41 -0
  249. data/lib/docspring/models/template_page_fields_status.rb +44 -0
  250. data/lib/docspring/models/template_page_image_status.rb +41 -0
  251. data/lib/docspring/models/template_page_processing_status.rb +275 -0
  252. data/lib/docspring/models/{create_webhook_data.rb → template_source_pdf.rb} +92 -103
  253. data/lib/docspring/models/{template_preview.rb → template_summary.rb} +436 -589
  254. data/lib/docspring/models/template_summary_list.rb +200 -0
  255. data/lib/docspring/models/template_type.rb +41 -0
  256. data/lib/docspring/models/template_version.rb +238 -0
  257. data/lib/docspring/models/template_version_type.rb +42 -0
  258. data/lib/docspring/models/text_alignment.rb +43 -0
  259. data/lib/docspring/models/text_overflow.rb +41 -0
  260. data/lib/docspring/models/text_vertical_alignment.rb +42 -0
  261. data/lib/docspring/models/typeface.rb +56 -0
  262. data/lib/docspring/models/{create_submission_data_request_data.rb → update_signature_request_request.rb} +72 -196
  263. data/lib/docspring/models/update_template_document_request.rb +205 -0
  264. data/lib/docspring/models/update_template_request.rb +514 -0
  265. data/lib/docspring/models/update_webhook_request.rb +344 -0
  266. data/lib/docspring/models/upload_method.rb +40 -0
  267. data/lib/docspring/models/{upload_presign_response.rb → upload_presign.rb} +93 -140
  268. data/lib/docspring/models/url_source_pdf.rb +212 -0
  269. data/lib/docspring/models/webhook.rb +97 -107
  270. data/lib/docspring/models/webhook_event_type.rb +64 -0
  271. data/lib/docspring/models/webhook_list.rb +200 -0
  272. data/lib/docspring/models/webhook_mode.rb +41 -0
  273. data/lib/docspring/request_schemas.json +3187 -0
  274. data/lib/docspring/request_validator.rb +396 -0
  275. data/lib/docspring/version.rb +4 -4
  276. data/lib/docspring.rb +125 -53
  277. data/spec/api/client_spec.rb +304 -277
  278. data/spec/models/ai_field_naming_language_spec.rb +30 -0
  279. data/spec/models/authentication_check_spec.rb +36 -0
  280. data/spec/models/barcode_symbology_spec.rb +30 -0
  281. data/spec/models/check_character_spec.rb +30 -0
  282. data/spec/models/combined_field_type_spec.rb +30 -0
  283. data/spec/models/combined_pdf_files_spec.rb +36 -0
  284. data/spec/models/combined_pdf_list_spec.rb +42 -0
  285. data/spec/models/combined_pdf_source_input_spec.rb +44 -0
  286. data/spec/models/combined_pdf_source_pdf_spec.rb +42 -0
  287. data/spec/models/{submission_data_request_token_spec.rb → combined_pdf_source_spec.rb} +18 -12
  288. data/spec/models/combined_pdf_source_type_spec.rb +30 -0
  289. data/spec/models/{combined_submission_spec.rb → combined_pdf_spec.rb} +20 -24
  290. data/spec/models/combined_pdf_state_spec.rb +30 -0
  291. data/spec/models/{copy_template_options_spec.rb → copy_template_request_spec.rb} +9 -9
  292. data/spec/models/{combine_pdfs_data_spec.rb → create_combined_pdf_request_spec.rb} +12 -18
  293. data/spec/models/{create_custom_file_data_spec.rb → create_custom_file_from_upload_request_spec.rb} +9 -9
  294. data/spec/models/{move_template_data_spec.rb → create_folder_request_spec.rb} +11 -11
  295. data/spec/models/{list_submissions_response_spec.rb → create_signature_request_event_request_spec.rb} +18 -12
  296. data/spec/models/create_signature_request_token_request_spec.rb +36 -0
  297. data/spec/models/{submission_batch_data_spec.rb → create_submission_batch_request_spec.rb} +13 -13
  298. data/spec/models/{create_pdf_submission_data_spec.rb → create_submission_request_spec.rb} +24 -18
  299. data/spec/models/{template_preview_spec.rb → create_template_request_spec.rb} +40 -118
  300. data/spec/models/create_webhook_request_spec.rb +96 -0
  301. data/spec/models/custom_file_list_spec.rb +42 -0
  302. data/spec/models/custom_file_source_pdf_spec.rb +42 -0
  303. data/spec/models/custom_file_spec.rb +29 -5
  304. data/spec/models/error_code_spec.rb +30 -0
  305. data/spec/models/{create_submission_response_spec.rb → error_detail_spec.rb} +14 -18
  306. data/spec/models/{batch_generate_pdfs201_response_spec.rb → error_info_spec.rb} +27 -19
  307. data/spec/models/error_response_spec.rb +4 -14
  308. data/spec/models/expiration_interval_spec.rb +30 -0
  309. data/spec/models/field_comparison_condition_spec.rb +48 -0
  310. data/spec/models/field_comparison_operator_spec.rb +30 -0
  311. data/spec/models/field_display_type_spec.rb +30 -0
  312. data/spec/models/field_equals_condition_spec.rb +48 -0
  313. data/spec/models/field_equals_operator_spec.rb +30 -0
  314. data/spec/models/field_in_condition_spec.rb +48 -0
  315. data/spec/models/field_override_spec.rb +408 -0
  316. data/spec/models/field_presence_condition_spec.rb +42 -0
  317. data/spec/models/field_presence_operator_spec.rb +30 -0
  318. data/spec/models/field_range_condition_spec.rb +54 -0
  319. data/spec/models/field_reimport_state_spec.rb +30 -0
  320. data/spec/models/field_setup_logic_spec.rb +30 -0
  321. data/spec/models/field_setup_naming_spec.rb +30 -0
  322. data/spec/models/field_setup_source_spec.rb +30 -0
  323. data/spec/models/folder_list_spec.rb +42 -0
  324. data/spec/models/folder_spec.rb +16 -4
  325. data/spec/models/generated_file_spec.rb +78 -0
  326. data/spec/models/generated_file_state_spec.rb +30 -0
  327. data/spec/models/html_engine_options_input_spec.rb +90 -0
  328. data/spec/models/html_engine_options_spec.rb +90 -0
  329. data/spec/models/image_gravity_spec.rb +30 -0
  330. data/spec/models/image_scale_type_spec.rb +30 -0
  331. data/spec/models/model_code_language_spec.rb +30 -0
  332. data/spec/models/move_folder_request_spec.rb +36 -0
  333. data/spec/models/move_template_request_spec.rb +36 -0
  334. data/spec/models/number_condition_type_spec.rb +30 -0
  335. data/spec/models/page_format_spec.rb +30 -0
  336. data/spec/models/{publish_version_data_spec.rb → publish_template_version_request_spec.rb} +11 -11
  337. data/spec/models/{rename_folder_data_spec.rb → rename_folder_request_spec.rb} +9 -9
  338. data/spec/models/restore_template_version_request_spec.rb +36 -0
  339. data/spec/models/shape_type_spec.rb +30 -0
  340. data/spec/models/signature_request_auth_second_factor_type_spec.rb +30 -0
  341. data/spec/models/signature_request_auth_type_spec.rb +30 -0
  342. data/spec/models/{submission_data_request_event_spec.rb → signature_request_event_spec.rb} +16 -18
  343. data/spec/models/signature_request_event_type_spec.rb +30 -0
  344. data/spec/models/{create_submission_data_request_data_spec.rb → signature_request_input_spec.rb} +28 -30
  345. data/spec/models/signature_request_message_type_spec.rb +30 -0
  346. data/spec/models/{submission_data_request_show_spec.rb → signature_request_spec.rb} +31 -31
  347. data/spec/models/signature_request_state_spec.rb +30 -0
  348. data/spec/models/signature_request_token_spec.rb +72 -0
  349. data/spec/models/signature_request_token_type_spec.rb +30 -0
  350. data/spec/models/string_condition_type_spec.rb +30 -0
  351. data/spec/models/submission_action_spec.rb +4 -22
  352. data/spec/models/submission_action_state_spec.rb +30 -0
  353. data/spec/models/submission_action_type_spec.rb +30 -0
  354. data/spec/models/submission_batch_spec.rb +27 -13
  355. data/spec/models/submission_batch_state_spec.rb +30 -0
  356. data/spec/models/submission_files_spec.rb +48 -0
  357. data/spec/models/submission_input_spec.rb +96 -0
  358. data/spec/models/submission_list_spec.rb +42 -0
  359. data/spec/models/submission_source_pdf_spec.rb +42 -0
  360. data/spec/models/submission_source_spec.rb +30 -0
  361. data/spec/models/submission_spec.rb +26 -56
  362. data/spec/models/submission_state_spec.rb +30 -0
  363. data/spec/models/template_actor_spec.rb +60 -0
  364. data/spec/models/template_actor_type_spec.rb +30 -0
  365. data/spec/models/{submission_data_request_spec.rb → template_defaults_input_spec.rb} +29 -53
  366. data/spec/models/template_defaults_spec.rb +150 -0
  367. data/spec/models/{json_schema_spec.rb → template_document_spec.rb} +21 -21
  368. data/spec/models/template_document_state_spec.rb +30 -0
  369. data/spec/models/template_field_dependency_action_spec.rb +30 -0
  370. data/spec/models/template_field_dependency_condition_input_spec.rb +44 -0
  371. data/spec/models/template_field_dependency_condition_spec.rb +54 -0
  372. data/spec/models/template_field_dependency_input_spec.rb +60 -0
  373. data/spec/models/template_field_dependency_match_spec.rb +30 -0
  374. data/spec/models/template_field_dependency_operator_spec.rb +30 -0
  375. data/spec/models/template_field_dependency_spec.rb +60 -0
  376. data/spec/models/template_field_logic_status_spec.rb +30 -0
  377. data/spec/models/template_form_mode_spec.rb +30 -0
  378. data/spec/models/{template_model_code_response_spec.rb → template_model_code_spec.rb} +9 -13
  379. data/spec/models/template_page_ai_error_spec.rb +30 -0
  380. data/spec/models/template_page_ai_naming_status_spec.rb +30 -0
  381. data/spec/models/template_page_fields_status_spec.rb +30 -0
  382. data/spec/models/template_page_image_status_spec.rb +30 -0
  383. data/spec/models/template_page_processing_status_spec.rb +60 -0
  384. data/spec/models/template_source_pdf_spec.rb +54 -0
  385. data/spec/models/template_spec.rb +40 -154
  386. data/spec/models/template_summary_list_spec.rb +42 -0
  387. data/spec/models/template_summary_spec.rb +252 -0
  388. data/spec/models/template_type_spec.rb +30 -0
  389. data/spec/models/template_version_spec.rb +54 -0
  390. data/spec/models/template_version_type_spec.rb +30 -0
  391. data/spec/models/text_alignment_spec.rb +30 -0
  392. data/spec/models/text_overflow_spec.rb +30 -0
  393. data/spec/models/text_vertical_alignment_spec.rb +30 -0
  394. data/spec/models/typeface_spec.rb +30 -0
  395. data/spec/models/{submission_batch_with_submissions_spec.rb → update_signature_request_request_spec.rb} +18 -22
  396. data/spec/models/update_template_document_request_spec.rb +48 -0
  397. data/spec/models/{submission_preview_spec.rb → update_template_request_spec.rb} +81 -41
  398. data/spec/models/update_webhook_request_spec.rb +96 -0
  399. data/spec/models/upload_method_spec.rb +30 -0
  400. data/spec/models/{upload_presign_response_spec.rb → upload_presign_spec.rb} +13 -17
  401. data/spec/models/url_source_pdf_spec.rb +42 -0
  402. data/spec/models/webhook_event_type_spec.rb +30 -0
  403. data/spec/models/webhook_list_spec.rb +42 -0
  404. data/spec/models/webhook_mode_spec.rb +30 -0
  405. data/spec/models/webhook_spec.rb +4 -8
  406. data/spec/spec_helper.rb +3 -3
  407. metadata +485 -202
  408. data/docs/AddFieldsData.md +0 -18
  409. data/docs/BatchGeneratePdfs201Response.md +0 -28
  410. data/docs/CombinePdfsData.md +0 -28
  411. data/docs/CombinedSubmission.md +0 -44
  412. data/docs/CombinedSubmissionAction.md +0 -30
  413. data/docs/CopyTemplateOptions.md +0 -22
  414. data/docs/CreateCombinedSubmissionResponse.md +0 -26
  415. data/docs/CreateCustomFileData.md +0 -18
  416. data/docs/CreateCustomFileResponse.md +0 -24
  417. data/docs/CreateHtmlTemplate.md +0 -18
  418. data/docs/CreatePdfSubmissionData.md +0 -34
  419. data/docs/CreatePdfTemplate.md +0 -18
  420. data/docs/CreateSubmissionDataRequestData.md +0 -44
  421. data/docs/CreateSubmissionDataRequestEventRequest.md +0 -24
  422. data/docs/CreateSubmissionDataRequestEventResponse.md +0 -24
  423. data/docs/CreateSubmissionDataRequestResponse.md +0 -24
  424. data/docs/CreateSubmissionDataRequestTokenResponse.md +0 -24
  425. data/docs/CreateSubmissionResponse.md +0 -26
  426. data/docs/ErrorOrMultipleErrorsResponse.md +0 -22
  427. data/docs/ForbiddenErrorResponse.md +0 -22
  428. data/docs/JsonSchema.md +0 -40
  429. data/docs/ListSubmissionsResponse.md +0 -22
  430. data/docs/MoveFolderData.md +0 -18
  431. data/docs/MoveTemplateData.md +0 -20
  432. data/docs/MultipleErrorsResponse.md +0 -20
  433. data/docs/PublishVersionData.md +0 -20
  434. data/docs/RestoreVersionData.md +0 -18
  435. data/docs/Submission422Response.md +0 -24
  436. data/docs/SubmissionBatchData.md +0 -26
  437. data/docs/SubmissionBatchWithSubmissions.md +0 -34
  438. data/docs/SubmissionDataRequest.md +0 -60
  439. data/docs/SubmissionDataRequestEvent.md +0 -30
  440. data/docs/SubmissionDataRequestShow.md +0 -62
  441. data/docs/SubmissionDataRequestToken.md +0 -24
  442. data/docs/SubmissionPreview.md +0 -64
  443. data/docs/SuccessErrorResponse.md +0 -20
  444. data/docs/SuccessMultipleErrorsResponse.md +0 -20
  445. data/docs/TemplateAddFieldsResponse.md +0 -22
  446. data/docs/TemplateDeleteResponse.md +0 -24
  447. data/docs/TemplateModelCodeResponse.md +0 -22
  448. data/docs/TemplatePreview.md +0 -116
  449. data/docs/TemplatePublishVersionResponse.md +0 -22
  450. data/docs/UpdateHtmlTemplate.md +0 -18
  451. data/docs/UpdatePdfTemplate.md +0 -18
  452. data/docs/UpdateSubmissionDataRequestData.md +0 -42
  453. data/docs/UploadPresignResponse.md +0 -24
  454. data/lib/docspring/models/batch_generate_pdfs201_response.rb +0 -352
  455. data/lib/docspring/models/combined_submission_action.rb +0 -384
  456. data/lib/docspring/models/create_combined_submission_response.rb +0 -324
  457. data/lib/docspring/models/create_custom_file_response.rb +0 -314
  458. data/lib/docspring/models/create_html_template.rb +0 -243
  459. data/lib/docspring/models/create_submission_data_request_event_response.rb +0 -314
  460. data/lib/docspring/models/create_submission_data_request_response.rb +0 -314
  461. data/lib/docspring/models/create_submission_data_request_token_response.rb +0 -314
  462. data/lib/docspring/models/create_submission_response.rb +0 -324
  463. data/lib/docspring/models/error_or_multiple_errors_response.rb +0 -290
  464. data/lib/docspring/models/forbidden_error_response.rb +0 -323
  465. data/lib/docspring/models/json_schema.rb +0 -329
  466. data/lib/docspring/models/list_submissions_response.rb +0 -283
  467. data/lib/docspring/models/multiple_errors_response.rb +0 -296
  468. data/lib/docspring/models/submission422_response.rb +0 -299
  469. data/lib/docspring/models/submission_batch_with_submissions.rb +0 -433
  470. data/lib/docspring/models/submission_data_request.rb +0 -570
  471. data/lib/docspring/models/submission_data_request_token.rb +0 -279
  472. data/lib/docspring/models/submission_preview.rb +0 -637
  473. data/lib/docspring/models/success_multiple_errors_response.rb +0 -279
  474. data/lib/docspring/models/template_add_fields_response.rb +0 -290
  475. data/lib/docspring/models/template_delete_response.rb +0 -300
  476. data/lib/docspring/models/template_publish_version_response.rb +0 -305
  477. data/lib/docspring/models/update_html_template.rb +0 -243
  478. data/lib/docspring/models/update_pdf_template.rb +0 -243
  479. data/spec/models/add_fields_data_spec.rb +0 -36
  480. data/spec/models/combined_submission_action_spec.rb +0 -84
  481. data/spec/models/create_combined_submission_response_spec.rb +0 -64
  482. data/spec/models/create_custom_file_response_spec.rb +0 -58
  483. data/spec/models/create_folder_data_spec.rb +0 -36
  484. data/spec/models/create_html_template_spec.rb +0 -36
  485. data/spec/models/create_pdf_template_spec.rb +0 -36
  486. data/spec/models/create_submission_data_request_event_request_spec.rb +0 -62
  487. data/spec/models/create_submission_data_request_event_response_spec.rb +0 -58
  488. data/spec/models/create_submission_data_request_response_spec.rb +0 -58
  489. data/spec/models/create_submission_data_request_token_response_spec.rb +0 -58
  490. data/spec/models/create_webhook_data_spec.rb +0 -36
  491. data/spec/models/error_or_multiple_errors_response_spec.rb +0 -52
  492. data/spec/models/forbidden_error_response_spec.rb +0 -56
  493. data/spec/models/move_folder_data_spec.rb +0 -36
  494. data/spec/models/multiple_errors_response_spec.rb +0 -46
  495. data/spec/models/restore_version_data_spec.rb +0 -36
  496. data/spec/models/submission422_response_spec.rb +0 -58
  497. data/spec/models/success_error_response_spec.rb +0 -46
  498. data/spec/models/success_multiple_errors_response_spec.rb +0 -46
  499. data/spec/models/template_add_fields_response_spec.rb +0 -52
  500. data/spec/models/template_delete_response_spec.rb +0 -58
  501. data/spec/models/template_publish_version_response_spec.rb +0 -52
  502. data/spec/models/update_html_template_spec.rb +0 -36
  503. data/spec/models/update_pdf_template_spec.rb +0 -36
  504. data/spec/models/update_submission_data_request_data_spec.rb +0 -116
  505. data/spec/models/update_webhook_data_spec.rb +0 -36
@@ -0,0 +1,601 @@
1
+ =begin
2
+ #DocSpring API
3
+
4
+ #Use DocSpring's API to programmatically fill out PDF forms, convert HTML to PDFs, merge PDFs, or request legally binding e-signatures.
5
+
6
+ The version of the OpenAPI document: v2
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.26.0-DOCSPRING
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module DocSpring
17
+ # The template to create.
18
+ class CreateTemplateRequest < ApiModelBase
19
+ # The template's name.
20
+ attr_accessor :name
21
+
22
+ # Shown under the template's name at the top of its hosted forms, and used as their meta description. Not shown on embedded forms or signature requests.
23
+ attr_accessor :description
24
+
25
+ # `pdf`: fields placed on an uploaded PDF. `html`: a PDF rendered from HTML and SCSS. It can't be changed after the template is created.
26
+ attr_accessor :template_type
27
+
28
+ # The ID of the folder the template is in. Null for a template at the root. Setting it moves the template and all of its published versions.
29
+ attr_accessor :parent_folder_id
30
+
31
+ # A locked template can't be changed or deleted until it's unlocked (`locked` can always be changed).
32
+ attr_accessor :locked
33
+
34
+ # Print the submission ID in the footer of each page of PDFs signed through signature requests.
35
+ attr_accessor :add_signature_request_submission_id_footers
36
+
37
+ # The language AI field setup names fields in: `auto` uses the form's language when it's written in the Latin alphabet without accents, and English otherwise; `english` always uses English; `form_language` uses the form's language and script. New templates take it from your account's template settings. Null for HTML templates.
38
+ attr_accessor :ai_field_naming_language
39
+
40
+ # Accept submission data with properties that aren't fields of the template.
41
+ attr_accessor :allow_additional_properties
42
+
43
+ # Visual forms and signature request forms show the Continue button as soon as the required fields are filled in, without visiting each optional field. The `allowSkippingOptionalFields` embed option overrides it.
44
+ attr_accessor :allow_skipping_optional_fields
45
+
46
+ # The hosted form that /templates/{template_id}/form shows when its URL has no `mode` parameter: `web` (the web form), `visual` (the visual form, where fields are filled in on the PDF) or `dual` (both, in tabs). HTML templates have no visual form, so `web` is the only value they accept.
47
+ attr_accessor :default_form_mode
48
+
49
+ # Generate PDFs whose text and check fields stay fillable ("Generate Editable PDFs"). A submission's `editable` overrides it.
50
+ attr_accessor :editable_submissions
51
+
52
+ # The sites where the template's signature requests, forms and embedded template editor can be loaded: a host such as `app.example.com`, with an optional leading wildcard (`*.example.com`), port (`localhost:3000`) or scheme (`https://app.example.com`; without one, `http` and `https` both work). When it's empty, live signature requests don't load on any site, and the embedded template editor loads on every site.
53
+ attr_accessor :embed_domains
54
+
55
+ # Allow the embedded template editor to change sensitive template settings (webhooks, redirect URL, encryption, public access, expiration and so on).
56
+ attr_accessor :embed_edit_allow_settings
57
+
58
+ # Allow the embedded template editor to publish, restore, compare and delete published versions.
59
+ attr_accessor :embed_edit_allow_versioning
60
+
61
+ # Allow the embedded template editor to replace the template's PDF.
62
+ attr_accessor :embed_edit_allow_document_replacement
63
+
64
+ # Encrypt generated PDFs with `encrypt_pdfs_password`.
65
+ attr_accessor :encrypt_pdfs
66
+
67
+ # The password that opens encrypted PDFs. It's never returned; `has_encrypt_pdfs_password` says if it's set.
68
+ attr_accessor :encrypt_pdfs_password
69
+
70
+ # Delete each submission's data and PDF after `expire_after` `expiration_interval`.
71
+ attr_accessor :expire_submissions
72
+
73
+ # How many `expiration_interval`s a submission's data and PDF are kept for, when `expire_submissions` is on. At most 5256000 (10 years in minutes).
74
+ attr_accessor :expire_after
75
+
76
+ # The unit of `expire_after`.
77
+ attr_accessor :expiration_interval
78
+
79
+ # Add the audit trail to the end of PDFs signed through signature requests.
80
+ attr_accessor :merge_audit_trail_pdf
81
+
82
+ # Date fields also accept NN/NN/YYYY dates (with slashes, dashes or dots), read in the order of the template's default date format: month first for %m/%d/%Y, day first for %d/%m/%Y. When false, date fields only accept YYYY-MM-DD. Applies to PDF templates: an HTML template's date fields only accept YYYY-MM-DD. Date fields that include a time take RFC 3339 date-times either way.
83
+ attr_accessor :parse_dates_using_template_date_format
84
+
85
+ # Allow anyone with a submission's ID to download its PDF.
86
+ attr_accessor :public_submissions
87
+
88
+ # Allow anyone to fill in the template's web form.
89
+ attr_accessor :public_web_form
90
+
91
+ # Where the web form sends people after they submit it.
92
+ attr_accessor :redirect_url
93
+
94
+ # A Slack incoming webhook URL that is notified about the template's submissions. It's never returned; `has_slack_webhook_url` says if it's set.
95
+ attr_accessor :slack_webhook_url
96
+
97
+ # The default style of the template's fields. Setting it replaces the whole object.
98
+ attr_accessor :defaults
99
+
100
+ # The template's conditional logic rules. Setting them replaces all of the rules.
101
+ attr_accessor :field_dependencies
102
+
103
+ # The HTML of an HTML template, as a Liquid template. Null for PDF templates.
104
+ attr_accessor :html
105
+
106
+ # The SCSS of an HTML template.
107
+ attr_accessor :scss
108
+
109
+ # The HTML printed at the top of each page of an HTML template.
110
+ attr_accessor :header_html
111
+
112
+ # The HTML printed at the bottom of each page of an HTML template.
113
+ attr_accessor :footer_html
114
+
115
+ # Null resets the options to their defaults.
116
+ attr_accessor :html_engine_options
117
+
118
+ # A PDF template's document: the `fields.key` of a file you uploaded with the presigned upload (GET /uploads/presign). Required for a PDF template. To upload the PDF with the request, use POST /templates/upload.
119
+ attr_accessor :cache_id
120
+
121
+ # The PDF's file name, for a `cache_id` (presigned uploads don't send one).
122
+ attr_accessor :filename
123
+
124
+ # Set up the PDF's fields as DocSpring's "Automatically detect fields" upload option does: import or detect the fields, name them with AI, and set up conditional logic. `field_source`, `field_naming` and `field_logic` choose how. Default false. `document.page_processing_statuses` and `document.field_logic_status` show how it's going, and `document.state` becomes `processed` once every page's fields are set up.
125
+ attr_accessor :detect_fields
126
+
127
+ # With `detect_fields`, where the fields come from. `auto` (the default) imports the form fields of a fillable PDF and detects the fields of a PDF without them; `pdf_detection` detects the fields from the page layout, even on a fillable PDF; `pdf_form_fields` only imports the PDF's form fields.
128
+ attr_accessor :field_source
129
+
130
+ # With `detect_fields`, how the fields are named. `ai` (the default) names them and sets their types and settings with AI; `preserve` keeps the names of the PDF's form fields, and AI only names the fields it detected. `preserve` needs `field_source` `auto` or `pdf_form_fields`.
131
+ attr_accessor :field_naming
132
+
133
+ # With `detect_fields`, whether AI reads the whole form once the fields are named and sets up conditional logic and required fields (`ai`) or not (`none`). Default: your account's template settings.
134
+ attr_accessor :field_logic
135
+
136
+ class EnumAttributeValidator
137
+ attr_reader :datatype
138
+ attr_reader :allowable_values
139
+
140
+ def initialize(datatype, allowable_values)
141
+ @allowable_values = allowable_values.map do |value|
142
+ case datatype.to_s
143
+ when /Integer/i
144
+ value.to_i
145
+ when /Float/i
146
+ value.to_f
147
+ else
148
+ value
149
+ end
150
+ end
151
+ end
152
+
153
+ def valid?(value)
154
+ !value || allowable_values.include?(value)
155
+ end
156
+ end
157
+
158
+ # Attribute mapping from ruby-style variable name to JSON key.
159
+ def self.attribute_map
160
+ {
161
+ :'name' => :'name',
162
+ :'description' => :'description',
163
+ :'template_type' => :'template_type',
164
+ :'parent_folder_id' => :'parent_folder_id',
165
+ :'locked' => :'locked',
166
+ :'add_signature_request_submission_id_footers' => :'add_signature_request_submission_id_footers',
167
+ :'ai_field_naming_language' => :'ai_field_naming_language',
168
+ :'allow_additional_properties' => :'allow_additional_properties',
169
+ :'allow_skipping_optional_fields' => :'allow_skipping_optional_fields',
170
+ :'default_form_mode' => :'default_form_mode',
171
+ :'editable_submissions' => :'editable_submissions',
172
+ :'embed_domains' => :'embed_domains',
173
+ :'embed_edit_allow_settings' => :'embed_edit_allow_settings',
174
+ :'embed_edit_allow_versioning' => :'embed_edit_allow_versioning',
175
+ :'embed_edit_allow_document_replacement' => :'embed_edit_allow_document_replacement',
176
+ :'encrypt_pdfs' => :'encrypt_pdfs',
177
+ :'encrypt_pdfs_password' => :'encrypt_pdfs_password',
178
+ :'expire_submissions' => :'expire_submissions',
179
+ :'expire_after' => :'expire_after',
180
+ :'expiration_interval' => :'expiration_interval',
181
+ :'merge_audit_trail_pdf' => :'merge_audit_trail_pdf',
182
+ :'parse_dates_using_template_date_format' => :'parse_dates_using_template_date_format',
183
+ :'public_submissions' => :'public_submissions',
184
+ :'public_web_form' => :'public_web_form',
185
+ :'redirect_url' => :'redirect_url',
186
+ :'slack_webhook_url' => :'slack_webhook_url',
187
+ :'defaults' => :'defaults',
188
+ :'field_dependencies' => :'field_dependencies',
189
+ :'html' => :'html',
190
+ :'scss' => :'scss',
191
+ :'header_html' => :'header_html',
192
+ :'footer_html' => :'footer_html',
193
+ :'html_engine_options' => :'html_engine_options',
194
+ :'cache_id' => :'cache_id',
195
+ :'filename' => :'filename',
196
+ :'detect_fields' => :'detect_fields',
197
+ :'field_source' => :'field_source',
198
+ :'field_naming' => :'field_naming',
199
+ :'field_logic' => :'field_logic'
200
+ }
201
+ end
202
+
203
+ # Returns attribute mapping this model knows about
204
+ def self.acceptable_attribute_map
205
+ attribute_map
206
+ end
207
+
208
+ # Returns all the JSON keys this model knows about
209
+ def self.acceptable_attributes
210
+ acceptable_attribute_map.values
211
+ end
212
+
213
+ # Attribute type mapping.
214
+ def self.openapi_types
215
+ {
216
+ :'name' => :'String',
217
+ :'description' => :'String',
218
+ :'template_type' => :'TemplateType',
219
+ :'parent_folder_id' => :'String',
220
+ :'locked' => :'Boolean',
221
+ :'add_signature_request_submission_id_footers' => :'Boolean',
222
+ :'ai_field_naming_language' => :'AiFieldNamingLanguage',
223
+ :'allow_additional_properties' => :'Boolean',
224
+ :'allow_skipping_optional_fields' => :'Boolean',
225
+ :'default_form_mode' => :'TemplateFormMode',
226
+ :'editable_submissions' => :'Boolean',
227
+ :'embed_domains' => :'Array<String>',
228
+ :'embed_edit_allow_settings' => :'Boolean',
229
+ :'embed_edit_allow_versioning' => :'Boolean',
230
+ :'embed_edit_allow_document_replacement' => :'Boolean',
231
+ :'encrypt_pdfs' => :'Boolean',
232
+ :'encrypt_pdfs_password' => :'String',
233
+ :'expire_submissions' => :'Boolean',
234
+ :'expire_after' => :'Integer',
235
+ :'expiration_interval' => :'ExpirationInterval',
236
+ :'merge_audit_trail_pdf' => :'Boolean',
237
+ :'parse_dates_using_template_date_format' => :'Boolean',
238
+ :'public_submissions' => :'Boolean',
239
+ :'public_web_form' => :'Boolean',
240
+ :'redirect_url' => :'String',
241
+ :'slack_webhook_url' => :'String',
242
+ :'defaults' => :'TemplateDefaultsInput',
243
+ :'field_dependencies' => :'Array<TemplateFieldDependencyInput>',
244
+ :'html' => :'String',
245
+ :'scss' => :'String',
246
+ :'header_html' => :'String',
247
+ :'footer_html' => :'String',
248
+ :'html_engine_options' => :'HtmlEngineOptionsInput',
249
+ :'cache_id' => :'String',
250
+ :'filename' => :'String',
251
+ :'detect_fields' => :'Boolean',
252
+ :'field_source' => :'FieldSetupSource',
253
+ :'field_naming' => :'FieldSetupNaming',
254
+ :'field_logic' => :'FieldSetupLogic'
255
+ }
256
+ end
257
+
258
+ # List of attributes with nullable: true
259
+ def self.openapi_nullable
260
+ Set.new([
261
+ :'description',
262
+ :'parent_folder_id',
263
+ :'encrypt_pdfs_password',
264
+ :'redirect_url',
265
+ :'slack_webhook_url',
266
+ :'html',
267
+ :'scss',
268
+ :'header_html',
269
+ :'footer_html',
270
+ :'html_engine_options',
271
+ ])
272
+ end
273
+
274
+ # Returns attribute type mapping
275
+ def self.acceptable_openapi_types
276
+ openapi_types
277
+ end
278
+
279
+ # Returns the nullable attributes
280
+ def self.acceptable_openapi_nullable
281
+ openapi_nullable
282
+ end
283
+
284
+ # Initializes the object
285
+ # @param [Hash] attributes Model attributes in the form of hash
286
+ def initialize(attributes = {})
287
+ if (!attributes.is_a?(Hash))
288
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::CreateTemplateRequest` initialize method"
289
+ end
290
+
291
+ # check to see if the attribute exists and convert string to symbol for hash key
292
+ acceptable_attribute_map = self.class.acceptable_attribute_map
293
+ attributes = attributes.each_with_object({}) { |(k, v), h|
294
+ if (!acceptable_attribute_map.key?(k.to_sym))
295
+ fail ArgumentError, "`#{k}` is not a valid attribute in `DocSpring::CreateTemplateRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
296
+ end
297
+ h[k.to_sym] = v
298
+ }
299
+
300
+ if attributes.key?(:'name')
301
+ self.name = attributes[:'name']
302
+ end
303
+
304
+ if attributes.key?(:'description')
305
+ self.description = attributes[:'description']
306
+ end
307
+
308
+ if attributes.key?(:'template_type')
309
+ self.template_type = attributes[:'template_type']
310
+ else
311
+ self.template_type = nil
312
+ end
313
+
314
+ if attributes.key?(:'parent_folder_id')
315
+ self.parent_folder_id = attributes[:'parent_folder_id']
316
+ end
317
+
318
+ if attributes.key?(:'locked')
319
+ self.locked = attributes[:'locked']
320
+ end
321
+
322
+ if attributes.key?(:'add_signature_request_submission_id_footers')
323
+ self.add_signature_request_submission_id_footers = attributes[:'add_signature_request_submission_id_footers']
324
+ end
325
+
326
+ if attributes.key?(:'ai_field_naming_language')
327
+ self.ai_field_naming_language = attributes[:'ai_field_naming_language']
328
+ end
329
+
330
+ if attributes.key?(:'allow_additional_properties')
331
+ self.allow_additional_properties = attributes[:'allow_additional_properties']
332
+ end
333
+
334
+ if attributes.key?(:'allow_skipping_optional_fields')
335
+ self.allow_skipping_optional_fields = attributes[:'allow_skipping_optional_fields']
336
+ end
337
+
338
+ if attributes.key?(:'default_form_mode')
339
+ self.default_form_mode = attributes[:'default_form_mode']
340
+ end
341
+
342
+ if attributes.key?(:'editable_submissions')
343
+ self.editable_submissions = attributes[:'editable_submissions']
344
+ end
345
+
346
+ if attributes.key?(:'embed_domains')
347
+ if (value = attributes[:'embed_domains']).is_a?(Array)
348
+ self.embed_domains = value
349
+ end
350
+ end
351
+
352
+ if attributes.key?(:'embed_edit_allow_settings')
353
+ self.embed_edit_allow_settings = attributes[:'embed_edit_allow_settings']
354
+ end
355
+
356
+ if attributes.key?(:'embed_edit_allow_versioning')
357
+ self.embed_edit_allow_versioning = attributes[:'embed_edit_allow_versioning']
358
+ end
359
+
360
+ if attributes.key?(:'embed_edit_allow_document_replacement')
361
+ self.embed_edit_allow_document_replacement = attributes[:'embed_edit_allow_document_replacement']
362
+ end
363
+
364
+ if attributes.key?(:'encrypt_pdfs')
365
+ self.encrypt_pdfs = attributes[:'encrypt_pdfs']
366
+ end
367
+
368
+ if attributes.key?(:'encrypt_pdfs_password')
369
+ self.encrypt_pdfs_password = attributes[:'encrypt_pdfs_password']
370
+ end
371
+
372
+ if attributes.key?(:'expire_submissions')
373
+ self.expire_submissions = attributes[:'expire_submissions']
374
+ end
375
+
376
+ if attributes.key?(:'expire_after')
377
+ self.expire_after = attributes[:'expire_after']
378
+ end
379
+
380
+ if attributes.key?(:'expiration_interval')
381
+ self.expiration_interval = attributes[:'expiration_interval']
382
+ end
383
+
384
+ if attributes.key?(:'merge_audit_trail_pdf')
385
+ self.merge_audit_trail_pdf = attributes[:'merge_audit_trail_pdf']
386
+ end
387
+
388
+ if attributes.key?(:'parse_dates_using_template_date_format')
389
+ self.parse_dates_using_template_date_format = attributes[:'parse_dates_using_template_date_format']
390
+ end
391
+
392
+ if attributes.key?(:'public_submissions')
393
+ self.public_submissions = attributes[:'public_submissions']
394
+ end
395
+
396
+ if attributes.key?(:'public_web_form')
397
+ self.public_web_form = attributes[:'public_web_form']
398
+ end
399
+
400
+ if attributes.key?(:'redirect_url')
401
+ self.redirect_url = attributes[:'redirect_url']
402
+ end
403
+
404
+ if attributes.key?(:'slack_webhook_url')
405
+ self.slack_webhook_url = attributes[:'slack_webhook_url']
406
+ end
407
+
408
+ if attributes.key?(:'defaults')
409
+ self.defaults = attributes[:'defaults']
410
+ end
411
+
412
+ if attributes.key?(:'field_dependencies')
413
+ if (value = attributes[:'field_dependencies']).is_a?(Array)
414
+ self.field_dependencies = value
415
+ end
416
+ end
417
+
418
+ if attributes.key?(:'html')
419
+ self.html = attributes[:'html']
420
+ end
421
+
422
+ if attributes.key?(:'scss')
423
+ self.scss = attributes[:'scss']
424
+ end
425
+
426
+ if attributes.key?(:'header_html')
427
+ self.header_html = attributes[:'header_html']
428
+ end
429
+
430
+ if attributes.key?(:'footer_html')
431
+ self.footer_html = attributes[:'footer_html']
432
+ end
433
+
434
+ if attributes.key?(:'html_engine_options')
435
+ self.html_engine_options = attributes[:'html_engine_options']
436
+ end
437
+
438
+ if attributes.key?(:'cache_id')
439
+ self.cache_id = attributes[:'cache_id']
440
+ end
441
+
442
+ if attributes.key?(:'filename')
443
+ self.filename = attributes[:'filename']
444
+ end
445
+
446
+ if attributes.key?(:'detect_fields')
447
+ self.detect_fields = attributes[:'detect_fields']
448
+ end
449
+
450
+ if attributes.key?(:'field_source')
451
+ self.field_source = attributes[:'field_source']
452
+ end
453
+
454
+ if attributes.key?(:'field_naming')
455
+ self.field_naming = attributes[:'field_naming']
456
+ end
457
+
458
+ if attributes.key?(:'field_logic')
459
+ self.field_logic = attributes[:'field_logic']
460
+ end
461
+ end
462
+
463
+ # Show invalid properties with the reasons. Usually used together with valid?
464
+ # @return Array for valid properties with the reasons
465
+ def list_invalid_properties
466
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
467
+ invalid_properties = Array.new
468
+ if @template_type.nil?
469
+ invalid_properties.push('invalid value for "template_type", template_type cannot be nil.')
470
+ end
471
+
472
+ invalid_properties
473
+ end
474
+
475
+ # Check to see if the all the properties in the model are valid
476
+ # @return true if the model is valid
477
+ def valid?
478
+ warn '[DEPRECATED] the `valid?` method is obsolete'
479
+ return false if @template_type.nil?
480
+ true
481
+ end
482
+
483
+ # Custom attribute writer method with validation
484
+ # @param [Object] template_type Value to be assigned
485
+ def template_type=(template_type)
486
+ if template_type.nil?
487
+ fail ArgumentError, 'template_type cannot be nil'
488
+ end
489
+
490
+ @template_type = template_type
491
+ end
492
+
493
+ # Checks equality by comparing each attribute.
494
+ # @param [Object] Object to be compared
495
+ def ==(o)
496
+ return true if self.equal?(o)
497
+ self.class == o.class &&
498
+ name == o.name &&
499
+ description == o.description &&
500
+ template_type == o.template_type &&
501
+ parent_folder_id == o.parent_folder_id &&
502
+ locked == o.locked &&
503
+ add_signature_request_submission_id_footers == o.add_signature_request_submission_id_footers &&
504
+ ai_field_naming_language == o.ai_field_naming_language &&
505
+ allow_additional_properties == o.allow_additional_properties &&
506
+ allow_skipping_optional_fields == o.allow_skipping_optional_fields &&
507
+ default_form_mode == o.default_form_mode &&
508
+ editable_submissions == o.editable_submissions &&
509
+ embed_domains == o.embed_domains &&
510
+ embed_edit_allow_settings == o.embed_edit_allow_settings &&
511
+ embed_edit_allow_versioning == o.embed_edit_allow_versioning &&
512
+ embed_edit_allow_document_replacement == o.embed_edit_allow_document_replacement &&
513
+ encrypt_pdfs == o.encrypt_pdfs &&
514
+ encrypt_pdfs_password == o.encrypt_pdfs_password &&
515
+ expire_submissions == o.expire_submissions &&
516
+ expire_after == o.expire_after &&
517
+ expiration_interval == o.expiration_interval &&
518
+ merge_audit_trail_pdf == o.merge_audit_trail_pdf &&
519
+ parse_dates_using_template_date_format == o.parse_dates_using_template_date_format &&
520
+ public_submissions == o.public_submissions &&
521
+ public_web_form == o.public_web_form &&
522
+ redirect_url == o.redirect_url &&
523
+ slack_webhook_url == o.slack_webhook_url &&
524
+ defaults == o.defaults &&
525
+ field_dependencies == o.field_dependencies &&
526
+ html == o.html &&
527
+ scss == o.scss &&
528
+ header_html == o.header_html &&
529
+ footer_html == o.footer_html &&
530
+ html_engine_options == o.html_engine_options &&
531
+ cache_id == o.cache_id &&
532
+ filename == o.filename &&
533
+ detect_fields == o.detect_fields &&
534
+ field_source == o.field_source &&
535
+ field_naming == o.field_naming &&
536
+ field_logic == o.field_logic
537
+ end
538
+
539
+ # @see the `==` method
540
+ # @param [Object] Object to be compared
541
+ def eql?(o)
542
+ self == o
543
+ end
544
+
545
+ # Calculates hash code according to all attributes.
546
+ # @return [Integer] Hash code
547
+ def hash
548
+ [name, description, template_type, parent_folder_id, locked, add_signature_request_submission_id_footers, ai_field_naming_language, allow_additional_properties, allow_skipping_optional_fields, default_form_mode, editable_submissions, embed_domains, embed_edit_allow_settings, embed_edit_allow_versioning, embed_edit_allow_document_replacement, encrypt_pdfs, encrypt_pdfs_password, expire_submissions, expire_after, expiration_interval, merge_audit_trail_pdf, parse_dates_using_template_date_format, public_submissions, public_web_form, redirect_url, slack_webhook_url, defaults, field_dependencies, html, scss, header_html, footer_html, html_engine_options, cache_id, filename, detect_fields, field_source, field_naming, field_logic].hash
549
+ end
550
+
551
+ # Builds the object from hash
552
+ # @param [Hash] attributes Model attributes in the form of hash
553
+ # @return [Object] Returns the model itself
554
+ def self.build_from_hash(attributes)
555
+ return nil unless attributes.is_a?(Hash)
556
+ attributes = attributes.transform_keys(&:to_sym)
557
+ # include attributes inherited from allOf parents (the nearest declaration wins)
558
+ map = acceptable_attribute_map
559
+ transformed_hash = {}
560
+ acceptable_openapi_types.each_pair do |key, type|
561
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
562
+ transformed_hash["#{key}"] = nil
563
+ elsif type =~ /\AArray<(.*)>/i
564
+ # check to ensure the input is an array given that the attribute
565
+ # is documented as an array but the input is not
566
+ if attributes[map[key]].is_a?(Array)
567
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
568
+ end
569
+ elsif !attributes[map[key]].nil?
570
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
571
+ end
572
+ end
573
+ # Responses can include enum values added after this client was released, so the enum setters
574
+ # accept any value while the model is built from a response
575
+ allocate.tap do |model|
576
+ model.instance_variable_set(:@_skip_enum_validation, true)
577
+ model.send(:initialize, transformed_hash)
578
+ model.remove_instance_variable(:@_skip_enum_validation)
579
+ end
580
+ end
581
+
582
+ # Returns the object in the form of hash
583
+ # @return [Hash] Returns the object in the form of hash
584
+ def to_hash
585
+ hash = {}
586
+ # include attributes inherited from allOf parents (the nearest declaration wins)
587
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
588
+ value = self.send(attr)
589
+ if value.nil?
590
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
591
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
592
+ end
593
+
594
+ hash[param] = _to_hash(value)
595
+ end
596
+ hash
597
+ end
598
+
599
+ end
600
+
601
+ end