@fernir2/saas-kit-cli 0.1.39 → 0.1.41-1096

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 (286) hide show
  1. package/base-repo/app-constants/alias-symbols.js +2 -2
  2. package/base-repo/app-constants/aliases.js +3 -1
  3. package/base-repo/app-constants/app-packages-names.js +4 -0
  4. package/base-repo/app-constants/command-names.js +4 -0
  5. package/base-repo/app-constants/internal-system-constants.js +8 -0
  6. package/base-repo/app-constants/project-paths.js +6 -3
  7. package/base-repo/constants/basic-types.js +4 -0
  8. package/base-repo/constants/ci-constants.js +7 -0
  9. package/base-repo/constants/http-constants.js +4 -0
  10. package/base-repo/constants/http-methods.js +6 -0
  11. package/base-repo/constants/internal-cli-constants.js +6 -0
  12. package/base-repo/constants/internal-common-strings.js +4 -0
  13. package/base-repo/constants/internal-extensions.js +6 -0
  14. package/base-repo/constants/packages.js +1 -1
  15. package/base-repo/constants/push-statuses.js +4 -0
  16. package/base-repo/constants/strings-constants.js +4 -0
  17. package/base-repo/constants/type-string-values.js +4 -0
  18. package/base-repo/process.js +4 -0
  19. package/cli/.env.example +8 -61
  20. package/cli/.prettierignore +15 -0
  21. package/cli/.prettierrc.json +8 -0
  22. package/cli/README.md +3 -3
  23. package/cli/bin/create.ts +635 -450
  24. package/cli/configs/drizzle-cli-config.ts +16 -15
  25. package/cli/configs/next-cli-config.ts +44 -78
  26. package/cli/configs/playwright-cli-config.ts +45 -35
  27. package/cli/configs/tsconfig.cli.json +35 -35
  28. package/cli/configs/tsconfig.server.json +13 -13
  29. package/cli/drizzle.config.ts +6 -6
  30. package/cli/next.config.js +5 -3
  31. package/cli/npm-commands/gen-meta.ts +9 -3
  32. package/cli/npm-commands/gen-schema.ts +3 -3
  33. package/cli/npm-commands/migrate-db.ts +17 -15
  34. package/cli/npm-commands/seed-db.ts +17 -15
  35. package/cli/package-template.json +54 -60
  36. package/cli/playwright.config.ts +6 -6
  37. package/cli/postcss.config.mjs +7 -7
  38. package/cli/public/handle.svg +23 -0
  39. package/cli/public/images/login-image-dark.webp +0 -0
  40. package/cli/public/images/login-image.webp +0 -0
  41. package/cli/public/images/logo.webp +0 -0
  42. package/cli/public/images/no-image.webp +0 -0
  43. package/cli/public/images/profile.webp +0 -0
  44. package/cli/public/images/search-not-found-result.webp +0 -0
  45. package/cli/public/logo.svg +1 -0
  46. package/cli/server.ts +48 -40
  47. package/cli/src/app/api/v1/(f)/[resourceName]/[id]/route.ts +18 -11
  48. package/cli/src/app/api/v1/(f)/[resourceName]/route.ts +23 -14
  49. package/cli/src/app/api/v1/(f)/[resourceName]/upsert/route.ts +6 -3
  50. package/cli/src/app/api/v1/(f)/blob/route.ts +14 -7
  51. package/cli/src/app/api/v1/(f)/log/route.ts +14 -7
  52. package/cli/src/app/api/v1/(f)/markdown/route.ts +6 -0
  53. package/cli/src/app/api/v1/(f)/other-user/[id]/route.ts +23 -14
  54. package/cli/src/app/api/v1/(f)/other-user/route.ts +14 -7
  55. package/cli/src/app/api/v1/(f)/password/forgot-password/route.ts +6 -3
  56. package/cli/src/app/api/v1/(f)/password/reset-password/route.ts +6 -3
  57. package/cli/src/app/api/v1/(f)/payment/method/route.ts +9 -4
  58. package/cli/src/app/api/v1/(f)/payment/route.ts +6 -3
  59. package/cli/src/app/api/v1/(f)/payment/verify-fail/route.ts +6 -3
  60. package/cli/src/app/api/v1/(f)/payment/verify-success/route.ts +6 -3
  61. package/cli/src/app/api/v1/(f)/search-result/route.ts +6 -3
  62. package/cli/src/app/api/v1/(f)/searchable-resources/route.ts +6 -3
  63. package/cli/src/app/api/v1/(f)/sign-in/route.ts +6 -3
  64. package/cli/src/app/api/v1/(f)/sign-out/route.ts +6 -3
  65. package/cli/src/app/api/v1/(f)/sign-up/route.ts +6 -3
  66. package/cli/src/app/api/v1/(f)/subscription/cancel/route.ts +6 -3
  67. package/cli/src/app/api/v1/(f)/subscription/create/route.ts +6 -3
  68. package/cli/src/app/api/v1/(f)/subscription/update/route.ts +6 -3
  69. package/cli/src/app/api/v1/(f)/uimeta/route.ts +6 -3
  70. package/cli/src/app/api/v1/(f)/uimetas/route.ts +6 -3
  71. package/cli/src/app/api/v1/(f)/user-feature/isenabled/route.ts +6 -3
  72. package/cli/src/app/api/v1/(f)/user-permission/route.ts +6 -3
  73. package/cli/src/app/api/v1/(f)/visible-workspace/route.ts +10 -5
  74. package/cli/src/app/api/v1/(f)/workspace/change/route.ts +10 -5
  75. package/cli/src/app/f/(not-signed-in)/edit-password/page.tsx +8 -8
  76. package/cli/src/app/f/(not-signed-in)/forgot-password/page.tsx +13 -13
  77. package/cli/src/app/f/(not-signed-in)/reset-password/page.tsx +11 -11
  78. package/cli/src/app/f/(not-signed-in)/sign-in/microsoft/page.tsx +8 -8
  79. package/cli/src/app/f/(not-signed-in)/sign-in/page.tsx +13 -13
  80. package/cli/src/app/f/(not-signed-in)/sign-up/page.tsx +13 -13
  81. package/cli/src/app/f/(signed-in)/dashboard/page.tsx +8 -8
  82. package/cli/src/app/f/(signed-in)/dynamiclayout/page.tsx +8 -8
  83. package/cli/src/app/f/(signed-in)/edituser/[id]/page.tsx +8 -8
  84. package/cli/src/app/f/(signed-in)/edituser/page.tsx +8 -8
  85. package/cli/src/app/f/(signed-in)/layout.tsx +5 -5
  86. package/cli/src/app/f/(signed-in)/payment-plans/page.tsx +8 -8
  87. package/cli/src/app/f/(signed-in)/statusboard/page.tsx +8 -8
  88. package/cli/src/app/f/(signed-in)/userlist/page.tsx +8 -8
  89. package/cli/src/app/f/(signed-in)/view/page.tsx +23 -9
  90. package/cli/src/app/f/api-docs/page.tsx +15 -15
  91. package/cli/src/app/globals.css +1 -1
  92. package/cli/src/app/http-wrappers.ts +23 -0
  93. package/cli/src/app/init-saas-kit.ts +12 -0
  94. package/cli/src/app/layout.tsx +43 -37
  95. package/cli/src/app/page.tsx +9 -9
  96. package/cli/src/app/styles/common.css +75 -71
  97. package/cli/src/app/styles/rich-text-editor.css +130 -130
  98. package/cli/templates/.env-template +8 -0
  99. package/cli/templates/gitignore-template +54 -0
  100. package/cli/test/custom-test.ts +20 -0
  101. package/cli/test/global-setup.ts +7 -3
  102. package/cli/test/global-teardown.ts +7 -0
  103. package/cli/tsconfig.json +15 -15
  104. package/cli/tsconfig.lint.json +5 -0
  105. package/cli/tsconfig.server.json +4 -14
  106. package/fd-toolbox/api/api-client.js +3 -3
  107. package/fd-toolbox/api/api-path-names.js +4 -1
  108. package/fd-toolbox/api/api-paths.js +2 -1
  109. package/fd-toolbox/api/base-api.js +5 -4
  110. package/fd-toolbox/auth/{login-states.js → internal-login-states.js} +3 -3
  111. package/fd-toolbox/auth/session-storage.js +1 -1
  112. package/fd-toolbox/auth/tokens.js +1 -1
  113. package/fd-toolbox/constants/common-user-fields.js +7 -0
  114. package/fd-toolbox/constants/constants.js +2 -2
  115. package/fd-toolbox/constants/environment-constants.js +4 -1
  116. package/fd-toolbox/constants/header-names.js +1 -1
  117. package/fd-toolbox/constants/meta-query-params.js +4 -1
  118. package/fd-toolbox/constants/odata-query-params.js +7 -0
  119. package/fd-toolbox/constants/public-files.js +5 -3
  120. package/fd-toolbox/constants/resource-folders.js +4 -0
  121. package/fd-toolbox/constants/toolbox-error-messages-constants.js +4 -0
  122. package/fd-toolbox/enums/enums.js +5 -2
  123. package/fd-toolbox/errors/error-handler.js +2 -2
  124. package/fd-toolbox/errors/error-statuses.js +4 -1
  125. package/fd-toolbox/errors/errors.js +1 -1
  126. package/fd-toolbox/errors/problem-details.js +4 -2
  127. package/fd-toolbox/functions/value-checking-functions.js +5 -3
  128. package/fd-toolbox/http/url/urls.js +4 -3
  129. package/fd-toolbox/infra/env-config.js +2 -2
  130. package/fd-toolbox/infra/env-functions.js +6 -4
  131. package/fd-toolbox/infra/env-schema.js +2 -4
  132. package/fd-toolbox/infra/toolbox-env-setting-keys.js +1 -1
  133. package/fd-toolbox/lib/environments.js +4 -3
  134. package/fd-toolbox/lib/utils.js +5 -2
  135. package/fd-toolbox/local-storage/local-storage.js +1 -1
  136. package/fd-toolbox/logging/loggers.js +2 -2
  137. package/fd-toolbox/notifications.js +2 -2
  138. package/fd-toolbox/odata/odata-filter-constants.js +4 -0
  139. package/fd-toolbox/odata/odata-formatting/odata-filters.js +9 -0
  140. package/fd-toolbox/odata/odata.js +12 -0
  141. package/fd-toolbox/paths/paths-names.js +1 -1
  142. package/fd-toolbox/redirect/redirect-functions.js +8 -0
  143. package/fd-toolbox/resources/resource-names.js +1 -1
  144. package/fd-toolbox/routing/login-routers.js +2 -1
  145. package/fd-toolbox/routing/paths.js +1 -1
  146. package/fd-toolbox/routing/routers.js +9 -0
  147. package/fd-toolbox/routing/routes.js +3 -2
  148. package/fd-toolbox/server/collections/single-funcs.js +8 -0
  149. package/fd-toolbox/server/constants/api-routes-constants.js +4 -0
  150. package/fd-toolbox/server/errors/error-dtos.js +4 -0
  151. package/fd-toolbox/server/framework/index.js +8 -0
  152. package/fd-toolbox/server/logging/latest-logs-store.js +6 -0
  153. package/fd-toolbox/server/logging/log-dtos.js +6 -0
  154. package/fd-toolbox/server/logging/logger.js +9 -0
  155. package/fd-toolbox/server/web/response-messages.js +4 -0
  156. package/fd-toolbox/strings/strings.js +2 -3
  157. package/fd-toolbox/types/ensure-type.js +6 -2
  158. package/fd-toolbox/url/urls.js +4 -0
  159. package/fd-toolbox-core/constants/meta-constants.js +4 -2
  160. package/fd-toolbox-core/core/name-of.js +1 -1
  161. package/fd-toolbox-core/types/resource-with-id.js +3 -1
  162. package/git/constants/git-constants.js +6 -0
  163. package/level2/cli/bin/index.js +2 -1
  164. package/level2/cli/create/bin/create.js +19 -10
  165. package/level2/npm-commands/build-npm/cli-contents.js +1 -1
  166. package/level2/npm-commands/build-npm/paths.js +6 -0
  167. package/package.json +48 -55
  168. package/base-repo/app-constants/alias-symbols.cjs.js +0 -6
  169. package/base-repo/app-constants/aliases.cjs.js +0 -8
  170. package/base-repo/app-constants/project-paths.cjs.js +0 -17
  171. package/base-repo/constants/create-app-constants.cjs.js +0 -9
  172. package/base-repo/constants/packages.cjs.js +0 -6
  173. package/base-repo/constants/packages.cjs2.js +0 -6
  174. package/base-repo/constants/packages2.js +0 -4
  175. package/cli/public/images/00000000-0000-0000-0000-000000000000.webp +0 -0
  176. package/cli/public/images/login-image-dark.jpg +0 -0
  177. package/cli/public/images/login-image.jpg +0 -0
  178. package/cli/public/images/no-image.png +0 -0
  179. package/cli/public/images/profile.png +0 -0
  180. package/cli/public/images/search-not-found-result.png +0 -0
  181. package/cli/public/images/toolbar-logo.png +0 -0
  182. package/cli/public/images/users/00000000-0000-0000-0000-000000000000.webp +0 -0
  183. package/cli/src/app/api/v1/(f)/preload/route.ts +0 -3
  184. package/cli/src/app/f/(signed-in)/lm/page.tsx +0 -8
  185. package/cli/src/app/f/(signed-in)/preload/page.tsx +0 -8
  186. package/cli/src/app/f/test/feed/page.tsx +0 -8
  187. package/cli/src/app/f/test/file-upload/page.tsx +0 -8
  188. package/cli/src/app/f/test/layout.tsx +0 -5
  189. package/cli/src/app/f/test/page.tsx +0 -8
  190. package/fd-toolbox/api/api-client.cjs.js +0 -19
  191. package/fd-toolbox/api/api-path-names.cjs.js +0 -9
  192. package/fd-toolbox/api/api-paths.cjs.js +0 -9
  193. package/fd-toolbox/api/base-api.cjs.js +0 -22
  194. package/fd-toolbox/auth/login-states.cjs.js +0 -18
  195. package/fd-toolbox/auth/session-storage.cjs.js +0 -12
  196. package/fd-toolbox/auth/tokens.cjs.js +0 -11
  197. package/fd-toolbox/constants/api-constants.cjs.js +0 -26
  198. package/fd-toolbox/constants/api-constants.js +0 -4
  199. package/fd-toolbox/constants/constants.cjs.js +0 -13
  200. package/fd-toolbox/constants/environment-constants.cjs.js +0 -7
  201. package/fd-toolbox/constants/extensions.cjs.js +0 -6
  202. package/fd-toolbox/constants/extensions.js +0 -4
  203. package/fd-toolbox/constants/header-names.cjs.js +0 -7
  204. package/fd-toolbox/constants/http-status-codes.cjs.js +0 -6
  205. package/fd-toolbox/constants/meta-query-params.cjs.js +0 -6
  206. package/fd-toolbox/constants/public-files.cjs.js +0 -14
  207. package/fd-toolbox/constants/representations.cjs.js +0 -6
  208. package/fd-toolbox/constants/representations.js +0 -4
  209. package/fd-toolbox/enums/enums.cjs.js +0 -26
  210. package/fd-toolbox/errors/error-handler.cjs.js +0 -10
  211. package/fd-toolbox/errors/error-statuses.cjs.js +0 -6
  212. package/fd-toolbox/errors/errors.cjs.js +0 -6
  213. package/fd-toolbox/errors/problem-details.cjs.js +0 -8
  214. package/fd-toolbox/functions/value-checking-functions.cjs.js +0 -10
  215. package/fd-toolbox/http/http-constants.cjs.js +0 -7
  216. package/fd-toolbox/http/http-constants.js +0 -4
  217. package/fd-toolbox/http/url/urls.cjs.js +0 -9
  218. package/fd-toolbox/infra/env-config.cjs.js +0 -8
  219. package/fd-toolbox/infra/env-functions.cjs.js +0 -16
  220. package/fd-toolbox/infra/env-schema.cjs.js +0 -12
  221. package/fd-toolbox/infra/env-setting-types.cjs.js +0 -6
  222. package/fd-toolbox/infra/env-setting-types.js +0 -4
  223. package/fd-toolbox/infra/env-store.cjs.js +0 -9
  224. package/fd-toolbox/infra/env-store.js +0 -7
  225. package/fd-toolbox/infra/toolbox-env-setting-keys.cjs.js +0 -6
  226. package/fd-toolbox/lib/environments.cjs.js +0 -25
  227. package/fd-toolbox/lib/utils.cjs.js +0 -29
  228. package/fd-toolbox/local-storage/local-storage.cjs.js +0 -12
  229. package/fd-toolbox/logging/loggers.cjs.js +0 -16
  230. package/fd-toolbox/logging/logging-constants.cjs.js +0 -6
  231. package/fd-toolbox/logging/logging-constants.js +0 -4
  232. package/fd-toolbox/notifications.cjs.js +0 -14
  233. package/fd-toolbox/odata/odata-constants.cjs.js +0 -11
  234. package/fd-toolbox/odata/odata-constants.js +0 -4
  235. package/fd-toolbox/odata/odata-enums.cjs.js +0 -8
  236. package/fd-toolbox/odata/odatas.cjs.js +0 -11
  237. package/fd-toolbox/odata/odatas.js +0 -9
  238. package/fd-toolbox/odata/services/odata-filters.cjs.js +0 -11
  239. package/fd-toolbox/odata/services/odata-filters.js +0 -9
  240. package/fd-toolbox/paths/paths-names.cjs.js +0 -9
  241. package/fd-toolbox/resources/resource-names.cjs.js +0 -6
  242. package/fd-toolbox/routing/login-routers.cjs.js +0 -10
  243. package/fd-toolbox/routing/paths.cjs.js +0 -6
  244. package/fd-toolbox/routing/routes.cjs.js +0 -14
  245. package/fd-toolbox/strings/strings-constants.cjs.js +0 -7
  246. package/fd-toolbox/strings/strings-constants.js +0 -4
  247. package/fd-toolbox/strings/strings.cjs.js +0 -10
  248. package/fd-toolbox/types/ensure-type.cjs.js +0 -22
  249. package/fd-toolbox-core/constants/meta-constants.cjs.js +0 -7
  250. package/fd-toolbox-core/constants/promises.cjs.js +0 -6
  251. package/fd-toolbox-core/core/name-of.cjs.js +0 -8
  252. package/fd-toolbox-core/enums/log-severities.cjs.js +0 -6
  253. package/fd-toolbox-core/types/resource-with-id.cjs.js +0 -9
  254. package/level2/cli/bin/index.cjs.js +0 -8
  255. package/level2/cli/create/bin/create.cjs.js +0 -42
  256. package/level2/npm-commands/build-npm/cli-contents.cjs.js +0 -9
  257. package/level2/npm-commands/build-npm/path.cjs.js +0 -13
  258. package/level2/npm-commands/build-npm/path.js +0 -6
  259. /package/cli/public/images/{companies → demo/companies}/00000000-0000-0000-0000-000000000000.webp +0 -0
  260. /package/cli/public/images/{companies → demo/companies}/004a196f-f9a7-49fc-9e05-606fffd0613c.webp +0 -0
  261. /package/cli/public/images/{companies → demo/companies}/497b26a6-3e91-4b27-8c24-f3b145fc6c7f.webp +0 -0
  262. /package/cli/public/images/{companies → demo/companies}/6cead29b-2572-4283-add6-f407b39d7135.webp +0 -0
  263. /package/cli/public/images/{companies → demo/companies}/71efdb77-4ecb-45e6-bc83-0fdff835c2e7.webp +0 -0
  264. /package/cli/public/images/{companies → demo/companies}/773602c8-a417-4afc-adb0-bb6856ac2970.webp +0 -0
  265. /package/cli/public/images/{companies → demo/companies}/9d09881a-cf60-438d-9edf-10f5864d4468.webp +0 -0
  266. /package/cli/public/images/{companies → demo/companies}/a1b2c3d4-e5f6-7890-1234-56789abcdef0.webp +0 -0
  267. /package/cli/public/images/{companies → demo/companies}/b04d7c5e-18de-4f44-b923-5bfb28bb33bb.webp +0 -0
  268. /package/cli/public/images/{companies → demo/companies}/c75c22fc-d295-472e-bdae-dbb8eb09cf18.webp +0 -0
  269. /package/cli/public/images/{companies → demo/companies}/cdf3efb4-33a2-485e-8d95-e0ab5a4cb6a5.webp +0 -0
  270. /package/cli/public/images/{companies → demo/companies}/d6fe4c6a-ecdb-40fc-a8e6-2044ef2b82d4.webp +0 -0
  271. /package/cli/public/images/{contacts → demo/contacts}/159e4c7a-ff5f-4162-8237-acec3ca8a759.webp +0 -0
  272. /package/cli/public/images/{contacts → demo/contacts}/65e07208-6b1f-4a59-b5e3-2f80f5741b18.webp +0 -0
  273. /package/cli/public/images/{contacts → demo/contacts}/6d1c5410-ef5b-4d37-8b8d-4ab8cfc87785.webp +0 -0
  274. /package/cli/public/images/{contacts → demo/contacts}/754c77d8-eefb-4a90-b07b-ed00980c88b4.webp +0 -0
  275. /package/cli/public/images/{contacts → demo/contacts}/9fd23cd9-9b94-4bb8-bb73-d315b93b8a5c.webp +0 -0
  276. /package/cli/public/images/{contacts → demo/contacts}/b2f746d1-6b3c-4c47-8e07-f73927c167cb.webp +0 -0
  277. /package/cli/public/images/{contacts → demo/contacts}/b515cb46-eab4-4862-9e8e-c2f5f217ae79.webp +0 -0
  278. /package/cli/public/images/{contacts → demo/contacts}/cf2eae72-e5ab-4d95-8f08-b6571b44f8eb.webp +0 -0
  279. /package/cli/public/images/{contacts → demo/contacts}/ec0e0285-22d9-48d4-b4b3-96388c37c807.webp +0 -0
  280. /package/cli/public/images/{contacts → demo/contacts}/ecb1a0f4-d244-4136-badf-c2bc72e3b678.webp +0 -0
  281. /package/cli/public/images/{users → demo/users}/02d1230f-5bfe-46b4-8ce1-d10f4aa918a7.webp +0 -0
  282. /package/cli/public/images/{users → demo/users}/166c5e4a-696f-4bf5-ab48-dbbb5e90d526.webp +0 -0
  283. /package/cli/public/images/{users → demo/users}/175a3f0c-692c-4503-87eb-ff95d6535e16.webp +0 -0
  284. /package/cli/public/images/{users → demo/users}/8398ee85-7546-4710-b628-44c98e4ba03a.webp +0 -0
  285. /package/cli/public/images/{users → demo/users}/979f8933-71b1-4df8-b691-566a901d3c76.webp +0 -0
  286. /package/cli/public/images/{users → demo/users}/fbe37132-31bc-4fc9-9bfb-aac7a1b61a7f.webp +0 -0
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 266.91 351.64"><defs><style>.cls-1{fill:url(#linear-gradient);stroke-width:0px;}</style><linearGradient id="linear-gradient" x1="52.57" y1="336.74" x2="182.98" y2="13.98" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ed1e2d"/><stop offset="1" stop-color="#f7c920"/></linearGradient></defs><g id="Layer_1-2"><path class="cls-1" d="m266.84,114.65c-.25,2.67-.58,5.33-.95,7.99-.87,6.29-4.15,11.06-9.56,14.25-7.12,4.2-14.35,8.21-21.52,12.31-11.43,6.53-20.63,15.15-25.84,27.52-.07.16-.17.3-.26.45-.05-.05-.09-.1-.36-.39,0-.17-.08-.6.01-1,3.93-15.87,12.81-28.02,27.17-36.03,4.36-2.43,8.84-4.67,13.09-7.27,3.83-2.35,7.5-5.12,8.29-9.97.2-1.24-.24-3.25-1.1-3.83-1.06-.7-3.29-.9-4.3-.23-12.78,8.46-27.44,12.08-41.83,16.3-12.22,3.58-24.69,6.34-36.85,10.12-8.82,2.74-17.24,6.82-24.47,12.69-6.95,5.64-13.13,12.11-16.79,20.53-.37.86-.83,1.68-1.31,2.64-1.52-3.02,2.7-16.98,7.6-25.58,4.52-7.95,10.64-14.49,17.67-20.5-.84.26-1.72.42-2.5.8-7.33,3.52-14.79,6.83-21.94,10.69-11.14,6.02-21.28,13.52-29.59,23.1-13.23,15.23-24.37,31.73-28.89,51.87-2.32,10.32-2.05,20.62.21,30.9.17.76.34,1.51.25,2.36-10.51-13.14-16.53-28.21-19.39-44.81-.48,1.94-1.25,3.85-1.41,5.82-.99,12.44-1.62,24.9-.52,37.37,2.1,23.9,8.36,46.63,19.04,68.13,5.36,10.79,11.97,20.78,19.06,30.47-.15.08-.27.17-.38.3-7.03-6.57-14.46-12.76-21.02-19.78-22.78-24.4-38.54-52.99-48.73-84.65-4.05-12.59-7.06-25.47-8.53-38.79-.51,2.81-1.15,5.61-1.49,8.44-.37,3.04-.54,6.11-.65,9.17-.11,2.97-.02,5.95-.26,8.98C3.08,220.12.15,204.69,0,188.7c-.15-16.13,2.72-31.69,8.68-46.65,5.96-14.95,14.46-28.33,25.27-40.35-7.51,3.96-13.58,9.65-19.52,15.97,2.19-19.77,40.46-53.84,64.69-57.74,1.52,6.94,3.54,13.76,7.85,19.76-.38-1.97-.79-3.93-1.13-5.9-2.05-12.02,1.29-22.96,6.26-33.77,7.41-16.12,20.17-26.38,35.69-33.74,5.17-2.45,10.59-4.38,16.06-6.28-6.6,14.65-8.88,29.52-5.36,45.28.8,0,1.49.09,2.14-.01,12.82-2.1,24.64,1.06,36.03,6.69,8.54,4.23,15.25,10.55,20.89,18.06,12.58,16.76,29.83,25.51,49.94,29.46,3.35.66,6.72,1.24,10.04,2,6.45,1.48,9.93,6.44,9.32,13.16ZM180.48,29.72c.96-5.04,2.86-9.9,4.39-14.97-15,3.39-27.7,10.7-38.13,23.05,11.84-.15,22.3,2.9,32.26,7.69.47-5.37.51-10.65,1.49-15.77Z"/></g></svg>
package/cli/server.ts CHANGED
@@ -1,40 +1,48 @@
1
- import { createServer } from "node:http";
2
- import { parse } from "url";
3
- import next from "next";
4
- import {
5
- checkAndHandleWebSocketRequest,
6
- initSocket,
7
- initializeResourceMetaCache,
8
- } from "@fernir2/saas-kit/server";
9
- import { envSettingKeys, getNumberEnvSetting, isDev } from "@fernir2/saas-kit";
10
-
11
- const dev = isDev();
12
- const port = getNumberEnvSetting(envSettingKeys.port) ?? 3000;
13
-
14
- const app = next({ dev, port });
15
- const nextRequestHandler = app.getRequestHandler();
16
-
17
- async function run() {
18
- await app.prepare();
19
-
20
- const httpServer = createServer((req, res) => {
21
- checkAndHandleWebSocketRequest(req, res);
22
-
23
- nextRequestHandler(req, res, parse(req.url!, true));
24
- });
25
-
26
- initSocket(httpServer);
27
-
28
- httpServer
29
- .once("error", (err) => {
30
- console.error(err);
31
- process.exit(1);
32
- })
33
- .listen(port, () => {
34
- console.log(`> Ready on http://localhost:${port}`);
35
- });
36
-
37
- await initializeResourceMetaCache();
38
- }
39
-
40
- run();
1
+ // Import "next/dist/server/node-environment-baseline" is temporary hack
2
+ // Required to initialize AsyncLocalStorage in runtime. Without it, Next.js fails with:
3
+ // "Invariant: AsyncLocalStorage accessed in runtime where it is not available"
4
+ import "next/dist/server/node-environment-baseline";
5
+ import { createServer } from "node:http";
6
+ import { parse } from "url";
7
+ import next from "next";
8
+ import { getNumberEnvSetting } from "@fd-toolbox/infra/env-functions";
9
+ import { envSettingKeys } from "@common/infra/env-setting-keys";
10
+ import {
11
+ checkAndHandleWebSocketRequest,
12
+ initSocket,
13
+ } from "@server/fd/fd-toolbox-web/services/socket/web-socket-server";
14
+ import { initializeResourceMetaCache } from "@meta/server/resources/init-internal-resource-metas-from-json";
15
+ import { logErrorRaw } from "@fd-toolbox/logging/loggers";
16
+ import { cliLogInfo } from "@fd-toolbox/logging/cli-logger";
17
+ import { environmentVariables } from "@infra/ci/constants/ci-constants";
18
+ import { getServerEnvSetting } from "@base-repo/process";
19
+
20
+ const dev = getServerEnvSetting(environmentVariables.nodeEnv) === "development";
21
+ const port = getNumberEnvSetting(envSettingKeys.port) ?? 3000;
22
+
23
+ const app = next({ dev, port });
24
+ const nextRequestHandler = app.getRequestHandler();
25
+
26
+ async function run() {
27
+ await app.prepare();
28
+
29
+ const httpServer = createServer((req, res) => {
30
+ checkAndHandleWebSocketRequest(req, res);
31
+ nextRequestHandler(req, res, parse(req.url!, true));
32
+ });
33
+
34
+ initSocket(httpServer);
35
+
36
+ httpServer
37
+ .once("error", (error) => {
38
+ logErrorRaw(error);
39
+ process.exit(1);
40
+ })
41
+ .listen(port, () => {
42
+ cliLogInfo(`[Server ready] > Server listening at http://localhost:${port}`);
43
+ });
44
+
45
+ await initializeResourceMetaCache();
46
+ }
47
+
48
+ run();
@@ -1,11 +1,18 @@
1
- import {
2
- deleteResourceByIdRoute,
3
- getResourceByIdRoute,
4
- putResourceByIdRoute,
5
- } from "@meta/server/basic-crud/crud-api";
6
-
7
- export const GET = getResourceByIdRoute;
8
-
9
- export const PUT = putResourceByIdRoute;
10
-
11
- export const DELETE = deleteResourceByIdRoute;
1
+ import {
2
+ deleteResourceByIdRoute,
3
+ getResourceByIdRoute,
4
+ putResourceByIdRoute,
5
+ } from "@meta/server/basic-crud/crud-api";
6
+ import { httpApiWrapper } from "@/app/http-wrappers";
7
+
8
+ const get = httpApiWrapper(getResourceByIdRoute);
9
+
10
+ export { get as GET };
11
+
12
+ const put = httpApiWrapper(putResourceByIdRoute);
13
+
14
+ export { put as PUT };
15
+
16
+ const del = httpApiWrapper(deleteResourceByIdRoute);
17
+
18
+ export { del as DELETE };
@@ -1,14 +1,23 @@
1
- import {
2
- deleteResourceRoute,
3
- getResourceRoute,
4
- postResourceRoute,
5
- putResourceRoute,
6
- } from "@meta/server/basic-crud/crud-api";
7
-
8
- export const PUT = putResourceRoute;
9
-
10
- export const GET = getResourceRoute;
11
-
12
- export const POST = postResourceRoute;
13
-
14
- export const DELETE = deleteResourceRoute;
1
+ import {
2
+ deleteResourceRoute,
3
+ getResourceRoute,
4
+ postResourceRoute,
5
+ putResourceRoute,
6
+ } from "@meta/server/basic-crud/crud-api";
7
+ import { httpApiWrapper } from "@/app/http-wrappers";
8
+
9
+ const put = httpApiWrapper(putResourceRoute);
10
+
11
+ export { put as PUT };
12
+
13
+ const get = httpApiWrapper(getResourceRoute);
14
+
15
+ export { get as GET };
16
+
17
+ const post = httpApiWrapper(postResourceRoute);
18
+
19
+ export { post as POST };
20
+
21
+ const del = httpApiWrapper(deleteResourceRoute);
22
+
23
+ export { del as DELETE };
@@ -1,3 +1,6 @@
1
- import { upsertResourceRoute } from "@meta/server/basic-crud/crud-api";
2
-
3
- export const POST = upsertResourceRoute;
1
+ import { upsertResourceRoute } from "@meta/server/basic-crud/crud-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(upsertResourceRoute);
5
+
6
+ export { post as POST };
@@ -1,7 +1,14 @@
1
- import { mediaDeleteRoute, mediaGetRoute, mediaPostRoute } from "@server/media/media-api";
2
-
3
- export const GET = mediaGetRoute;
4
-
5
- export const POST = mediaPostRoute;
6
-
7
- export const DELETE = mediaDeleteRoute;
1
+ import { mediaDeleteRoute, mediaGetRoute, mediaPostRoute } from "@server/media/media-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(mediaGetRoute);
5
+
6
+ export { get as GET };
7
+
8
+ const post = httpApiWrapper(mediaPostRoute);
9
+
10
+ export { post as POST };
11
+
12
+ const del = httpApiWrapper(mediaDeleteRoute);
13
+
14
+ export { del as DELETE };
@@ -1,7 +1,14 @@
1
- import { logDeleteRoute, logGetRoute, logPostRoute } from "@server/fd/fd-toolbox-web/logging/log-api";
2
-
3
- export const POST = logPostRoute;
4
-
5
- export const GET = logGetRoute;
6
-
7
- export const DELETE = logDeleteRoute;
1
+ import { logDeleteRoute, logGetRoute, logPostRoute } from "@server/fd/fd-toolbox-web/logging/log-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(logPostRoute, { anonymous: true });
5
+
6
+ export { post as POST };
7
+
8
+ const get = httpApiWrapper(logGetRoute, { anonymous: true });
9
+
10
+ export { get as GET };
11
+
12
+ const del = httpApiWrapper(logDeleteRoute, { anonymous: true });
13
+
14
+ export { del as DELETE };
@@ -0,0 +1,6 @@
1
+ import { markdownPostRoute } from "@server/markdown/markdown-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(markdownPostRoute);
5
+
6
+ export { post as POST };
@@ -1,14 +1,23 @@
1
- import {
2
- otheruserIdGetRoute,
3
- otheruserIdPostRoute,
4
- otheruserIdPutRoute,
5
- otheruserIdDeleteRoute,
6
- } from "@server/otheruser/id/otheruser-id-api";
7
-
8
- export const GET = otheruserIdGetRoute;
9
-
10
- export const POST = otheruserIdPostRoute;
11
-
12
- export const PUT = otheruserIdPutRoute;
13
-
14
- export const DELETE = otheruserIdDeleteRoute;
1
+ import {
2
+ otheruserIdDeleteRoute,
3
+ otheruserIdGetRoute,
4
+ otheruserIdPostRoute,
5
+ otheruserIdPutRoute,
6
+ } from "@server/otheruser/id/otheruser-id-api";
7
+ import { httpApiWrapper } from "@/app/http-wrappers";
8
+
9
+ const get = httpApiWrapper(otheruserIdGetRoute);
10
+
11
+ export { get as GET };
12
+
13
+ const post = httpApiWrapper(otheruserIdPostRoute);
14
+
15
+ export { post as POST };
16
+
17
+ const put = httpApiWrapper(otheruserIdPutRoute);
18
+
19
+ export { put as PUT };
20
+
21
+ const del = httpApiWrapper(otheruserIdDeleteRoute);
22
+
23
+ export { del as DELETE };
@@ -1,7 +1,14 @@
1
- import { otheruserGetRoute, otheruserPostRoute, otheruserPutRoute } from "@server/otheruser/otheruser-api";
2
-
3
- export const POST = otheruserPostRoute;
4
-
5
- export const PUT = otheruserPutRoute;
6
-
7
- export const GET = otheruserGetRoute;
1
+ import { otheruserGetRoute, otheruserPostRoute, otheruserPutRoute } from "@server/otheruser/otheruser-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(otheruserPostRoute);
5
+
6
+ export { post as POST };
7
+
8
+ const put = httpApiWrapper(otheruserPutRoute);
9
+
10
+ export { put as PUT };
11
+
12
+ const get = httpApiWrapper(otheruserGetRoute);
13
+
14
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { forgotpasswordPostRoute } from "@server/password/forgotpassword/forgotpassword-api";
2
-
3
- export const POST = forgotpasswordPostRoute;
1
+ import { forgotpasswordPostRoute } from "@server/password/forgotpassword/forgotpassword-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(forgotpasswordPostRoute, { anonymous: true });
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { resetpasswordPostRoute } from "@server/password/resetpassword/resetpassword-api";
2
-
3
- export const POST = resetpasswordPostRoute;
1
+ import { resetpasswordPostRoute } from "@server/password/resetpassword/resetpassword-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(resetpasswordPostRoute, { anonymous: true });
5
+
6
+ export { post as POST };
@@ -1,4 +1,9 @@
1
- import { paymentMethodGetRoute, paymentMethodPutRoute } from "@server/payment/method/payment-method-api";
2
-
3
- export const PUT = paymentMethodPutRoute;
4
- export const GET = paymentMethodGetRoute;
1
+ import { paymentMethodGetRoute, paymentMethodPutRoute } from "@server/payment/method/payment-method-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const put = httpApiWrapper(paymentMethodPutRoute);
5
+
6
+ export { put as PUT };
7
+ const get = httpApiWrapper(paymentMethodGetRoute);
8
+
9
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { registerPaymentCustomerAndCreateWorkspaceSubscriptionApi } from "@server/payments/payments/payments-api";
2
-
3
- export const POST = registerPaymentCustomerAndCreateWorkspaceSubscriptionApi;
1
+ import { registerPaymentCustomerAndCreateWorkspaceSubscriptionApi } from "@server/payments/payments/payments-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(registerPaymentCustomerAndCreateWorkspaceSubscriptionApi);
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { paymentVerifyFailPostRoute } from "@server/payment/verify-fail/payment-verify-fail-api";
2
-
3
- export const POST = paymentVerifyFailPostRoute;
1
+ import { paymentVerifyFailPostRoute } from "@server/payment/verify-fail/payment-verify-fail-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(paymentVerifyFailPostRoute);
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { paymentVerifySuccessPostRoute } from "@server/payment/verify-success/payment-verify-success";
2
-
3
- export const POST = paymentVerifySuccessPostRoute;
1
+ import { paymentVerifySuccessPostRoute } from "@server/payment/verify-success/payment-verify-success";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(paymentVerifySuccessPostRoute);
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { getSearchResultRoute } from "@server/search/search-result-api";
2
-
3
- export const GET = getSearchResultRoute;
1
+ import { getSearchResultRoute } from "@server/search/search-result-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(getSearchResultRoute);
5
+
6
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { getSearchableResourcesRoute } from "@meta/server/resources/searchable-resources-api";
2
-
3
- export const GET = getSearchableResourcesRoute;
1
+ import { getSearchableResourcesRoute } from "@meta/server/resources/searchable-resources-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(getSearchableResourcesRoute);
5
+
6
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { signInApi } from "@server/auth/sign-in-api";
2
-
3
- export const POST = signInApi;
1
+ import { signInApi } from "@server/auth/sign-in-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(signInApi, { anonymous: true });
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { signOutGetRoute } from "@server/auth/sign-out-api";
2
-
3
- export const GET = signOutGetRoute;
1
+ import { signOutGetRoute } from "@server/auth/sign-out-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(signOutGetRoute);
5
+
6
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { signUpApi } from "@server/auth/sign-up-api";
2
-
3
- export const POST = signUpApi;
1
+ import { signUpApi } from "@server/auth/sign-up-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(signUpApi, { anonymous: true });
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { subscriptionCancelPostRoute } from "@server/subscription/cancel/subscription-cancel-api";
2
-
3
- export const POST = subscriptionCancelPostRoute;
1
+ import { subscriptionCancelPostRoute } from "@server/subscription/cancel/subscription-cancel-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(subscriptionCancelPostRoute);
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { subscriptionCreatePostRoute } from "@server/subscription/create/subscription-create-api";
2
-
3
- export const POST = subscriptionCreatePostRoute;
1
+ import { subscriptionCreatePostRoute } from "@server/subscription/create/subscription-create-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(subscriptionCreatePostRoute);
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { subscriptionUpdatePostRoute } from "@server/subscription/update/subscription-update-api";
2
-
3
- export const POST = subscriptionUpdatePostRoute;
1
+ import { subscriptionUpdatePostRoute } from "@server/subscription/update/subscription-update-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(subscriptionUpdatePostRoute);
5
+
6
+ export { post as POST };
@@ -1,3 +1,6 @@
1
- import { uiMetaRoute } from "@meta/server/ui/ui-metas-api";
2
-
3
- export const GET = uiMetaRoute;
1
+ import { uiMetaRoute } from "@meta/server/ui/ui-metas-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(uiMetaRoute);
5
+
6
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { uiMetasRoute } from "@meta/server/ui/ui-metas-api";
2
-
3
- export const GET = uiMetasRoute;
1
+ import { uiMetasRoute } from "@meta/server/ui/ui-metas-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(uiMetasRoute);
5
+
6
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { userfeatureIsenabledGetRoute } from "@server/userfeature/isenabled/userfeature-isenabled-api";
2
-
3
- export const GET = userfeatureIsenabledGetRoute;
1
+ import { userFeatureIsEnabledGetRoute } from "@server/userfeature/isenabled/userfeature-isenabled-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(userFeatureIsEnabledGetRoute);
5
+
6
+ export { get as GET };
@@ -1,3 +1,6 @@
1
- import { permissionRoute } from "@server/fd/fd-toolbox-web/permissions/permission-api";
2
-
3
- export const GET = permissionRoute;
1
+ import { permissionRoute } from "@server/fd/fd-toolbox-web/permissions/permission-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(permissionRoute);
5
+
6
+ export { get as GET };
@@ -1,5 +1,10 @@
1
- import { visibleWorkspaceGetRoute, visibleWorkspacePostRoute } from "@server/workspace/visible-workspace-api";
2
-
3
- export const POST = visibleWorkspacePostRoute;
4
-
5
- export const GET = visibleWorkspaceGetRoute;
1
+ import { visibleWorkspaceGetRoute, visibleWorkspacePostRoute } from "@server/workspace/visible-workspace-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const post = httpApiWrapper(visibleWorkspacePostRoute);
5
+
6
+ export { post as POST };
7
+
8
+ const get = httpApiWrapper(visibleWorkspaceGetRoute);
9
+
10
+ export { get as GET };
@@ -1,5 +1,10 @@
1
- import { workspaceGetRoute, workspacePostRoute } from "@server/workspace/workspace-api";
2
-
3
- export const GET = workspaceGetRoute;
4
-
5
- export const POST = workspacePostRoute;
1
+ import { workspaceGetRoute, workspacePostRoute } from "@server/workspace/workspace-api";
2
+ import { httpApiWrapper } from "@/app/http-wrappers";
3
+
4
+ const get = httpApiWrapper(workspaceGetRoute);
5
+
6
+ export { get as GET };
7
+
8
+ const post = httpApiWrapper(workspacePostRoute);
9
+
10
+ export { post as POST };
@@ -1,8 +1,8 @@
1
- import { httpWrapper } from "@server/web/http-wrapper";
2
- import EditPasswordPage from "@client/pages/edit-password-page/EditPasswordPage";
3
-
4
- const Page = httpWrapper(async () => {
5
- return <EditPasswordPage />;
6
- });
7
-
8
- export default Page;
1
+ import { httpWrapper } from "@/app/http-wrappers";
2
+ import EditPasswordPage from "@client/pages/edit-password-page/EditPasswordPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <EditPasswordPage />;
6
+ });
7
+
8
+ export default Page;
@@ -1,13 +1,13 @@
1
- import ForgotPasswordPage from "@client/pages/forgot-password-page/ForgotPasswordPage";
2
- import { httpWrapper } from "@server/web/http-wrapper";
3
-
4
- export const dynamic = "force-dynamic";
5
-
6
- const Page = httpWrapper(
7
- async () => {
8
- return <ForgotPasswordPage />;
9
- },
10
- { isAnonymous: true },
11
- );
12
-
13
- export default Page;
1
+ import ForgotPasswordPage from "@client/pages/forgot-password-page/ForgotPasswordPage";
2
+ import { httpWrapper } from "@/app/http-wrappers";
3
+
4
+ export const dynamic = "force-dynamic";
5
+
6
+ const Page = httpWrapper(
7
+ async () => {
8
+ return <ForgotPasswordPage />;
9
+ },
10
+ { anonymous: true },
11
+ );
12
+
13
+ export default Page;
@@ -1,11 +1,11 @@
1
- import ResetPasswordPage from "@client/pages/reset-password-page/ResetPasswordPage";
2
- import { httpWrapper } from "@server/web/http-wrapper";
3
-
4
- const Page = httpWrapper(
5
- async () => {
6
- return <ResetPasswordPage />;
7
- },
8
- { isAnonymous: true },
9
- );
10
-
11
- export default Page;
1
+ import ResetPasswordPage from "@client/pages/reset-password-page/ResetPasswordPage";
2
+ import { httpWrapper } from "@/app/http-wrappers";
3
+
4
+ const Page = httpWrapper(
5
+ async () => {
6
+ return <ResetPasswordPage />;
7
+ },
8
+ { anonymous: true },
9
+ );
10
+
11
+ export default Page;
@@ -1,8 +1,8 @@
1
- import { httpWrapper } from "@server/web/http-wrapper";
2
- import MicrosoftPage from "@client/pages/microsoft-page/MicrosoftPage";
3
-
4
- const Page = httpWrapper(async () => {
5
- return <MicrosoftPage />;
6
- });
7
-
8
- export default Page;
1
+ import { httpWrapper } from "@/app/http-wrappers";
2
+ import MicrosoftPage from "@client/pages/microsoft-page/MicrosoftPage";
3
+
4
+ const Page = httpWrapper(async () => {
5
+ return <MicrosoftPage />;
6
+ });
7
+
8
+ export default Page;