@cdmbase/wiki-browser 12.0.18-alpha.5

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 (367) hide show
  1. package/LICENSE +21 -0
  2. package/lib/components/Logo.d.ts +4 -0
  3. package/lib/components/Logo.d.ts.map +1 -0
  4. package/lib/components/Logo.js +16 -0
  5. package/lib/components/Logo.js.map +1 -0
  6. package/lib/components/help/SidebarSearch.d.ts +8 -0
  7. package/lib/components/help/SidebarSearch.d.ts.map +1 -0
  8. package/lib/components/help/SidebarSearch.js +111 -0
  9. package/lib/components/help/SidebarSearch.js.map +1 -0
  10. package/lib/components/help/index.d.ts +2 -0
  11. package/lib/components/help/index.d.ts.map +1 -0
  12. package/lib/components/landing/FeatureCard.d.ts +13 -0
  13. package/lib/components/landing/FeatureCard.d.ts.map +1 -0
  14. package/lib/components/landing/FeatureCard.js +85 -0
  15. package/lib/components/landing/FeatureCard.js.map +1 -0
  16. package/lib/components/landing/QuickLinkCard.d.ts +8 -0
  17. package/lib/components/landing/QuickLinkCard.d.ts.map +1 -0
  18. package/lib/components/landing/QuickLinkCard.js +26 -0
  19. package/lib/components/landing/QuickLinkCard.js.map +1 -0
  20. package/lib/components/landing/SearchInput.d.ts +10 -0
  21. package/lib/components/landing/SearchInput.d.ts.map +1 -0
  22. package/lib/components/landing/SearchInput.js +223 -0
  23. package/lib/components/landing/SearchInput.js.map +1 -0
  24. package/lib/components/landing/index.d.ts +4 -0
  25. package/lib/components/landing/index.d.ts.map +1 -0
  26. package/lib/components/welcome.d.ts +3 -0
  27. package/lib/components/welcome.d.ts.map +1 -0
  28. package/lib/compute.d.ts +4 -0
  29. package/lib/compute.d.ts.map +1 -0
  30. package/lib/compute.js +96 -0
  31. package/lib/compute.js.map +1 -0
  32. package/lib/config/env-config.d.ts +4 -0
  33. package/lib/config/env-config.d.ts.map +1 -0
  34. package/lib/config/env-config.js +7 -0
  35. package/lib/config/env-config.js.map +1 -0
  36. package/lib/docs.config.d.ts +48 -0
  37. package/lib/docs.config.d.ts.map +1 -0
  38. package/lib/index.d.ts +4 -0
  39. package/lib/index.d.ts.map +1 -0
  40. package/lib/index.js +2 -0
  41. package/lib/index.js.map +1 -0
  42. package/lib/loaders/search.d.ts +1 -0
  43. package/lib/loaders/search.d.ts.map +1 -0
  44. package/lib/module.d.ts +4 -0
  45. package/lib/module.d.ts.map +1 -0
  46. package/lib/module.js +11 -0
  47. package/lib/module.js.map +1 -0
  48. package/lib/pages/ArticlePage/ArticlePage.d.ts +4 -0
  49. package/lib/pages/ArticlePage/ArticlePage.d.ts.map +1 -0
  50. package/lib/pages/ArticlePage/ArticlePage.js +222 -0
  51. package/lib/pages/ArticlePage/ArticlePage.js.map +1 -0
  52. package/lib/pages/ArticlePage/index.d.ts +3 -0
  53. package/lib/pages/ArticlePage/index.d.ts.map +1 -0
  54. package/lib/pages/ArticlePage/index.js +3 -0
  55. package/lib/pages/ArticlePage/index.js.map +1 -0
  56. package/lib/pages/CategoryCollection/CategoryCollection.d.ts +4 -0
  57. package/lib/pages/CategoryCollection/CategoryCollection.d.ts.map +1 -0
  58. package/lib/pages/CategoryCollection/CategoryCollection.js +103 -0
  59. package/lib/pages/CategoryCollection/CategoryCollection.js.map +1 -0
  60. package/lib/pages/CategoryCollection/index.d.ts +3 -0
  61. package/lib/pages/CategoryCollection/index.d.ts.map +1 -0
  62. package/lib/pages/CategoryCollection/index.js +3 -0
  63. package/lib/pages/CategoryCollection/index.js.map +1 -0
  64. package/lib/pages/Help/HelpIndex.d.ts +4 -0
  65. package/lib/pages/Help/HelpIndex.d.ts.map +1 -0
  66. package/lib/pages/Help/HelpIndex.js +44 -0
  67. package/lib/pages/Help/HelpIndex.js.map +1 -0
  68. package/lib/pages/Help/index.d.ts +4 -0
  69. package/lib/pages/Help/index.d.ts.map +1 -0
  70. package/lib/pages/Help/index.js +226 -0
  71. package/lib/pages/Help/index.js.map +1 -0
  72. package/lib/pages/Landing/index.d.ts +3 -0
  73. package/lib/pages/Landing/index.d.ts.map +1 -0
  74. package/lib/pages/Landing/index.js +281 -0
  75. package/lib/pages/Landing/index.js.map +1 -0
  76. package/lib/routes.json +2533 -0
  77. package/lib/seo.d.ts +22 -0
  78. package/lib/seo.d.ts.map +1 -0
  79. package/lib/slot-fill/FooterFill.d.ts +3 -0
  80. package/lib/slot-fill/FooterFill.d.ts.map +1 -0
  81. package/lib/slot-fill/FooterFill.js +18 -0
  82. package/lib/slot-fill/FooterFill.js.map +1 -0
  83. package/lib/slot-fill/LogoFill.d.ts +5 -0
  84. package/lib/slot-fill/LogoFill.d.ts.map +1 -0
  85. package/lib/slot-fill/LogoFill.js +74 -0
  86. package/lib/slot-fill/LogoFill.js.map +1 -0
  87. package/lib/slot-fill/consts.d.ts +5 -0
  88. package/lib/slot-fill/consts.d.ts.map +1 -0
  89. package/lib/slot-fill/consts.js +1 -0
  90. package/lib/slot-fill/consts.js.map +1 -0
  91. package/lib/slot-fill/index.d.ts +4 -0
  92. package/lib/slot-fill/index.d.ts.map +1 -0
  93. package/lib/templates/assets/images/add-link-frontend.png +0 -0
  94. package/lib/templates/assets/images/add-package-backend.png +0 -0
  95. package/lib/templates/assets/images/add-to-backend-module.png +0 -0
  96. package/lib/templates/assets/images/add-upload-client-frontend.png +0 -0
  97. package/lib/templates/assets/images/additional-parameters.png +0 -0
  98. package/lib/templates/assets/images/aeh-implementation.png +0 -0
  99. package/lib/templates/assets/images/aeh-usage.png +0 -0
  100. package/lib/templates/assets/images/apollo-client/recommendation_cache_mgmt.png +0 -0
  101. package/lib/templates/assets/images/app-deploy-new-version/jenkins1.PNG +0 -0
  102. package/lib/templates/assets/images/app-deploy-new-version/jenkins2.PNG +0 -0
  103. package/lib/templates/assets/images/auth-wrapper-code.png +0 -0
  104. package/lib/templates/assets/images/cdebase.png +0 -0
  105. package/lib/templates/assets/images/cdm-locales-directory.png +0 -0
  106. package/lib/templates/assets/images/client-settings.png +0 -0
  107. package/lib/templates/assets/images/codegen_file_update.png +0 -0
  108. package/lib/templates/assets/images/configuration.png +0 -0
  109. package/lib/templates/assets/images/copy-plugin.png +0 -0
  110. package/lib/templates/assets/images/docusaurus.png +0 -0
  111. package/lib/templates/assets/images/error-link.png +0 -0
  112. package/lib/templates/assets/images/error-sample.png +0 -0
  113. package/lib/templates/assets/images/extension copy.png +0 -0
  114. package/lib/templates/assets/images/extension.png +0 -0
  115. package/lib/templates/assets/images/graphql/graphql-folder-backend.png +0 -0
  116. package/lib/templates/assets/images/graphql/graphql-folder-with-gql.png +0 -0
  117. package/lib/templates/assets/images/i18n-config.png +0 -0
  118. package/lib/templates/assets/images/image.png +0 -0
  119. package/lib/templates/assets/images/logo.svg +10 -0
  120. package/lib/templates/assets/images/logo1.svg +1 -0
  121. package/lib/templates/assets/images/modify-upload-false-server.png +0 -0
  122. package/lib/templates/assets/images/navigation-auth-enabled.png +0 -0
  123. package/lib/templates/assets/images/org-dashboard-navigation.png +0 -0
  124. package/lib/templates/assets/images/org-navigation.png +0 -0
  125. package/lib/templates/assets/images/preferences_graphql_type.png +0 -0
  126. package/lib/templates/assets/images/provider.png +0 -0
  127. package/lib/templates/assets/images/route-config.png +0 -0
  128. package/lib/templates/assets/images/service-accounts.png +0 -0
  129. package/lib/templates/assets/images/source-code/source-code-environments.png +0 -0
  130. package/lib/templates/assets/images/source-code/source-code-organization.png +0 -0
  131. package/lib/templates/assets/images/spin-clone-develop-deployment/jenkins-changes.png +0 -0
  132. package/lib/templates/assets/images/spin-clone-develop-deployment/lerna-changes.png +0 -0
  133. package/lib/templates/assets/images/spin-clone-develop-deployment/root-package-json-changes.png +0 -0
  134. package/lib/templates/assets/images/spin-clone-develop-deployment/values-dev-changes.png +0 -0
  135. package/lib/templates/assets/images/sso-mappers.png +0 -0
  136. package/lib/templates/assets/images/sso-picture-mapper.png +0 -0
  137. package/lib/templates/assets/images/sso-settings.png +0 -0
  138. package/lib/templates/assets/images/timesheet_apollo_cache.png +0 -0
  139. package/lib/templates/assets/images/timesheet_query.png +0 -0
  140. package/lib/templates/assets/images/tutorial/docsVersionDropdown.png +0 -0
  141. package/lib/templates/assets/images/tutorial/localeDropdown.png +0 -0
  142. package/lib/templates/assets/images/unauthenticated.png +0 -0
  143. package/lib/templates/assets/images/undraw_docusaurus_mountain.svg +170 -0
  144. package/lib/templates/assets/images/undraw_docusaurus_react.svg +169 -0
  145. package/lib/templates/assets/images/undraw_docusaurus_tree.svg +1 -0
  146. package/lib/templates/assets/images/vite-plugin-config.png +0 -0
  147. package/lib/templates/content/docs/Generators/Project/generate-fullproject.md +12 -0
  148. package/lib/templates/content/docs/LLM/Logger.llm.md +194 -0
  149. package/lib/templates/content/docs/LLM/backend-proxies-services-llm.md +2687 -0
  150. package/lib/templates/content/docs/LLM/backend-service-llm.md +3384 -0
  151. package/lib/templates/content/docs/LLM/db_migration_llm.md +954 -0
  152. package/lib/templates/content/docs/LLM/frontend/REMIX-15.3-upgrade-llm.md +1245 -0
  153. package/lib/templates/content/docs/LLM/inngest/INNGEST_FUNCTION_DEVELOPMENT_GUIDE_LLM.md +1241 -0
  154. package/lib/templates/content/docs/LLM/inngest/INNGEST_NAMESPACE_LLM.md +384 -0
  155. package/lib/templates/content/docs/LLM/llm_workflow_namespace.md +384 -0
  156. package/lib/templates/content/docs/LLM/organization-components-form-llm.md +1395 -0
  157. package/lib/templates/content/docs/LLM/page-component-llm.md +173 -0
  158. package/lib/templates/content/docs/LLM/preferences-settings-llm.md +2781 -0
  159. package/lib/templates/content/docs/LLM/tailwind-css-llm.md +502 -0
  160. package/lib/templates/content/docs/UI/SchemaBasedUI.md +334 -0
  161. package/lib/templates/content/docs/UI/SlotFillComponent.md +334 -0
  162. package/lib/templates/content/docs/adminide-modules/account/auth0-login.md +31 -0
  163. package/lib/templates/content/docs/adminide-modules/account/index.md +14 -0
  164. package/lib/templates/content/docs/adminide-modules/account/keycloak-remix-setup.md +86 -0
  165. package/lib/templates/content/docs/adminide-modules/account/remix-auth-setup.md +79 -0
  166. package/lib/templates/content/docs/adminide-modules/account/various-auth-qatest.md +157 -0
  167. package/lib/templates/content/docs/adminide-modules/api-builders/graphql.md +906 -0
  168. package/lib/templates/content/docs/adminide-modules/billing/payments/index.md +14 -0
  169. package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/index.md +14 -0
  170. package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/settingup-stripe-locally.md +25 -0
  171. package/lib/templates/content/docs/adminide-modules/billing/tier-config.md +293 -0
  172. package/lib/templates/content/docs/adminide-modules/connectors/Connector.md +207 -0
  173. package/lib/templates/content/docs/adminide-modules/file-upload/index.md +16 -0
  174. package/lib/templates/content/docs/adminide-modules/file-upload/setup.md +435 -0
  175. package/lib/templates/content/docs/adminide-modules/file-upload/upload-file-using-signed-url.md +161 -0
  176. package/lib/templates/content/docs/adminide-modules/preferences/AddAdditionalPermissions.md +151 -0
  177. package/lib/templates/content/docs/adminide-modules/preferences/Configuration.md +241 -0
  178. package/lib/templates/content/docs/adminide-modules/preferences/Policy-Configuration.md +61 -0
  179. package/lib/templates/content/docs/adminide-modules/preferences/UI-components/ResourceSettingsLoader.md +319 -0
  180. package/lib/templates/content/docs/adminide-modules/preferences/contribute_scope_target.md +280 -0
  181. package/lib/templates/content/docs/adminide-modules/preferences/generate-urii.md +94 -0
  182. package/lib/templates/content/docs/adminide-modules/preferences/index.md +28 -0
  183. package/lib/templates/content/docs/adminide-modules/preferences/machine-configuration.md +157 -0
  184. package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/generateCdecodeUri.md +1289 -0
  185. package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/migratingFromUseSettings.md +215 -0
  186. package/lib/templates/content/docs/adminide-modules/preferences/permissions/Roles-Permissions.md +72 -0
  187. package/lib/templates/content/docs/adminide-modules/preferences/permissions/settingUserPermissions.md +139 -0
  188. package/lib/templates/content/docs/adminide-modules/preferences/preference-dependency.md +138 -0
  189. package/lib/templates/content/docs/adminide-modules/preferences/route-based-configuration.md +41 -0
  190. package/lib/templates/content/docs/adminide-modules/preferences/schema-configuration.md +71 -0
  191. package/lib/templates/content/docs/adminide-modules/preferences/supported.md +24 -0
  192. package/lib/templates/content/docs/adminide-modules/preferences/useSettingsLoader.md +248 -0
  193. package/lib/templates/content/docs/adminide-modules/project-tools/auth-providers.md +1317 -0
  194. package/lib/templates/content/docs/adminide-modules/project-tools/keycloak-guide.md +543 -0
  195. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-based-authentication.md +846 -0
  196. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-management.md +708 -0
  197. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenants.md +1117 -0
  198. package/lib/templates/content/docs/chrome-extension/index.md +14 -0
  199. package/lib/templates/content/docs/chrome-extension/setup.md +30 -0
  200. package/lib/templates/content/docs/contributing/adding-package.md +23 -0
  201. package/lib/templates/content/docs/contributing/adding_new_modules.md +99 -0
  202. package/lib/templates/content/docs/contributing/architecture-updates.md +19 -0
  203. package/lib/templates/content/docs/contributing/avoid-using-promises-ui.md +116 -0
  204. package/lib/templates/content/docs/contributing/coding-guidelines.md +111 -0
  205. package/lib/templates/content/docs/contributing/do-and-dont.md +42 -0
  206. package/lib/templates/content/docs/contributing/faq.md +22 -0
  207. package/lib/templates/content/docs/contributing/folder-setup/browser.md +12 -0
  208. package/lib/templates/content/docs/contributing/folder-setup/config.md +12 -0
  209. package/lib/templates/content/docs/contributing/folder-setup/containers-server.md +12 -0
  210. package/lib/templates/content/docs/contributing/folder-setup/core.md +12 -0
  211. package/lib/templates/content/docs/contributing/folder-setup/graphql.md +12 -0
  212. package/lib/templates/content/docs/contributing/folder-setup/index.md +30 -0
  213. package/lib/templates/content/docs/contributing/folder-setup/module.md +12 -0
  214. package/lib/templates/content/docs/contributing/folder-setup/server.md +12 -0
  215. package/lib/templates/content/docs/contributing/folder-setup/services.md +12 -0
  216. package/lib/templates/content/docs/contributing/folder-setup/store.md +12 -0
  217. package/lib/templates/content/docs/contributing/frontend-coding.md +30 -0
  218. package/lib/templates/content/docs/contributing/git-subtree-sharing.md +73 -0
  219. package/lib/templates/content/docs/contributing/graphql-subscriptions.md +69 -0
  220. package/lib/templates/content/docs/contributing/how-to-contribute.md +30 -0
  221. package/lib/templates/content/docs/contributing/how_to_check_pure_esm.md +29 -0
  222. package/lib/templates/content/docs/contributing/index.md +60 -0
  223. package/lib/templates/content/docs/contributing/installation-issues.md +23 -0
  224. package/lib/templates/content/docs/contributing/keyboard-shortcut.md +131 -0
  225. package/lib/templates/content/docs/contributing/language/locale-support.md +12 -0
  226. package/lib/templates/content/docs/contributing/lerna-build-tools.md +516 -0
  227. package/lib/templates/content/docs/contributing/lerna-yarn-workspaces.md +95 -0
  228. package/lib/templates/content/docs/contributing/lint-and-formatter.md +20 -0
  229. package/lib/templates/content/docs/contributing/mobile-setup.md +16 -0
  230. package/lib/templates/content/docs/contributing/project-setup.md +233 -0
  231. package/lib/templates/content/docs/contributing/react/index.md +14 -0
  232. package/lib/templates/content/docs/contributing/react/lazy-component.md +70 -0
  233. package/lib/templates/content/docs/contributing/run-various-options.md +124 -0
  234. package/lib/templates/content/docs/contributing/schema-first-graphql-types.md +37 -0
  235. package/lib/templates/content/docs/contributing/source-code-organization.md +57 -0
  236. package/lib/templates/content/docs/contributing/staging-docker.md +88 -0
  237. package/lib/templates/content/docs/contributing/third-party/apollo-client-v3-tutorials.md +28 -0
  238. package/lib/templates/content/docs/contributing/third-party/index.md +18 -0
  239. package/lib/templates/content/docs/contributing/typescript-contribution.md +16 -0
  240. package/lib/templates/content/docs/devops/app-deploy-new-version.md +30 -0
  241. package/lib/templates/content/docs/devops/index.md +14 -0
  242. package/lib/templates/content/docs/devops/mobile-jenkins-build.md +40 -0
  243. package/lib/templates/content/docs/devops/versioning-the-project.md +128 -0
  244. package/lib/templates/content/docs/error-handler/application-error-handler.md +40 -0
  245. package/lib/templates/content/docs/error-handler/error-handling.md +26 -0
  246. package/lib/templates/content/docs/error-handler/index.md +16 -0
  247. package/lib/templates/content/docs/error-handler/logging-errors.md +14 -0
  248. package/lib/templates/content/docs/feature-api/copy-operation.md +427 -0
  249. package/lib/templates/content/docs/feature-api/feature-browser/assets.md +46 -0
  250. package/lib/templates/content/docs/feature-api/feature-browser/auth-permissions.md +12 -0
  251. package/lib/templates/content/docs/feature-api/feature-browser/feature.md +131 -0
  252. package/lib/templates/content/docs/feature-api/feature-browser/index.md +22 -0
  253. package/lib/templates/content/docs/feature-api/feature-browser/routes-menu.md +110 -0
  254. package/lib/templates/content/docs/feature-api/feature-browser/routing-convention.md +124 -0
  255. package/lib/templates/content/docs/feature-api/feature-browser/routing.md +338 -0
  256. package/lib/templates/content/docs/feature-api/feature-mobile/auth-permissions.md +20 -0
  257. package/lib/templates/content/docs/feature-api/feature-mobile/feature.md +130 -0
  258. package/lib/templates/content/docs/feature-api/feature-mobile/index.md +18 -0
  259. package/lib/templates/content/docs/feature-api/feature-mobile/navigation.md +187 -0
  260. package/lib/templates/content/docs/feature-api/feature-server/Scheduling.md +44 -0
  261. package/lib/templates/content/docs/feature-api/feature-server/dataloader.md +320 -0
  262. package/lib/templates/content/docs/feature-api/feature-server/dependency-injection.md +81 -0
  263. package/lib/templates/content/docs/feature-api/feature-server/feature.md +65 -0
  264. package/lib/templates/content/docs/feature-api/feature-server/generic-dataloader.md +135 -0
  265. package/lib/templates/content/docs/feature-api/feature-server/index.md +40 -0
  266. package/lib/templates/content/docs/feature-api/feature-server/migration.md +127 -0
  267. package/lib/templates/content/docs/feature-api/feature-server/mongo-model.md +72 -0
  268. package/lib/templates/content/docs/feature-api/feature-server/permissions.md +12 -0
  269. package/lib/templates/content/docs/feature-api/feature-server/policies.md +57 -0
  270. package/lib/templates/content/docs/feature-api/feature-server/preferences.md +57 -0
  271. package/lib/templates/content/docs/feature-api/feature-server/repositories.md +114 -0
  272. package/lib/templates/content/docs/feature-api/feature-server/resolvers.md +126 -0
  273. package/lib/templates/content/docs/feature-api/feature-server/rules.md +132 -0
  274. package/lib/templates/content/docs/feature-api/feature-server/schema.md +12 -0
  275. package/lib/templates/content/docs/feature-api/feature-server/services.md +102 -0
  276. package/lib/templates/content/docs/feature-api/feature-server/setup-resource-crud.md +359 -0
  277. package/lib/templates/content/docs/feature-api/index.md +18 -0
  278. package/lib/templates/content/docs/graphql/apolloClient-mutation.md +94 -0
  279. package/lib/templates/content/docs/graphql/index.md +14 -0
  280. package/lib/templates/content/docs/graphql/scalars.md +15 -0
  281. package/lib/templates/content/docs/help/index.md +14 -0
  282. package/lib/templates/content/docs/help/intro.md +16 -0
  283. package/lib/templates/content/docs/intl/ant-design-menu-translation.md +74 -0
  284. package/lib/templates/content/docs/intl/intl-namespace.md +129 -0
  285. package/lib/templates/content/docs/intl/vite-plugin-intl.md +87 -0
  286. package/lib/templates/content/docs/intl/webpack-plugin-intl.md +12 -0
  287. package/lib/templates/content/docs/intro.md +18 -0
  288. package/lib/templates/content/docs/knowledge/basic-fullstack.md +238 -0
  289. package/lib/templates/content/docs/mailing/index.md +14 -0
  290. package/lib/templates/content/docs/mailing/mailing-template.md +148 -0
  291. package/lib/templates/content/docs/mobile/App-navigation-generator.md +410 -0
  292. package/lib/templates/content/docs/mobile/MobileTestCases.md +264 -0
  293. package/lib/templates/content/docs/mobile/eas-profile-build.md +107 -0
  294. package/lib/templates/content/docs/mobile/expo-push-notification-setup.md +216 -0
  295. package/lib/templates/content/docs/mobile/index.md +14 -0
  296. package/lib/templates/content/docs/mobile/routes.md +83 -0
  297. package/lib/templates/content/docs/organization/adding-account-context.md +116 -0
  298. package/lib/templates/content/docs/organization/adding-org-mobile-navigation.md +22 -0
  299. package/lib/templates/content/docs/organization/adding-org-web-navigation.md +12 -0
  300. package/lib/templates/content/docs/organization/index.md +20 -0
  301. package/lib/templates/content/docs/organization/initialization.md +20 -0
  302. package/lib/templates/content/docs/organization/organization-resource-vs-resource.md +112 -0
  303. package/lib/templates/content/docs/remix/configuration/component-structure-best-practices.md +152 -0
  304. package/lib/templates/content/docs/remix/configuration/configurations.md +218 -0
  305. package/lib/templates/content/docs/remix/configuration/css-import-and-stylesheets.md +142 -0
  306. package/lib/templates/content/docs/remix/configuration/dont-subcomponent-network.md +166 -0
  307. package/lib/templates/content/docs/remix/configuration/generated-data-loaders.md +122 -0
  308. package/lib/templates/content/docs/remix/configuration/generated-resource-loaders.md +257 -0
  309. package/lib/templates/content/docs/remix/configuration/query-params-generator.md +216 -0
  310. package/lib/templates/content/docs/remix/configuration/routes-extra-icons.md +103 -0
  311. package/lib/templates/content/docs/remix/configuration/routes-json-advanced.md +86 -0
  312. package/lib/templates/content/docs/remix/configuration/routes-json-auth.md +113 -0
  313. package/lib/templates/content/docs/remix/configuration/routes-json-best-practices.md +55 -0
  314. package/lib/templates/content/docs/remix/configuration/routes-json-fields.md +79 -0
  315. package/lib/templates/content/docs/remix/configuration/routes-json-graphql.md +79 -0
  316. package/lib/templates/content/docs/remix/configuration/routes-json-index.md +112 -0
  317. package/lib/templates/content/docs/remix/configuration/routes-json-loaders.md +165 -0
  318. package/lib/templates/content/docs/remix/configuration/routes-json-middleware.md +196 -0
  319. package/lib/templates/content/docs/remix/configuration/routes-json-overview.md +53 -0
  320. package/lib/templates/content/docs/remix/data-loaders.md +43 -0
  321. package/lib/templates/content/docs/remix/devtools/remix-devtools.md +58 -0
  322. package/lib/templates/content/docs/remix/examples/changes-using-servercode.md +79 -0
  323. package/lib/templates/content/docs/remix/extra-icons.md +62 -0
  324. package/lib/templates/content/docs/remix/extra-links.md +65 -0
  325. package/lib/templates/content/docs/remix/generated-data-loaders.md +114 -0
  326. package/lib/templates/content/docs/remix/queryParamsGenerator.md +89 -0
  327. package/lib/templates/content/docs/remix/resources.md +16 -0
  328. package/lib/templates/content/docs/remix/styles.md +132 -0
  329. package/lib/templates/content/docs/remix/wiki.md +12 -0
  330. package/lib/templates/content/docs/security/auth-wrapper/auth-wrapper.md +24 -0
  331. package/lib/templates/content/docs/security/index.md +18 -0
  332. package/lib/templates/content/docs/security/secure-button-mobilenative.md +88 -0
  333. package/lib/templates/content/docs/security/secure-button-web.md +89 -0
  334. package/lib/templates/content/docs/server-side/account-customization.md +82 -0
  335. package/lib/templates/content/docs/server-side/apollo/caching.md +164 -0
  336. package/lib/templates/content/docs/server-side/backend-architecture/FINAL-DECISION.md +209 -0
  337. package/lib/templates/content/docs/server-side/backend-architecture/TRUE-FINAL-ARCHITECTURE.md +603 -0
  338. package/lib/templates/content/docs/server-side/backend-architecture/index1.md +0 -0
  339. package/lib/templates/content/docs/server-side/backend-coding.md +839 -0
  340. package/lib/templates/content/docs/server-side/e2b/manageing-template.md +197 -0
  341. package/lib/templates/content/docs/server-side/index.md +14 -0
  342. package/lib/templates/content/docs/server-side/inngest-functions-module.md +309 -0
  343. package/lib/templates/content/docs/server-side/listen-stripe-events.md +43 -0
  344. package/lib/templates/content/docs/server-side/slug-service.md +323 -0
  345. package/lib/templates/content/docs/tests/index.md +18 -0
  346. package/lib/templates/content/docs/tests/jest-test-debug-vscode.md +40 -0
  347. package/lib/templates/content/docs/tests/known-errors.md +116 -0
  348. package/lib/templates/content/docs/tests/service-test-template.md +118 -0
  349. package/lib/templates/content/docs/tests/test-setup.md +93 -0
  350. package/lib/templates/content/docs/xstate.md +23 -0
  351. package/lib/types.d.ts +37 -0
  352. package/lib/types.d.ts.map +1 -0
  353. package/lib/utils/docsNavigation.d.ts +9 -0
  354. package/lib/utils/docsNavigation.d.ts.map +1 -0
  355. package/lib/utils/docsNavigation.js +37 -0
  356. package/lib/utils/docsNavigation.js.map +1 -0
  357. package/lib/utils/helpCenterUtils.d.ts +26 -0
  358. package/lib/utils/helpCenterUtils.d.ts.map +1 -0
  359. package/lib/utils/index.d.ts +3 -0
  360. package/lib/utils/index.d.ts.map +1 -0
  361. package/lib/utils/index.js +3 -0
  362. package/lib/utils/index.js.map +1 -0
  363. package/lib/utils/markdownLoader.d.ts +36 -0
  364. package/lib/utils/markdownLoader.d.ts.map +1 -0
  365. package/lib/utils/markdownLoader.js +2242 -0
  366. package/lib/utils/markdownLoader.js.map +1 -0
  367. package/package.json +71 -0
@@ -0,0 +1,14 @@
1
+ ---
2
+ meta:
3
+ title: Payments
4
+ description: Payments
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Payments...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Payments
13
+
14
+ **[Stripe](/docs/payments/stripe)**
@@ -0,0 +1,14 @@
1
+ ---
2
+ meta:
3
+ title: Stripe
4
+ description: Stripe
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Stripe...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Stripe
13
+
14
+ **[Setting up stripe locally](/docs/payments/stripe/settingup-stripe-locally)**
@@ -0,0 +1,25 @@
1
+ ---
2
+ meta:
3
+ title: Setting up stripe locally
4
+ description: Setting up stripe locally
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Setting up stripe locally...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ### Handling requests from Stripe
13
+
14
+ We use `webhooks` to listen to stripe event that required to update the flow in our backend. For this
15
+ we need to make sure to run the webhook locally.
16
+
17
+ In our node server, we listen to webhook events at `/webhook/stripe` so the url will be `<backend_url>/webhook/stripe`
18
+
19
+ Follow the steps in the https://stripe.com/docs/webhooks/quickstart go to the section `Test the webhook`.
20
+
21
+ 1. Update the webhook in the Stripe Developer console to it. For example `http://localhost:8080/webhook/stripe`
22
+
23
+ 2. Download stripe cli and login to it
24
+
25
+ 3. Now perform any plan subscription in the billing to check events are used in the node environment.
@@ -0,0 +1,293 @@
1
+ # Billing Tier Config
2
+
3
+ The Billing Config Page allows you to configure pricing plans, features, and UI settings for your projects. This page has been updated to store billing configuration data at the project level.
4
+
5
+ ## Overview
6
+
7
+ Previously, billing plans and features were stored under organization settings. The system now stores new and updated plans and features under **project metadata**, allowing for project-specific billing configurations.
8
+
9
+ ## Architecture Changes
10
+
11
+ ### Previous Implementation
12
+
13
+ Billing plans were stored using organization-level settings:
14
+
15
+ - Plans were saved using `writeSettingsMutation` with organization resource URI
16
+ - Configuration was stored in organization settings with `ConfigFragmentName.SubscriptionPlan`
17
+ - Plans were scoped to the entire organization
18
+
19
+ ### Current Implementation
20
+
21
+ Billing plans and features are now stored in **project metadata**:
22
+
23
+ - Plans are saved using `updateProjectMetadata` mutation
24
+ - Configuration is stored in `project.source.metadata.subscriptionPlans`
25
+ - Features are stored in `project.source.metadata.products`
26
+ - Each project can have its own billing configuration
27
+
28
+ ## Data Structure
29
+
30
+ ### Project Metadata Structure
31
+
32
+ Billing configuration is stored in the project's `source.metadata` field:
33
+
34
+ ```json
35
+ {
36
+ "source": {
37
+ "metadata": {
38
+ "subscriptionPlans": {
39
+ "basic-1766780856401": {
40
+ "id": "basic-1766780856401",
41
+ "planName": "Basic",
42
+ "description": "Basic plan description",
43
+ "price": {
44
+ "monthly": 9.99,
45
+ "yearly": 99.99
46
+ },
47
+ "interval": "monthly",
48
+ "popular": false,
49
+ "features": {
50
+ "feature-id": {
51
+ "units": 10
52
+ }
53
+ }
54
+ }
55
+ },
56
+ "products": {
57
+ "feature-id": {
58
+ "id": "feature-id",
59
+ "name": "Feature Name",
60
+ "description": "Feature description",
61
+ "billingInterval": "monthly",
62
+ "pricePerUnit": 5.0,
63
+ "pricePerUnitYearly": 50.0,
64
+ "unitLabel": "units",
65
+ "unitSize": 1,
66
+ "stripeMetadata": {}
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ ```
73
+
74
+ ## How It Works
75
+
76
+ ### 1. Project Selection
77
+
78
+ The billing configuration page requires selecting a project before making changes:
79
+
80
+ - Users must select a project from the project selector dropdown
81
+ - Configuration is scoped to the selected project
82
+ - Each project maintains its own billing configuration
83
+
84
+ ### 2. Data Merging
85
+
86
+ The system merges default plans/features from policies with project-specific overrides:
87
+
88
+ 1. **Default Plans**: Fetched from subscription plan policies (Basic, Premium, Enterprise)
89
+ 2. **Policy Plans**: Merged with subscription plan defaults
90
+ 3. **Project Overrides**: Project-specific plans in `project.source.metadata.subscriptionPlans` override defaults
91
+ 4. **New Plans**: Plans added at project level are included in the merged result
92
+
93
+ ### 3. Saving Plans
94
+
95
+ When saving a pricing tier:
96
+
97
+ ```typescript
98
+ await updateProjectMetadata({
99
+ variables: {
100
+ where: { id: projectId },
101
+ metadata: {
102
+ subscriptionPlans: {
103
+ ...existingPlans,
104
+ [planId]: {
105
+ id: planId,
106
+ planName: 'Plan Name',
107
+ description: 'Description',
108
+ price: { monthly: 9.99, yearly: 99.99 },
109
+ interval: 'monthly',
110
+ popular: false,
111
+ // ... other plan properties
112
+ },
113
+ },
114
+ },
115
+ },
116
+ });
117
+ ```
118
+
119
+ ### 4. Saving Features
120
+
121
+ When saving a feature:
122
+
123
+ ```typescript
124
+ await updateProjectMetadata({
125
+ variables: {
126
+ where: { id: projectId },
127
+ metadata: {
128
+ products: {
129
+ ...existingProducts,
130
+ [featureId]: {
131
+ id: featureId,
132
+ name: 'Feature Name',
133
+ description: 'Feature description',
134
+ billingInterval: 'monthly',
135
+ pricePerUnit: 5.0,
136
+ pricePerUnitYearly: 50.0,
137
+ unitLabel: 'units',
138
+ unitSize: 1,
139
+ stripeMetadata: {},
140
+ },
141
+ },
142
+ },
143
+ },
144
+ });
145
+ ```
146
+
147
+ ### 5. Deleting Plans/Features
148
+
149
+ To delete a plan or feature, set its value to `null` in the metadata:
150
+
151
+ ```typescript
152
+ // Delete a plan
153
+ await updateProjectMetadata({
154
+ variables: {
155
+ where: { id: projectId },
156
+ metadata: {
157
+ subscriptionPlans: {
158
+ ...existingPlans,
159
+ [planId]: null,
160
+ },
161
+ },
162
+ },
163
+ });
164
+
165
+ // Delete a feature
166
+ await updateProjectMetadata({
167
+ variables: {
168
+ where: { id: projectId },
169
+ metadata: {
170
+ products: {
171
+ ...existingProducts,
172
+ [featureId]: null,
173
+ },
174
+ },
175
+ },
176
+ });
177
+ ```
178
+
179
+ ## GraphQL Mutation
180
+
181
+ The `updateProjectMetadata` mutation is used to save billing configuration:
182
+
183
+ ```graphql
184
+ mutation UpdateProjectMetadata($where: ProjectWhereInput!, $metadata: JSON!) {
185
+ updateProjectMetadata(where: $where, metadata: $metadata) {
186
+ id
187
+ name
188
+ source {
189
+ metadata
190
+ }
191
+ }
192
+ }
193
+ ```
194
+
195
+ ### Parameters
196
+
197
+ - `where`: Project identification (typically `{ id: "project-id" }`)
198
+ - `metadata`: JSON object containing `subscriptionPlans` and/or `products`
199
+
200
+ ## Backend Implementation
201
+
202
+ ### Project Service
203
+
204
+ The backend `ProjectService` includes a new method `updateProjectMetadata`:
205
+
206
+ ```typescript
207
+ public async updateProjectMetadata(
208
+ where: IProjectWhereInput,
209
+ metadata: Record<string, unknown>,
210
+ orgId: string,
211
+ ): Promise<AsDomainType<IProjectModel>> {
212
+ const project = await this.get(where);
213
+ if (!project) {
214
+ throw new Error(`Project not found: ${JSON.stringify(where)}`);
215
+ }
216
+
217
+ const currMetadata = cloneDeep(project.source?.metadata || {});
218
+ const newMetadata = merge(currMetadata, metadata);
219
+ return this.projectRepository.updateProject(where, { source: { metadata: newMetadata } }, orgId);
220
+ }
221
+ ```
222
+
223
+ This method:
224
+
225
+ - Retrieves the current project
226
+ - Merges new metadata with existing metadata (deep merge)
227
+ - Updates the project with merged metadata
228
+
229
+ ### GraphQL Schema
230
+
231
+ The GraphQL schema includes the mutation:
232
+
233
+ ```graphql
234
+ extend type Mutation {
235
+ """
236
+ Update a project's metadata
237
+ """
238
+ updateProjectMetadata(where: ProjectWhereInput!, metadata: JSON!): Project
239
+ @addAccountContext
240
+ @invalidateCache(queries: ["getProjects", "getFilteredProjects"])
241
+ }
242
+ ```
243
+
244
+ ## Usage Example
245
+
246
+ ### Fetching Billing Configuration
247
+
248
+ ```typescript
249
+ // Fetch project with metadata
250
+ const { data } = useGetProjectsMinimalQuery({
251
+ variables: {
252
+ where: { id: projectId },
253
+ },
254
+ });
255
+
256
+ // Access billing plans
257
+ const plans = data?.projects[0]?.source?.metadata?.subscriptionPlans || {};
258
+
259
+ // Access features
260
+ const features = data?.projects[0]?.source?.metadata?.products || {};
261
+ ```
262
+
263
+ ### Updating Billing Configuration
264
+
265
+ ```typescript
266
+ const [updateProjectMetadata] = useUpdateProjectMetadataMutation();
267
+
268
+ // Update a plan
269
+ await updateProjectMetadata({
270
+ variables: {
271
+ where: { id: projectId },
272
+ metadata: {
273
+ subscriptionPlans: {
274
+ ...currentPlans,
275
+ [planId]: updatedPlanData,
276
+ },
277
+ },
278
+ },
279
+ });
280
+ ```
281
+
282
+ ## Benefits
283
+
284
+ 1. **Project-Specific Configuration**: Each project can have its own billing plans and features
285
+ 2. **Flexibility**: Different projects can have different pricing structures
286
+ 3. **Isolation**: Changes to one project's billing don't affect others
287
+ 4. **Scalability**: Supports multi-tenant scenarios where each project is a tenant
288
+
289
+ ## Related Documentation
290
+
291
+ - [Configuration System](/docs/preferences/Configuration) - General configuration system overview
292
+ - [Machine Configuration](/docs/preferences/machine-configuration) - Entity-level configuration patterns
293
+ - [Project Templates](/docs/projects/templates) - Project template system
@@ -0,0 +1,207 @@
1
+ # Application Connectors - OAuth Integration Flow
2
+
3
+ This document explains how users connect third-party services like Gmail to the platform.
4
+
5
+ ## How It Works
6
+
7
+ The connector system uses OAuth 2.0 with PKCE to securely connect external services. When a user connects their Gmail account, we don't store their password. Instead, we get permission tokens directly from Google that allow us to access their account on their behalf.
8
+
9
+ Tokens are stored securely in our vault service, scoped to the user's selected project and environment.
10
+
11
+ ---
12
+
13
+ ## The Connect Flow
14
+
15
+ ```
16
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
17
+ │ User │ │ Platform │ │ Google │ │ Vault │
18
+ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
19
+ │ │ │ │
20
+ │ 1. Click Connect │ │ │
21
+ │────────────────────>│ │ │
22
+ │ │ │ │
23
+ │ │ 2. Generate secure │ │
24
+ │ │ state & verifier│ │
25
+ │ │ │ │
26
+ │ 3. Open Google │ │ │
27
+ │ sign-in popup │ │ │
28
+ │<────────────────────│ │ │
29
+ │ │ │ │
30
+ │ 4. Sign in and │ │ │
31
+ │ grant access │ │ │
32
+ │─────────────────────────────────────────>│ │
33
+ │ │ │ │
34
+ │ │ 5. Google sends │ │
35
+ │ │ auth code back │ │
36
+ │ │<────────────────────│ │
37
+ │ │ │ │
38
+ │ │ 6. Exchange code │ │
39
+ │ │ for tokens │ │
40
+ │ │────────────────────>│ │
41
+ │ │ │ │
42
+ │ │ 7. Receive access │ │
43
+ │ │ & refresh token │ │
44
+ │ │<────────────────────│ │
45
+ │ │ │ │
46
+ │ │ 8. Store tokens │ │
47
+ │ │ securely │ │
48
+ │ │─────────────────────────────────────────>│
49
+ │ │ │ │
50
+ │ 9. Show connected │ │ │
51
+ │<────────────────────│ │ │
52
+ │ │ │ │
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Step-by-Step: Connecting Gmail
58
+
59
+ ### 1. User Opens Connectors Page
60
+
61
+ The user navigates to the Connectors page where they see a list of available integrations. Each connector shows whether it's already connected or available to connect.
62
+
63
+ ### 2. User Selects Project and Environment
64
+
65
+ Before connecting any service, the user must select which project and environment the connection belongs to. This determines where the access tokens will be stored and which part of the application can use them.
66
+
67
+ ### 3. User Clicks "Connect" on Gmail
68
+
69
+ A confirmation modal appears. The user clicks "Connect" to proceed.
70
+
71
+ ### 4. Platform Prepares the Authorization
72
+
73
+ Behind the scenes, the platform:
74
+
75
+ - Generates a unique security code (state) to prevent attacks
76
+ - Creates a PKCE verifier for additional security
77
+ - Temporarily saves this information so we can match it when Google responds
78
+ - Builds the Google authorization URL with all required parameters
79
+
80
+ ### 5. Google Sign-in Popup Opens
81
+
82
+ A popup window opens showing Google's sign-in page. The user enters their Google credentials and sees what permissions the app is requesting (read emails, send emails, etc.).
83
+
84
+ ### 6. User Grants Permission
85
+
86
+ The user clicks "Allow" to grant the requested permissions. Google then redirects the popup back to our callback page with an authorization code.
87
+
88
+ ### 7. Callback Page Receives the Code
89
+
90
+ Our callback page receives the authorization code from Google. It retrieves the security information we saved earlier and sends everything to the backend.
91
+
92
+ ### 8. Platform Exchanges Code for Tokens
93
+
94
+ The backend contacts Google directly and exchanges the authorization code for actual access tokens. This happens server-to-server, keeping everything secure.
95
+
96
+ ### 9. Tokens Are Stored in Vault
97
+
98
+ The access token and refresh token are stored in our secure vault, associated with the user's selected project and environment. The connector record is created in the database.
99
+
100
+ ### 10. Success!
101
+
102
+ The popup closes and the Connectors page updates to show Gmail as "Connected".
103
+
104
+ ---
105
+
106
+ ## The Disconnect Flow
107
+
108
+ ```
109
+ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
110
+ │ User │ │ Platform │ │ Google │ │ Vault │
111
+ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
112
+ │ │ │ │
113
+ │ 1. Click │ │ │
114
+ │ Disconnect │ │ │
115
+ │────────────────────>│ │ │
116
+ │ │ │ │
117
+ │ │ 2. Get tokens │ │
118
+ │ │ from vault │ │
119
+ │ │<─────────────────────────────────────────│
120
+ │ │ │ │
121
+ │ │ 3. Revoke tokens │ │
122
+ │ │ with Google │ │
123
+ │ │────────────────────>│ │
124
+ │ │ │ │
125
+ │ │ 4. Delete tokens │ │
126
+ │ │ from vault │ │
127
+ │ │─────────────────────────────────────────>│
128
+ │ │ │ │
129
+ │ │ 5. Delete │ │
130
+ │ │ connector record│ │
131
+ │ │ │ │
132
+ │ 6. Show │ │ │
133
+ │ disconnected │ │
134
+ │<────────────────────│ │ │
135
+ │ │ │ │
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Step-by-Step: Disconnecting Gmail
141
+
142
+ ### 1. User Clicks "Disconnect"
143
+
144
+ On the Connectors page, the user clicks the "Disconnect" button on their connected Gmail integration. A confirmation modal appears.
145
+
146
+ ### 2. User Confirms
147
+
148
+ The user confirms they want to disconnect. This action cannot be undone - they'll need to reconnect if they want to use the integration again.
149
+
150
+ ### 3. Platform Retrieves Stored Tokens
151
+
152
+ The backend retrieves the access and refresh tokens from the vault for this connector.
153
+
154
+ ### 4. Tokens Are Revoked with Google
155
+
156
+ The platform contacts Google to revoke the tokens. This invalidates them immediately - even if someone had copied the tokens, they would no longer work.
157
+
158
+ ### 5. Tokens Are Deleted from Vault
159
+
160
+ Both the access token and refresh token are permanently deleted from our vault.
161
+
162
+ ### 6. Connector Record Is Deleted
163
+
164
+ The connector record is removed from the database.
165
+
166
+ ### 7. Done
167
+
168
+ The UI updates to show Gmail as available to connect again.
169
+
170
+ ---
171
+
172
+ ## Security Measures
173
+
174
+ **PKCE (Proof Key for Code Exchange)**
175
+ Every authorization request includes a unique cryptographic challenge. This prevents attackers from intercepting the authorization code and using it themselves.
176
+
177
+ **State Parameter**
178
+ A random string is generated for each connection attempt. When Google redirects back, we verify this matches what we sent. This prevents cross-site request forgery attacks.
179
+
180
+ **Temporary State Storage**
181
+ The security information needed during authorization is stored temporarily and automatically deleted after 10 minutes. This ensures no sensitive data lingers if a connection attempt is abandoned.
182
+
183
+ **Vault Storage**
184
+ Tokens are never stored in plain text in the database. They're kept in our secure vault service, encrypted and access-controlled.
185
+
186
+ **Token Revocation**
187
+ When disconnecting, we don't just delete our copy of the tokens - we also tell Google to invalidate them. This ensures complete disconnection.
188
+
189
+ ---
190
+
191
+ ## What Gets Stored Where
192
+
193
+ **In the Vault (Encrypted)**
194
+
195
+ - Access Token - used to make API calls to Google
196
+ - Refresh Token - used to get new access tokens when they expire
197
+
198
+ **In the Database**
199
+
200
+ - Connector metadata (which service, when connected, status)
201
+ - Reference IDs pointing to the vault secrets
202
+ - Token expiration information
203
+ - Which project and environment the connector belongs to
204
+
205
+ **Temporarily During Connect**
206
+
207
+ - OAuth state and security codes (auto-deleted after 10 minutes)
@@ -0,0 +1,16 @@
1
+ ---
2
+ meta:
3
+ title: File Upload
4
+ description: File Upload
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: File Upload...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## File Upload
13
+
14
+ **[Setup](/docs/file-upload/setup)**
15
+
16
+ **[File Uploads](/docs/file-upload/upload-file-using-signed-url)**