docspring 3.5.0 → 4.1.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 (588) hide show
  1. checksums.yaml +4 -4
  2. data/.openapi-generator/FILES +445 -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 +147 -0
  8. data/Gemfile.lock +7 -7
  9. data/README.md +69 -53
  10. data/docs/AddTemplateFieldsRequest.md +18 -0
  11. data/docs/{RenameFolderData.md → AiFieldNamingLanguage.md} +2 -5
  12. data/docs/AuthenticationCheck.md +18 -0
  13. data/docs/{CreateFolderData.md → BarcodeSymbology.md} +2 -5
  14. data/docs/{CreateWebhookData.md → CheckCharacter.md} +2 -5
  15. data/docs/Client.md +1570 -786
  16. data/docs/{UpdateWebhookData.md → CombinedFieldType.md} +2 -5
  17. data/docs/CombinedPdf.md +44 -0
  18. data/docs/CombinedPdfFiles.md +18 -0
  19. data/docs/CombinedPdfList.md +20 -0
  20. data/docs/CombinedPdfSource.md +26 -0
  21. data/docs/CombinedPdfSourceInput.md +88 -0
  22. data/docs/CombinedPdfSourcePdf.md +20 -0
  23. data/docs/CombinedPdfSourceType.md +15 -0
  24. data/docs/CombinedPdfState.md +15 -0
  25. data/docs/CopyTemplateRequest.md +22 -0
  26. data/docs/CreateCombinedPdfRequest.md +26 -0
  27. data/docs/CreateCustomFileFromUploadRequest.md +18 -0
  28. data/docs/CreateFolderRequest.md +20 -0
  29. data/docs/CreateSignatureRequestEventRequest.md +24 -0
  30. data/docs/CreateSignatureRequestTokenRequest.md +18 -0
  31. data/docs/CreateSubmissionBatchRequest.md +28 -0
  32. data/docs/CreateSubmissionRequest.md +38 -0
  33. data/docs/CreateTemplateRequest.md +102 -0
  34. data/docs/CreateWebhookRequest.md +38 -0
  35. data/docs/CustomFile.md +11 -3
  36. data/docs/CustomFileList.md +20 -0
  37. data/docs/CustomFileSourcePdf.md +20 -0
  38. data/docs/ErrorCode.md +15 -0
  39. data/docs/ErrorDetail.md +26 -0
  40. data/docs/ErrorInfo.md +32 -0
  41. data/docs/ErrorResponse.md +1 -3
  42. data/docs/ExpirationInterval.md +15 -0
  43. data/docs/Field.md +198 -0
  44. data/docs/FieldComparisonCondition.md +22 -0
  45. data/docs/FieldComparisonOperator.md +15 -0
  46. data/docs/FieldDependency.md +22 -0
  47. data/docs/FieldDependencyInput.md +22 -0
  48. data/docs/FieldDisplayType.md +15 -0
  49. data/docs/FieldEqualsCondition.md +22 -0
  50. data/docs/FieldEqualsOperator.md +15 -0
  51. data/docs/FieldGroup.md +32 -0
  52. data/docs/FieldGroupInput.md +30 -0
  53. data/docs/FieldGroupType.md +15 -0
  54. data/docs/FieldInCondition.md +22 -0
  55. data/docs/FieldInput.md +196 -0
  56. data/docs/FieldOverride.md +142 -0
  57. data/docs/FieldPresenceCondition.md +20 -0
  58. data/docs/FieldPresenceOperator.md +15 -0
  59. data/docs/FieldRangeCondition.md +24 -0
  60. data/docs/FieldReimportState.md +15 -0
  61. data/docs/FieldSetupLogic.md +15 -0
  62. data/docs/FieldSetupNaming.md +15 -0
  63. data/docs/FieldSetupSource.md +15 -0
  64. data/docs/FieldType.md +15 -0
  65. data/docs/Folder.md +9 -5
  66. data/docs/FolderList.md +20 -0
  67. data/docs/GenerateFilesFormat.md +15 -0
  68. data/docs/GenerateSubmissionFilesRequest.md +18 -0
  69. data/docs/GeneratedFile.md +32 -0
  70. data/docs/GeneratedFileState.md +15 -0
  71. data/docs/HtmlEngineOptions.md +36 -0
  72. data/docs/HtmlEngineOptionsInput.md +36 -0
  73. data/docs/ImageGravity.md +15 -0
  74. data/docs/ImageScaleType.md +15 -0
  75. data/docs/ModelCodeLanguage.md +15 -0
  76. data/docs/MoveFolderRequest.md +18 -0
  77. data/docs/MoveTemplateRequest.md +18 -0
  78. data/docs/NumberConditionType.md +15 -0
  79. data/docs/OutputFormat.md +15 -0
  80. data/docs/PageFormat.md +15 -0
  81. data/docs/PageImage.md +34 -0
  82. data/docs/PageImages.md +24 -0
  83. data/docs/PredefinedField.md +30 -0
  84. data/docs/PredefinedFieldInput.md +30 -0
  85. data/docs/PublishTemplateVersionRequest.md +20 -0
  86. data/docs/RemoveTemplateFieldsRequest.md +18 -0
  87. data/docs/RenameFolderRequest.md +18 -0
  88. data/docs/ReorderTemplateFieldsRequest.md +18 -0
  89. data/docs/RestoreTemplateVersionRequest.md +18 -0
  90. data/docs/ShapeType.md +15 -0
  91. data/docs/SignatureRequest.md +66 -0
  92. data/docs/SignatureRequestAuthSecondFactorType.md +15 -0
  93. data/docs/SignatureRequestAuthType.md +15 -0
  94. data/docs/SignatureRequestEvent.md +32 -0
  95. data/docs/SignatureRequestEventType.md +15 -0
  96. data/docs/SignatureRequestInput.md +46 -0
  97. data/docs/SignatureRequestMessageType.md +15 -0
  98. data/docs/SignatureRequestState.md +15 -0
  99. data/docs/SignatureRequestToken.md +30 -0
  100. data/docs/SignatureRequestTokenType.md +15 -0
  101. data/docs/StringConditionType.md +15 -0
  102. data/docs/Submission.md +43 -47
  103. data/docs/SubmissionAction.md +6 -8
  104. data/docs/SubmissionActionState.md +15 -0
  105. data/docs/SubmissionActionType.md +15 -0
  106. data/docs/SubmissionBatch.md +16 -10
  107. data/docs/SubmissionBatchState.md +15 -0
  108. data/docs/SubmissionFiles.md +24 -0
  109. data/docs/SubmissionInput.md +40 -0
  110. data/docs/SubmissionList.md +20 -0
  111. data/docs/SubmissionSource.md +15 -0
  112. data/docs/SubmissionSourcePdf.md +20 -0
  113. data/docs/SubmissionState.md +15 -0
  114. data/docs/SubmissionValidation.md +24 -0
  115. data/docs/Template.md +79 -107
  116. data/docs/TemplateActor.md +26 -0
  117. data/docs/TemplateActorType.md +15 -0
  118. data/docs/TemplateDefaults.md +56 -0
  119. data/docs/TemplateDefaultsInput.md +56 -0
  120. data/docs/TemplateDiff.md +30 -0
  121. data/docs/TemplateDiffSummary.md +28 -0
  122. data/docs/TemplateDocument.md +40 -0
  123. data/docs/TemplateDocumentState.md +15 -0
  124. data/docs/TemplateFieldChange.md +24 -0
  125. data/docs/TemplateFieldChanges.md +24 -0
  126. data/docs/TemplateFieldDependency.md +26 -0
  127. data/docs/TemplateFieldDependencyAction.md +15 -0
  128. data/docs/TemplateFieldDependencyCondition.md +24 -0
  129. data/docs/TemplateFieldDependencyConditionInput.md +93 -0
  130. data/docs/TemplateFieldDependencyInput.md +26 -0
  131. data/docs/TemplateFieldDependencyMatch.md +15 -0
  132. data/docs/TemplateFieldDependencyOperator.md +15 -0
  133. data/docs/TemplateFieldLogicStatus.md +15 -0
  134. data/docs/TemplateFieldMove.md +22 -0
  135. data/docs/TemplateFields.md +22 -0
  136. data/docs/TemplateFormMode.md +15 -0
  137. data/docs/TemplateModelCode.md +22 -0
  138. data/docs/TemplatePageAiError.md +15 -0
  139. data/docs/TemplatePageAiNamingStatus.md +15 -0
  140. data/docs/TemplatePageFieldsStatus.md +15 -0
  141. data/docs/TemplatePageImageStatus.md +15 -0
  142. data/docs/TemplatePageImages.md +24 -0
  143. data/docs/TemplatePageProcessingStatus.md +26 -0
  144. data/docs/TemplateSourcePdf.md +24 -0
  145. data/docs/TemplateSummary.md +90 -0
  146. data/docs/TemplateSummaryList.md +20 -0
  147. data/docs/TemplateType.md +15 -0
  148. data/docs/TemplateVersion.md +24 -0
  149. data/docs/TemplateVersionType.md +15 -0
  150. data/docs/TextAlignment.md +15 -0
  151. data/docs/TextOverflow.md +15 -0
  152. data/docs/TextVerticalAlignment.md +15 -0
  153. data/docs/Typeface.md +15 -0
  154. data/docs/UpdateSignatureRequestRequest.md +34 -0
  155. data/docs/UpdateTemplateDocumentRequest.md +26 -0
  156. data/docs/UpdateTemplateFieldsRequest.md +18 -0
  157. data/docs/UpdateTemplateRequest.md +86 -0
  158. data/docs/UpdateWebhookRequest.md +38 -0
  159. data/docs/UploadMethod.md +15 -0
  160. data/docs/UploadPresign.md +24 -0
  161. data/docs/UrlSourcePdf.md +20 -0
  162. data/docs/ValidateSubmissionRequest.md +38 -0
  163. data/docs/Webhook.md +20 -20
  164. data/docs/WebhookEventType.md +15 -0
  165. data/docs/WebhookList.md +20 -0
  166. data/docs/WebhookMode.md +15 -0
  167. data/docspring.gemspec +3 -3
  168. data/lib/docspring/api/client.rb +1606 -905
  169. data/lib/docspring/api_client.rb +14 -6
  170. data/lib/docspring/api_error.rb +3 -3
  171. data/lib/docspring/api_model_base.rb +88 -0
  172. data/lib/docspring/configuration.rb +12 -7
  173. data/lib/docspring/models/add_template_fields_request.rb +187 -0
  174. data/lib/docspring/models/ai_field_naming_language.rb +42 -0
  175. data/lib/docspring/models/authentication_check.rb +185 -0
  176. data/lib/docspring/models/barcode_symbology.rb +47 -0
  177. data/lib/docspring/models/check_character.rb +44 -0
  178. data/lib/docspring/models/combined_field_type.rb +41 -0
  179. data/lib/docspring/models/{combined_submission.rb → combined_pdf.rb} +228 -206
  180. data/lib/docspring/models/combined_pdf_files.rb +167 -0
  181. data/lib/docspring/models/combined_pdf_list.rb +200 -0
  182. data/lib/docspring/models/{create_webhook_data.rb → combined_pdf_source.rb} +107 -103
  183. data/lib/docspring/models/combined_pdf_source_input.rb +62 -0
  184. data/lib/docspring/models/combined_pdf_source_pdf.rb +212 -0
  185. data/lib/docspring/models/combined_pdf_source_type.rb +44 -0
  186. data/lib/docspring/models/combined_pdf_state.rb +44 -0
  187. data/lib/docspring/models/{copy_template_options.rb → copy_template_request.rb} +32 -87
  188. data/lib/docspring/models/{combine_pdfs_data.rb → create_combined_pdf_request.rb} +60 -123
  189. data/lib/docspring/models/{create_custom_file_data.rb → create_custom_file_from_upload_request.rb} +29 -96
  190. data/lib/docspring/models/{move_template_data.rb → create_folder_request.rb} +60 -102
  191. data/lib/docspring/models/{create_submission_data_request_event_request.rb → create_signature_request_event_request.rb} +50 -122
  192. data/lib/docspring/models/create_signature_request_token_request.rb +190 -0
  193. data/lib/docspring/models/{submission_batch_data.rb → create_submission_batch_request.rb} +75 -108
  194. data/lib/docspring/models/{create_pdf_submission_data.rb → create_submission_request.rb} +114 -144
  195. data/lib/docspring/models/create_template_request.rb +646 -0
  196. data/lib/docspring/models/create_webhook_request.rb +368 -0
  197. data/lib/docspring/models/custom_file.rb +132 -95
  198. data/lib/docspring/models/custom_file_list.rb +200 -0
  199. data/lib/docspring/models/custom_file_source_pdf.rb +212 -0
  200. data/lib/docspring/models/error_code.rb +60 -0
  201. data/lib/docspring/models/error_detail.rb +242 -0
  202. data/lib/docspring/models/error_info.rb +316 -0
  203. data/lib/docspring/models/error_response.rb +28 -138
  204. data/lib/docspring/models/expiration_interval.rb +42 -0
  205. data/lib/docspring/models/field.rb +2217 -0
  206. data/lib/docspring/models/field_comparison_condition.rb +247 -0
  207. data/lib/docspring/models/field_comparison_operator.rb +43 -0
  208. data/lib/docspring/models/field_dependency.rb +246 -0
  209. data/lib/docspring/models/field_dependency_input.rb +246 -0
  210. data/lib/docspring/models/field_display_type.rb +45 -0
  211. data/lib/docspring/models/field_equals_condition.rb +247 -0
  212. data/lib/docspring/models/field_equals_operator.rb +41 -0
  213. data/lib/docspring/models/field_group.rb +368 -0
  214. data/lib/docspring/models/field_group_input.rb +247 -0
  215. data/lib/docspring/models/field_group_type.rb +41 -0
  216. data/lib/docspring/models/{create_folder_data.rb → field_in_condition.rb} +101 -103
  217. data/lib/docspring/models/field_input.rb +1109 -0
  218. data/lib/docspring/models/field_override.rb +829 -0
  219. data/lib/docspring/models/field_presence_condition.rb +234 -0
  220. data/lib/docspring/models/field_presence_operator.rb +41 -0
  221. data/lib/docspring/models/field_range_condition.rb +234 -0
  222. data/lib/docspring/models/field_reimport_state.rb +43 -0
  223. data/lib/docspring/models/field_setup_logic.rb +41 -0
  224. data/lib/docspring/models/field_setup_naming.rb +41 -0
  225. data/lib/docspring/models/field_setup_source.rb +42 -0
  226. data/lib/docspring/models/field_type.rb +54 -0
  227. data/lib/docspring/models/folder.rb +134 -93
  228. data/lib/docspring/models/folder_list.rb +200 -0
  229. data/lib/docspring/models/generate_files_format.rb +40 -0
  230. data/lib/docspring/models/generate_submission_files_request.rb +187 -0
  231. data/lib/docspring/models/generated_file.rb +326 -0
  232. data/lib/docspring/models/generated_file_state.rb +42 -0
  233. data/lib/docspring/models/html_engine_options.rb +416 -0
  234. data/lib/docspring/models/html_engine_options_input.rb +280 -0
  235. data/lib/docspring/models/image_gravity.rb +48 -0
  236. data/lib/docspring/models/image_scale_type.rb +42 -0
  237. data/lib/docspring/models/model_code_language.rb +48 -0
  238. data/lib/docspring/models/{move_folder_data.rb → move_folder_request.rb} +31 -87
  239. data/lib/docspring/models/move_template_request.rb +171 -0
  240. data/lib/docspring/models/number_condition_type.rb +45 -0
  241. data/lib/docspring/models/output_format.rb +41 -0
  242. data/lib/docspring/models/page_format.rb +52 -0
  243. data/lib/docspring/models/page_image.rb +359 -0
  244. data/lib/docspring/models/page_images.rb +248 -0
  245. data/lib/docspring/models/predefined_field.rb +287 -0
  246. data/lib/docspring/models/predefined_field_input.rb +287 -0
  247. data/lib/docspring/models/{publish_version_data.rb → publish_template_version_request.rb} +64 -99
  248. data/lib/docspring/models/remove_template_fields_request.rb +187 -0
  249. data/lib/docspring/models/{rename_folder_data.rb → rename_folder_request.rb} +29 -87
  250. data/lib/docspring/models/reorder_template_fields_request.rb +187 -0
  251. data/lib/docspring/models/{restore_version_data.rb → restore_template_version_request.rb} +29 -87
  252. data/lib/docspring/models/shape_type.rb +45 -0
  253. data/lib/docspring/models/{submission_data_request_show.rb → signature_request.rb} +240 -171
  254. data/lib/docspring/models/signature_request_auth_second_factor_type.rb +45 -0
  255. data/lib/docspring/models/signature_request_auth_type.rb +46 -0
  256. data/lib/docspring/models/{submission_data_request_event.rb → signature_request_event.rb} +137 -122
  257. data/lib/docspring/models/signature_request_event_type.rb +45 -0
  258. data/lib/docspring/models/{update_submission_data_request_data.rb → signature_request_input.rb} +156 -173
  259. data/lib/docspring/models/signature_request_message_type.rb +48 -0
  260. data/lib/docspring/models/signature_request_state.rb +42 -0
  261. data/lib/docspring/models/signature_request_token.rb +369 -0
  262. data/lib/docspring/models/signature_request_token_type.rb +41 -0
  263. data/lib/docspring/models/string_condition_type.rb +44 -0
  264. data/lib/docspring/models/submission.rb +399 -335
  265. data/lib/docspring/models/submission_action.rb +64 -136
  266. data/lib/docspring/models/submission_action_state.rb +43 -0
  267. data/lib/docspring/models/submission_action_type.rb +46 -0
  268. data/lib/docspring/models/submission_batch.rb +157 -112
  269. data/lib/docspring/models/submission_batch_state.rb +42 -0
  270. data/lib/docspring/models/submission_files.rb +197 -0
  271. data/lib/docspring/models/submission_input.rb +296 -0
  272. data/lib/docspring/models/submission_list.rb +200 -0
  273. data/lib/docspring/models/submission_source.rb +43 -0
  274. data/lib/docspring/models/submission_source_pdf.rb +212 -0
  275. data/lib/docspring/models/submission_state.rb +52 -0
  276. data/lib/docspring/models/submission_validation.rb +234 -0
  277. data/lib/docspring/models/template.rb +528 -736
  278. data/lib/docspring/models/template_actor.rb +259 -0
  279. data/lib/docspring/models/template_actor_type.rb +42 -0
  280. data/lib/docspring/models/template_defaults.rb +395 -0
  281. data/lib/docspring/models/template_defaults_input.rb +395 -0
  282. data/lib/docspring/models/template_diff.rb +321 -0
  283. data/lib/docspring/models/template_diff_summary.rb +320 -0
  284. data/lib/docspring/models/template_document.rb +396 -0
  285. data/lib/docspring/models/template_document_state.rb +46 -0
  286. data/lib/docspring/models/template_field_change.rb +266 -0
  287. data/lib/docspring/models/template_field_changes.rb +274 -0
  288. data/lib/docspring/models/{success_error_response.rb → template_field_dependency.rb} +122 -114
  289. data/lib/docspring/models/template_field_dependency_action.rb +42 -0
  290. data/lib/docspring/models/{create_pdf_template.rb → template_field_dependency_condition.rb} +116 -103
  291. data/lib/docspring/models/template_field_dependency_condition_input.rb +67 -0
  292. data/lib/docspring/models/template_field_dependency_input.rb +285 -0
  293. data/lib/docspring/models/template_field_dependency_match.rb +41 -0
  294. data/lib/docspring/models/template_field_dependency_operator.rb +49 -0
  295. data/lib/docspring/models/template_field_logic_status.rb +44 -0
  296. data/lib/docspring/models/{update_webhook_data.rb → template_field_move.rb} +99 -103
  297. data/lib/docspring/models/{add_fields_data.rb → template_fields.rb} +71 -89
  298. data/lib/docspring/models/template_form_mode.rb +42 -0
  299. data/lib/docspring/models/{template_model_code_response.rb → template_model_code.rb} +37 -96
  300. data/lib/docspring/models/template_page_ai_error.rb +43 -0
  301. data/lib/docspring/models/template_page_ai_naming_status.rb +41 -0
  302. data/lib/docspring/models/template_page_fields_status.rb +44 -0
  303. data/lib/docspring/models/template_page_image_status.rb +41 -0
  304. data/lib/docspring/models/template_page_images.rb +254 -0
  305. data/lib/docspring/models/template_page_processing_status.rb +275 -0
  306. data/lib/docspring/models/{update_pdf_template.rb → template_source_pdf.rb} +92 -103
  307. data/lib/docspring/models/{template_preview.rb → template_summary.rb} +436 -589
  308. data/lib/docspring/models/template_summary_list.rb +200 -0
  309. data/lib/docspring/models/template_type.rb +41 -0
  310. data/lib/docspring/models/template_version.rb +238 -0
  311. data/lib/docspring/models/template_version_type.rb +42 -0
  312. data/lib/docspring/models/text_alignment.rb +43 -0
  313. data/lib/docspring/models/text_overflow.rb +41 -0
  314. data/lib/docspring/models/text_vertical_alignment.rb +42 -0
  315. data/lib/docspring/models/typeface.rb +56 -0
  316. data/lib/docspring/models/{create_submission_data_request_data.rb → update_signature_request_request.rb} +72 -196
  317. data/lib/docspring/models/update_template_document_request.rb +208 -0
  318. data/lib/docspring/models/update_template_fields_request.rb +187 -0
  319. data/lib/docspring/models/update_template_request.rb +551 -0
  320. data/lib/docspring/models/update_webhook_request.rb +344 -0
  321. data/lib/docspring/models/upload_method.rb +40 -0
  322. data/lib/docspring/models/{upload_presign_response.rb → upload_presign.rb} +93 -140
  323. data/lib/docspring/models/url_source_pdf.rb +212 -0
  324. data/lib/docspring/models/validate_submission_request.rb +288 -0
  325. data/lib/docspring/models/webhook.rb +97 -107
  326. data/lib/docspring/models/webhook_event_type.rb +64 -0
  327. data/lib/docspring/models/webhook_list.rb +200 -0
  328. data/lib/docspring/models/webhook_mode.rb +41 -0
  329. data/lib/docspring/request_schemas.json +4967 -0
  330. data/lib/docspring/request_validator.rb +396 -0
  331. data/lib/docspring/version.rb +4 -4
  332. data/lib/docspring.rb +153 -53
  333. data/spec/api/client_spec.rb +411 -265
  334. data/spec/models/add_template_fields_request_spec.rb +36 -0
  335. data/spec/models/ai_field_naming_language_spec.rb +30 -0
  336. data/spec/models/authentication_check_spec.rb +36 -0
  337. data/spec/models/barcode_symbology_spec.rb +30 -0
  338. data/spec/models/check_character_spec.rb +30 -0
  339. data/spec/models/combined_field_type_spec.rb +30 -0
  340. data/spec/models/combined_pdf_files_spec.rb +36 -0
  341. data/spec/models/combined_pdf_list_spec.rb +42 -0
  342. data/spec/models/combined_pdf_source_input_spec.rb +44 -0
  343. data/spec/models/combined_pdf_source_pdf_spec.rb +42 -0
  344. data/spec/models/{submission_data_request_token_spec.rb → combined_pdf_source_spec.rb} +18 -12
  345. data/spec/models/combined_pdf_source_type_spec.rb +30 -0
  346. data/spec/models/{combined_submission_spec.rb → combined_pdf_spec.rb} +20 -24
  347. data/spec/models/combined_pdf_state_spec.rb +30 -0
  348. data/spec/models/{copy_template_options_spec.rb → copy_template_request_spec.rb} +9 -9
  349. data/spec/models/{combine_pdfs_data_spec.rb → create_combined_pdf_request_spec.rb} +12 -18
  350. data/spec/models/{create_custom_file_data_spec.rb → create_custom_file_from_upload_request_spec.rb} +9 -9
  351. data/spec/models/{move_template_data_spec.rb → create_folder_request_spec.rb} +11 -11
  352. data/spec/models/{list_submissions_response_spec.rb → create_signature_request_event_request_spec.rb} +18 -12
  353. data/spec/models/create_signature_request_token_request_spec.rb +36 -0
  354. data/spec/models/{submission_batch_data_spec.rb → create_submission_batch_request_spec.rb} +19 -13
  355. data/spec/models/{create_pdf_submission_data_spec.rb → create_submission_request_spec.rb} +29 -17
  356. data/spec/models/{template_preview_spec.rb → create_template_request_spec.rb} +49 -103
  357. data/spec/models/create_webhook_request_spec.rb +96 -0
  358. data/spec/models/custom_file_list_spec.rb +42 -0
  359. data/spec/models/custom_file_source_pdf_spec.rb +42 -0
  360. data/spec/models/custom_file_spec.rb +29 -5
  361. data/spec/models/error_code_spec.rb +30 -0
  362. data/spec/models/{create_submission_response_spec.rb → error_detail_spec.rb} +14 -18
  363. data/spec/models/{batch_generate_pdfs201_response_spec.rb → error_info_spec.rb} +27 -19
  364. data/spec/models/error_response_spec.rb +4 -14
  365. data/spec/models/expiration_interval_spec.rb +30 -0
  366. data/spec/models/field_comparison_condition_spec.rb +48 -0
  367. data/spec/models/field_comparison_operator_spec.rb +30 -0
  368. data/spec/models/field_dependency_input_spec.rb +48 -0
  369. data/spec/models/field_dependency_spec.rb +48 -0
  370. data/spec/models/field_display_type_spec.rb +30 -0
  371. data/spec/models/field_equals_condition_spec.rb +48 -0
  372. data/spec/models/field_equals_operator_spec.rb +30 -0
  373. data/spec/models/field_group_input_spec.rb +72 -0
  374. data/spec/models/field_group_spec.rb +78 -0
  375. data/spec/models/field_group_type_spec.rb +30 -0
  376. data/spec/models/field_in_condition_spec.rb +48 -0
  377. data/spec/models/field_input_spec.rb +570 -0
  378. data/spec/models/field_override_spec.rb +408 -0
  379. data/spec/models/field_presence_condition_spec.rb +42 -0
  380. data/spec/models/field_presence_operator_spec.rb +30 -0
  381. data/spec/models/field_range_condition_spec.rb +54 -0
  382. data/spec/models/field_reimport_state_spec.rb +30 -0
  383. data/spec/models/field_setup_logic_spec.rb +30 -0
  384. data/spec/models/field_setup_naming_spec.rb +30 -0
  385. data/spec/models/field_setup_source_spec.rb +30 -0
  386. data/spec/models/field_spec.rb +576 -0
  387. data/spec/models/field_type_spec.rb +30 -0
  388. data/spec/models/folder_list_spec.rb +42 -0
  389. data/spec/models/folder_spec.rb +16 -4
  390. data/spec/models/generate_files_format_spec.rb +30 -0
  391. data/spec/models/generate_submission_files_request_spec.rb +36 -0
  392. data/spec/models/generated_file_spec.rb +78 -0
  393. data/spec/models/generated_file_state_spec.rb +30 -0
  394. data/spec/models/html_engine_options_input_spec.rb +90 -0
  395. data/spec/models/html_engine_options_spec.rb +90 -0
  396. data/spec/models/image_gravity_spec.rb +30 -0
  397. data/spec/models/image_scale_type_spec.rb +30 -0
  398. data/spec/models/model_code_language_spec.rb +30 -0
  399. data/spec/models/move_folder_request_spec.rb +36 -0
  400. data/spec/models/move_template_request_spec.rb +36 -0
  401. data/spec/models/number_condition_type_spec.rb +30 -0
  402. data/spec/models/output_format_spec.rb +30 -0
  403. data/spec/models/page_format_spec.rb +30 -0
  404. data/spec/models/page_image_spec.rb +84 -0
  405. data/spec/models/page_images_spec.rb +54 -0
  406. data/spec/models/predefined_field_input_spec.rb +72 -0
  407. data/spec/models/predefined_field_spec.rb +72 -0
  408. data/spec/models/{publish_version_data_spec.rb → publish_template_version_request_spec.rb} +11 -11
  409. data/spec/models/remove_template_fields_request_spec.rb +36 -0
  410. data/spec/models/{rename_folder_data_spec.rb → rename_folder_request_spec.rb} +9 -9
  411. data/spec/models/reorder_template_fields_request_spec.rb +36 -0
  412. data/spec/models/restore_template_version_request_spec.rb +36 -0
  413. data/spec/models/shape_type_spec.rb +30 -0
  414. data/spec/models/signature_request_auth_second_factor_type_spec.rb +30 -0
  415. data/spec/models/signature_request_auth_type_spec.rb +30 -0
  416. data/spec/models/{submission_data_request_event_spec.rb → signature_request_event_spec.rb} +16 -18
  417. data/spec/models/signature_request_event_type_spec.rb +30 -0
  418. data/spec/models/{create_submission_data_request_data_spec.rb → signature_request_input_spec.rb} +28 -30
  419. data/spec/models/signature_request_message_type_spec.rb +30 -0
  420. data/spec/models/{submission_data_request_show_spec.rb → signature_request_spec.rb} +31 -31
  421. data/spec/models/signature_request_state_spec.rb +30 -0
  422. data/spec/models/signature_request_token_spec.rb +72 -0
  423. data/spec/models/signature_request_token_type_spec.rb +30 -0
  424. data/spec/models/string_condition_type_spec.rb +30 -0
  425. data/spec/models/submission_action_spec.rb +4 -22
  426. data/spec/models/submission_action_state_spec.rb +30 -0
  427. data/spec/models/submission_action_type_spec.rb +30 -0
  428. data/spec/models/submission_batch_spec.rb +27 -13
  429. data/spec/models/submission_batch_state_spec.rb +30 -0
  430. data/spec/models/submission_files_spec.rb +54 -0
  431. data/spec/models/{json_schema_spec.rb → submission_input_spec.rb} +21 -21
  432. data/spec/models/submission_list_spec.rb +42 -0
  433. data/spec/models/submission_source_pdf_spec.rb +42 -0
  434. data/spec/models/submission_source_spec.rb +30 -0
  435. data/spec/models/submission_spec.rb +27 -51
  436. data/spec/models/submission_state_spec.rb +30 -0
  437. data/spec/models/submission_validation_spec.rb +54 -0
  438. data/spec/models/template_actor_spec.rb +60 -0
  439. data/spec/models/template_actor_type_spec.rb +30 -0
  440. data/spec/models/{submission_data_request_spec.rb → template_defaults_input_spec.rb} +29 -53
  441. data/spec/models/{submission_preview_spec.rb → template_defaults_spec.rb} +29 -61
  442. data/spec/models/template_diff_spec.rb +72 -0
  443. data/spec/models/template_diff_summary_spec.rb +66 -0
  444. data/spec/models/template_document_spec.rb +102 -0
  445. data/spec/models/template_document_state_spec.rb +30 -0
  446. data/spec/models/template_field_change_spec.rb +54 -0
  447. data/spec/models/template_field_changes_spec.rb +54 -0
  448. data/spec/models/template_field_dependency_action_spec.rb +30 -0
  449. data/spec/models/template_field_dependency_condition_input_spec.rb +44 -0
  450. data/spec/models/template_field_dependency_condition_spec.rb +54 -0
  451. data/spec/models/template_field_dependency_input_spec.rb +60 -0
  452. data/spec/models/template_field_dependency_match_spec.rb +30 -0
  453. data/spec/models/template_field_dependency_operator_spec.rb +30 -0
  454. data/spec/models/template_field_dependency_spec.rb +60 -0
  455. data/spec/models/template_field_logic_status_spec.rb +30 -0
  456. data/spec/models/template_field_move_spec.rb +48 -0
  457. data/spec/models/template_fields_spec.rb +48 -0
  458. data/spec/models/template_form_mode_spec.rb +30 -0
  459. data/spec/models/{template_model_code_response_spec.rb → template_model_code_spec.rb} +9 -13
  460. data/spec/models/template_page_ai_error_spec.rb +30 -0
  461. data/spec/models/template_page_ai_naming_status_spec.rb +30 -0
  462. data/spec/models/template_page_fields_status_spec.rb +30 -0
  463. data/spec/models/template_page_image_status_spec.rb +30 -0
  464. data/spec/models/template_page_images_spec.rb +54 -0
  465. data/spec/models/template_page_processing_status_spec.rb +60 -0
  466. data/spec/models/template_source_pdf_spec.rb +54 -0
  467. data/spec/models/template_spec.rb +44 -140
  468. data/spec/models/template_summary_list_spec.rb +42 -0
  469. data/spec/models/template_summary_spec.rb +252 -0
  470. data/spec/models/template_type_spec.rb +30 -0
  471. data/spec/models/template_version_spec.rb +54 -0
  472. data/spec/models/template_version_type_spec.rb +30 -0
  473. data/spec/models/text_alignment_spec.rb +30 -0
  474. data/spec/models/text_overflow_spec.rb +30 -0
  475. data/spec/models/text_vertical_alignment_spec.rb +30 -0
  476. data/spec/models/typeface_spec.rb +30 -0
  477. data/spec/models/{submission_batch_with_submissions_spec.rb → update_signature_request_request_spec.rb} +18 -22
  478. data/spec/models/update_template_document_request_spec.rb +60 -0
  479. data/spec/models/update_template_fields_request_spec.rb +36 -0
  480. data/spec/models/update_template_request_spec.rb +240 -0
  481. data/spec/models/update_webhook_request_spec.rb +96 -0
  482. data/spec/models/upload_method_spec.rb +30 -0
  483. data/spec/models/{upload_presign_response_spec.rb → upload_presign_spec.rb} +13 -17
  484. data/spec/models/url_source_pdf_spec.rb +42 -0
  485. data/spec/models/validate_submission_request_spec.rb +96 -0
  486. data/spec/models/webhook_event_type_spec.rb +30 -0
  487. data/spec/models/webhook_list_spec.rb +42 -0
  488. data/spec/models/webhook_mode_spec.rb +30 -0
  489. data/spec/models/webhook_spec.rb +4 -8
  490. data/spec/spec_helper.rb +3 -3
  491. metadata +597 -202
  492. data/docs/AddFieldsData.md +0 -18
  493. data/docs/BatchGeneratePdfs201Response.md +0 -28
  494. data/docs/CombinePdfsData.md +0 -28
  495. data/docs/CombinedSubmission.md +0 -44
  496. data/docs/CombinedSubmissionAction.md +0 -30
  497. data/docs/CopyTemplateOptions.md +0 -22
  498. data/docs/CreateCombinedSubmissionResponse.md +0 -26
  499. data/docs/CreateCustomFileData.md +0 -18
  500. data/docs/CreateCustomFileResponse.md +0 -24
  501. data/docs/CreateHtmlTemplate.md +0 -18
  502. data/docs/CreatePdfSubmissionData.md +0 -34
  503. data/docs/CreatePdfTemplate.md +0 -18
  504. data/docs/CreateSubmissionDataRequestData.md +0 -44
  505. data/docs/CreateSubmissionDataRequestEventRequest.md +0 -24
  506. data/docs/CreateSubmissionDataRequestEventResponse.md +0 -24
  507. data/docs/CreateSubmissionDataRequestResponse.md +0 -24
  508. data/docs/CreateSubmissionDataRequestTokenResponse.md +0 -24
  509. data/docs/CreateSubmissionResponse.md +0 -26
  510. data/docs/ErrorOrMultipleErrorsResponse.md +0 -22
  511. data/docs/ForbiddenErrorResponse.md +0 -22
  512. data/docs/JsonSchema.md +0 -40
  513. data/docs/ListSubmissionsResponse.md +0 -22
  514. data/docs/MoveFolderData.md +0 -18
  515. data/docs/MoveTemplateData.md +0 -20
  516. data/docs/MultipleErrorsResponse.md +0 -20
  517. data/docs/PublishVersionData.md +0 -20
  518. data/docs/RestoreVersionData.md +0 -18
  519. data/docs/Submission422Response.md +0 -24
  520. data/docs/SubmissionBatchData.md +0 -26
  521. data/docs/SubmissionBatchWithSubmissions.md +0 -34
  522. data/docs/SubmissionDataRequest.md +0 -60
  523. data/docs/SubmissionDataRequestEvent.md +0 -30
  524. data/docs/SubmissionDataRequestShow.md +0 -62
  525. data/docs/SubmissionDataRequestToken.md +0 -24
  526. data/docs/SubmissionPreview.md +0 -64
  527. data/docs/SuccessErrorResponse.md +0 -20
  528. data/docs/SuccessMultipleErrorsResponse.md +0 -20
  529. data/docs/TemplateAddFieldsResponse.md +0 -22
  530. data/docs/TemplateDeleteResponse.md +0 -24
  531. data/docs/TemplateModelCodeResponse.md +0 -22
  532. data/docs/TemplatePreview.md +0 -116
  533. data/docs/TemplatePublishVersionResponse.md +0 -22
  534. data/docs/UpdateHtmlTemplate.md +0 -18
  535. data/docs/UpdatePdfTemplate.md +0 -18
  536. data/docs/UpdateSubmissionDataRequestData.md +0 -42
  537. data/docs/UploadPresignResponse.md +0 -24
  538. data/lib/docspring/models/batch_generate_pdfs201_response.rb +0 -352
  539. data/lib/docspring/models/combined_submission_action.rb +0 -384
  540. data/lib/docspring/models/create_combined_submission_response.rb +0 -324
  541. data/lib/docspring/models/create_custom_file_response.rb +0 -314
  542. data/lib/docspring/models/create_html_template.rb +0 -243
  543. data/lib/docspring/models/create_submission_data_request_event_response.rb +0 -314
  544. data/lib/docspring/models/create_submission_data_request_response.rb +0 -314
  545. data/lib/docspring/models/create_submission_data_request_token_response.rb +0 -314
  546. data/lib/docspring/models/create_submission_response.rb +0 -324
  547. data/lib/docspring/models/error_or_multiple_errors_response.rb +0 -290
  548. data/lib/docspring/models/forbidden_error_response.rb +0 -323
  549. data/lib/docspring/models/json_schema.rb +0 -329
  550. data/lib/docspring/models/list_submissions_response.rb +0 -283
  551. data/lib/docspring/models/multiple_errors_response.rb +0 -296
  552. data/lib/docspring/models/submission422_response.rb +0 -299
  553. data/lib/docspring/models/submission_batch_with_submissions.rb +0 -433
  554. data/lib/docspring/models/submission_data_request.rb +0 -570
  555. data/lib/docspring/models/submission_data_request_token.rb +0 -279
  556. data/lib/docspring/models/submission_preview.rb +0 -637
  557. data/lib/docspring/models/success_multiple_errors_response.rb +0 -279
  558. data/lib/docspring/models/template_add_fields_response.rb +0 -290
  559. data/lib/docspring/models/template_delete_response.rb +0 -300
  560. data/lib/docspring/models/template_publish_version_response.rb +0 -305
  561. data/lib/docspring/models/update_html_template.rb +0 -243
  562. data/spec/models/add_fields_data_spec.rb +0 -36
  563. data/spec/models/combined_submission_action_spec.rb +0 -84
  564. data/spec/models/create_combined_submission_response_spec.rb +0 -64
  565. data/spec/models/create_custom_file_response_spec.rb +0 -58
  566. data/spec/models/create_folder_data_spec.rb +0 -36
  567. data/spec/models/create_html_template_spec.rb +0 -36
  568. data/spec/models/create_pdf_template_spec.rb +0 -36
  569. data/spec/models/create_submission_data_request_event_request_spec.rb +0 -62
  570. data/spec/models/create_submission_data_request_event_response_spec.rb +0 -58
  571. data/spec/models/create_submission_data_request_response_spec.rb +0 -58
  572. data/spec/models/create_submission_data_request_token_response_spec.rb +0 -58
  573. data/spec/models/create_webhook_data_spec.rb +0 -36
  574. data/spec/models/error_or_multiple_errors_response_spec.rb +0 -52
  575. data/spec/models/forbidden_error_response_spec.rb +0 -56
  576. data/spec/models/move_folder_data_spec.rb +0 -36
  577. data/spec/models/multiple_errors_response_spec.rb +0 -46
  578. data/spec/models/restore_version_data_spec.rb +0 -36
  579. data/spec/models/submission422_response_spec.rb +0 -58
  580. data/spec/models/success_error_response_spec.rb +0 -46
  581. data/spec/models/success_multiple_errors_response_spec.rb +0 -46
  582. data/spec/models/template_add_fields_response_spec.rb +0 -52
  583. data/spec/models/template_delete_response_spec.rb +0 -58
  584. data/spec/models/template_publish_version_response_spec.rb +0 -52
  585. data/spec/models/update_html_template_spec.rb +0 -36
  586. data/spec/models/update_pdf_template_spec.rb +0 -36
  587. data/spec/models/update_submission_data_request_data_spec.rb +0 -116
  588. data/spec/models/update_webhook_data_spec.rb +0 -36
@@ -0,0 +1,646 @@
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 field names that people using the embedded template editor choose from, each with the data type and settings a field gets when it's given that name. Setting it replaces the whole list; an empty list turns them off.
104
+ attr_accessor :predefined_fields
105
+
106
+ # Sample submission data that sets `predefined_fields`: each value becomes a predefined field, with a type that fits it (`string`, `number`, `boolean`, `date`, `email` or `url`) and `required_in_template` true. Nested objects and arrays become names with `/`, such as `customer/email`. Without `predefined_fields` in the same request, it replaces them; with them, it adds to them and sets the types of the ones it has values for.
107
+ attr_accessor :predefined_fields_sample_data
108
+
109
+ # The HTML of an HTML template, as a Liquid template. Null for PDF templates.
110
+ attr_accessor :html
111
+
112
+ # The SCSS of an HTML template.
113
+ attr_accessor :scss
114
+
115
+ # The HTML printed at the top of each page of an HTML template.
116
+ attr_accessor :header_html
117
+
118
+ # The HTML printed at the bottom of each page of an HTML template.
119
+ attr_accessor :footer_html
120
+
121
+ # Null resets the options to their defaults.
122
+ attr_accessor :html_engine_options
123
+
124
+ # A PDF template's document: the `fields.key` of a file you uploaded with the presigned upload (GET /uploads/presign). A PDF template needs one of `cache_id`, `document_url` and `document_base64`. To upload the PDF with the request, use POST /templates/upload.
125
+ attr_accessor :cache_id
126
+
127
+ # An https:// link to the template's PDF (up to 100 MB), instead of `cache_id`. DocSpring downloads it after responding, following redirects to other https:// links: the template's `document.state` is `downloading` until then (sync.api hosts wait for it). If it can't be downloaded, the state is `download_failed` and `document.error_message` says why.
128
+ attr_accessor :document_url
129
+
130
+ # The template's PDF, encoded as base64 (a `data:` URI works too), instead of `cache_id`. Up to 7 MB before it's encoded: send a larger file with `cache_id` or `document_url`.
131
+ attr_accessor :document_base64
132
+
133
+ # The PDF's file name, for a `cache_id` (presigned uploads don't send one) or `document_base64`. A `document_url`'s is the last part of its path unless you set it.
134
+ attr_accessor :filename
135
+
136
+ # 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.
137
+ attr_accessor :detect_fields
138
+
139
+ # 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.
140
+ attr_accessor :field_source
141
+
142
+ # 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`.
143
+ attr_accessor :field_naming
144
+
145
+ # 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.
146
+ attr_accessor :field_logic
147
+
148
+ class EnumAttributeValidator
149
+ attr_reader :datatype
150
+ attr_reader :allowable_values
151
+
152
+ def initialize(datatype, allowable_values)
153
+ @allowable_values = allowable_values.map do |value|
154
+ case datatype.to_s
155
+ when /Integer/i
156
+ value.to_i
157
+ when /Float/i
158
+ value.to_f
159
+ else
160
+ value
161
+ end
162
+ end
163
+ end
164
+
165
+ def valid?(value)
166
+ !value || allowable_values.include?(value)
167
+ end
168
+ end
169
+
170
+ # Attribute mapping from ruby-style variable name to JSON key.
171
+ def self.attribute_map
172
+ {
173
+ :'name' => :'name',
174
+ :'description' => :'description',
175
+ :'template_type' => :'template_type',
176
+ :'parent_folder_id' => :'parent_folder_id',
177
+ :'locked' => :'locked',
178
+ :'add_signature_request_submission_id_footers' => :'add_signature_request_submission_id_footers',
179
+ :'ai_field_naming_language' => :'ai_field_naming_language',
180
+ :'allow_additional_properties' => :'allow_additional_properties',
181
+ :'allow_skipping_optional_fields' => :'allow_skipping_optional_fields',
182
+ :'default_form_mode' => :'default_form_mode',
183
+ :'editable_submissions' => :'editable_submissions',
184
+ :'embed_domains' => :'embed_domains',
185
+ :'embed_edit_allow_settings' => :'embed_edit_allow_settings',
186
+ :'embed_edit_allow_versioning' => :'embed_edit_allow_versioning',
187
+ :'embed_edit_allow_document_replacement' => :'embed_edit_allow_document_replacement',
188
+ :'encrypt_pdfs' => :'encrypt_pdfs',
189
+ :'encrypt_pdfs_password' => :'encrypt_pdfs_password',
190
+ :'expire_submissions' => :'expire_submissions',
191
+ :'expire_after' => :'expire_after',
192
+ :'expiration_interval' => :'expiration_interval',
193
+ :'merge_audit_trail_pdf' => :'merge_audit_trail_pdf',
194
+ :'parse_dates_using_template_date_format' => :'parse_dates_using_template_date_format',
195
+ :'public_submissions' => :'public_submissions',
196
+ :'public_web_form' => :'public_web_form',
197
+ :'redirect_url' => :'redirect_url',
198
+ :'slack_webhook_url' => :'slack_webhook_url',
199
+ :'defaults' => :'defaults',
200
+ :'field_dependencies' => :'field_dependencies',
201
+ :'predefined_fields' => :'predefined_fields',
202
+ :'predefined_fields_sample_data' => :'predefined_fields_sample_data',
203
+ :'html' => :'html',
204
+ :'scss' => :'scss',
205
+ :'header_html' => :'header_html',
206
+ :'footer_html' => :'footer_html',
207
+ :'html_engine_options' => :'html_engine_options',
208
+ :'cache_id' => :'cache_id',
209
+ :'document_url' => :'document_url',
210
+ :'document_base64' => :'document_base64',
211
+ :'filename' => :'filename',
212
+ :'detect_fields' => :'detect_fields',
213
+ :'field_source' => :'field_source',
214
+ :'field_naming' => :'field_naming',
215
+ :'field_logic' => :'field_logic'
216
+ }
217
+ end
218
+
219
+ # Returns attribute mapping this model knows about
220
+ def self.acceptable_attribute_map
221
+ attribute_map
222
+ end
223
+
224
+ # Returns all the JSON keys this model knows about
225
+ def self.acceptable_attributes
226
+ acceptable_attribute_map.values
227
+ end
228
+
229
+ # Attribute type mapping.
230
+ def self.openapi_types
231
+ {
232
+ :'name' => :'String',
233
+ :'description' => :'String',
234
+ :'template_type' => :'TemplateType',
235
+ :'parent_folder_id' => :'String',
236
+ :'locked' => :'Boolean',
237
+ :'add_signature_request_submission_id_footers' => :'Boolean',
238
+ :'ai_field_naming_language' => :'AiFieldNamingLanguage',
239
+ :'allow_additional_properties' => :'Boolean',
240
+ :'allow_skipping_optional_fields' => :'Boolean',
241
+ :'default_form_mode' => :'TemplateFormMode',
242
+ :'editable_submissions' => :'Boolean',
243
+ :'embed_domains' => :'Array<String>',
244
+ :'embed_edit_allow_settings' => :'Boolean',
245
+ :'embed_edit_allow_versioning' => :'Boolean',
246
+ :'embed_edit_allow_document_replacement' => :'Boolean',
247
+ :'encrypt_pdfs' => :'Boolean',
248
+ :'encrypt_pdfs_password' => :'String',
249
+ :'expire_submissions' => :'Boolean',
250
+ :'expire_after' => :'Integer',
251
+ :'expiration_interval' => :'ExpirationInterval',
252
+ :'merge_audit_trail_pdf' => :'Boolean',
253
+ :'parse_dates_using_template_date_format' => :'Boolean',
254
+ :'public_submissions' => :'Boolean',
255
+ :'public_web_form' => :'Boolean',
256
+ :'redirect_url' => :'String',
257
+ :'slack_webhook_url' => :'String',
258
+ :'defaults' => :'TemplateDefaultsInput',
259
+ :'field_dependencies' => :'Array<TemplateFieldDependencyInput>',
260
+ :'predefined_fields' => :'Array<PredefinedFieldInput>',
261
+ :'predefined_fields_sample_data' => :'Hash<String, Object>',
262
+ :'html' => :'String',
263
+ :'scss' => :'String',
264
+ :'header_html' => :'String',
265
+ :'footer_html' => :'String',
266
+ :'html_engine_options' => :'HtmlEngineOptionsInput',
267
+ :'cache_id' => :'String',
268
+ :'document_url' => :'String',
269
+ :'document_base64' => :'String',
270
+ :'filename' => :'String',
271
+ :'detect_fields' => :'Boolean',
272
+ :'field_source' => :'FieldSetupSource',
273
+ :'field_naming' => :'FieldSetupNaming',
274
+ :'field_logic' => :'FieldSetupLogic'
275
+ }
276
+ end
277
+
278
+ # List of attributes with nullable: true
279
+ def self.openapi_nullable
280
+ Set.new([
281
+ :'description',
282
+ :'parent_folder_id',
283
+ :'encrypt_pdfs_password',
284
+ :'redirect_url',
285
+ :'slack_webhook_url',
286
+ :'predefined_fields_sample_data',
287
+ :'html',
288
+ :'scss',
289
+ :'header_html',
290
+ :'footer_html',
291
+ :'html_engine_options',
292
+ ])
293
+ end
294
+
295
+ # Returns attribute type mapping
296
+ def self.acceptable_openapi_types
297
+ openapi_types
298
+ end
299
+
300
+ # Returns the nullable attributes
301
+ def self.acceptable_openapi_nullable
302
+ openapi_nullable
303
+ end
304
+
305
+ # Initializes the object
306
+ # @param [Hash] attributes Model attributes in the form of hash
307
+ def initialize(attributes = {})
308
+ if (!attributes.is_a?(Hash))
309
+ fail ArgumentError, "The input argument (attributes) must be a hash in `DocSpring::CreateTemplateRequest` initialize method"
310
+ end
311
+
312
+ # check to see if the attribute exists and convert string to symbol for hash key
313
+ acceptable_attribute_map = self.class.acceptable_attribute_map
314
+ attributes = attributes.each_with_object({}) { |(k, v), h|
315
+ if (!acceptable_attribute_map.key?(k.to_sym))
316
+ 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
317
+ end
318
+ h[k.to_sym] = v
319
+ }
320
+
321
+ if attributes.key?(:'name')
322
+ self.name = attributes[:'name']
323
+ end
324
+
325
+ if attributes.key?(:'description')
326
+ self.description = attributes[:'description']
327
+ end
328
+
329
+ if attributes.key?(:'template_type')
330
+ self.template_type = attributes[:'template_type']
331
+ else
332
+ self.template_type = nil
333
+ end
334
+
335
+ if attributes.key?(:'parent_folder_id')
336
+ self.parent_folder_id = attributes[:'parent_folder_id']
337
+ end
338
+
339
+ if attributes.key?(:'locked')
340
+ self.locked = attributes[:'locked']
341
+ end
342
+
343
+ if attributes.key?(:'add_signature_request_submission_id_footers')
344
+ self.add_signature_request_submission_id_footers = attributes[:'add_signature_request_submission_id_footers']
345
+ end
346
+
347
+ if attributes.key?(:'ai_field_naming_language')
348
+ self.ai_field_naming_language = attributes[:'ai_field_naming_language']
349
+ end
350
+
351
+ if attributes.key?(:'allow_additional_properties')
352
+ self.allow_additional_properties = attributes[:'allow_additional_properties']
353
+ end
354
+
355
+ if attributes.key?(:'allow_skipping_optional_fields')
356
+ self.allow_skipping_optional_fields = attributes[:'allow_skipping_optional_fields']
357
+ end
358
+
359
+ if attributes.key?(:'default_form_mode')
360
+ self.default_form_mode = attributes[:'default_form_mode']
361
+ end
362
+
363
+ if attributes.key?(:'editable_submissions')
364
+ self.editable_submissions = attributes[:'editable_submissions']
365
+ end
366
+
367
+ if attributes.key?(:'embed_domains')
368
+ if (value = attributes[:'embed_domains']).is_a?(Array)
369
+ self.embed_domains = value
370
+ end
371
+ end
372
+
373
+ if attributes.key?(:'embed_edit_allow_settings')
374
+ self.embed_edit_allow_settings = attributes[:'embed_edit_allow_settings']
375
+ end
376
+
377
+ if attributes.key?(:'embed_edit_allow_versioning')
378
+ self.embed_edit_allow_versioning = attributes[:'embed_edit_allow_versioning']
379
+ end
380
+
381
+ if attributes.key?(:'embed_edit_allow_document_replacement')
382
+ self.embed_edit_allow_document_replacement = attributes[:'embed_edit_allow_document_replacement']
383
+ end
384
+
385
+ if attributes.key?(:'encrypt_pdfs')
386
+ self.encrypt_pdfs = attributes[:'encrypt_pdfs']
387
+ end
388
+
389
+ if attributes.key?(:'encrypt_pdfs_password')
390
+ self.encrypt_pdfs_password = attributes[:'encrypt_pdfs_password']
391
+ end
392
+
393
+ if attributes.key?(:'expire_submissions')
394
+ self.expire_submissions = attributes[:'expire_submissions']
395
+ end
396
+
397
+ if attributes.key?(:'expire_after')
398
+ self.expire_after = attributes[:'expire_after']
399
+ end
400
+
401
+ if attributes.key?(:'expiration_interval')
402
+ self.expiration_interval = attributes[:'expiration_interval']
403
+ end
404
+
405
+ if attributes.key?(:'merge_audit_trail_pdf')
406
+ self.merge_audit_trail_pdf = attributes[:'merge_audit_trail_pdf']
407
+ end
408
+
409
+ if attributes.key?(:'parse_dates_using_template_date_format')
410
+ self.parse_dates_using_template_date_format = attributes[:'parse_dates_using_template_date_format']
411
+ end
412
+
413
+ if attributes.key?(:'public_submissions')
414
+ self.public_submissions = attributes[:'public_submissions']
415
+ end
416
+
417
+ if attributes.key?(:'public_web_form')
418
+ self.public_web_form = attributes[:'public_web_form']
419
+ end
420
+
421
+ if attributes.key?(:'redirect_url')
422
+ self.redirect_url = attributes[:'redirect_url']
423
+ end
424
+
425
+ if attributes.key?(:'slack_webhook_url')
426
+ self.slack_webhook_url = attributes[:'slack_webhook_url']
427
+ end
428
+
429
+ if attributes.key?(:'defaults')
430
+ self.defaults = attributes[:'defaults']
431
+ end
432
+
433
+ if attributes.key?(:'field_dependencies')
434
+ if (value = attributes[:'field_dependencies']).is_a?(Array)
435
+ self.field_dependencies = value
436
+ end
437
+ end
438
+
439
+ if attributes.key?(:'predefined_fields')
440
+ if (value = attributes[:'predefined_fields']).is_a?(Array)
441
+ self.predefined_fields = value
442
+ end
443
+ end
444
+
445
+ if attributes.key?(:'predefined_fields_sample_data')
446
+ if (value = attributes[:'predefined_fields_sample_data']).is_a?(Hash) || value.nil?
447
+ self.predefined_fields_sample_data = value
448
+ end
449
+ end
450
+
451
+ if attributes.key?(:'html')
452
+ self.html = attributes[:'html']
453
+ end
454
+
455
+ if attributes.key?(:'scss')
456
+ self.scss = attributes[:'scss']
457
+ end
458
+
459
+ if attributes.key?(:'header_html')
460
+ self.header_html = attributes[:'header_html']
461
+ end
462
+
463
+ if attributes.key?(:'footer_html')
464
+ self.footer_html = attributes[:'footer_html']
465
+ end
466
+
467
+ if attributes.key?(:'html_engine_options')
468
+ self.html_engine_options = attributes[:'html_engine_options']
469
+ end
470
+
471
+ if attributes.key?(:'cache_id')
472
+ self.cache_id = attributes[:'cache_id']
473
+ end
474
+
475
+ if attributes.key?(:'document_url')
476
+ self.document_url = attributes[:'document_url']
477
+ end
478
+
479
+ if attributes.key?(:'document_base64')
480
+ self.document_base64 = attributes[:'document_base64']
481
+ end
482
+
483
+ if attributes.key?(:'filename')
484
+ self.filename = attributes[:'filename']
485
+ end
486
+
487
+ if attributes.key?(:'detect_fields')
488
+ self.detect_fields = attributes[:'detect_fields']
489
+ end
490
+
491
+ if attributes.key?(:'field_source')
492
+ self.field_source = attributes[:'field_source']
493
+ end
494
+
495
+ if attributes.key?(:'field_naming')
496
+ self.field_naming = attributes[:'field_naming']
497
+ end
498
+
499
+ if attributes.key?(:'field_logic')
500
+ self.field_logic = attributes[:'field_logic']
501
+ end
502
+ end
503
+
504
+ # Show invalid properties with the reasons. Usually used together with valid?
505
+ # @return Array for valid properties with the reasons
506
+ def list_invalid_properties
507
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
508
+ invalid_properties = Array.new
509
+ if @template_type.nil?
510
+ invalid_properties.push('invalid value for "template_type", template_type cannot be nil.')
511
+ end
512
+
513
+ invalid_properties
514
+ end
515
+
516
+ # Check to see if the all the properties in the model are valid
517
+ # @return true if the model is valid
518
+ def valid?
519
+ warn '[DEPRECATED] the `valid?` method is obsolete'
520
+ return false if @template_type.nil?
521
+ true
522
+ end
523
+
524
+ # Custom attribute writer method with validation
525
+ # @param [Object] template_type Value to be assigned
526
+ def template_type=(template_type)
527
+ if template_type.nil?
528
+ fail ArgumentError, 'template_type cannot be nil'
529
+ end
530
+
531
+ @template_type = template_type
532
+ end
533
+
534
+ # Checks equality by comparing each attribute.
535
+ # @param [Object] Object to be compared
536
+ def ==(o)
537
+ return true if self.equal?(o)
538
+ self.class == o.class &&
539
+ name == o.name &&
540
+ description == o.description &&
541
+ template_type == o.template_type &&
542
+ parent_folder_id == o.parent_folder_id &&
543
+ locked == o.locked &&
544
+ add_signature_request_submission_id_footers == o.add_signature_request_submission_id_footers &&
545
+ ai_field_naming_language == o.ai_field_naming_language &&
546
+ allow_additional_properties == o.allow_additional_properties &&
547
+ allow_skipping_optional_fields == o.allow_skipping_optional_fields &&
548
+ default_form_mode == o.default_form_mode &&
549
+ editable_submissions == o.editable_submissions &&
550
+ embed_domains == o.embed_domains &&
551
+ embed_edit_allow_settings == o.embed_edit_allow_settings &&
552
+ embed_edit_allow_versioning == o.embed_edit_allow_versioning &&
553
+ embed_edit_allow_document_replacement == o.embed_edit_allow_document_replacement &&
554
+ encrypt_pdfs == o.encrypt_pdfs &&
555
+ encrypt_pdfs_password == o.encrypt_pdfs_password &&
556
+ expire_submissions == o.expire_submissions &&
557
+ expire_after == o.expire_after &&
558
+ expiration_interval == o.expiration_interval &&
559
+ merge_audit_trail_pdf == o.merge_audit_trail_pdf &&
560
+ parse_dates_using_template_date_format == o.parse_dates_using_template_date_format &&
561
+ public_submissions == o.public_submissions &&
562
+ public_web_form == o.public_web_form &&
563
+ redirect_url == o.redirect_url &&
564
+ slack_webhook_url == o.slack_webhook_url &&
565
+ defaults == o.defaults &&
566
+ field_dependencies == o.field_dependencies &&
567
+ predefined_fields == o.predefined_fields &&
568
+ predefined_fields_sample_data == o.predefined_fields_sample_data &&
569
+ html == o.html &&
570
+ scss == o.scss &&
571
+ header_html == o.header_html &&
572
+ footer_html == o.footer_html &&
573
+ html_engine_options == o.html_engine_options &&
574
+ cache_id == o.cache_id &&
575
+ document_url == o.document_url &&
576
+ document_base64 == o.document_base64 &&
577
+ filename == o.filename &&
578
+ detect_fields == o.detect_fields &&
579
+ field_source == o.field_source &&
580
+ field_naming == o.field_naming &&
581
+ field_logic == o.field_logic
582
+ end
583
+
584
+ # @see the `==` method
585
+ # @param [Object] Object to be compared
586
+ def eql?(o)
587
+ self == o
588
+ end
589
+
590
+ # Calculates hash code according to all attributes.
591
+ # @return [Integer] Hash code
592
+ def hash
593
+ [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, predefined_fields, predefined_fields_sample_data, html, scss, header_html, footer_html, html_engine_options, cache_id, document_url, document_base64, filename, detect_fields, field_source, field_naming, field_logic].hash
594
+ end
595
+
596
+ # Builds the object from hash
597
+ # @param [Hash] attributes Model attributes in the form of hash
598
+ # @return [Object] Returns the model itself
599
+ def self.build_from_hash(attributes)
600
+ return nil unless attributes.is_a?(Hash)
601
+ attributes = attributes.transform_keys(&:to_sym)
602
+ # include attributes inherited from allOf parents (the nearest declaration wins)
603
+ map = acceptable_attribute_map
604
+ transformed_hash = {}
605
+ acceptable_openapi_types.each_pair do |key, type|
606
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
607
+ transformed_hash["#{key}"] = nil
608
+ elsif type =~ /\AArray<(.*)>/i
609
+ # check to ensure the input is an array given that the attribute
610
+ # is documented as an array but the input is not
611
+ if attributes[map[key]].is_a?(Array)
612
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
613
+ end
614
+ elsif !attributes[map[key]].nil?
615
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
616
+ end
617
+ end
618
+ # Responses can include enum values added after this client was released, so the enum setters
619
+ # accept any value while the model is built from a response
620
+ allocate.tap do |model|
621
+ model.instance_variable_set(:@_skip_enum_validation, true)
622
+ model.send(:initialize, transformed_hash)
623
+ model.remove_instance_variable(:@_skip_enum_validation)
624
+ end
625
+ end
626
+
627
+ # Returns the object in the form of hash
628
+ # @return [Hash] Returns the object in the form of hash
629
+ def to_hash
630
+ hash = {}
631
+ # include attributes inherited from allOf parents (the nearest declaration wins)
632
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
633
+ value = self.send(attr)
634
+ if value.nil?
635
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
636
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
637
+ end
638
+
639
+ hash[param] = _to_hash(value)
640
+ end
641
+ hash
642
+ end
643
+
644
+ end
645
+
646
+ end