api-sdk-rb 1.11.66 → 1.11.133

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 (430) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +294 -285
  3. data/docs/{GetPartnerCreditTransactions200Response.md → AccountCreditTransactionListResponse.md} +2 -2
  4. data/docs/AdapterConnection.md +7 -1
  5. data/docs/{GetUserAdapterConnections200Response.md → AdapterConnectionListResponse.md} +2 -2
  6. data/docs/{RemoveUserAdapterConnection200Response.md → AdapterConnectionRemovalResponse.md} +2 -2
  7. data/docs/{SetUserAdapterConnection200Response.md → AdapterConnectionResponse.md} +2 -2
  8. data/docs/{AddAiAnswersKnowledgeDocument201Response.md → AiAnswersKnowledgeDocumentResponse.md} +2 -2
  9. data/docs/BrandColor.md +22 -0
  10. data/docs/BrandFont.md +24 -0
  11. data/docs/BrandKitApi.md +593 -0
  12. data/docs/BrandKitAssetView.md +42 -0
  13. data/docs/BrandKitFigmaSource.md +26 -0
  14. data/docs/BrandKitTokens.md +26 -0
  15. data/docs/BrandKitTokensFonts.md +24 -0
  16. data/docs/BrandKitView.md +36 -0
  17. data/docs/BrandKitViewOwner.md +20 -0
  18. data/docs/{OperationsIdGetResponse.md → BrandKitViewResponse.md} +3 -3
  19. data/docs/BrandSpacing.md +32 -0
  20. data/docs/BrandTextStyle.md +22 -0
  21. data/docs/CanvasesApi.md +45 -45
  22. data/docs/Composition.md +5 -1
  23. data/docs/{CreateCompositionDatabaseRecord201Response.md → CompositionDatabaseRecordResponse.md} +2 -2
  24. data/docs/CompositionLastEditedBy.md +20 -0
  25. data/docs/CompositionsApi.md +821 -473
  26. data/docs/ConfirmAdapterConnectionRequest.md +18 -0
  27. data/docs/{CreateCompositionContentItem201Response.md → ContentItemWriteResultResponse.md} +2 -2
  28. data/docs/CreateWidget201ResponseData.md +2 -4
  29. data/docs/CreateWorkspaceWorkflowFromPresetRequest.md +20 -0
  30. data/docs/CreateWorkspaceWorkflowRequest.md +22 -0
  31. data/docs/CreditsApi.md +20 -20
  32. data/docs/DeleteUpload200Response.md +22 -0
  33. data/docs/{UploadsIdDelete200ResponseData.md → DeleteUpload200ResponseData.md} +2 -2
  34. data/docs/DeleteWorkspaceWorkflow200Response.md +22 -0
  35. data/docs/{GetPartnerDesignDefaults200Response.md → DesignDefaultsResponse.md} +2 -2
  36. data/docs/EntitlementsApi.md +18 -18
  37. data/docs/GetOperationResponse.md +22 -0
  38. data/docs/{OperationsIdGetResponseData.md → GetOperationResponseData.md} +3 -3
  39. data/docs/GetOperationResponseDataMetadata.md +24 -0
  40. data/docs/GetPublicCompositionEmbed200Response.md +7 -1
  41. data/docs/GetPublicCompositionEmbed200ResponseAdapters.md +20 -0
  42. data/docs/GetPublicCompositionEmbed200ResponseAdaptersCaptcha.md +18 -0
  43. data/docs/GetPublicCompositionEmbed200ResponseEntries.md +20 -0
  44. data/docs/GetPublicCompositionEmbed200ResponseMedia.md +18 -0
  45. data/docs/GetWorkspaceWorkflowStats200Response.md +22 -0
  46. data/docs/GetWorkspaceWorkflowVersion200Response.md +22 -0
  47. data/docs/InvoicesApi.md +9 -9
  48. data/docs/ListPartnerWorkflowPresets200Response.md +22 -0
  49. data/docs/{UploadsGet200Response.md → ListUploads200Response.md} +2 -2
  50. data/docs/ListWorkspaceWorkflowCompositionOptions200Response.md +22 -0
  51. data/docs/ListWorkspaceWorkflowPresets200Response.md +22 -0
  52. data/docs/ListWorkspaceWorkflowVersions200Response.md +22 -0
  53. data/docs/ListWorkspaceWorkflows200Response.md +22 -0
  54. data/docs/{GetManagedUserLimits200Response.md → ManagedUserLimitsResponse.md} +2 -2
  55. data/docs/{DeleteManagedUser200Response.md → ManagedUserRemovalResponse.md} +2 -2
  56. data/docs/ManagedUsersApi.md +261 -171
  57. data/docs/NewComposition.md +1 -1
  58. data/docs/NewEditorSession.md +1 -1
  59. data/docs/OfferWorkflowPresetRequest.md +24 -0
  60. data/docs/OfferedWorkflowPreset.md +40 -0
  61. data/docs/OfferedWorkflowPresetList.md +18 -0
  62. data/docs/OfferedWorkflowPresetWidget.md +22 -0
  63. data/docs/OperationsApi.md +11 -11
  64. data/docs/PartnerCustomization.md +2 -2
  65. data/docs/PartnerNotification.md +1 -1
  66. data/docs/PartnersApi.md +644 -352
  67. data/docs/PatchBrandKitAssetRequest.md +24 -0
  68. data/docs/PatchBrandKitRequest.md +30 -0
  69. data/docs/PatchBrandKitRequestFonts.md +24 -0
  70. data/docs/PatchBrandKitRequestSpacing.md +32 -0
  71. data/docs/PostBrandKitIconRequest.md +20 -0
  72. data/docs/PublicEmbedApi.md +324 -58
  73. data/docs/PublicWorkflow.md +36 -0
  74. data/docs/PublicWorkflowEventsAccepted.md +22 -0
  75. data/docs/PublicWorkflowEventsRequest.md +24 -0
  76. data/docs/PublicWorkflowEventsRequestEventsInner.md +24 -0
  77. data/docs/PublicWorkflowEventsRequestHeightsInner.md +20 -0
  78. data/docs/{CreateCompositionFromWidget201Response.md → PublicWorkflowResponse.md} +3 -3
  79. data/docs/PublicWorkflowTranslation.md +20 -0
  80. data/docs/PublishWorkspaceWorkflow200Response.md +22 -0
  81. data/docs/PublishWorkspaceWorkflowRequest.md +18 -0
  82. data/docs/PutBrandKitRequest.md +22 -0
  83. data/docs/RemovePartnerWorkflowPreset200Response.md +22 -0
  84. data/docs/ReportPublicWorkflowEvents200Response.md +22 -0
  85. data/docs/SaveWorkspaceWorkflowRequest.md +24 -0
  86. data/docs/SetAdapterConnectionRequest.md +1 -1
  87. data/docs/SetPartnerWorkflowPreset200Response.md +22 -0
  88. data/docs/TokensApi.md +11 -9
  89. data/docs/UpdateComposition.md +1 -1
  90. data/docs/Upload.md +1 -1
  91. data/docs/UploadLimits.md +3 -3
  92. data/docs/UploadsApi.md +85 -85
  93. data/docs/UsersApi.md +191 -115
  94. data/docs/Widget.md +2 -4
  95. data/docs/WidgetClarification.md +22 -0
  96. data/docs/WidgetClarificationOption.md +22 -0
  97. data/docs/WidgetClarificationQuestion.md +26 -0
  98. data/docs/WidgetNextStep.md +24 -0
  99. data/docs/WidgetPlan.md +26 -0
  100. data/docs/WidgetPlanDecisions.md +32 -0
  101. data/docs/WidgetPlanDecisionsAdaptersInner.md +20 -0
  102. data/docs/WidgetPlanDecisionsLibrariesInner.md +22 -0
  103. data/docs/WidgetPlanDecisionsResponsive.md +22 -0
  104. data/docs/WidgetPlanTask.md +24 -0
  105. data/docs/WidgetsApi.md +38 -38
  106. data/docs/Workflow.md +50 -0
  107. data/docs/WorkflowCompositionAction.md +24 -0
  108. data/docs/WorkflowCompositionField.md +24 -0
  109. data/docs/WorkflowCompositionOption.md +30 -0
  110. data/docs/WorkflowCompositionOptionActions.md +22 -0
  111. data/docs/WorkflowCompositionOptionInputs.md +24 -0
  112. data/docs/WorkflowCompositionOptions.md +24 -0
  113. data/docs/WorkflowConditionCase.md +24 -0
  114. data/docs/WorkflowConditionTest.md +22 -0
  115. data/docs/WorkflowCounter.md +20 -0
  116. data/docs/WorkflowDetail.md +60 -0
  117. data/docs/WorkflowDetailAllOfLastEditedBy.md +20 -0
  118. data/docs/WorkflowDetailResponse.md +22 -0
  119. data/docs/WorkflowEdge.md +24 -0
  120. data/docs/WorkflowFailureReason.md +15 -0
  121. data/docs/WorkflowFailureReasonCounter.md +22 -0
  122. data/docs/WorkflowFieldReference.md +22 -0
  123. data/docs/WorkflowGraph.md +22 -0
  124. data/docs/WorkflowIssue.md +28 -0
  125. data/docs/WorkflowList.md +24 -0
  126. data/docs/WorkflowNode.md +30 -0
  127. data/docs/WorkflowNodePosition.md +20 -0
  128. data/docs/WorkflowPresetChoice.md +26 -0
  129. data/docs/WorkflowPresetChoices.md +18 -0
  130. data/docs/WorkflowPresetRemoval.md +18 -0
  131. data/docs/WorkflowPresetWidget.md +20 -0
  132. data/docs/WorkflowPublishResult.md +22 -0
  133. data/docs/WorkflowRemoved.md +18 -0
  134. data/docs/WorkflowResponse.md +22 -0
  135. data/docs/WorkflowSchedule.md +24 -0
  136. data/docs/WorkflowStats.md +34 -0
  137. data/docs/WorkflowStatus.md +15 -0
  138. data/docs/WorkflowTrigger.md +28 -0
  139. data/docs/WorkflowTriggerValuesInner.md +20 -0
  140. data/docs/WorkflowVersion.md +28 -0
  141. data/docs/WorkflowVersionDetail.md +32 -0
  142. data/docs/WorkflowVersionList.md +18 -0
  143. data/docs/WorkflowVersionPublishedBy.md +20 -0
  144. data/docs/WorkflowsApi.md +1527 -0
  145. data/lib/api-sdk-rb/api/brand_kit_api.rb +581 -0
  146. data/lib/api-sdk-rb/api/canvases_api.rb +39 -39
  147. data/lib/api-sdk-rb/api/compositions_api.rb +993 -565
  148. data/lib/api-sdk-rb/api/credits_api.rb +20 -20
  149. data/lib/api-sdk-rb/api/entitlements_api.rb +14 -14
  150. data/lib/api-sdk-rb/api/invoices_api.rb +10 -10
  151. data/lib/api-sdk-rb/api/managed_users_api.rb +278 -172
  152. data/lib/api-sdk-rb/api/operations_api.rb +10 -10
  153. data/lib/api-sdk-rb/api/partners_api.rb +668 -352
  154. data/lib/api-sdk-rb/api/public_embed_api.rb +339 -62
  155. data/lib/api-sdk-rb/api/tokens_api.rb +8 -6
  156. data/lib/api-sdk-rb/api/uploads_api.rb +96 -96
  157. data/lib/api-sdk-rb/api/users_api.rb +213 -119
  158. data/lib/api-sdk-rb/api/widgets_api.rb +40 -40
  159. data/lib/api-sdk-rb/api/workflows_api.rb +1775 -0
  160. data/lib/api-sdk-rb/configuration.rb +11 -23
  161. data/lib/api-sdk-rb/models/{get_user_adapter_connections200_response.rb → account_credit_transaction_list_response.rb} +4 -4
  162. data/lib/api-sdk-rb/models/adapter_connection.rb +48 -5
  163. data/lib/api-sdk-rb/models/{get_partner_credit_transactions200_response.rb → adapter_connection_list_response.rb} +4 -4
  164. data/lib/api-sdk-rb/models/adapter_connection_removal_response.rb +246 -0
  165. data/lib/api-sdk-rb/models/{delete_managed_user200_response.rb → adapter_connection_response.rb} +4 -4
  166. data/lib/api-sdk-rb/models/ai_answers_knowledge_document_response.rb +246 -0
  167. data/lib/api-sdk-rb/models/brand_color.rb +329 -0
  168. data/lib/api-sdk-rb/models/brand_font.rb +357 -0
  169. data/lib/api-sdk-rb/models/brand_kit_asset_view.rb +409 -0
  170. data/lib/api-sdk-rb/models/brand_kit_figma_source.rb +277 -0
  171. data/lib/api-sdk-rb/models/brand_kit_tokens.rb +335 -0
  172. data/lib/api-sdk-rb/models/brand_kit_tokens_fonts.rb +241 -0
  173. data/lib/api-sdk-rb/models/brand_kit_view.rb +344 -0
  174. data/lib/api-sdk-rb/models/brand_kit_view_owner.rb +267 -0
  175. data/lib/api-sdk-rb/models/brand_kit_view_response.rb +247 -0
  176. data/lib/api-sdk-rb/models/brand_spacing.rb +557 -0
  177. data/lib/api-sdk-rb/models/brand_text_style.rb +344 -0
  178. data/lib/api-sdk-rb/models/composition.rb +26 -5
  179. data/lib/api-sdk-rb/models/{create_composition_database_record201_response.rb → composition_database_record_response.rb} +3 -3
  180. data/lib/api-sdk-rb/models/composition_last_edited_by.rb +242 -0
  181. data/lib/api-sdk-rb/models/confirm_adapter_connection_request.rb +241 -0
  182. data/lib/api-sdk-rb/models/content_item_write_result_response.rb +246 -0
  183. data/lib/api-sdk-rb/models/create_widget201_response_data.rb +9 -20
  184. data/lib/api-sdk-rb/models/create_workspace_workflow_from_preset_request.rb +278 -0
  185. data/lib/api-sdk-rb/models/create_workspace_workflow_request.rb +271 -0
  186. data/lib/api-sdk-rb/models/{operations_id_get_response.rb → delete_upload200_response.rb} +4 -5
  187. data/lib/api-sdk-rb/models/{uploads_id_delete200_response_data.rb → delete_upload200_response_data.rb} +3 -3
  188. data/lib/api-sdk-rb/models/delete_workspace_workflow200_response.rb +246 -0
  189. data/lib/api-sdk-rb/models/design_defaults_response.rb +246 -0
  190. data/lib/api-sdk-rb/models/get_operation_response.rb +247 -0
  191. data/lib/api-sdk-rb/models/{operations_id_get_response_data.rb → get_operation_response_data.rb} +5 -8
  192. data/lib/api-sdk-rb/models/get_operation_response_data_metadata.rb +283 -0
  193. data/lib/api-sdk-rb/models/get_public_composition_embed200_response.rb +29 -2
  194. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_adapters.rb +225 -0
  195. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_adapters_captcha.rb +216 -0
  196. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_entries.rb +224 -0
  197. data/lib/api-sdk-rb/models/get_public_composition_embed200_response_media.rb +216 -0
  198. data/lib/api-sdk-rb/models/get_workspace_workflow_stats200_response.rb +246 -0
  199. data/lib/api-sdk-rb/models/{create_composition_from_widget201_response.rb → get_workspace_workflow_version200_response.rb} +4 -4
  200. data/lib/api-sdk-rb/models/list_partner_workflow_presets200_response.rb +246 -0
  201. data/lib/api-sdk-rb/models/{uploads_get200_response.rb → list_uploads200_response.rb} +3 -3
  202. data/lib/api-sdk-rb/models/list_workspace_workflow_composition_options200_response.rb +246 -0
  203. data/lib/api-sdk-rb/models/{create_composition_content_item201_response.rb → list_workspace_workflow_presets200_response.rb} +4 -4
  204. data/lib/api-sdk-rb/models/{add_ai_answers_knowledge_document201_response.rb → list_workspace_workflow_versions200_response.rb} +4 -4
  205. data/lib/api-sdk-rb/models/list_workspace_workflows200_response.rb +246 -0
  206. data/lib/api-sdk-rb/models/{get_managed_user_limits200_response.rb → managed_user_limits_response.rb} +3 -3
  207. data/lib/api-sdk-rb/models/{uploads_id_delete200_response.rb → managed_user_removal_response.rb} +4 -4
  208. data/lib/api-sdk-rb/models/new_composition.rb +1 -1
  209. data/lib/api-sdk-rb/models/new_editor_session.rb +1 -1
  210. data/lib/api-sdk-rb/models/offer_workflow_preset_request.rb +322 -0
  211. data/lib/api-sdk-rb/models/offered_workflow_preset.rb +423 -0
  212. data/lib/api-sdk-rb/models/offered_workflow_preset_list.rb +223 -0
  213. data/lib/api-sdk-rb/models/offered_workflow_preset_widget.rb +251 -0
  214. data/lib/api-sdk-rb/models/partner_notification.rb +1 -1
  215. data/lib/api-sdk-rb/models/partner_notification_event_type.rb +5 -1
  216. data/lib/api-sdk-rb/models/patch_brand_kit_asset_request.rb +289 -0
  217. data/lib/api-sdk-rb/models/patch_brand_kit_request.rb +363 -0
  218. data/lib/api-sdk-rb/models/patch_brand_kit_request_fonts.rb +242 -0
  219. data/lib/api-sdk-rb/models/patch_brand_kit_request_spacing.rb +502 -0
  220. data/lib/api-sdk-rb/models/post_brand_kit_icon_request.rb +237 -0
  221. data/lib/api-sdk-rb/models/public_workflow.rb +351 -0
  222. data/lib/api-sdk-rb/models/public_workflow_events_accepted.rb +242 -0
  223. data/lib/api-sdk-rb/models/public_workflow_events_request.rb +301 -0
  224. data/lib/api-sdk-rb/models/public_workflow_events_request_events_inner.rb +354 -0
  225. data/lib/api-sdk-rb/models/public_workflow_events_request_heights_inner.rb +267 -0
  226. data/lib/api-sdk-rb/models/public_workflow_response.rb +246 -0
  227. data/lib/api-sdk-rb/models/public_workflow_translation.rb +242 -0
  228. data/lib/api-sdk-rb/models/{set_user_adapter_connection200_response.rb → publish_workspace_workflow200_response.rb} +4 -4
  229. data/lib/api-sdk-rb/models/publish_workspace_workflow_request.rb +240 -0
  230. data/lib/api-sdk-rb/models/put_brand_kit_request.rb +239 -0
  231. data/lib/api-sdk-rb/models/{remove_user_adapter_connection200_response.rb → remove_partner_workflow_preset200_response.rb} +4 -4
  232. data/lib/api-sdk-rb/models/report_public_workflow_events200_response.rb +246 -0
  233. data/lib/api-sdk-rb/models/save_workspace_workflow_request.rb +296 -0
  234. data/lib/api-sdk-rb/models/set_adapter_connection_request.rb +1 -1
  235. data/lib/api-sdk-rb/models/{get_partner_design_defaults200_response.rb → set_partner_workflow_preset200_response.rb} +4 -4
  236. data/lib/api-sdk-rb/models/update_composition.rb +1 -1
  237. data/lib/api-sdk-rb/models/upload.rb +1 -1
  238. data/lib/api-sdk-rb/models/upload_limits.rb +3 -3
  239. data/lib/api-sdk-rb/models/widget.rb +9 -20
  240. data/lib/api-sdk-rb/models/widget_clarification.rb +279 -0
  241. data/lib/api-sdk-rb/models/widget_clarification_option.rb +256 -0
  242. data/lib/api-sdk-rb/models/widget_clarification_question.rb +329 -0
  243. data/lib/api-sdk-rb/models/widget_next_step.rb +307 -0
  244. data/lib/api-sdk-rb/models/widget_plan.rb +306 -0
  245. data/lib/api-sdk-rb/models/widget_plan_decisions.rb +346 -0
  246. data/lib/api-sdk-rb/models/widget_plan_decisions_adapters_inner.rb +237 -0
  247. data/lib/api-sdk-rb/models/widget_plan_decisions_libraries_inner.rb +255 -0
  248. data/lib/api-sdk-rb/models/widget_plan_decisions_responsive.rb +311 -0
  249. data/lib/api-sdk-rb/models/widget_plan_task.rb +320 -0
  250. data/lib/api-sdk-rb/models/workflow.rb +509 -0
  251. data/lib/api-sdk-rb/models/workflow_composition_action.rb +266 -0
  252. data/lib/api-sdk-rb/models/workflow_composition_field.rb +303 -0
  253. data/lib/api-sdk-rb/models/workflow_composition_option.rb +316 -0
  254. data/lib/api-sdk-rb/models/workflow_composition_option_actions.rb +284 -0
  255. data/lib/api-sdk-rb/models/workflow_composition_option_inputs.rb +304 -0
  256. data/lib/api-sdk-rb/models/workflow_composition_options.rb +271 -0
  257. data/lib/api-sdk-rb/models/workflow_condition_case.rb +322 -0
  258. data/lib/api-sdk-rb/models/workflow_condition_test.rb +284 -0
  259. data/lib/api-sdk-rb/models/workflow_counter.rb +238 -0
  260. data/lib/api-sdk-rb/models/workflow_detail.rb +580 -0
  261. data/lib/api-sdk-rb/models/workflow_detail_all_of_last_edited_by.rb +242 -0
  262. data/lib/api-sdk-rb/models/workflow_detail_response.rb +246 -0
  263. data/lib/api-sdk-rb/models/workflow_edge.rb +292 -0
  264. data/lib/api-sdk-rb/models/workflow_failure_reason.rb +42 -0
  265. data/lib/api-sdk-rb/models/workflow_failure_reason_counter.rb +277 -0
  266. data/lib/api-sdk-rb/models/workflow_field_reference.rb +300 -0
  267. data/lib/api-sdk-rb/models/workflow_graph.rb +330 -0
  268. data/lib/api-sdk-rb/models/workflow_issue.rb +309 -0
  269. data/lib/api-sdk-rb/models/workflow_list.rb +271 -0
  270. data/lib/api-sdk-rb/models/workflow_node.rb +343 -0
  271. data/lib/api-sdk-rb/models/workflow_node_position.rb +238 -0
  272. data/lib/api-sdk-rb/models/workflow_preset_choice.rb +288 -0
  273. data/lib/api-sdk-rb/models/workflow_preset_choices.rb +224 -0
  274. data/lib/api-sdk-rb/models/workflow_preset_removal.rb +222 -0
  275. data/lib/api-sdk-rb/models/workflow_preset_widget.rb +234 -0
  276. data/lib/api-sdk-rb/models/workflow_publish_result.rb +256 -0
  277. data/lib/api-sdk-rb/models/workflow_removed.rb +221 -0
  278. data/lib/api-sdk-rb/models/workflow_response.rb +246 -0
  279. data/lib/api-sdk-rb/models/workflow_schedule.rb +298 -0
  280. data/lib/api-sdk-rb/models/workflow_stats.rb +347 -0
  281. data/lib/api-sdk-rb/models/workflow_status.rb +42 -0
  282. data/lib/api-sdk-rb/models/workflow_trigger.rb +303 -0
  283. data/lib/api-sdk-rb/models/workflow_trigger_values_inner.rb +271 -0
  284. data/lib/api-sdk-rb/models/workflow_version.rb +316 -0
  285. data/lib/api-sdk-rb/models/workflow_version_detail.rb +354 -0
  286. data/lib/api-sdk-rb/models/workflow_version_list.rb +224 -0
  287. data/lib/api-sdk-rb/models/workflow_version_published_by.rb +225 -0
  288. data/lib/api-sdk-rb/version.rb +1 -1
  289. data/lib/api-sdk-rb.rb +116 -17
  290. data/spec/api/brand_kit_api_spec.rb +136 -0
  291. data/spec/api/canvases_api_spec.rb +10 -10
  292. data/spec/api/compositions_api_spec.rb +227 -149
  293. data/spec/api/credits_api_spec.rb +5 -5
  294. data/spec/api/entitlements_api_spec.rb +4 -4
  295. data/spec/api/invoices_api_spec.rb +2 -2
  296. data/spec/api/managed_users_api_spec.rb +63 -42
  297. data/spec/api/operations_api_spec.rb +3 -3
  298. data/spec/api/partners_api_spec.rb +138 -84
  299. data/spec/api/public_embed_api_spec.rb +66 -15
  300. data/spec/api/tokens_api_spec.rb +3 -2
  301. data/spec/api/uploads_api_spec.rb +24 -24
  302. data/spec/api/users_api_spec.rb +43 -28
  303. data/spec/api/widgets_api_spec.rb +9 -9
  304. data/spec/api/workflows_api_spec.rb +339 -0
  305. data/spec/models/account_credit_transaction_list_response_spec.rb +48 -0
  306. data/spec/models/adapter_connection_list_response_spec.rb +48 -0
  307. data/spec/models/{get_managed_user_limits200_response_spec.rb → adapter_connection_removal_response_spec.rb} +6 -6
  308. data/spec/models/{delete_managed_user200_response_spec.rb → adapter_connection_response_spec.rb} +6 -6
  309. data/spec/models/adapter_connection_spec.rb +18 -0
  310. data/spec/models/ai_answers_knowledge_document_response_spec.rb +48 -0
  311. data/spec/models/brand_color_spec.rb +52 -0
  312. data/spec/models/brand_font_spec.rb +62 -0
  313. data/spec/models/brand_kit_asset_view_spec.rb +120 -0
  314. data/spec/models/brand_kit_figma_source_spec.rb +60 -0
  315. data/spec/models/brand_kit_tokens_fonts_spec.rb +54 -0
  316. data/spec/models/brand_kit_tokens_spec.rb +60 -0
  317. data/spec/models/brand_kit_view_owner_spec.rb +46 -0
  318. data/spec/models/{uploads_get200_response_spec.rb → brand_kit_view_response_spec.rb} +6 -6
  319. data/spec/models/brand_kit_view_spec.rb +90 -0
  320. data/spec/models/brand_spacing_spec.rb +78 -0
  321. data/spec/models/brand_text_style_spec.rb +52 -0
  322. data/spec/models/composition_database_record_response_spec.rb +48 -0
  323. data/spec/models/composition_last_edited_by_spec.rb +42 -0
  324. data/spec/models/composition_spec.rb +12 -0
  325. data/spec/models/confirm_adapter_connection_request_spec.rb +36 -0
  326. data/spec/models/content_item_write_result_response_spec.rb +48 -0
  327. data/spec/models/create_widget201_response_data_spec.rb +1 -7
  328. data/spec/models/create_workspace_workflow_from_preset_request_spec.rb +42 -0
  329. data/spec/models/create_workspace_workflow_request_spec.rb +48 -0
  330. data/spec/models/{uploads_id_delete200_response_data_spec.rb → delete_upload200_response_data_spec.rb} +6 -6
  331. data/spec/models/{operations_id_get_response_spec.rb → delete_upload200_response_spec.rb} +6 -6
  332. data/spec/models/delete_workspace_workflow200_response_spec.rb +48 -0
  333. data/spec/models/design_defaults_response_spec.rb +48 -0
  334. data/spec/models/editor_session_spec.rb +1 -1
  335. data/spec/models/get_operation_response_data_metadata_spec.rb +58 -0
  336. data/spec/models/{operations_id_get_response_data_spec.rb → get_operation_response_data_spec.rb} +6 -6
  337. data/spec/models/get_operation_response_spec.rb +48 -0
  338. data/spec/models/get_public_composition_embed200_response_adapters_captcha_spec.rb +36 -0
  339. data/spec/models/get_public_composition_embed200_response_adapters_spec.rb +42 -0
  340. data/spec/models/get_public_composition_embed200_response_entries_spec.rb +42 -0
  341. data/spec/models/get_public_composition_embed200_response_media_spec.rb +36 -0
  342. data/spec/models/get_public_composition_embed200_response_spec.rb +18 -0
  343. data/spec/models/{get_user_adapter_connections200_response_spec.rb → get_workspace_workflow_stats200_response_spec.rb} +6 -6
  344. data/spec/models/{remove_user_adapter_connection200_response_spec.rb → get_workspace_workflow_version200_response_spec.rb} +6 -6
  345. data/spec/models/list_partner_workflow_presets200_response_spec.rb +48 -0
  346. data/spec/models/list_uploads200_response_spec.rb +48 -0
  347. data/spec/models/{create_composition_database_record201_response_spec.rb → list_workspace_workflow_composition_options200_response_spec.rb} +6 -6
  348. data/spec/models/{get_partner_credit_transactions200_response_spec.rb → list_workspace_workflow_presets200_response_spec.rb} +6 -6
  349. data/spec/models/{add_ai_answers_knowledge_document201_response_spec.rb → list_workspace_workflow_versions200_response_spec.rb} +6 -6
  350. data/spec/models/list_workspace_workflows200_response_spec.rb +48 -0
  351. data/spec/models/managed_user_limits_response_spec.rb +48 -0
  352. data/spec/models/{uploads_id_delete200_response_spec.rb → managed_user_removal_response_spec.rb} +6 -6
  353. data/spec/models/new_editor_session_spec.rb +1 -1
  354. data/spec/models/offer_workflow_preset_request_spec.rb +54 -0
  355. data/spec/models/offered_workflow_preset_list_spec.rb +36 -0
  356. data/spec/models/offered_workflow_preset_spec.rb +106 -0
  357. data/spec/models/offered_workflow_preset_widget_spec.rb +48 -0
  358. data/spec/models/patch_brand_kit_asset_request_spec.rb +62 -0
  359. data/spec/models/patch_brand_kit_request_fonts_spec.rb +54 -0
  360. data/spec/models/patch_brand_kit_request_spacing_spec.rb +78 -0
  361. data/spec/models/patch_brand_kit_request_spec.rb +72 -0
  362. data/spec/models/post_brand_kit_icon_request_spec.rb +42 -0
  363. data/spec/models/public_workflow_events_accepted_spec.rb +48 -0
  364. data/spec/models/public_workflow_events_request_events_inner_spec.rb +62 -0
  365. data/spec/models/public_workflow_events_request_heights_inner_spec.rb +42 -0
  366. data/spec/models/public_workflow_events_request_spec.rb +54 -0
  367. data/spec/models/public_workflow_response_spec.rb +48 -0
  368. data/spec/models/public_workflow_spec.rb +94 -0
  369. data/spec/models/public_workflow_translation_spec.rb +42 -0
  370. data/spec/models/{get_partner_design_defaults200_response_spec.rb → publish_workspace_workflow200_response_spec.rb} +6 -6
  371. data/spec/models/publish_workspace_workflow_request_spec.rb +36 -0
  372. data/spec/models/put_brand_kit_request_spec.rb +48 -0
  373. data/spec/models/{create_composition_from_widget201_response_spec.rb → remove_partner_workflow_preset200_response_spec.rb} +6 -6
  374. data/spec/models/report_public_workflow_events200_response_spec.rb +48 -0
  375. data/spec/models/save_workspace_workflow_request_spec.rb +54 -0
  376. data/spec/models/{set_user_adapter_connection200_response_spec.rb → set_partner_workflow_preset200_response_spec.rb} +6 -6
  377. data/spec/models/widget_clarification_option_spec.rb +48 -0
  378. data/spec/models/widget_clarification_question_spec.rb +60 -0
  379. data/spec/models/widget_clarification_spec.rb +48 -0
  380. data/spec/models/widget_next_step_spec.rb +58 -0
  381. data/spec/models/widget_plan_decisions_adapters_inner_spec.rb +42 -0
  382. data/spec/models/widget_plan_decisions_libraries_inner_spec.rb +48 -0
  383. data/spec/models/widget_plan_decisions_responsive_spec.rb +48 -0
  384. data/spec/models/widget_plan_decisions_spec.rb +78 -0
  385. data/spec/models/widget_plan_spec.rb +60 -0
  386. data/spec/models/widget_plan_task_spec.rb +62 -0
  387. data/spec/models/widget_spec.rb +1 -7
  388. data/spec/models/workflow_composition_action_spec.rb +54 -0
  389. data/spec/models/workflow_composition_field_spec.rb +58 -0
  390. data/spec/models/workflow_composition_option_actions_spec.rb +52 -0
  391. data/spec/models/workflow_composition_option_inputs_spec.rb +58 -0
  392. data/spec/models/workflow_composition_option_spec.rb +72 -0
  393. data/spec/models/workflow_composition_options_spec.rb +54 -0
  394. data/spec/models/workflow_condition_case_spec.rb +58 -0
  395. data/spec/models/workflow_condition_test_spec.rb +52 -0
  396. data/spec/models/workflow_counter_spec.rb +42 -0
  397. data/spec/models/workflow_detail_all_of_last_edited_by_spec.rb +42 -0
  398. data/spec/models/workflow_detail_response_spec.rb +48 -0
  399. data/spec/models/workflow_detail_spec.rb +162 -0
  400. data/spec/models/workflow_edge_spec.rb +54 -0
  401. data/spec/models/workflow_failure_reason_counter_spec.rb +48 -0
  402. data/spec/models/workflow_failure_reason_spec.rb +30 -0
  403. data/spec/models/workflow_field_reference_spec.rb +56 -0
  404. data/spec/models/workflow_graph_spec.rb +52 -0
  405. data/spec/models/workflow_issue_spec.rb +70 -0
  406. data/spec/models/{create_composition_content_item201_response_spec.rb → workflow_list_spec.rb} +15 -9
  407. data/spec/models/workflow_node_position_spec.rb +42 -0
  408. data/spec/models/workflow_node_spec.rb +76 -0
  409. data/spec/models/workflow_preset_choice_spec.rb +60 -0
  410. data/spec/models/workflow_preset_choices_spec.rb +36 -0
  411. data/spec/models/workflow_preset_removal_spec.rb +36 -0
  412. data/spec/models/workflow_preset_widget_spec.rb +42 -0
  413. data/spec/models/workflow_publish_result_spec.rb +48 -0
  414. data/spec/models/workflow_removed_spec.rb +36 -0
  415. data/spec/models/workflow_response_spec.rb +48 -0
  416. data/spec/models/workflow_schedule_spec.rb +62 -0
  417. data/spec/models/workflow_spec.rb +132 -0
  418. data/spec/models/workflow_stats_spec.rb +84 -0
  419. data/spec/models/workflow_status_spec.rb +30 -0
  420. data/spec/models/workflow_trigger_spec.rb +70 -0
  421. data/spec/models/workflow_trigger_values_inner_spec.rb +46 -0
  422. data/spec/models/workflow_version_detail_spec.rb +78 -0
  423. data/spec/models/workflow_version_list_spec.rb +36 -0
  424. data/spec/models/workflow_version_published_by_spec.rb +42 -0
  425. data/spec/models/workflow_version_spec.rb +66 -0
  426. metadata +476 -80
  427. data/docs/PartnerApi.md +0 -9892
  428. data/docs/UploadsIdDelete200Response.md +0 -22
  429. data/lib/api-sdk-rb/api/partner_api.rb +0 -10693
  430. data/spec/api/partner_api_spec.rb +0 -1895
@@ -0,0 +1,246 @@
1
+ =begin
2
+ #Widgetic API Gateway
3
+
4
+ #API documentation for the Widgetic API Gateway
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ApiSdkRb
17
+ class ListWorkspaceWorkflows200Response
18
+ attr_accessor :success
19
+
20
+ attr_accessor :data
21
+
22
+ attr_accessor :meta
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'success' => :'success',
28
+ :'data' => :'data',
29
+ :'meta' => :'meta'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'success' => :'Boolean',
42
+ :'data' => :'WorkflowList',
43
+ :'meta' => :'ResponseMeta'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ApiSdkRb::ListWorkspaceWorkflows200Response` initialize method"
58
+ end
59
+
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ApiSdkRb::ListWorkspaceWorkflows200Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'success')
69
+ self.success = attributes[:'success']
70
+ else
71
+ self.success = nil
72
+ end
73
+
74
+ if attributes.key?(:'data')
75
+ self.data = attributes[:'data']
76
+ else
77
+ self.data = nil
78
+ end
79
+
80
+ if attributes.key?(:'meta')
81
+ self.meta = attributes[:'meta']
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @success.nil?
91
+ invalid_properties.push('invalid value for "success", success cannot be nil.')
92
+ end
93
+
94
+ if @data.nil?
95
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @success.nil?
106
+ return false if @data.nil?
107
+ true
108
+ end
109
+
110
+ # Checks equality by comparing each attribute.
111
+ # @param [Object] Object to be compared
112
+ def ==(o)
113
+ return true if self.equal?(o)
114
+ self.class == o.class &&
115
+ success == o.success &&
116
+ data == o.data &&
117
+ meta == o.meta
118
+ end
119
+
120
+ # @see the `==` method
121
+ # @param [Object] Object to be compared
122
+ def eql?(o)
123
+ self == o
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ def hash
129
+ [success, data, meta].hash
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def self.build_from_hash(attributes)
136
+ return nil unless attributes.is_a?(Hash)
137
+ attributes = attributes.transform_keys(&:to_sym)
138
+ transformed_hash = {}
139
+ openapi_types.each_pair do |key, type|
140
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
141
+ transformed_hash["#{key}"] = nil
142
+ elsif type =~ /\AArray<(.*)>/i
143
+ # check to ensure the input is an array given that the attribute
144
+ # is documented as an array but the input is not
145
+ if attributes[attribute_map[key]].is_a?(Array)
146
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
147
+ end
148
+ elsif !attributes[attribute_map[key]].nil?
149
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
150
+ end
151
+ end
152
+ new(transformed_hash)
153
+ end
154
+
155
+ # Deserializes the data based on type
156
+ # @param string type Data type
157
+ # @param string value Value to be deserialized
158
+ # @return [Object] Deserialized data
159
+ def self._deserialize(type, value)
160
+ case type.to_sym
161
+ when :Time
162
+ Time.parse(value)
163
+ when :Date
164
+ Date.parse(value)
165
+ when :String
166
+ value.to_s
167
+ when :Integer
168
+ value.to_i
169
+ when :Float
170
+ value.to_f
171
+ when :Boolean
172
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
173
+ true
174
+ else
175
+ false
176
+ end
177
+ when :Object
178
+ # generic object (usually a Hash), return directly
179
+ value
180
+ when /\AArray<(?<inner_type>.+)>\z/
181
+ inner_type = Regexp.last_match[:inner_type]
182
+ value.map { |v| _deserialize(inner_type, v) }
183
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
184
+ k_type = Regexp.last_match[:k_type]
185
+ v_type = Regexp.last_match[:v_type]
186
+ {}.tap do |hash|
187
+ value.each do |k, v|
188
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
189
+ end
190
+ end
191
+ else # model
192
+ # models (e.g. Pet) or oneOf
193
+ klass = ApiSdkRb.const_get(type)
194
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
195
+ end
196
+ end
197
+
198
+ # Returns the string representation of the object
199
+ # @return [String] String presentation of the object
200
+ def to_s
201
+ to_hash.to_s
202
+ end
203
+
204
+ # to_body is an alias to to_hash (backward compatibility)
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_body
207
+ to_hash
208
+ end
209
+
210
+ # Returns the object in the form of hash
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_hash
213
+ hash = {}
214
+ self.class.attribute_map.each_pair do |attr, param|
215
+ value = self.send(attr)
216
+ if value.nil?
217
+ is_nullable = self.class.openapi_nullable.include?(attr)
218
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
219
+ end
220
+
221
+ hash[param] = _to_hash(value)
222
+ end
223
+ hash
224
+ end
225
+
226
+ # Outputs non-array value in the form of hash
227
+ # For object, use to_hash. Otherwise, just return the value
228
+ # @param [Object] value Any valid value
229
+ # @return [Hash] Returns the value in the form of hash
230
+ def _to_hash(value)
231
+ if value.is_a?(Array)
232
+ value.compact.map { |v| _to_hash(v) }
233
+ elsif value.is_a?(Hash)
234
+ {}.tap do |hash|
235
+ value.each { |k, v| hash[k] = _to_hash(v) }
236
+ end
237
+ elsif value.respond_to? :to_hash
238
+ value.to_hash
239
+ else
240
+ value
241
+ end
242
+ end
243
+
244
+ end
245
+
246
+ end
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module ApiSdkRb
17
- class GetManagedUserLimits200Response
17
+ class ManagedUserLimitsResponse
18
18
  attr_accessor :success
19
19
 
20
20
  attr_accessor :data
@@ -54,13 +54,13 @@ module ApiSdkRb
54
54
  # @param [Hash] attributes Model attributes in the form of hash
55
55
  def initialize(attributes = {})
56
56
  if (!attributes.is_a?(Hash))
57
- fail ArgumentError, "The input argument (attributes) must be a hash in `ApiSdkRb::GetManagedUserLimits200Response` initialize method"
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ApiSdkRb::ManagedUserLimitsResponse` initialize method"
58
58
  end
59
59
 
60
60
  # check to see if the attribute exists and convert string to symbol for hash key
61
61
  attributes = attributes.each_with_object({}) { |(k, v), h|
62
62
  if (!self.class.attribute_map.key?(k.to_sym))
63
- fail ArgumentError, "`#{k}` is not a valid attribute in `ApiSdkRb::GetManagedUserLimits200Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ApiSdkRb::ManagedUserLimitsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
64
  end
65
65
  h[k.to_sym] = v
66
66
  }
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module ApiSdkRb
17
- class UploadsIdDelete200Response
17
+ class ManagedUserRemovalResponse
18
18
  attr_accessor :success
19
19
 
20
20
  attr_accessor :data
@@ -39,7 +39,7 @@ module ApiSdkRb
39
39
  def self.openapi_types
40
40
  {
41
41
  :'success' => :'Boolean',
42
- :'data' => :'UploadsIdDelete200ResponseData',
42
+ :'data' => :'ManagedUserRemoval',
43
43
  :'meta' => :'ResponseMeta'
44
44
  }
45
45
  end
@@ -54,13 +54,13 @@ module ApiSdkRb
54
54
  # @param [Hash] attributes Model attributes in the form of hash
55
55
  def initialize(attributes = {})
56
56
  if (!attributes.is_a?(Hash))
57
- fail ArgumentError, "The input argument (attributes) must be a hash in `ApiSdkRb::UploadsIdDelete200Response` initialize method"
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ApiSdkRb::ManagedUserRemovalResponse` initialize method"
58
58
  end
59
59
 
60
60
  # check to see if the attribute exists and convert string to symbol for hash key
61
61
  attributes = attributes.each_with_object({}) { |(k, v), h|
62
62
  if (!self.class.attribute_map.key?(k.to_sym))
63
- fail ArgumentError, "`#{k}` is not a valid attribute in `ApiSdkRb::UploadsIdDelete200Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ApiSdkRb::ManagedUserRemovalResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
64
  end
65
65
  h[k.to_sym] = v
66
66
  }
@@ -36,7 +36,7 @@ module ApiSdkRb
36
36
  # Design settings for the composition
37
37
  attr_accessor :design
38
38
 
39
- # The tables this composition keeps what visitors send it in (votes, ratings, answers). They are made when the composition is created, in a schema of their own that no other composition can reach: in Widgetic's database, or in your own Neon database when you have set one with `setPartnerDataDatabase`. They are deleted with the composition. The shape is `{ \"tables\": [ ... ] }`. A table has a `name`, a list of `columns` and, optionally, a list of `indexes`. A column has a `name` and a `type`, and optionally `primaryKey`, `notNull`, `unique` and `default`. An index has a `name` and the `columns` it covers (1 to 8), and optionally `unique`. Any other key is refused. - Names (tables, columns, indexes) use lower-case letters, digits and underscores, start with a letter and are at most 63 characters long. A name that starts with `_` or `pg_` is reserved. - `type` is one of `text`, `smallint`, `integer` (or `int`), `bigint`, `numeric`, `real`, `double precision`, `boolean` (or `bool`), `date`, `timestamp`, `timestamptz` (or `timestamp with time zone`), `uuid`, `json`, `jsonb`, `serial`, `bigserial`. - `default` is a number, `true` or `false`, a text of at most 500 characters (no backslash), a JSON value for a `json` or `jsonb` column, or one of `now()`, `current_timestamp` and `current_date` (date and timestamp columns) and `gen_random_uuid()` (a `uuid` column). A `serial` column numbers itself and has no default. - A composition declares at most 20 tables, with at most 64 columns and 10 indexes each. A declaration that cannot be used is refused with `400` and `INVALID_DATABASE_SCHEMA`; `error.details.problems` lists what to change. Tables that already exist are never changed or dropped: sending more tables later, when you update the composition, adds the ones that are missing. When the composition is saved but its tables cannot be made just now, the answer says so in `meta.warnings`: send the same `databaseSchema` again to retry. Leave it out and the composition gets the tables its widget declares in its own source (`src/lib/meta/database.json`), if any. Send `{ \"tables\": [] }` to give the composition no tables and keep it from getting its widget's.
39
+ # The tables this composition keeps what visitors send it in (votes, ratings, answers). They are made when the composition is created, in a schema of their own that no other composition can reach: in Widgetic's database, or in your own Neon database when you have set one with `setPartnerDataDatabase`. They are deleted with the composition. The shape is `{ \"tables\": [ ... ] }`. A table has a `name`, a list of `columns` and, optionally, a list of `indexes`, and optionally `countable`. A column has a `name` and a `type`, and optionally `primaryKey`, `notNull`, `unique`, `default` and `readable`. An index has a `name` and the `columns` it covers (1 to 8), and optionally `unique`. Any other key is refused, except `source` (see below). `countable` and `readable` are the read policy of the composition's own page: nothing the visitors sent can be read back by the page until you say so. `countable: true` on a table lets the widget show how many rows it has; `readable: true` on a column lets it show or total that column's values (a tally of votes, an average rating). Mark only what is safe to show to anyone who opens the page. A column whose name holds `email`, `phone`, `address`, `token`, `password`, `secret`, `ip` or the like, and a `json`, `jsonb` or `uuid` column, cannot be `readable`. - Names (tables, columns, indexes) use lower-case letters, digits and underscores, start with a letter and are at most 63 characters long. A name that starts with `_` or `pg_` is reserved. - `type` is one of `text`, `smallint`, `integer` (or `int`), `bigint`, `numeric`, `real`, `double precision`, `boolean` (or `bool`), `date`, `timestamp`, `timestamptz` (or `timestamp with time zone`), `uuid`, `json`, `jsonb`, `serial`, `bigserial`. - `default` is a number, `true` or `false`, a text of at most 500 characters (no backslash), a JSON value for a `json` or `jsonb` column, or one of `now()`, `current_timestamp` and `current_date` (date and timestamp columns) and `gen_random_uuid()` (a `uuid` column). A `serial` column numbers itself and has no default. - A composition declares at most 20 tables, with at most 64 columns and 10 indexes each. A declaration that cannot be used is refused with `400` and `INVALID_DATABASE_SCHEMA`; `error.details.problems` lists what to change. Tables that already exist are never changed or dropped: sending more tables later, when you update the composition, adds the ones that are missing. When the composition is saved but its tables cannot be made just now, the answer says so in `meta.warnings`: send the same `databaseSchema` again to retry. Leave it out and the composition gets the tables its widget declares in its own source (`src/lib/meta/database.json`), if any. Send `{ \"tables\": [] }` to give the composition no tables and keep it from getting its widget's. A composition whose tables were made from its widget's own file reads back with `\"source\": \"widget\"` next to `tables`. When the widget is published again, a table, a field or an index its file gained is added to them; nothing that exists is changed or dropped, and what a page may read does not change. Send `source` back as it was and it stays. Leave it out and the tables are yours: no widget's file adds anything to them. It is the only value `source` can have.
40
40
  attr_accessor :database_schema
41
41
 
42
42
  # ID of the project this composition belongs to
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module ApiSdkRb
17
17
  class NewEditorSession
18
- # The pieces of Widgetic's editor the session may drive. `files` is the media library (the File Browser: upload a file, list the files uploaded for this user); what a user uploads is kept in your own storage destination. Partner storage is not optional: a session of any surface can be made only once you have set a destination up (`setPartnerStorageDestination`), and is refused with `409 PARTNER_STORAGE_REQUIRED` until then. `editor` is editing one of this user's compositions: read it, change its name, content, design and embed settings, read its schemas, and ask where to show it (`getCompositionPreview`: the widget's published page). `creator` is Widgetic's widget creator, with its drawing canvas and its AI: this user's canvases, the widgets on them and the conversation of each widget, the generation, build and publish calls that make a widget, and the compositions of those widgets (list, make). The surfaces do not imply one another: the whole creator also saves a composition (`editor`) and attaches pictures to its chat (`files`), so ask for `[\"creator\", \"editor\", \"files\"]`.
18
+ # The pieces of Widgetic's editor the session may drive. `files` is the media library (the File Browser: upload a file, list the files uploaded for this user); what a user uploads is kept in your own storage destination. Partner storage is not optional: a session of any surface can be made only once you have set a destination up (`setPartnerStorageDestination`), and is refused with `409 PARTNER_STORAGE_REQUIRED` until then. `editor` is editing one of this user's compositions: read it, change its name, content, design and embed settings, read its schemas, and ask where to show it (`getCompositionPreview`: the widget's published page). `creator` is Widgetic's widget creator, with its drawing canvas and its AI: this user's canvases, the widgets on them and the conversation of each widget, the generation, build and publish calls that make a widget, and the compositions of those widgets (list, make). The surfaces do not imply one another: the whole creator also saves a composition (`editor`) and attaches pictures to its chat (`files`), so ask for `[\"creator\", \"editor\", \"files\"]`. `workflows` is the Workflows editor: this user's own workflows (list, make, make from one of your starting points, draw, publish, pause, resume, archive, delete, the version history and the counts) under `/workspaces/personal/workflows`, and the compositions made for this user, which are the only ones a workflow of theirs can chain. A workflow is filed under the user it was made for (`managedUserId`), and the session reaches nothing of another user's, nor of yours.
19
19
  attr_accessor :surfaces
20
20
 
21
21
  # How long the session lasts, in seconds. It cannot be extended; make a new session when it ends.
@@ -0,0 +1,322 @@
1
+ =begin
2
+ #Widgetic API Gateway
3
+
4
+ #API documentation for the Widgetic API Gateway
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ApiSdkRb
17
+ class OfferWorkflowPresetRequest
18
+ # One of your own published workflows.
19
+ attr_accessor :workflow_id
20
+
21
+ # What the picker shows. Leave it out to show the workflow's name.
22
+ attr_accessor :title
23
+
24
+ attr_accessor :description
25
+
26
+ # Where it sits in the list. Smallest first; the same position is ordered by key.
27
+ attr_accessor :position
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'workflow_id' => :'workflowId',
33
+ :'title' => :'title',
34
+ :'description' => :'description',
35
+ :'position' => :'position'
36
+ }
37
+ end
38
+
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ attribute_map.values
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.openapi_types
46
+ {
47
+ :'workflow_id' => :'String',
48
+ :'title' => :'String',
49
+ :'description' => :'String',
50
+ :'position' => :'Integer'
51
+ }
52
+ end
53
+
54
+ # List of attributes with nullable: true
55
+ def self.openapi_nullable
56
+ Set.new([
57
+ :'title',
58
+ :'description',
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ApiSdkRb::OfferWorkflowPresetRequest` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ApiSdkRb::OfferWorkflowPresetRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'workflow_id')
78
+ self.workflow_id = attributes[:'workflow_id']
79
+ else
80
+ self.workflow_id = nil
81
+ end
82
+
83
+ if attributes.key?(:'title')
84
+ self.title = attributes[:'title']
85
+ end
86
+
87
+ if attributes.key?(:'description')
88
+ self.description = attributes[:'description']
89
+ end
90
+
91
+ if attributes.key?(:'position')
92
+ self.position = attributes[:'position']
93
+ else
94
+ self.position = 0
95
+ end
96
+ end
97
+
98
+ # Show invalid properties with the reasons. Usually used together with valid?
99
+ # @return Array for valid properties with the reasons
100
+ def list_invalid_properties
101
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
102
+ invalid_properties = Array.new
103
+ if @workflow_id.nil?
104
+ invalid_properties.push('invalid value for "workflow_id", workflow_id cannot be nil.')
105
+ end
106
+
107
+ if !@title.nil? && @title.to_s.length > 120
108
+ invalid_properties.push('invalid value for "title", the character length must be smaller than or equal to 120.')
109
+ end
110
+
111
+ if !@title.nil? && @title.to_s.length < 1
112
+ invalid_properties.push('invalid value for "title", the character length must be great than or equal to 1.')
113
+ end
114
+
115
+ if !@description.nil? && @description.to_s.length > 500
116
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 500.')
117
+ end
118
+
119
+ if !@position.nil? && @position > 10000
120
+ invalid_properties.push('invalid value for "position", must be smaller than or equal to 10000.')
121
+ end
122
+
123
+ if !@position.nil? && @position < 0
124
+ invalid_properties.push('invalid value for "position", must be greater than or equal to 0.')
125
+ end
126
+
127
+ invalid_properties
128
+ end
129
+
130
+ # Check to see if the all the properties in the model are valid
131
+ # @return true if the model is valid
132
+ def valid?
133
+ warn '[DEPRECATED] the `valid?` method is obsolete'
134
+ return false if @workflow_id.nil?
135
+ return false if !@title.nil? && @title.to_s.length > 120
136
+ return false if !@title.nil? && @title.to_s.length < 1
137
+ return false if !@description.nil? && @description.to_s.length > 500
138
+ return false if !@position.nil? && @position > 10000
139
+ return false if !@position.nil? && @position < 0
140
+ true
141
+ end
142
+
143
+ # Custom attribute writer method with validation
144
+ # @param [Object] title Value to be assigned
145
+ def title=(title)
146
+ if !title.nil? && title.to_s.length > 120
147
+ fail ArgumentError, 'invalid value for "title", the character length must be smaller than or equal to 120.'
148
+ end
149
+
150
+ if !title.nil? && title.to_s.length < 1
151
+ fail ArgumentError, 'invalid value for "title", the character length must be great than or equal to 1.'
152
+ end
153
+
154
+ @title = title
155
+ end
156
+
157
+ # Custom attribute writer method with validation
158
+ # @param [Object] description Value to be assigned
159
+ def description=(description)
160
+ if !description.nil? && description.to_s.length > 500
161
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 500.'
162
+ end
163
+
164
+ @description = description
165
+ end
166
+
167
+ # Custom attribute writer method with validation
168
+ # @param [Object] position Value to be assigned
169
+ def position=(position)
170
+ if position.nil?
171
+ fail ArgumentError, 'position cannot be nil'
172
+ end
173
+
174
+ if position > 10000
175
+ fail ArgumentError, 'invalid value for "position", must be smaller than or equal to 10000.'
176
+ end
177
+
178
+ if position < 0
179
+ fail ArgumentError, 'invalid value for "position", must be greater than or equal to 0.'
180
+ end
181
+
182
+ @position = position
183
+ end
184
+
185
+ # Checks equality by comparing each attribute.
186
+ # @param [Object] Object to be compared
187
+ def ==(o)
188
+ return true if self.equal?(o)
189
+ self.class == o.class &&
190
+ workflow_id == o.workflow_id &&
191
+ title == o.title &&
192
+ description == o.description &&
193
+ position == o.position
194
+ end
195
+
196
+ # @see the `==` method
197
+ # @param [Object] Object to be compared
198
+ def eql?(o)
199
+ self == o
200
+ end
201
+
202
+ # Calculates hash code according to all attributes.
203
+ # @return [Integer] Hash code
204
+ def hash
205
+ [workflow_id, title, description, position].hash
206
+ end
207
+
208
+ # Builds the object from hash
209
+ # @param [Hash] attributes Model attributes in the form of hash
210
+ # @return [Object] Returns the model itself
211
+ def self.build_from_hash(attributes)
212
+ return nil unless attributes.is_a?(Hash)
213
+ attributes = attributes.transform_keys(&:to_sym)
214
+ transformed_hash = {}
215
+ openapi_types.each_pair do |key, type|
216
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
217
+ transformed_hash["#{key}"] = nil
218
+ elsif type =~ /\AArray<(.*)>/i
219
+ # check to ensure the input is an array given that the attribute
220
+ # is documented as an array but the input is not
221
+ if attributes[attribute_map[key]].is_a?(Array)
222
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
223
+ end
224
+ elsif !attributes[attribute_map[key]].nil?
225
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
226
+ end
227
+ end
228
+ new(transformed_hash)
229
+ end
230
+
231
+ # Deserializes the data based on type
232
+ # @param string type Data type
233
+ # @param string value Value to be deserialized
234
+ # @return [Object] Deserialized data
235
+ def self._deserialize(type, value)
236
+ case type.to_sym
237
+ when :Time
238
+ Time.parse(value)
239
+ when :Date
240
+ Date.parse(value)
241
+ when :String
242
+ value.to_s
243
+ when :Integer
244
+ value.to_i
245
+ when :Float
246
+ value.to_f
247
+ when :Boolean
248
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
249
+ true
250
+ else
251
+ false
252
+ end
253
+ when :Object
254
+ # generic object (usually a Hash), return directly
255
+ value
256
+ when /\AArray<(?<inner_type>.+)>\z/
257
+ inner_type = Regexp.last_match[:inner_type]
258
+ value.map { |v| _deserialize(inner_type, v) }
259
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
260
+ k_type = Regexp.last_match[:k_type]
261
+ v_type = Regexp.last_match[:v_type]
262
+ {}.tap do |hash|
263
+ value.each do |k, v|
264
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
265
+ end
266
+ end
267
+ else # model
268
+ # models (e.g. Pet) or oneOf
269
+ klass = ApiSdkRb.const_get(type)
270
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
271
+ end
272
+ end
273
+
274
+ # Returns the string representation of the object
275
+ # @return [String] String presentation of the object
276
+ def to_s
277
+ to_hash.to_s
278
+ end
279
+
280
+ # to_body is an alias to to_hash (backward compatibility)
281
+ # @return [Hash] Returns the object in the form of hash
282
+ def to_body
283
+ to_hash
284
+ end
285
+
286
+ # Returns the object in the form of hash
287
+ # @return [Hash] Returns the object in the form of hash
288
+ def to_hash
289
+ hash = {}
290
+ self.class.attribute_map.each_pair do |attr, param|
291
+ value = self.send(attr)
292
+ if value.nil?
293
+ is_nullable = self.class.openapi_nullable.include?(attr)
294
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
295
+ end
296
+
297
+ hash[param] = _to_hash(value)
298
+ end
299
+ hash
300
+ end
301
+
302
+ # Outputs non-array value in the form of hash
303
+ # For object, use to_hash. Otherwise, just return the value
304
+ # @param [Object] value Any valid value
305
+ # @return [Hash] Returns the value in the form of hash
306
+ def _to_hash(value)
307
+ if value.is_a?(Array)
308
+ value.compact.map { |v| _to_hash(v) }
309
+ elsif value.is_a?(Hash)
310
+ {}.tap do |hash|
311
+ value.each { |k, v| hash[k] = _to_hash(v) }
312
+ end
313
+ elsif value.respond_to? :to_hash
314
+ value.to_hash
315
+ else
316
+ value
317
+ end
318
+ end
319
+
320
+ end
321
+
322
+ end