@cdmbase/wiki-browser 12.0.18-alpha.10

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,107 @@
1
+ ---
2
+ meta:
3
+ title: Eas Profile Build
4
+ description: Eas Profile Build
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Eas Profile Build...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Eas Profile Build
13
+
14
+ 1. List the devices and if the device don't exist add the device usinge `eas device:create`
15
+
16
+ ```
17
+ lerna exec --scope="*mobile-device" "eas device:create"
18
+ lerna notice cli v6.6.2
19
+ lerna notice filter including "*mobile-device"
20
+ lerna info filter [ '*mobile-device' ]
21
+ lerna info Executing command in 1 package: "eas device:create"
22
+ ★ eas-cli@10.2.2 is now available.
23
+ To upgrade, run npm install -g eas-cli.
24
+ Proceeding with outdated version.
25
+
26
+ This command lets you register your Apple devices (iPhones, iPads and Macs) for internal distribution of your app.
27
+ Internal distribution means that you won't need to upload your app archive to App Store / Testflight.
28
+ Your app archive (.ipa) will be installable on your equipment as long as you sign your application with an adhoc provisioning profile.
29
+ The provisioning profile needs to contain the UDIDs (unique identifiers) of your iPhones, iPads and Macs.
30
+
31
+ First of all, choose the Expo account under which you want to register your devices.
32
+ Later, authenticate with Apple and choose your desired Apple Team (if your Apple ID has access to multiple teams).
33
+
34
+ ✔ You're inside the project directory. Would you like to use the XXXXXX account? … yes
35
+ › Log in to your Apple Developer account to continue
36
+ ✔ Apple ID: … xxxxx@xxxxx.com
37
+ › Restoring session /Users/xxxx/.app-store/auth/xxxxx@xxxxx.com/cookie
38
+ › Team XXXX LLC (XXXXX)
39
+ › Provider XXXX LLC (XXXXX)
40
+ ✔ Logged in Local session
41
+ ? How would you like to register your devices? › - Use arrow-keys. Return to submit.
42
+ ❯ Website - generates a registration URL to be opened on your devices
43
+ Developer Portal - import devices already registered on Apple Developer Portal
44
+ Input - allows you to type in UDIDs (advanced option)
45
+ Current Machine - automatically sets the provisioning UDID of the current Apple Silicon machine
46
+ Exit
47
+ ```
48
+
49
+ 2. move `.npmrc` to `.npmrc.bk` from root of the project, so the eas build wont' see this file.
50
+
51
+ ```
52
+ mv .npmrc .npmrc.bk
53
+ ```
54
+
55
+ 3. run eas preview manually from the IDE
56
+
57
+ ```
58
+ lerna exec --scope="*mobile-device" yarn build:preview
59
+ lerna notice cli v6.6.2
60
+ lerna notice filter including "*mobile-device"
61
+ lerna info filter [ '*mobile-device' ]
62
+ lerna info Executing command in 1 package: "yarn build:preview"
63
+ yarn run v1.22.19
64
+ $ yarn easBuild --profile preview
65
+ $ eas build --profile preview
66
+ ★ eas-cli@10.1.1 is now available.
67
+ To upgrade, run npm install -g eas-cli.
68
+ Proceeding with outdated version.
69
+
70
+ ✔ Select platform › iOS
71
+ Loaded "env" configuration for the "preview" profile: NODE_ENV, GRAPHQL_URL, GA_ID, LOG_LEVEL, CLIENT_URL, APP_NAME, AUTH0_DOMAIN, AUTH0_CUSTOM_DOMAIN, AUTH0_API_AUDIENCE, AUTH0_REALM, AUTH0_CLIENT_ID, AUTH0_NATIVE_CLIENT_ID, AUTH0_CUSTOM_CLAIMS_NAMESPACE, AUTH0_TOKEN_GRANTED_TIME, LOGOUT_REDIRECT_PATH, HOME_SCREEN_PATH, DISABLE_EMAIL_VERIFICATION, LAYOUT_SETTINGS, SOCIAL_LOGIN_PROVIDERS. Learn more
72
+ ✔ Using remote iOS credentials (Expo server)
73
+
74
+ If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
75
+ This is optional, but without Apple account access you will need to provide all the missing values manually and we can only run minimal validation on them.
76
+ ✔ Do you want to log in to your Apple account? … yes
77
+
78
+ › Log in to your Apple Developer account to continue
79
+ ✔ Apple ID: … xxxxxx@xxxxx.com
80
+ › Restoring session /Users/xxxxxx/.app-store/auth/xxxxx@xxxxx.com/cookie
81
+ › Session expired Local session
82
+ › Using password for xxxxx@xxxxx.com from your local Keychain
83
+ Learn more
84
+ ✔ Logged in, verify your Apple account to continue
85
+ Two-factor Authentication (6 digit code) is enabled for xxxxxx@xxxx.com. Learn more: https://support.apple.com/en-us/HT204915
86
+
87
+ ✔ How do you want to validate your account? … device / sms
88
+ ✔ Please select a trusted phone number to send code to › +1 (•••) •••-••xx
89
+ ✔ Please enter the 6 digit code you received at +1 (•••) •••-••xx: … 219070
90
+ ✔ Valid code
91
+ ✔ Logged in and verified
92
+ › Team XXXXX (XXXXXXXX)
93
+ › Provider XXXXX (XXXXXXX)
94
+ ✔ Bundle identifier registered com.xxxxxx
95
+ ✔ Synced capabilities: Enabled: Sign In with Apple
96
+ ✔ Synced capability identifiers: No updates
97
+ ✔ Fetched Apple distribution certificates
98
+ ✔ Fetched Apple provisioning profiles
99
+ Provisioning profile (id: XXXXXXX) is no longer valid
100
+ ✔ Select devices for the ad hoc build: › 4 devices selected
101
+ ✔ Updated existing profile: *[expo] com.xxxxx AdHoc 17xxxxxxx0
102
+
103
+ Project Credentials Configuration
104
+
105
+ ```
106
+
107
+ 4. Revert back the file `.npmrc` from `.nprc.bk` do not commit this change.
@@ -0,0 +1,216 @@
1
+ ---
2
+ meta:
3
+ title: Expo push notification setup
4
+ description: Expo push notification setup
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Expo push notification setup...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Expo push notification setup:
13
+
14
+ To use Expo's push notification service, you need to configure your app to install a set of libraries, add functions to handle notifications and configure credentials for Android and iOS.
15
+
16
+ (Note: notification only works on device , not on emulator/simulator)
17
+
18
+ # Install libraries
19
+
20
+ ```
21
+ npx expo install expo-notifications expo-device
22
+ ```
23
+
24
+ # After installation import on app start screen (i.e. App.js / index.js)
25
+
26
+ ```
27
+ import { useState, useEffect, useRef } from 'react';
28
+ import { Platform } from 'react-native';
29
+ import * as Device from 'expo-device';
30
+ import * as Notifications from 'expo-notifications';
31
+ ```
32
+
33
+ # Set Notification handler at the top after import to display notification popup
34
+
35
+ ```
36
+ Notifications.setNotificationHandler({
37
+ handleNotification: async () => ({
38
+ shouldShowAlert: true, //if true , notification popup will appear
39
+ shouldPlaySound: false,
40
+ shouldSetBadge: false,
41
+ }),
42
+ });
43
+ ```
44
+
45
+ # Register and get expo token , set listener for notification
46
+
47
+ ```
48
+ export default function App() {
49
+ const [expoPushToken, setExpoPushToken] = useState('');
50
+ const [notification, setNotification] = useState(false);
51
+ const notificationListener = useRef();
52
+ const responseListener = useRef();
53
+
54
+ useEffect(() => {
55
+ //Registering and getting exp token from registerForPushNotificationsAsync function and setting
56
+ registerForPushNotificationsAsync().then(token => setExpoPushToken(token));
57
+ //Notification listener when notification received
58
+ notificationListener.current=Notifications.addNotificationReceivedListener (notification =>
59
+ { setNotification(notification); });
60
+ //Notification listener when notification clicked
61
+ responseListener.current = Notifications.addNotificationResponseReceivedListener(response =>
62
+ { console.log(response); });
63
+
64
+ return () => {
65
+ Notifications.removeNotificationSubscription(notificationListener.current);
66
+ Notifications.removeNotificationSubscription(responseListener.current);
67
+ };
68
+
69
+ }, []);
70
+
71
+ return (<><>)
72
+
73
+ }
74
+ ```
75
+
76
+ # Token register function(function only works on device, not on simulator/emulator)
77
+
78
+ ```
79
+ async function registerForPushNotificationsAsync() {
80
+ let token;
81
+ if (Device.isDevice) {
82
+ const { status: existingStatus } = await Notifications.getPermissionsAsync();
83
+ let finalStatus = existingStatus;
84
+ if (existingStatus !== 'granted') {
85
+ const { status } = await Notifications.requestPermissionsAsync();
86
+ finalStatus = status;
87
+ }
88
+
89
+ if (finalStatus !== 'granted') {
90
+ alert('Failed to get push token for push notification!');
91
+ return;
92
+ }
93
+ token = (await Notifications.getExpoPushTokenAsync()).data;
94
+ console.log(token); }
95
+ else {
96
+ alert('Must use physical device for Push Notifications');
97
+ }
98
+
99
+ if (Platform.OS === 'android') {
100
+ Notifications.setNotificationChannelAsync('default', {
101
+ name: 'default',
102
+ importance: Notifications.AndroidImportance.MAX,
103
+ vibrationPattern: [0, 250, 250, 250],
104
+ lightColor: '#FF231F7C',
105
+ });
106
+ }
107
+ return token;
108
+ }
109
+ ```
110
+
111
+ # For sending push notification to device
112
+
113
+ ```
114
+ expoPushToken can be an array or single string
115
+ expoPushToken = ‘ExpoToken[xyz123456789ZY]’
116
+ or
117
+ expoPushToken = [‘‘ExpoToken[xyz123456789ZY]’,’‘ExpoToken[xyz123456789MZ]’]
118
+
119
+ async function sendPushNotification(expoPushToken) {
120
+ const message = {
121
+ to: expoPushToken,
122
+ sound: 'default',
123
+ title: 'Original Title', body: 'And here is the body!',
124
+ data: { someData: 'goes here' },
125
+ };
126
+ await fetch('https://exp.host/--/api/v2/push/send', {
127
+ method: 'POST',
128
+ headers: { Accept: 'application/json', 'Accept-encoding': 'gzip, deflate',
129
+ 'Content-Type': 'application/json', },
130
+ body: JSON.stringify(message),
131
+ });
132
+ }
133
+ ```
134
+
135
+ Development setup done , you can test expo notification on local using Expo push notifications tool
136
+
137
+ Replace graphql and backend url localhost with your ip in env file , go to your app root ,start teminal/cmd and login with expo, remove –localhost from portable device mobile package.json from watch script and start app , Open device scanner,scan qr from terminal and test
138
+
139
+ (Note:while testing backend and device should be on same network (i.e. wifi)
140
+
141
+ # Credentials configuration for Android and iOS for development(.i.e testflight,android internal testing)/production
142
+
143
+ # For android
144
+
145
+ Expo uses firebase for sending push notification in android
146
+
147
+ # Setting up FCM
148
+
149
+ To create a Firebase project, go to the Firebase console and click on Add project.
150
+
151
+ In the console, click the setting icon next to Project overview and open Project settings. Then, under Your apps, click the Android icon to open Add Firebase to your Android app and follow the steps. Make sure that the Android package name you enter is the same as the value of android.package from your app.json.
152
+
153
+ After registering the app, download the google-services.json file and place it in your project's root directory.
154
+
155
+ In app.json, add an android.googleServicesFile field with the relative path to the downloaded google-services.json file. If you placed it in the root directory, the path is:
156
+
157
+ ```
158
+ app.json:
159
+ {
160
+ "android": {
161
+ "googleServicesFile": "./google-services.json",
162
+ }
163
+ }
164
+
165
+ ```
166
+
167
+ # Upload server credentials for android
168
+
169
+ For Expo to send push notifications from expo servers and use your credentials, you'll have to upload your secret server key to your project's Expo dashboard.
170
+
171
+ In the Firebase console, next to Project overview, click gear icon to open Project settings.
172
+
173
+ Click on the Cloud Messaging tab in the Settings pane.
174
+
175
+ Copy the token listed next to the Server key.
176
+
177
+ If server key not found , then it is not enabled so for enabling go to Cloud Messaging API (Legacy) Console (google) and enable it
178
+
179
+ In your Expo account's dashboard, select your project, and click on Credentials in the navigation menu. Then, click on your Application Identifier that follows the pattern:com.company.app.
180
+
181
+ Under Service Credentials > FCM Server Key, click Add a FCM Server Key > Google Cloud Messaging Token and add the Server key
182
+
183
+ # For ios
184
+
185
+ Expo uses apple push notification service(apn) for sending push notification in ios
186
+
187
+ For iOS, make sure you have registered your iOS device on which you want to test before running
188
+ the eas build command
189
+
190
+ For registering ios device , ios device uuid is needed , get ios device uuid
191
+
192
+ . Go to apple developer console -> account -> Certificates, IDs & Profiles ->
193
+ . Devices -> click + button and add your uuid
194
+ . Profiles -> click on your profile(com.app.test.) -> edit and add your device to this profile and save
195
+
196
+ # If you create a development build for the first time, you'll be asked to enable push notifications. Answer yes to the following questions when prompted:
197
+
198
+ ```
199
+ Setup Push Notifications for your project
200
+ Generating a new Apple Push Notifications service key
201
+ ```
202
+
203
+ # For existing build:
204
+
205
+ ```
206
+ . Go to apple developer console -> account -> Certificates, IDs & Profiles ->
207
+ . Devices -> click + button and add your uuid
208
+ . Profiles -> click on your profile(com.app.test.) -> edit and add your device to this profile and save
209
+ . Identifiers -> click on your identifier(com.app.test) -> check Push Notifications in capabilities and
210
+ configure(For notification to run upload new certificate for development and production)
211
+ . Keys -> click on + button to create key -> download created p8 file -> save
212
+
213
+ Now go to expo.dev -> your project -> Credentials -> click ios tab -> Bundle Identifiers (click your identifier) -> com.app.test -> edit Push Key -> Push Key File (upload your downloaded p8 file), Key Identifier(your key id) -> save
214
+ ```
215
+
216
+ Now notification can be tested on testflight
@@ -0,0 +1,14 @@
1
+ ---
2
+ meta:
3
+ title: Mobile
4
+ description: Mobile
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Mobile...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Mobile
13
+
14
+ **[With Orgname and Sider with Main Tab](/docs/mobile/routes)**
@@ -0,0 +1,83 @@
1
+ ---
2
+ meta:
3
+ title: Routes
4
+ description: Routes
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Routes...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## routes
13
+
14
+ # With Orgname and Sider with Main Tab
15
+
16
+ ```
17
+ / - MainNavigator
18
+ /:orgName(screen)
19
+ /:orgName/MainDrawer
20
+ /Sider1
21
+ /Sider2
22
+ /BottomTab
23
+ /Tab1
24
+ /Tab2
25
+ /login
26
+ /password-reset
27
+ ```
28
+
29
+ Generated Component from above routes.
30
+
31
+ ```
32
+ <Stack name=“MainStack”>
33
+ <Stack.Screen name='orgSelection'/>
34
+ <Drawer.Navigator initialRouteName="Drawer">
35
+ <Drawer.Screen name="Sider1" component={Sider1} />
36
+ <Drawer.Screen name="Sider2" component={Sider2} />
37
+ <Tab.Navigator>
38
+ I <Tab.Screen name="Tab1" component={Tab1} />
39
+ <Tab.Screen name="Tab2" component={Tab2} />
40
+ </Tab.Navigator>
41
+ </Drawer.Navigator>
42
+ <Stack.Screen name='login' />
43
+ <Stack.Screen name='password-reset' />
44
+ </Stack>
45
+ ```
46
+
47
+ # With Orgname and Sider only
48
+
49
+ ```
50
+ / - Main Navigator(StackNavigator)
51
+ /:orgName(screen) -[//:orgName, exact: true] -> org selection page will open and orgname is selected, which will redirect to home
52
+ /:orgName/MainDrawer -[//:orgName/l/] MainStack.Drawer
53
+ /account -[//:orgName/l/account] MainStack.Drawer.Account
54
+ /home -[//:orgName/l/home] MainStack.Drawer.Home
55
+ /login
56
+ /password-reset
57
+ ```
58
+
59
+ Generated Component from above routes.
60
+
61
+ ```
62
+ <Stack name=“MainStack”>
63
+ <Stack.Screen name='orgSelection'/>
64
+ <Drawer.Navigator initialRouteName="Drawer">
65
+ <Drawer.Screen name="Home" component={HomeScreen} />
66
+ <Drawer.Screen name="Account" component={AccountScreen} />
67
+ </Drawer.Navigator>
68
+ <Stack.Screen name='login' />
69
+ <Stack.Screen name='password-reset' />
70
+ </Stack>
71
+ ```
72
+
73
+ # Without orgName
74
+
75
+ ```
76
+ / - MainNavigator
77
+ / -[//] -> this screen checks if user logged in, if logged it redirect to home screen
78
+ /MainDrawer -[//l]
79
+ /BottomTab -[//l]
80
+ /account -[//l/account]
81
+ /login
82
+ /password-reset
83
+ ```
@@ -0,0 +1,116 @@
1
+ ---
2
+ meta:
3
+ title: Adding Account Context
4
+ description: Adding Account Context
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Adding Account Context...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Adding Account Context
13
+
14
+ **Adding @addAccountContext and Understanding IAccountContext and IUserContext**
15
+
16
+ This help manual provides an overview of the `addAccountContext` directive, which is used to add additional user-specific context details to GraphQL resolvers. The `addAccountContext` directive can be applied to specific queries or mutations to enhance the resolver functionality.
17
+ Express middleware adds user and organization context based on the provided orgName and token from the frontend.
18
+
19
+ `IAccountContext` and `IUserContext` interfaces, which are used in the context of the `addAccountContext` directive. These interfaces define the structure of the context objects passed to the resolvers.
20
+
21
+ **1. IAccountContext is included in the Graphql Rewsolver Context:**
22
+
23
+ The `IAccountContext` interface represents the context object that provides additional details related to an account. It has the following properties:
24
+
25
+ - `req`: An instance of `express.Request`, representing the HTTP request object.
26
+ - `res`: An instance of `express.Response`, representing the HTTP response object.
27
+ - `userContext`: An object of type `IUserContext`, containing the user-specific context details.
28
+ - `profile`: An object of type `IUserProfile`, representing the user's profile.
29
+ - `user`: An object of type `IIAuth0Token`, containing information about the user's authentication token.
30
+ - `orgname` (optional): A string representing the organization name associated with the account.
31
+
32
+ **2. Details of IUserContext:**
33
+
34
+ The `IUserContext` type defines the user-specific context details within the `IAccountContext`. It has the following properties:
35
+
36
+ - `accountId` (optional): A string representing the user's account ID.
37
+ - `dummy` (optional): A string field that may be used for dummy data.
38
+ - `emailId` (optional): A string representing the user's email ID.
39
+ - `identity` (optional): An object of type `AnyObject`, which can hold various identity-related data.
40
+ - `namespace` (optional): A string representing the user's namespace.
41
+ - `orgId` (optional): A string representing the organization ID associated with the user.
42
+ - `orgRole` (optional): A string representing the user's role within the organization.
43
+ - `orgSettingUri` (optional): A URI representing the organization's settings.
44
+ - `organization`: An object of type `IOrganization`, providing information about the organization.
45
+ - `paymentCustomerId` (optional): A string representing the payment customer ID associated with the user.
46
+ - `paymentSubscriptionId` (optional): A string representing the payment subscription ID associated with the user.
47
+ - `permissions` (optional): An object of type `AnyObject`, which can hold various permission-related data.
48
+ - `resourceId` (optional): A string representing the resource ID associated with the user.
49
+ - `resourceSettingUri` (optional): A URI representing the resource's settings.
50
+ - `teamId` (optional): A string representing the team ID associated with the user.
51
+ - `teamSettingUri` (optional): A URI representing the team's settings.
52
+ - `userAlias` (optional): A string representing the user's alias.
53
+ - `userSettingUri` (optional): A URI representing the user's settings.
54
+
55
+ Please note that the `optional` keyword indicates that these properties are not required and may be `null` or `undefined` in certain cases.
56
+
57
+ By understanding the structure of `IAccountContext` and `IUserContext`, you can effectively utilize the `addAccountContext` directive and access the relevant context data within your resolvers.
58
+
59
+ Make sure to import the necessary dependencies, such as `express` and the required types/interfaces (`IUserContext`, `IAccountContext`, `IUserProfile`, `IIAuth0Token`, `IOrganization`, etc.), into your codebase to use these interfaces effectively.
60
+
61
+ If you have any further questions or need additional assistance, please don't hesitate to ask.
62
+
63
+ Let's dive into the details:
64
+
65
+ **1. Adding the `addAccountContext` Directive:**
66
+
67
+ The `addAccountContext` directive provides additional details, such as the `ServerContext`, in the GraphQL resolver. This directive can be added to specific queries or mutations. Here's an example of how to add the directive:
68
+
69
+ ```graphql
70
+ extend type Query {
71
+ getOrganizationTeams(orgName: String): [AccountTeam] @addAccountContext
72
+ ...
73
+ }
74
+
75
+ extend type Mutation {
76
+ createInvoice(invoice: InvoiceCreateRequest!): Boolean @addAccountContext
77
+ }
78
+ ```
79
+
80
+ By extending the `Query` and `Mutation` types, you can add the `addAccountContext` directive to specific fields. In the example above, the `getOrganizationTeams` query and the `createInvoice` mutation have been extended with the directive.
81
+
82
+ **2. Updating Resolvers:**
83
+
84
+ To handle the functionality added by the `addAccountContext` directive, you need to update your resolvers accordingly. Here's an example of how to update your resolvers:
85
+
86
+ ```javascript
87
+ import { IResolverOptions } from '@common-stack/server-core';
88
+ import { IResolvers } from '<from generated file>';
89
+
90
+ export const resolvers: (options: IResolverOptions) => IResolvers<IAccountContext & MyContext> = (options) => ({
91
+ Query: {
92
+ getOrganizationTeams: (root, { orgName }, { teamService, user, userContext }) => {
93
+ options.logger.trace('(Query.getOrganizationTeams) orgName [%j]', orgName);
94
+ if (!user) {
95
+ return [];
96
+ }
97
+ return teamService.getOrganizationTeams(userContext.orgId, userContext.orgRole, userContext.accountId);
98
+ },
99
+ ...
100
+ },
101
+ Mutation: {
102
+ createInvoice: async (root, { invoice }, { invoiceService, orgname }) => {
103
+ return invoiceService.createInvoice({ ...invoice, orgName: orgname })
104
+ .then(() => true)
105
+ .catch((e) => e);
106
+ },
107
+ ...
108
+ },
109
+ });
110
+ ```
111
+
112
+ In the updated resolvers, we have added the necessary code to handle the `getOrganizationTeams` query and the `createInvoice` mutation. The `getOrganizationTeams` resolver retrieves organization teams based on the provided `orgName` and user context. The `createInvoice` resolver uses the `invoiceService` to create an invoice with the provided data, including the `orgName` from the resolver context.
113
+
114
+ Please ensure that you have imported the required dependencies, such as `express` and the necessary types/interfaces (`IResolverOptions`, `IResolvers`, `IContext`, `MyContext`, etc.), as shown in the provided code snippets.
115
+
116
+ That's it! By following these steps, you can add directives and update your resolvers to enhance the functionality of your GraphQL server.
@@ -0,0 +1,22 @@
1
+ ---
2
+ meta:
3
+ title: Org Mobile Navigation
4
+ description: Org Mobile Navigation
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Org Mobile Navigation...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Org Mobile Navigation
13
+
14
+ While defining react naigation route config, if any of the route contains route param then all the child routes should pass the param while navigating to the route. Consider the following example
15
+
16
+ <img width="350" alt="Screenshot 2022-11-28 at 2 25 10 AM" src="https://user-images.githubusercontent.com/30002668/204160460-c72a89b2-40b7-468f-90d4-d13b2afb648e.png"/>
17
+
18
+ The stack screen will be defined like this
19
+
20
+ <img width="371" alt="Screenshot 2022-11-28 at 2 25 42 AM" src="https://user-images.githubusercontent.com/30002668/204160487-c28d4468-6aa7-4427-a491-e9faf0cfc723.png"/>
21
+
22
+ Now whenever you need to navigate to Dashboard, you will have to pass the `orgName` prop like this `navgation.navigate('MainStack.OrgStack.OrgNameStack', {screen: 'Dashboard', params: {orgName: 'asd'}})`
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Org Web Navigation
4
+ description: Org Web Navigation
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Org Web Navigation...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Org Web Navigation
@@ -0,0 +1,20 @@
1
+ ---
2
+ meta:
3
+ title: Organization
4
+ description: Organization
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Organization...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Organization
13
+
14
+ **[Org Navigation(mobile)](/docs/organization/adding-org-mobile-navigation)**
15
+
16
+ **[Org Navigation(web)](/docs/organization/adding-org-web-navigation)**
17
+
18
+ **[Initialization](/docs/organization/initialization)**
19
+
20
+ **[addAccountContext Directive](/docs/organization//adding-account-context)**
@@ -0,0 +1,20 @@
1
+ ---
2
+ meta:
3
+ title: Initialization
4
+ description: Initialization
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Initialization...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Initialization
13
+
14
+ When app loads, we need see
15
+
16
+ ```js
17
+ platform: orgName: '';
18
+ loading: false;
19
+ initialized: true;
20
+ ```