@fernir2/saas-kit-cli 0.1.34 → 0.1.36

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 (265) hide show
  1. package/base-repo/app-constants/aliases.cjs.js +1 -1
  2. package/base-repo/app-constants/aliases.js +1 -1
  3. package/base-repo/app-constants/project-paths.cjs.js +2 -1
  4. package/base-repo/app-constants/project-paths.js +2 -2
  5. package/base-repo/constants/create-app-constants.cjs.js +1 -1
  6. package/base-repo/constants/create-app-constants.js +2 -2
  7. package/base-repo/constants/packages.cjs.js +1 -1
  8. package/base-repo/constants/packages.cjs2.js +1 -1
  9. package/base-repo/constants/packages.js +1 -1
  10. package/base-repo/constants/packages2.js +1 -1
  11. package/cli/.env.example +61 -55
  12. package/cli/README.md +3 -101
  13. package/cli/bin/{index.ts → create.ts} +446 -383
  14. package/cli/configs/drizzle-cli-config.ts +14 -0
  15. package/cli/configs/playwright-cli-config.ts +34 -0
  16. package/cli/configs/tsconfig.cli.json +37 -0
  17. package/cli/configs/tsconfig.server.json +13 -0
  18. package/cli/drizzle.config.ts +6 -12
  19. package/cli/next.config.js +73 -80
  20. package/cli/npm-commands/{gen-meta/index.ts → gen-meta.ts} +3 -3
  21. package/cli/npm-commands/gen-schema.ts +3 -0
  22. package/cli/npm-commands/{migrate-db/migrate-db.ts → migrate-db.ts} +15 -15
  23. package/cli/npm-commands/{seed-db/seed-db.ts → seed-db.ts} +15 -15
  24. package/cli/package-template.json +61 -64
  25. package/cli/playwright.config.ts +6 -34
  26. package/cli/postcss.config.mjs +7 -9
  27. package/cli/server.ts +41 -41
  28. package/cli/src/app/api/v1/[resourceName]/[id]/route.ts +11 -11
  29. package/cli/src/app/api/v1/[resourceName]/route.ts +14 -14
  30. package/cli/src/app/api/v1/[resourceName]/upsert/route.ts +3 -3
  31. package/cli/src/app/api/v1/blob/route.ts +7 -0
  32. package/cli/src/app/api/v1/log/route.ts +7 -7
  33. package/cli/src/app/api/v1/otheruser/[id]/route.ts +14 -14
  34. package/cli/src/app/api/v1/otheruser/route.ts +7 -7
  35. package/cli/src/app/api/v1/password/forgotpassword/route.ts +3 -3
  36. package/cli/src/app/api/v1/password/resetpassword/route.ts +3 -3
  37. package/cli/src/app/api/v1/payment/method/route.ts +4 -4
  38. package/cli/src/app/api/v1/payment/route.ts +3 -3
  39. package/cli/src/app/api/v1/payment/verify-fail/route.ts +3 -3
  40. package/cli/src/app/api/v1/payment/verify-success/route.ts +3 -3
  41. package/cli/src/app/api/v1/preload/route.ts +3 -3
  42. package/cli/src/app/api/v1/searchable-resources/route.ts +11 -11
  43. package/cli/src/app/api/v1/searchresult/route.ts +35 -35
  44. package/cli/src/app/api/v1/sign-in/route.ts +3 -3
  45. package/cli/src/app/api/v1/sign-out/route.ts +3 -3
  46. package/cli/src/app/api/v1/sign-up/route.ts +3 -3
  47. package/cli/src/app/api/v1/subscription/cancel/route.ts +3 -3
  48. package/cli/src/app/api/v1/subscription/create/route.ts +3 -3
  49. package/cli/src/app/api/v1/subscription/update/route.ts +3 -3
  50. package/cli/src/app/api/v1/uimeta/route.ts +3 -3
  51. package/cli/src/app/api/v1/uimetas/route.ts +3 -3
  52. package/cli/src/app/api/v1/userfeature/isenabled/route.ts +3 -0
  53. package/cli/src/app/api/v1/userpermission/route.ts +3 -3
  54. package/cli/src/app/api/v1/visible-workspace/route.ts +5 -5
  55. package/cli/src/app/api/v1/workspace/change/route.ts +5 -5
  56. package/cli/src/app/f/(private)/dashboard/page.tsx +8 -8
  57. package/cli/src/app/f/(private)/dynamiclayout/page.tsx +8 -8
  58. package/cli/src/app/f/(private)/edituser/[id]/page.tsx +8 -8
  59. package/cli/src/app/f/(private)/edituser/page.tsx +8 -8
  60. package/cli/src/app/f/(private)/layout.tsx +5 -5
  61. package/cli/src/app/f/(private)/lm/page.tsx +8 -8
  62. package/cli/src/app/f/(private)/payment-plans/page.tsx +8 -8
  63. package/cli/src/app/f/(private)/preload/page.tsx +8 -8
  64. package/cli/src/app/f/(private)/statusboard/page.tsx +8 -8
  65. package/cli/src/app/f/(private)/userlist/page.tsx +8 -8
  66. package/cli/src/app/f/(private)/view/page.tsx +9 -8
  67. package/cli/src/app/f/defaultRedirect/page.tsx +9 -9
  68. package/cli/src/app/f/editpassword/page.tsx +8 -8
  69. package/cli/src/app/f/forgotpassword/page.tsx +13 -13
  70. package/cli/src/app/f/resetpassword/page.tsx +11 -16
  71. package/cli/src/app/f/sign-in/microsoft/page.tsx +8 -8
  72. package/cli/src/app/f/sign-in/page.tsx +13 -13
  73. package/cli/src/app/f/sign-up/page.tsx +13 -13
  74. package/cli/src/app/f/test/feed/page.tsx +8 -8
  75. package/cli/src/app/f/test/file-upload/page.tsx +8 -8
  76. package/cli/src/app/f/test/layout.tsx +5 -5
  77. package/cli/src/app/f/test/page.tsx +8 -8
  78. package/cli/src/app/globals.css +1 -1
  79. package/cli/src/app/layout.tsx +46 -44
  80. package/cli/src/app/page.tsx +9 -9
  81. package/cli/src/app/styles/common.css +71 -74
  82. package/cli/src/app/styles/rich-text-editor.css +130 -130
  83. package/cli/{global-setup.ts → test/global-setup.ts} +25 -25
  84. package/cli/tsconfig.json +28 -65
  85. package/cli/tsconfig.server.json +17 -14
  86. package/fd-toolbox/api/api-client.cjs.js +19 -0
  87. package/fd-toolbox/api/api-client.js +11 -0
  88. package/{level2/fd-toolbox → fd-toolbox}/api/api-path-names.cjs.js +2 -2
  89. package/fd-toolbox/api/api-paths.cjs.js +9 -0
  90. package/fd-toolbox/api/api-paths.js +7 -0
  91. package/fd-toolbox/api/base-api.cjs.js +22 -0
  92. package/fd-toolbox/api/base-api.js +13 -0
  93. package/{level2/fd-toolbox → fd-toolbox}/auth/login-states.cjs.js +1 -1
  94. package/{level2/fd-toolbox → fd-toolbox}/auth/login-states.js +1 -1
  95. package/fd-toolbox/auth/session-storage.cjs.js +12 -0
  96. package/fd-toolbox/auth/session-storage.js +7 -0
  97. package/{level2/fd-toolbox → fd-toolbox}/auth/tokens.cjs.js +1 -1
  98. package/{level2/fd-toolbox → fd-toolbox}/auth/tokens.js +1 -1
  99. package/{level2/fd-toolbox → fd-toolbox}/constants/constants.cjs.js +1 -1
  100. package/fd-toolbox/constants/constants.js +4 -0
  101. package/{level2/fd-toolbox → fd-toolbox}/constants/header-names.cjs.js +1 -1
  102. package/{level2/fd-toolbox → fd-toolbox}/constants/header-names.js +1 -1
  103. package/{level2/fd-toolbox → fd-toolbox}/constants/public-files.cjs.js +2 -1
  104. package/{level2/fd-toolbox → fd-toolbox}/constants/public-files.js +2 -2
  105. package/fd-toolbox/enums/enums.cjs.js +26 -0
  106. package/fd-toolbox/enums/enums.js +4 -0
  107. package/{level2/fd-toolbox → fd-toolbox}/errors/error-handler.cjs.js +1 -1
  108. package/fd-toolbox/errors/error-handler.js +8 -0
  109. package/fd-toolbox/errors/errors.cjs.js +6 -0
  110. package/fd-toolbox/errors/errors.js +4 -0
  111. package/fd-toolbox/errors/problem-details.cjs.js +8 -0
  112. package/fd-toolbox/errors/problem-details.js +6 -0
  113. package/fd-toolbox/functions/value-checking-functions.cjs.js +10 -0
  114. package/fd-toolbox/functions/value-checking-functions.js +6 -0
  115. package/{level2/fd-toolbox → fd-toolbox}/http/url/urls.cjs.js +1 -1
  116. package/fd-toolbox/http/url/urls.js +6 -0
  117. package/fd-toolbox/infra/env-config.cjs.js +8 -0
  118. package/fd-toolbox/infra/env-config.js +6 -0
  119. package/fd-toolbox/infra/env-functions.cjs.js +16 -0
  120. package/fd-toolbox/infra/env-functions.js +11 -0
  121. package/fd-toolbox/infra/env-schema.cjs.js +12 -0
  122. package/fd-toolbox/infra/env-schema.js +8 -0
  123. package/{level2/fd-toolbox → fd-toolbox}/infra/env-store.cjs.js +1 -1
  124. package/{level2/fd-toolbox → fd-toolbox}/infra/env-store.js +1 -1
  125. package/fd-toolbox/lib/environments.cjs.js +25 -0
  126. package/fd-toolbox/lib/environments.js +11 -0
  127. package/fd-toolbox/lib/utils.cjs.js +29 -0
  128. package/fd-toolbox/lib/utils.js +13 -0
  129. package/fd-toolbox/local-storage/local-storage.cjs.js +12 -0
  130. package/fd-toolbox/local-storage/local-storage.js +7 -0
  131. package/fd-toolbox/logging/loggers.cjs.js +16 -0
  132. package/fd-toolbox/logging/loggers.js +10 -0
  133. package/fd-toolbox/notifications.cjs.js +14 -0
  134. package/fd-toolbox/notifications.js +7 -0
  135. package/{level2/fd-toolbox → fd-toolbox}/odata/odata-constants.cjs.js +1 -1
  136. package/fd-toolbox/odata/odata-constants.js +4 -0
  137. package/fd-toolbox/odata/odatas.cjs.js +11 -0
  138. package/fd-toolbox/odata/odatas.js +9 -0
  139. package/fd-toolbox/odata/services/odata-filters.cjs.js +11 -0
  140. package/fd-toolbox/odata/services/odata-filters.js +9 -0
  141. package/fd-toolbox/paths/paths-names.cjs.js +9 -0
  142. package/fd-toolbox/paths/paths-names.js +6 -0
  143. package/{level2/fd-toolbox → fd-toolbox}/routing/login-routers.cjs.js +1 -1
  144. package/{level2/fd-toolbox → fd-toolbox}/routing/login-routers.js +1 -1
  145. package/fd-toolbox/routing/paths.cjs.js +8 -0
  146. package/fd-toolbox/routing/paths.js +6 -0
  147. package/{level2/fd-toolbox → fd-toolbox}/strings/strings-constants.cjs.js +1 -1
  148. package/fd-toolbox/strings/strings-constants.js +4 -0
  149. package/fd-toolbox/strings/strings.cjs.js +10 -0
  150. package/fd-toolbox/strings/strings.js +7 -0
  151. package/fd-toolbox/types/ensure-type.cjs.js +22 -0
  152. package/fd-toolbox/types/ensure-type.js +4 -0
  153. package/fd-toolbox-core/core/name-of.cjs.js +8 -0
  154. package/fd-toolbox-core/core/name-of.js +4 -0
  155. package/fd-toolbox-core/types/resource-with-id.cjs.js +9 -0
  156. package/fd-toolbox-core/types/resource-with-id.js +6 -0
  157. package/level2/cli/bin/index.cjs.js +8 -0
  158. package/level2/cli/bin/index.js +6 -0
  159. package/level2/cli/create/bin/create.cjs.js +42 -0
  160. package/level2/cli/create/bin/create.js +20 -0
  161. package/level2/npm-commands/build-npm/cli-contents.cjs.js +9 -0
  162. package/level2/npm-commands/build-npm/cli-contents.js +6 -0
  163. package/level2/npm-commands/build-npm/path.cjs.js +1 -1
  164. package/level2/npm-commands/build-npm/path.js +2 -2
  165. package/package.json +32 -31
  166. package/cli/.env +0 -55
  167. package/cli/.gitlab-ci.yml +0 -16
  168. package/cli/.husky/commit-msg +0 -1
  169. package/cli/.husky/pre-commit +0 -1
  170. package/cli/eslint.config.js +0 -10
  171. package/cli/npm-commands/gen-schema/index.ts +0 -5
  172. package/cli/npm-commands/migrate-db/index.ts +0 -5
  173. package/cli/npm-commands/seed-db/index.ts +0 -5
  174. package/cli/tailwind.config.ts +0 -13
  175. package/cli/tsconfig.declaration.json +0 -48
  176. package/level2/cli/create-saas-kit-app/bin/index.cjs.js +0 -40
  177. package/level2/cli/create-saas-kit-app/bin/index.js +0 -18
  178. package/level2/fd-toolbox/api/api-client.cjs.js +0 -19
  179. package/level2/fd-toolbox/api/api-client.js +0 -11
  180. package/level2/fd-toolbox/api/api-paths.cjs.js +0 -9
  181. package/level2/fd-toolbox/api/api-paths.js +0 -7
  182. package/level2/fd-toolbox/api/base-api.cjs.js +0 -22
  183. package/level2/fd-toolbox/api/base-api.js +0 -13
  184. package/level2/fd-toolbox/auth/session-storage.cjs.js +0 -12
  185. package/level2/fd-toolbox/auth/session-storage.js +0 -7
  186. package/level2/fd-toolbox/constants/constants.js +0 -4
  187. package/level2/fd-toolbox/enums/enums.cjs.js +0 -26
  188. package/level2/fd-toolbox/enums/enums.js +0 -4
  189. package/level2/fd-toolbox/errors/error-handler.js +0 -8
  190. package/level2/fd-toolbox/errors/errors.cjs.js +0 -6
  191. package/level2/fd-toolbox/errors/errors.js +0 -4
  192. package/level2/fd-toolbox/errors/problem-details.cjs.js +0 -8
  193. package/level2/fd-toolbox/errors/problem-details.js +0 -6
  194. package/level2/fd-toolbox/functions/value-checking-functions.cjs.js +0 -10
  195. package/level2/fd-toolbox/functions/value-checking-functions.js +0 -6
  196. package/level2/fd-toolbox/http/url/urls.js +0 -6
  197. package/level2/fd-toolbox/infra/env-config.cjs.js +0 -8
  198. package/level2/fd-toolbox/infra/env-config.js +0 -6
  199. package/level2/fd-toolbox/infra/env-functions.cjs.js +0 -16
  200. package/level2/fd-toolbox/infra/env-functions.js +0 -11
  201. package/level2/fd-toolbox/infra/env-schema.cjs.js +0 -12
  202. package/level2/fd-toolbox/infra/env-schema.js +0 -8
  203. package/level2/fd-toolbox/lib/environments.cjs.js +0 -25
  204. package/level2/fd-toolbox/lib/environments.js +0 -11
  205. package/level2/fd-toolbox/lib/utils.cjs.js +0 -29
  206. package/level2/fd-toolbox/lib/utils.js +0 -13
  207. package/level2/fd-toolbox/local-storage/local-storage.cjs.js +0 -12
  208. package/level2/fd-toolbox/local-storage/local-storage.js +0 -7
  209. package/level2/fd-toolbox/logging/loggers.cjs.js +0 -16
  210. package/level2/fd-toolbox/logging/loggers.js +0 -10
  211. package/level2/fd-toolbox/notifications.cjs.js +0 -14
  212. package/level2/fd-toolbox/notifications.js +0 -7
  213. package/level2/fd-toolbox/odata/odata-constants.js +0 -4
  214. package/level2/fd-toolbox/odata/odatas.cjs.js +0 -11
  215. package/level2/fd-toolbox/odata/odatas.js +0 -9
  216. package/level2/fd-toolbox/odata/services/odata-filters.cjs.js +0 -11
  217. package/level2/fd-toolbox/odata/services/odata-filters.js +0 -9
  218. package/level2/fd-toolbox/paths/paths-names.cjs.js +0 -9
  219. package/level2/fd-toolbox/paths/paths-names.js +0 -6
  220. package/level2/fd-toolbox/routing/paths.cjs.js +0 -8
  221. package/level2/fd-toolbox/routing/paths.js +0 -6
  222. package/level2/fd-toolbox/strings/strings-constants.js +0 -4
  223. package/level2/fd-toolbox/strings/strings.cjs.js +0 -10
  224. package/level2/fd-toolbox/strings/strings.js +0 -7
  225. package/level2/fd-toolbox/types/ensure-type.cjs.js +0 -18
  226. package/level2/fd-toolbox/types/ensure-type.js +0 -4
  227. package/level2/fd-toolbox-core/core/name-of.cjs.js +0 -8
  228. package/level2/fd-toolbox-core/core/name-of.js +0 -4
  229. package/level2/fd-toolbox-core/types/resource-with-id.cjs.js +0 -9
  230. package/level2/fd-toolbox-core/types/resource-with-id.js +0 -6
  231. /package/{level2/fd-toolbox → fd-toolbox}/api/api-path-names.js +0 -0
  232. /package/{level2/fd-toolbox → fd-toolbox}/constants/api-constants.cjs.js +0 -0
  233. /package/{level2/fd-toolbox → fd-toolbox}/constants/api-constants.js +0 -0
  234. /package/{level2/fd-toolbox → fd-toolbox}/constants/environment-constants.cjs.js +0 -0
  235. /package/{level2/fd-toolbox → fd-toolbox}/constants/environment-constants.js +0 -0
  236. /package/{level2/fd-toolbox → fd-toolbox}/constants/extensions.cjs.js +0 -0
  237. /package/{level2/fd-toolbox → fd-toolbox}/constants/extensions.js +0 -0
  238. /package/{level2/fd-toolbox → fd-toolbox}/constants/http-status-codes.cjs.js +0 -0
  239. /package/{level2/fd-toolbox → fd-toolbox}/constants/http-status-codes.js +0 -0
  240. /package/{level2/fd-toolbox → fd-toolbox}/constants/meta-query-params.cjs.js +0 -0
  241. /package/{level2/fd-toolbox → fd-toolbox}/constants/meta-query-params.js +0 -0
  242. /package/{level2/fd-toolbox → fd-toolbox}/constants/representations.cjs.js +0 -0
  243. /package/{level2/fd-toolbox → fd-toolbox}/constants/representations.js +0 -0
  244. /package/{level2/fd-toolbox → fd-toolbox}/errors/error-statuses.cjs.js +0 -0
  245. /package/{level2/fd-toolbox → fd-toolbox}/errors/error-statuses.js +0 -0
  246. /package/{level2/fd-toolbox → fd-toolbox}/http/http-constants.cjs.js +0 -0
  247. /package/{level2/fd-toolbox → fd-toolbox}/http/http-constants.js +0 -0
  248. /package/{level2/fd-toolbox → fd-toolbox}/infra/env-setting-types.cjs.js +0 -0
  249. /package/{level2/fd-toolbox → fd-toolbox}/infra/env-setting-types.js +0 -0
  250. /package/{level2/fd-toolbox → fd-toolbox}/infra/toolbox-env-setting-keys.cjs.js +0 -0
  251. /package/{level2/fd-toolbox → fd-toolbox}/infra/toolbox-env-setting-keys.js +0 -0
  252. /package/{level2/fd-toolbox → fd-toolbox}/logging/logging-constants.cjs.js +0 -0
  253. /package/{level2/fd-toolbox → fd-toolbox}/logging/logging-constants.js +0 -0
  254. /package/{level2/fd-toolbox → fd-toolbox}/odata/odata-enums.cjs.js +0 -0
  255. /package/{level2/fd-toolbox → fd-toolbox}/odata/odata-enums.js +0 -0
  256. /package/{level2/fd-toolbox → fd-toolbox}/resources/resource-names.cjs.js +0 -0
  257. /package/{level2/fd-toolbox → fd-toolbox}/resources/resource-names.js +0 -0
  258. /package/{level2/fd-toolbox → fd-toolbox}/routing/routes.cjs.js +0 -0
  259. /package/{level2/fd-toolbox → fd-toolbox}/routing/routes.js +0 -0
  260. /package/{level2/fd-toolbox-core → fd-toolbox-core}/constants/meta-constants.cjs.js +0 -0
  261. /package/{level2/fd-toolbox-core → fd-toolbox-core}/constants/meta-constants.js +0 -0
  262. /package/{level2/fd-toolbox-core → fd-toolbox-core}/constants/promises.cjs.js +0 -0
  263. /package/{level2/fd-toolbox-core → fd-toolbox-core}/constants/promises.js +0 -0
  264. /package/{level2/fd-toolbox-core → fd-toolbox-core}/enums/log-severities.cjs.js +0 -0
  265. /package/{level2/fd-toolbox-core → fd-toolbox-core}/enums/log-severities.js +0 -0
@@ -1,130 +1,130 @@
1
- div.ql-toolbar.ql-snow {
2
- padding: 0.5rem 0.75rem;
3
- border-top-right-radius: var(--radius);
4
- border-top-left-radius: var(--radius);
5
- border: 1px solid hsl(var(--border));
6
- }
7
-
8
- .ql-toolbar.ql-snow .ql-picker-label {
9
- padding-left: 0;
10
- border: none;
11
- }
12
-
13
- .ql-toolbar.ql-snow .ql-picker-label::before {
14
- font-family: "__GeistSans_3a0388", serif;
15
- }
16
-
17
- .ql-editor {
18
- font-size: 14px;
19
- padding: 10px 12px;
20
- }
21
-
22
- div.ql-container.ql-snow {
23
- height: max-content;
24
- border: 1px solid hsl(var(--border));
25
- border-bottom-right-radius: var(--radius);
26
- border-bottom-left-radius: var(--radius);
27
- }
28
-
29
- .ql-tooltip {
30
- display: none;
31
- }
32
-
33
- .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
34
- z-index: 11;
35
- }
36
-
37
- .ql-picker-label,
38
- .ql-picker-label .ql-stroke {
39
- color: hsl(var(--popover-foreground));
40
- stroke: hsl(var(--popover-foreground));
41
- fill: hsl(var(--popover-foreground));
42
- }
43
-
44
- .ql-toolbar .ql-formats button {
45
- color: hsl(var(--popover-foreground));
46
- }
47
-
48
- .ql-toolbar .ql-formats button .ql-stroke {
49
- stroke: hsl(var(--popover-foreground));
50
- }
51
-
52
- .ql-toolbar .ql-formats button .ql-fill {
53
- fill: hsl(var(--popover-foreground));
54
- }
55
-
56
- .ql-toolbar .ql-active,
57
- .ql-toolbar .ql-active .ql-stroke,
58
- .ql-toolbar .ql-active .ql-fill {
59
- color: hsl(var(--popover-foreground));
60
- fill: none;
61
- stroke: none;
62
- }
63
-
64
- .ql-snow .ql-picker {
65
- font-weight: 400;
66
- }
67
-
68
- .ql-editor.ql-blank::before {
69
- left: 12px;
70
- right: 12px;
71
- color: hsl(var(--muted-foreground));
72
- }
73
-
74
- .ql-toolbar .ql-formats button:hover .ql-stroke,
75
- .ql-toolbar .ql-picker .ql-picker-label:hover .ql-stroke,
76
- .ql-toolbar .ql-picker .ql-picker-label.ql-active .ql-stroke,
77
- .ql-toolbar .ql-formats button.ql-active .ql-stroke {
78
- stroke: hsl(var(--foreground));
79
- stroke-width: 2;
80
- }
81
-
82
- .ql-toolbar .ql-formats button:hover .ql-fill,
83
- .ql-toolbar .ql-formats button.ql-active .ql-fill {
84
- fill: hsl(var(--foreground));
85
- }
86
-
87
- .ql-toolbar .ql-picker .ql-picker-label:hover::before,
88
- .ql-toolbar .ql-picker .ql-picker-label.ql-active::before,
89
- .ql-picker .ql-picker-options .ql-picker-item.ql-selected::before {
90
- color: hsl(var(--foreground));
91
- font-weight: 600;
92
- }
93
-
94
- .ql-snow .ql-picker-options .ql-picker-item:hover {
95
- border-radius: 0.375rem;
96
- background: hsl(var(--muted) / 0.5);
97
- }
98
-
99
- .ql-toolbar .ql-formats button .ql-stroke,
100
- .ql-toolbar .ql-picker .ql-picker-label .ql-stroke {
101
- stroke: hsl(var(--foreground));
102
- stroke-width: 1.2;
103
- }
104
-
105
- .ql-toolbar .ql-formats button .ql-fill {
106
- fill: hsl(var(--foreground));
107
- }
108
-
109
- .ql-toolbar .ql-picker .ql-picker-label::before,
110
- .ql-picker .ql-picker-options .ql-picker-item::before {
111
- color: hsl(var(--foreground));
112
- font-weight: 400;
113
- }
114
-
115
- .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
116
- min-width: 12rem;
117
- z-index: 50;
118
- margin-right: 1rem;
119
- border-radius: 0.375rem;
120
- background-color: hsl(var(--background));
121
- border: 1px solid hsl(var(--border));
122
- box-shadow: 0rem 0rem 0.1rem 0.01rem hsl(var(--fd-toolbar-shadow));
123
- outline: none;
124
- pointer-events: auto;
125
- }
126
-
127
- .ql-snow .ql-picker-options .ql-picker-item {
128
- width: 100%;
129
- padding: 0.5rem 0.75rem;
130
- }
1
+ div.ql-toolbar.ql-snow {
2
+ padding: 0.5rem 0.75rem;
3
+ border-top-right-radius: var(--radius);
4
+ border-top-left-radius: var(--radius);
5
+ border: 1px solid hsl(var(--border));
6
+ }
7
+
8
+ .ql-toolbar.ql-snow .ql-picker-label {
9
+ padding-left: 0;
10
+ border: none;
11
+ }
12
+
13
+ .ql-toolbar.ql-snow .ql-picker-label::before {
14
+ font-family: "__GeistSans_3a0388", serif;
15
+ }
16
+
17
+ .ql-editor {
18
+ font-size: 14px;
19
+ padding: 10px 12px;
20
+ }
21
+
22
+ div.ql-container.ql-snow {
23
+ height: max-content;
24
+ border: 1px solid hsl(var(--border));
25
+ border-bottom-right-radius: var(--radius);
26
+ border-bottom-left-radius: var(--radius);
27
+ }
28
+
29
+ .ql-tooltip {
30
+ display: none;
31
+ }
32
+
33
+ .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
34
+ z-index: 11;
35
+ }
36
+
37
+ .ql-picker-label,
38
+ .ql-picker-label .ql-stroke {
39
+ color: hsl(var(--popover-foreground));
40
+ stroke: hsl(var(--popover-foreground));
41
+ fill: hsl(var(--popover-foreground));
42
+ }
43
+
44
+ .ql-toolbar .ql-formats button {
45
+ color: hsl(var(--popover-foreground));
46
+ }
47
+
48
+ .ql-toolbar .ql-formats button .ql-stroke {
49
+ stroke: hsl(var(--popover-foreground));
50
+ }
51
+
52
+ .ql-toolbar .ql-formats button .ql-fill {
53
+ fill: hsl(var(--popover-foreground));
54
+ }
55
+
56
+ .ql-toolbar .ql-active,
57
+ .ql-toolbar .ql-active .ql-stroke,
58
+ .ql-toolbar .ql-active .ql-fill {
59
+ color: hsl(var(--popover-foreground));
60
+ fill: none;
61
+ stroke: none;
62
+ }
63
+
64
+ .ql-snow .ql-picker {
65
+ font-weight: 400;
66
+ }
67
+
68
+ .ql-editor.ql-blank::before {
69
+ left: 12px;
70
+ right: 12px;
71
+ color: hsl(var(--muted-foreground));
72
+ }
73
+
74
+ .ql-toolbar .ql-formats button:hover .ql-stroke,
75
+ .ql-toolbar .ql-picker .ql-picker-label:hover .ql-stroke,
76
+ .ql-toolbar .ql-picker .ql-picker-label.ql-active .ql-stroke,
77
+ .ql-toolbar .ql-formats button.ql-active .ql-stroke {
78
+ stroke: hsl(var(--foreground));
79
+ stroke-width: 2;
80
+ }
81
+
82
+ .ql-toolbar .ql-formats button:hover .ql-fill,
83
+ .ql-toolbar .ql-formats button.ql-active .ql-fill {
84
+ fill: hsl(var(--foreground));
85
+ }
86
+
87
+ .ql-toolbar .ql-picker .ql-picker-label:hover::before,
88
+ .ql-toolbar .ql-picker .ql-picker-label.ql-active::before,
89
+ .ql-picker .ql-picker-options .ql-picker-item.ql-selected::before {
90
+ color: hsl(var(--foreground));
91
+ font-weight: 600;
92
+ }
93
+
94
+ .ql-snow .ql-picker-options .ql-picker-item:hover {
95
+ border-radius: 0.375rem;
96
+ background: hsl(var(--muted) / 0.5);
97
+ }
98
+
99
+ .ql-toolbar .ql-formats button .ql-stroke,
100
+ .ql-toolbar .ql-picker .ql-picker-label .ql-stroke {
101
+ stroke: hsl(var(--foreground));
102
+ stroke-width: 1.2;
103
+ }
104
+
105
+ .ql-toolbar .ql-formats button .ql-fill {
106
+ fill: hsl(var(--foreground));
107
+ }
108
+
109
+ .ql-toolbar .ql-picker .ql-picker-label::before,
110
+ .ql-picker .ql-picker-options .ql-picker-item::before {
111
+ color: hsl(var(--foreground));
112
+ font-weight: 400;
113
+ }
114
+
115
+ .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
116
+ min-width: 12rem;
117
+ z-index: 50;
118
+ margin-right: 1rem;
119
+ border-radius: 0.375rem;
120
+ background-color: hsl(var(--background));
121
+ border: 1px solid hsl(var(--border));
122
+ box-shadow: 0rem 0rem 0.1rem 0.01rem hsl(var(--fd-toolbar-shadow));
123
+ outline: none;
124
+ pointer-events: auto;
125
+ }
126
+
127
+ .ql-snow .ql-picker-options .ql-picker-item {
128
+ width: 100%;
129
+ padding: 0.5rem 0.75rem;
130
+ }
@@ -1,25 +1,25 @@
1
- import { test as base, PlaywrightTestArgs, PlaywrightWorkerArgs, TestType } from "playwright/test";
2
- import { initInternalResourceMetasCacheFromJson } from "@fernir2/saas-kit/server";
3
- import { toolboxEnvSettingKeys } from "@fernir2/saas-kit";
4
-
5
- export type WorkerArgs = PlaywrightWorkerArgs & { metaInitialized: void };
6
- export type TestArgs = PlaywrightTestArgs;
7
-
8
- export const test: TestType<TestArgs, WorkerArgs> = base.extend({
9
- metaInitialized: [
10
- // Approved
11
- // eslint-disable-next-line no-empty-pattern
12
- async ({}, use: () => Promise<void>) => {
13
- await initInternalResourceMetasCacheFromJson();
14
- await use();
15
- },
16
- { scope: "worker", auto: true },
17
- ],
18
- });
19
-
20
- export const expect = test.expect;
21
-
22
- export default async function globalSetup() {
23
- process.env[toolboxEnvSettingKeys.appEnv] = "test";
24
- await initInternalResourceMetasCacheFromJson();
25
- }
1
+ import { test as base, PlaywrightTestArgs, PlaywrightWorkerArgs, TestType } from "playwright/test";
2
+ import { initInternalResourceMetasCacheFromJson } from "@fernir2/saas-kit/server";
3
+ import { toolboxEnvSettingKeys } from "@fernir2/saas-kit";
4
+
5
+ export type WorkerArgs = PlaywrightWorkerArgs & { metaInitialized: void };
6
+ export type TestArgs = PlaywrightTestArgs;
7
+
8
+ export const test: TestType<TestArgs, WorkerArgs> = base.extend({
9
+ metaInitialized: [
10
+ // Approved
11
+ // eslint-disable-next-line no-empty-pattern
12
+ async ({}, use: () => Promise<void>) => {
13
+ initInternalResourceMetasCacheFromJson();
14
+ await use();
15
+ },
16
+ { scope: "worker", auto: true },
17
+ ],
18
+ });
19
+
20
+ export const expect = test.expect;
21
+
22
+ export default async function globalSetup() {
23
+ process.env[toolboxEnvSettingKeys.appEnv] = "test";
24
+ initInternalResourceMetasCacheFromJson();
25
+ }
package/cli/tsconfig.json CHANGED
@@ -1,65 +1,28 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2023",
4
- "experimentalDecorators": true,
5
- "emitDecoratorMetadata": true,
6
- "lib": ["ES2023", "dom", "dom.iterable"],
7
- "allowJs": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "esModuleInterop": true,
11
-
12
- "module": "esnext",
13
- "moduleResolution": "bundler",
14
-
15
- "resolveJsonModule": true,
16
- "isolatedModules": true,
17
- "jsx": "preserve",
18
- "incremental": true,
19
- "plugins": [{ "name": "next" }],
20
-
21
- "baseUrl": "./",
22
- "preserveSymlinks": false,
23
- "paths": {
24
- "@/*": ["./src/*"],
25
- "@cli/*": ["./cli/*"],
26
- "@adders/*": ["./adders/*"],
27
- "@server/*": ["./server/*"],
28
- "@schemas/*": ["./generated/*"],
29
- "@npm-commands/*": ["./npm-commands/*"],
30
- "@root/*": ["./*"]
31
- },
32
-
33
- "forceConsistentCasingInFileNames": true,
34
- "noFallthroughCasesInSwitch": true,
35
- "sourceMap": true,
36
- "importHelpers": true,
37
- "noEmitHelpers": true,
38
- "downlevelIteration": true,
39
- "pretty": true,
40
- "noUnusedLocals": true,
41
- "noUnusedParameters": true,
42
- "noPropertyAccessFromIndexSignature": true,
43
- "noImplicitOverride": true,
44
- "useUnknownInCatchVariables": true,
45
-
46
- "noEmit": false,
47
- "declaration": true,
48
- "declarationDir": "./build/package/types",
49
- "rootDir": "./",
50
- "outDir": "./build/package/types-output",
51
- "noEmitOnError": true
52
- },
53
- "include": [
54
- "src",
55
- "cli",
56
- "server",
57
- "adders",
58
- "generated",
59
- "next-env.d.ts",
60
- "global.d.ts",
61
- ".next/types/**/*.ts",
62
- "playwright.config.ts"
63
- ],
64
- "exclude": ["node_modules", "dist", "build", ".next", "coverage"]
65
- }
1
+ {
2
+ "extends": "@fernir2/saas-kit/cli/configs/tsconfig.cli.json",
3
+ "compilerOptions": {
4
+ "rootDir": "./",
5
+ "baseUrl": "./",
6
+ "paths": {
7
+ "@/*": ["./src/*"],
8
+ "@cli/*": ["./cli/*"],
9
+ "@adders/*": ["./adders/*"],
10
+ "@server/*": ["./server/*"],
11
+ "@schemas/*": ["./generated/*"],
12
+ "@npm-commands/*": ["./npm-commands/*"],
13
+ "@root/*": ["./*"]
14
+ }
15
+ },
16
+ "include": [
17
+ "src",
18
+ "cli",
19
+ "server",
20
+ "adders",
21
+ "generated",
22
+ "next-env.d.ts",
23
+ "global.d.ts",
24
+ ".next/types/**/*.ts",
25
+ "playwright.config.ts"
26
+ ],
27
+ "exclude": ["node_modules", "dist", "build", ".next", "coverage"]
28
+ }
@@ -1,14 +1,17 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "module": "es2022",
5
- "moduleResolution": "bundler",
6
- "outDir": "dist",
7
- "lib": ["ES2022", "dom"],
8
- "target": "ES2022",
9
- "isolatedModules": false,
10
- "noEmit": false,
11
- "strict": true
12
- },
13
- "include": ["server.ts"]
14
- }
1
+ {
2
+ "extends": "@fernir2/saas-kit/cli/configs/tsconfig.server.json",
3
+ "compilerOptions": {
4
+ "rootDir": "./",
5
+ "baseUrl": "./",
6
+ "paths": {
7
+ "@/*": ["./src/*"],
8
+ "@cli/*": ["./cli/*"],
9
+ "@adders/*": ["./adders/*"],
10
+ "@server/*": ["./server/*"],
11
+ "@schemas/*": ["./generated/*"],
12
+ "@npm-commands/*": ["./npm-commands/*"],
13
+ "@root/*": ["./*"]
14
+ }
15
+ },
16
+ "include": ["server.ts"]
17
+ }
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+ 'use strict';
3
+
4
+ var baseApi = require('./base-api.cjs.js');
5
+ var apiPaths = require('./api-paths.cjs.js');
6
+ var odatas = require('../odata/odatas.cjs.js');
7
+ var tokens = require('../auth/tokens.cjs.js');
8
+ var headerNames = require('../constants/header-names.cjs.js');
9
+ var httpConstants = require('../http/http-constants.cjs.js');
10
+
11
+ var __defProp=Object['defineProperty'],__name=(_0x3cd9c0,_0x35654c)=>__defProp(_0x3cd9c0,'name',{'value':_0x35654c,'configurable':!![]});async function apiGet(_0xf447a8,_0x2a6516,_0x2a1957,_0x3e1ceb){const _0x4089f7=apiPaths.getApiPath(_0xf447a8,_0x2a6516,_0x2a1957);return baseApi.apiBaseGet(_0x4089f7,getApiHeaders(_0x3e1ceb));}__name(apiGet,'apiGet');async function apiGetBlob(_0xa91239,_0x1668de,_0xf3e34e,_0x36f9e8){const _0x52ee99=apiPaths.getApiPath(_0xa91239,_0x1668de,_0xf3e34e);return baseApi.apiBaseGetBlob(_0x52ee99,getApiHeaders(_0x36f9e8,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x54859f,_0x46ace9,_0x209483){const _0x58291c=odatas.getODataParams(_0x46ace9);return apiGet(_0x54859f,_0x209483,_0x58291c);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x276be6,_0x5c625e,_0x53c66f){const _0x114f1f=apiPaths.getApiPath(_0x276be6);return baseApi.postBaseApi(_0x114f1f,_0x5c625e,getApiHeaders(_0x53c66f));}__name(apiPost,'apiPost');async function apiPostFile(_0x25c38b,_0x3d20ae,_0x551417){const _0x48c761=apiPaths.getApiPath(_0x25c38b),_0x1cf3d8=await fetch(_0x48c761,{'method':httpConstants.httpMethods['post'],'body':_0x3d20ae,'headers':getApiHeaders(_0x551417,!![])});return baseApi.baseApiHandleResponse(_0x1cf3d8);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x1fd1ef,_0x30d33c,_0x57b01a){const _0x5f35dc=apiPaths.getApiPath(_0x1fd1ef);return baseApi.putBaseApi(_0x5f35dc,_0x30d33c,getApiHeaders(_0x57b01a));}__name(apiPut,'apiPut');async function apiDelete(_0x2c9176,_0x1f01d2,_0x255d2c){const _0x18793d=apiPaths.getApiPath(_0x2c9176,_0x1f01d2);return baseApi.deleteBaseApi(_0x18793d,getApiHeaders(_0x255d2c));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x3cbfaa,_0x1a6800=![]){const _0xfdeba1=_0x3cbfaa??new Headers(),_0x26f6c5=tokens.getAuthToken();return (!_0xfdeba1['get'](headerNames.headerNames['authHeaderName'])||_0xfdeba1['get'](headerNames.headerNames['authHeaderName'])==='')&&_0x26f6c5&&_0xfdeba1['set'](headerNames.headerNames['authHeaderName'],headerNames.headerNames['authHeaderValuePrefix']+_0x26f6c5),!_0x1a6800&&!_0xfdeba1['get'](headerNames.httpContentTypes['contentTypeHeaderName'])&&_0xfdeba1['set'](headerNames.httpContentTypes['contentTypeHeaderName'],headerNames.httpContentTypes['contentTypeHeaderValue']),_0xfdeba1;}__name(getApiHeaders,'getApiHeaders');
12
+
13
+ exports.apiDelete = apiDelete;
14
+ exports.apiGet = apiGet;
15
+ exports.apiGetBlob = apiGetBlob;
16
+ exports.apiGetWithOData = apiGetWithOData;
17
+ exports.apiPost = apiPost;
18
+ exports.apiPostFile = apiPostFile;
19
+ exports.apiPut = apiPut;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+ import { apiBaseGet, apiBaseGetBlob, postBaseApi, baseApiHandleResponse, putBaseApi, deleteBaseApi } from './base-api.js';
3
+ import { getApiPath } from './api-paths.js';
4
+ import { getODataParams } from '../odata/odatas.js';
5
+ import { getAuthToken } from '../auth/tokens.js';
6
+ import { headerNames, httpContentTypes } from '../constants/header-names.js';
7
+ import { httpMethods } from '../http/http-constants.js';
8
+
9
+ var __defProp=Object['defineProperty'],__name=(_0x3cd9c0,_0x35654c)=>__defProp(_0x3cd9c0,'name',{'value':_0x35654c,'configurable':!![]});async function apiGet(_0xf447a8,_0x2a6516,_0x2a1957,_0x3e1ceb){const _0x4089f7=getApiPath(_0xf447a8,_0x2a6516,_0x2a1957);return apiBaseGet(_0x4089f7,getApiHeaders(_0x3e1ceb));}__name(apiGet,'apiGet');async function apiGetBlob(_0xa91239,_0x1668de,_0xf3e34e,_0x36f9e8){const _0x52ee99=getApiPath(_0xa91239,_0x1668de,_0xf3e34e);return apiBaseGetBlob(_0x52ee99,getApiHeaders(_0x36f9e8,!![]));}__name(apiGetBlob,'apiGetBlob');async function apiGetWithOData(_0x54859f,_0x46ace9,_0x209483){const _0x58291c=getODataParams(_0x46ace9);return apiGet(_0x54859f,_0x209483,_0x58291c);}__name(apiGetWithOData,'apiGetWithOData');async function apiPost(_0x276be6,_0x5c625e,_0x53c66f){const _0x114f1f=getApiPath(_0x276be6);return postBaseApi(_0x114f1f,_0x5c625e,getApiHeaders(_0x53c66f));}__name(apiPost,'apiPost');async function apiPostFile(_0x25c38b,_0x3d20ae,_0x551417){const _0x48c761=getApiPath(_0x25c38b),_0x1cf3d8=await fetch(_0x48c761,{'method':httpMethods['post'],'body':_0x3d20ae,'headers':getApiHeaders(_0x551417,!![])});return baseApiHandleResponse(_0x1cf3d8);}__name(apiPostFile,'apiPostFile');async function apiPut(_0x1fd1ef,_0x30d33c,_0x57b01a){const _0x5f35dc=getApiPath(_0x1fd1ef);return putBaseApi(_0x5f35dc,_0x30d33c,getApiHeaders(_0x57b01a));}__name(apiPut,'apiPut');async function apiDelete(_0x2c9176,_0x1f01d2,_0x255d2c){const _0x18793d=getApiPath(_0x2c9176,_0x1f01d2);return deleteBaseApi(_0x18793d,getApiHeaders(_0x255d2c));}__name(apiDelete,'apiDelete');function getApiHeaders(_0x3cbfaa,_0x1a6800=![]){const _0xfdeba1=_0x3cbfaa??new Headers(),_0x26f6c5=getAuthToken();return (!_0xfdeba1['get'](headerNames['authHeaderName'])||_0xfdeba1['get'](headerNames['authHeaderName'])==='')&&_0x26f6c5&&_0xfdeba1['set'](headerNames['authHeaderName'],headerNames['authHeaderValuePrefix']+_0x26f6c5),!_0x1a6800&&!_0xfdeba1['get'](httpContentTypes['contentTypeHeaderName'])&&_0xfdeba1['set'](httpContentTypes['contentTypeHeaderName'],httpContentTypes['contentTypeHeaderValue']),_0xfdeba1;}__name(getApiHeaders,'getApiHeaders');
10
+
11
+ export { apiDelete, apiGet, apiGetBlob, apiGetWithOData, apiPost, apiPostFile, apiPut };
@@ -2,8 +2,8 @@
2
2
  'use strict';
3
3
 
4
4
  var resourceNames = require('../resources/resource-names.cjs.js');
5
- var _0x1d92c9 = require('path');
5
+ var _0x291acf = require('path');
6
6
 
7
- const hint=resourceNames.resourceNames['hint']['toLowerCase'](),subscription=resourceNames.resourceNames['subscription']['toLowerCase'](),payment=resourceNames.resourceNames['payment']['toLowerCase']();const apiPathNames={'hint':hint,'meta':'meta','uiMetas':'uimetas','uiMeta':'uimeta','login':'account/login','token':'connect/token','logout':'account/logout','getOne':_0x1d92c9.join(hint,'getone'),'user':'user','preLoad':'preload','userPermission':'userpermission','otherUser':'otheruser','person':'person','friend':'friend','relation':'relation','log':'log','version':'version','markdownRender':'markdown/render','forgotPassword':'password/forgotpassword','resetPassword':'password/resetpassword','editPassword':'password/editpassword','payment':payment,'paymentVerifyFail':_0x1d92c9.join(payment,'verify-fail'),'paymentVerifySuccess':_0x1d92c9.join(payment,'verify-success'),'paymentMethod':_0x1d92c9.join(payment,'method'),'subscription':subscription,'cancelSubscription':_0x1d92c9.join(subscription,'cancel'),'updateSubscription':_0x1d92c9.join(subscription,'update'),'createSubscription':_0x1d92c9.join(subscription,'create'),'paymentPlan':'paymentplan','feature':'feature','paymentPlanFeature':'paymentplanfeature','markdown':'markdown','searchResult':'searchresult','searchableResource':'searchable-resources','search':'search','blob':'blob','statusBoard':'statusboard','aiScan':'lm/ai-scan','changeWorkspace':'workspace/change','visibleWorkspace':'visible-workspace','test':'test','testData':'test/data'};
7
+ const hint=resourceNames.resourceNames['hint']['toLowerCase'](),subscription=resourceNames.resourceNames['subscription']['toLowerCase'](),payment=resourceNames.resourceNames['payment']['toLowerCase']();const apiPathNames={'hint':hint,'meta':'meta','uiMetas':'uimetas','uiMeta':'uimeta','login':'account/login','token':'connect/token','logout':'account/logout','getOne':_0x291acf.join(hint,'getone'),'user':'user','preLoad':'preload','userPermission':'userpermission','otherUser':'otheruser','person':'person','friend':'friend','relation':'relation','log':'log','version':'version','markdownRender':'markdown/render','forgotPassword':'password/forgotpassword','resetPassword':'password/resetpassword','editPassword':'password/editpassword','payment':payment,'paymentVerifyFail':_0x291acf.join(payment,'verify-fail'),'paymentVerifySuccess':_0x291acf.join(payment,'verify-success'),'paymentMethod':_0x291acf.join(payment,'method'),'subscription':subscription,'cancelSubscription':_0x291acf.join(subscription,'cancel'),'updateSubscription':_0x291acf.join(subscription,'update'),'createSubscription':_0x291acf.join(subscription,'create'),'paymentPlan':'paymentplan','feature':'feature','paymentPlanFeature':'paymentplanfeature','markdown':'markdown','searchResult':'searchresult','searchableResource':'searchable-resources','search':'search','blob':'blob','statusBoard':'statusboard','aiScan':'lm/ai-scan','changeWorkspace':'workspace/change','visibleWorkspace':'visible-workspace','test':'test','testData':'test/data'};
8
8
 
9
9
  exports.apiPathNames = apiPathNames;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+ 'use strict';
3
+
4
+ var urls = require('../http/url/urls.cjs.js');
5
+ var paths = require('../routing/paths.cjs.js');
6
+
7
+ var __defProp=Object['defineProperty'],__name=(_0x3d60b2,_0x3b0cfa)=>__defProp(_0x3d60b2,'name',{'value':_0x3b0cfa,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x2ba2ac,_0x2be87b,_0x2c6bef){let _0xcd646e=urls.combineEndpointPath(apiPrefix,_0x2ba2ac);return _0x2be87b&&(_0xcd646e=urls.combineEndpointPath(_0xcd646e,_0x2be87b)),_0xcd646e=paths.addQueryParamsToPath(_0xcd646e,_0x2c6bef),new URL(_0xcd646e,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
8
+
9
+ exports.getApiPath = getApiPath;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+ import { combineEndpointPath } from '../http/url/urls.js';
3
+ import { addQueryParamsToPath } from '../routing/paths.js';
4
+
5
+ var __defProp=Object['defineProperty'],__name=(_0x3d60b2,_0x3b0cfa)=>__defProp(_0x3d60b2,'name',{'value':_0x3b0cfa,'configurable':!![]});const apiPrefix='api';function getApiPath(_0x2ba2ac,_0x2be87b,_0x2c6bef){let _0xcd646e=combineEndpointPath(apiPrefix,_0x2ba2ac);return _0x2be87b&&(_0xcd646e=combineEndpointPath(_0xcd646e,_0x2be87b)),_0xcd646e=addQueryParamsToPath(_0xcd646e,_0x2c6bef),new URL(_0xcd646e,getBaseUrl())['href'];}__name(getApiPath,'getApiPath');function getBaseUrl(){return location['protocol']+'//'+location['hostname']+':'+location['port']+'/';}__name(getBaseUrl,'getBaseUrl');
6
+
7
+ export { getApiPath };
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+ 'use strict';
3
+
4
+ var errorHandler = require('../errors/error-handler.cjs.js');
5
+ var httpConstants = require('../http/http-constants.cjs.js');
6
+ var problemDetails = require('../errors/problem-details.cjs.js');
7
+ var httpStatusCodes = require('../constants/http-status-codes.cjs.js');
8
+ var loginRouters = require('../routing/login-routers.cjs.js');
9
+ var loginStates = require('../auth/login-states.cjs.js');
10
+ var environments = require('../lib/environments.cjs.js');
11
+ var utils = require('../lib/utils.cjs.js');
12
+
13
+ var __defProp=Object['defineProperty'],__name=(_0x2b0314,_0xa82479)=>__defProp(_0x2b0314,'name',{'value':_0xa82479,'configurable':!![]});async function apiBaseGet(_0x4a269b,_0x37c0cc){const _0x169eea=await fetch(_0x4a269b,{'method':httpConstants.httpMethods['get'],'headers':_0x37c0cc});return baseApiHandleResponse(_0x169eea);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x2789da,_0x1f800c){const _0x342d22=await fetch(_0x2789da,{'method':httpConstants.httpMethods['get'],'headers':_0x1f800c});return baseApiHandleBlobResponse(_0x342d22);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x34266f,_0xe9aa0,_0x62f3a8){const _0x2c4513=await fetch(_0x34266f,{'method':httpConstants.httpMethods['post'],'headers':_0x62f3a8,'body':_0xe9aa0 instanceof URLSearchParams?_0xe9aa0:JSON['stringify'](_0xe9aa0)});return baseApiHandleResponse(_0x2c4513);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x30adb9,_0x179e7b,_0x248e09){const _0x2b7129=await fetch(_0x30adb9,{'method':httpConstants.httpMethods['put'],'headers':_0x248e09,'body':JSON['stringify'](_0x179e7b)});return baseApiHandleResponse(_0x2b7129);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x1c4bf3,_0x3f4078){const _0x1cacf7=await fetch(_0x1c4bf3,{'method':httpConstants.httpMethods['delete'],'headers':_0x3f4078});if(!_0x1cacf7['ok'])handleErrorResponse(_0x1cacf7);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x1a0c34){const _0x53f198=_0x1a0c34['headers']['get']('content-type'),_0x9adad1=_0x53f198?.['includes']('application/json');isUnauthorizedError(_0x1a0c34['status'])&&(loginStates.removeLoginState(),loginRouters.goToLogin());if(!_0x1a0c34['ok'])return handleErrorResponse(_0x1a0c34);if(_0x1a0c34['status']===httpStatusCodes.httpStatusCodes['noContent']||!_0x9adad1)return null;return utils.getJsonFromResponse(_0x1a0c34);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x23aa3b){isUnauthorizedError(_0x23aa3b['status'])&&loginRouters.goToLogin();if(!_0x23aa3b['ok']){const _0x39d810=await handleErrorResponse(_0x23aa3b);return _0x39d810;}if(_0x23aa3b['status']===httpStatusCodes.httpStatusCodes['noContent'])return null;const _0x6e281b=await _0x23aa3b['blob']();return _0x6e281b;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x5665bb){const _0x39e0f4=_0x5665bb['headers']['get']('content-type'),_0x90b6ea=_0x39e0f4?.['includes']('application/json');let _0xeba960='',_0x25f815='';if(_0x90b6ea){const _0x712e8f=await utils.getJsonFromResponse(_0x5665bb);_0xeba960=_0x712e8f?.['message'],_0x25f815=_0x712e8f?.['description']||'';}_0xeba960=_0xeba960?_0xeba960:_0x5665bb['statusText'];const _0x34df13={'status':_0x5665bb['status'],'message':_0xeba960},_0x13e7f4={'originalUrl':_0x5665bb['url']};return _0x5665bb['status']!==httpStatusCodes.httpStatusCodes['unauthorized']&&errorHandler.logAndNotify(new Error(_0xeba960)),problemDetails.getProblemDetails(_0x34df13,_0x13e7f4,_0x25f815);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x4eb32d){return _0x4eb32d===httpStatusCodes.httpStatusCodes['unauthorized']&&environments.isBrowser()&&window['location']['pathname']!==loginRouters.getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
14
+
15
+ exports.apiBaseGet = apiBaseGet;
16
+ exports.apiBaseGetBlob = apiBaseGetBlob;
17
+ exports.baseApiHandleBlobResponse = baseApiHandleBlobResponse;
18
+ exports.baseApiHandleResponse = baseApiHandleResponse;
19
+ exports.deleteBaseApi = deleteBaseApi;
20
+ exports.handleErrorResponse = handleErrorResponse;
21
+ exports.postBaseApi = postBaseApi;
22
+ exports.putBaseApi = putBaseApi;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+ import { logAndNotify } from '../errors/error-handler.js';
3
+ import { httpMethods } from '../http/http-constants.js';
4
+ import { getProblemDetails } from '../errors/problem-details.js';
5
+ import { httpStatusCodes } from '../constants/http-status-codes.js';
6
+ import { goToLogin, getRelativeLoginUrl } from '../routing/login-routers.js';
7
+ import { removeLoginState } from '../auth/login-states.js';
8
+ import { isBrowser } from '../lib/environments.js';
9
+ import { getJsonFromResponse } from '../lib/utils.js';
10
+
11
+ var __defProp=Object['defineProperty'],__name=(_0x2b0314,_0xa82479)=>__defProp(_0x2b0314,'name',{'value':_0xa82479,'configurable':!![]});async function apiBaseGet(_0x4a269b,_0x37c0cc){const _0x169eea=await fetch(_0x4a269b,{'method':httpMethods['get'],'headers':_0x37c0cc});return baseApiHandleResponse(_0x169eea);}__name(apiBaseGet,'apiBaseGet');async function apiBaseGetBlob(_0x2789da,_0x1f800c){const _0x342d22=await fetch(_0x2789da,{'method':httpMethods['get'],'headers':_0x1f800c});return baseApiHandleBlobResponse(_0x342d22);}__name(apiBaseGetBlob,'apiBaseGetBlob');async function postBaseApi(_0x34266f,_0xe9aa0,_0x62f3a8){const _0x2c4513=await fetch(_0x34266f,{'method':httpMethods['post'],'headers':_0x62f3a8,'body':_0xe9aa0 instanceof URLSearchParams?_0xe9aa0:JSON['stringify'](_0xe9aa0)});return baseApiHandleResponse(_0x2c4513);}__name(postBaseApi,'postBaseApi');async function putBaseApi(_0x30adb9,_0x179e7b,_0x248e09){const _0x2b7129=await fetch(_0x30adb9,{'method':httpMethods['put'],'headers':_0x248e09,'body':JSON['stringify'](_0x179e7b)});return baseApiHandleResponse(_0x2b7129);}__name(putBaseApi,'putBaseApi');async function deleteBaseApi(_0x1c4bf3,_0x3f4078){const _0x1cacf7=await fetch(_0x1c4bf3,{'method':httpMethods['delete'],'headers':_0x3f4078});if(!_0x1cacf7['ok'])handleErrorResponse(_0x1cacf7);}__name(deleteBaseApi,'deleteBaseApi');async function baseApiHandleResponse(_0x1a0c34){const _0x53f198=_0x1a0c34['headers']['get']('content-type'),_0x9adad1=_0x53f198?.['includes']('application/json');isUnauthorizedError(_0x1a0c34['status'])&&(removeLoginState(),goToLogin());if(!_0x1a0c34['ok'])return handleErrorResponse(_0x1a0c34);if(_0x1a0c34['status']===httpStatusCodes['noContent']||!_0x9adad1)return null;return getJsonFromResponse(_0x1a0c34);}__name(baseApiHandleResponse,'baseApiHandleResponse');async function baseApiHandleBlobResponse(_0x23aa3b){isUnauthorizedError(_0x23aa3b['status'])&&goToLogin();if(!_0x23aa3b['ok']){const _0x39d810=await handleErrorResponse(_0x23aa3b);return _0x39d810;}if(_0x23aa3b['status']===httpStatusCodes['noContent'])return null;const _0x6e281b=await _0x23aa3b['blob']();return _0x6e281b;}__name(baseApiHandleBlobResponse,'baseApiHandleBlobResponse');async function handleErrorResponse(_0x5665bb){const _0x39e0f4=_0x5665bb['headers']['get']('content-type'),_0x90b6ea=_0x39e0f4?.['includes']('application/json');let _0xeba960='',_0x25f815='';if(_0x90b6ea){const _0x712e8f=await getJsonFromResponse(_0x5665bb);_0xeba960=_0x712e8f?.['message'],_0x25f815=_0x712e8f?.['description']||'';}_0xeba960=_0xeba960?_0xeba960:_0x5665bb['statusText'];const _0x34df13={'status':_0x5665bb['status'],'message':_0xeba960},_0x13e7f4={'originalUrl':_0x5665bb['url']};return _0x5665bb['status']!==httpStatusCodes['unauthorized']&&logAndNotify(new Error(_0xeba960)),getProblemDetails(_0x34df13,_0x13e7f4,_0x25f815);}__name(handleErrorResponse,'handleErrorResponse');function isUnauthorizedError(_0x4eb32d){return _0x4eb32d===httpStatusCodes['unauthorized']&&isBrowser()&&window['location']['pathname']!==getRelativeLoginUrl();}__name(isUnauthorizedError,'isUnauthorizedError');
12
+
13
+ export { apiBaseGet, apiBaseGetBlob, baseApiHandleBlobResponse, baseApiHandleResponse, deleteBaseApi, handleErrorResponse, postBaseApi, putBaseApi };
@@ -7,7 +7,7 @@ var publicFiles = require('../constants/public-files.cjs.js');
7
7
  var extensions = require('../constants/extensions.cjs.js');
8
8
  var sessionStorage = require('./session-storage.cjs.js');
9
9
 
10
- var __defProp=Object['defineProperty'],__name=(_0x54ac3c,_0x45ea61)=>__defProp(_0x54ac3c,'name',{'value':_0x45ea61,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x36ffca){localStorage.setLocalStorage(loginStateKey,_0x36ffca);}__name(setLoginState,'setLoginState');function getLoginState(){return localStorage.getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){localStorage.removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return sessionStorage.getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x284364=(window['location']['pathname']+window['location']['search'])['slice'](-0x1e12+-0x56*0x1a+0x7c3*0x5);sessionStorage.setSessionStorage(afterLoginRedirectUrlKey,_0x284364);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){sessionStorage.removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x435216={'email':'','loggedIn':![],'displayName':'','userId':constants.emptyGuid,'imageUrl':'/'+publicFiles.publicImages['user']+'/'+constants.emptyGuid+'.'+extensions.extensions['webp']};return _0x435216;}__name(getEmptyLoginState,'getEmptyLoginState');
10
+ var __defProp=Object['defineProperty'],__name=(_0x2547e6,_0x43ef8c)=>__defProp(_0x2547e6,'name',{'value':_0x43ef8c,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x52df00){localStorage.setLocalStorage(loginStateKey,_0x52df00);}__name(setLoginState,'setLoginState');function getLoginState(){return localStorage.getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){localStorage.removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return sessionStorage.getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x1d8754=(window['location']['pathname']+window['location']['search'])['slice'](0x283*0xb+-0x3*-0xb87+-0x3e35);sessionStorage.setSessionStorage(afterLoginRedirectUrlKey,_0x1d8754);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){sessionStorage.removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x44af3b={'email':'','loggedIn':![],'displayName':'','userId':constants.emptyGuid,'imageUrl':'/'+publicFiles.publicImages['user']+'/'+constants.emptyGuid+'.'+extensions.extensions['webp']};return _0x44af3b;}__name(getEmptyLoginState,'getEmptyLoginState');
11
11
 
12
12
  exports.getAfterLoginRedirectUrl = getAfterLoginRedirectUrl;
13
13
  exports.getLoginState = getLoginState;
@@ -5,6 +5,6 @@ import { publicImages } from '../constants/public-files.js';
5
5
  import { extensions } from '../constants/extensions.js';
6
6
  import { getSessionStorage, setSessionStorage, removeSessionStorage } from './session-storage.js';
7
7
 
8
- var __defProp=Object['defineProperty'],__name=(_0x54ac3c,_0x45ea61)=>__defProp(_0x54ac3c,'name',{'value':_0x45ea61,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x36ffca){setLocalStorage(loginStateKey,_0x36ffca);}__name(setLoginState,'setLoginState');function getLoginState(){return getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x284364=(window['location']['pathname']+window['location']['search'])['slice'](-0x1e12+-0x56*0x1a+0x7c3*0x5);setSessionStorage(afterLoginRedirectUrlKey,_0x284364);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x435216={'email':'','loggedIn':![],'displayName':'','userId':emptyGuid,'imageUrl':'/'+publicImages['user']+'/'+emptyGuid+'.'+extensions['webp']};return _0x435216;}__name(getEmptyLoginState,'getEmptyLoginState');
8
+ var __defProp=Object['defineProperty'],__name=(_0x2547e6,_0x43ef8c)=>__defProp(_0x2547e6,'name',{'value':_0x43ef8c,'configurable':!![]});const loginStateKey='LoginState',afterLoginRedirectUrlKey='AfterLoginRedirectUrl';function isLoggedIn(){return getLoginState()['loggedIn'];}__name(isLoggedIn,'isLoggedIn');function setLoginState(_0x52df00){setLocalStorage(loginStateKey,_0x52df00);}__name(setLoginState,'setLoginState');function getLoginState(){return getLocalStorage(loginStateKey)??getEmptyLoginState();}__name(getLoginState,'getLoginState');function removeLoginState(){removeLocalStorage(loginStateKey);}__name(removeLoginState,'removeLoginState');function getAfterLoginRedirectUrl(){return getSessionStorage(afterLoginRedirectUrlKey);}__name(getAfterLoginRedirectUrl,'getAfterLoginRedirectUrl');function setAfterLoginRedirectUrl(){const _0x1d8754=(window['location']['pathname']+window['location']['search'])['slice'](0x283*0xb+-0x3*-0xb87+-0x3e35);setSessionStorage(afterLoginRedirectUrlKey,_0x1d8754);}__name(setAfterLoginRedirectUrl,'setAfterLoginRedirectUrl');function removeAfterLoginRedirectUrl(){removeSessionStorage(afterLoginRedirectUrlKey);}__name(removeAfterLoginRedirectUrl,'removeAfterLoginRedirectUrl');function getEmptyLoginState(){const _0x44af3b={'email':'','loggedIn':![],'displayName':'','userId':emptyGuid,'imageUrl':'/'+publicImages['user']+'/'+emptyGuid+'.'+extensions['webp']};return _0x44af3b;}__name(getEmptyLoginState,'getEmptyLoginState');
9
9
 
10
10
  export { getAfterLoginRedirectUrl, getLoginState, isLoggedIn, removeAfterLoginRedirectUrl, removeLoginState, setAfterLoginRedirectUrl, setLoginState };
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ 'use strict';
3
+
4
+ var environments = require('../lib/environments.cjs.js');
5
+ var utils = require('../lib/utils.cjs.js');
6
+
7
+ var __defProp=Object['defineProperty'],__name=(_0x3562b2,_0x4482f2)=>__defProp(_0x3562b2,'name',{'value':_0x4482f2,'configurable':!![]});function sessionStorageGetAsString(_0x24dec4){if(environments.isBrowser()){const _0x2b2484=sessionStorage['getItem'](_0x24dec4);return _0x2b2484??void(-0xa17+-0x1dd3*0x1+0x27ea);}return void(0x2*0x7c7+0x337*-0xb+0x13cf);}__name(sessionStorageGetAsString,'sessionStorageGetAsString');function getSessionStorage(_0x1e7eb7){const _0x537a1a=sessionStorageGetAsString(_0x1e7eb7);return _0x537a1a?utils.parseJson(_0x537a1a):void(0x202c+-0x6*0x1ca+-0x1570);}__name(getSessionStorage,'getSessionStorage');function setSessionStorage(_0x478793,_0x7d0faf){if(_0x7d0faf===void(-0x1266+-0x11b0+-0x2*-0x120b))return;sessionStorage['setItem'](_0x478793,JSON['stringify'](_0x7d0faf));}__name(setSessionStorage,'setSessionStorage');function removeSessionStorage(_0x200fa1){sessionStorage['removeItem'](_0x200fa1);}__name(removeSessionStorage,'removeSessionStorage');
8
+
9
+ exports.getSessionStorage = getSessionStorage;
10
+ exports.removeSessionStorage = removeSessionStorage;
11
+ exports.sessionStorageGetAsString = sessionStorageGetAsString;
12
+ exports.setSessionStorage = setSessionStorage;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+ import { isBrowser } from '../lib/environments.js';
3
+ import { parseJson } from '../lib/utils.js';
4
+
5
+ var __defProp=Object['defineProperty'],__name=(_0x3562b2,_0x4482f2)=>__defProp(_0x3562b2,'name',{'value':_0x4482f2,'configurable':!![]});function sessionStorageGetAsString(_0x24dec4){if(isBrowser()){const _0x2b2484=sessionStorage['getItem'](_0x24dec4);return _0x2b2484??void(-0xa17+-0x1dd3*0x1+0x27ea);}return void(0x2*0x7c7+0x337*-0xb+0x13cf);}__name(sessionStorageGetAsString,'sessionStorageGetAsString');function getSessionStorage(_0x1e7eb7){const _0x537a1a=sessionStorageGetAsString(_0x1e7eb7);return _0x537a1a?parseJson(_0x537a1a):void(0x202c+-0x6*0x1ca+-0x1570);}__name(getSessionStorage,'getSessionStorage');function setSessionStorage(_0x478793,_0x7d0faf){if(_0x7d0faf===void(-0x1266+-0x11b0+-0x2*-0x120b))return;sessionStorage['setItem'](_0x478793,JSON['stringify'](_0x7d0faf));}__name(setSessionStorage,'setSessionStorage');function removeSessionStorage(_0x200fa1){sessionStorage['removeItem'](_0x200fa1);}__name(removeSessionStorage,'removeSessionStorage');
6
+
7
+ export { getSessionStorage, removeSessionStorage, sessionStorageGetAsString, setSessionStorage };