nextly 0.0.1 → 0.0.2-alpha.0

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 (268) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +122 -0
  3. package/dist/_dts-chunks/collections-handler.d-DjgO74Wt.d.ts +20540 -0
  4. package/dist/_dts-chunks/config.d-DNwsDnjs.d.ts +2589 -0
  5. package/dist/_dts-chunks/define-component.d-BUgTHmt3.d.ts +1149 -0
  6. package/dist/_dts-chunks/image-processor.d-OO1PmMrv.d.ts +335 -0
  7. package/dist/_dts-chunks/index.d-axCAzZ7m.d.ts +17842 -0
  8. package/dist/_dts-chunks/media.d-DjDOZo4B.d.ts +117 -0
  9. package/dist/_dts-chunks/on-error.d-CHIKWNxd.d.ts +38 -0
  10. package/dist/_dts-chunks/storage.d-BUhQ2we_.d.ts +404 -0
  11. package/dist/actions/index.d.ts +239 -0
  12. package/dist/actions/index.mjs +281 -0
  13. package/dist/api/auth-state.d.ts +5 -0
  14. package/dist/api/auth-state.mjs +131 -0
  15. package/dist/api/collections-schema-detail.d.ts +56 -0
  16. package/dist/api/collections-schema-detail.mjs +244 -0
  17. package/dist/api/collections-schema-export.d.ts +56 -0
  18. package/dist/api/collections-schema-export.mjs +129 -0
  19. package/dist/api/collections-schema.d.ts +59 -0
  20. package/dist/api/collections-schema.mjs +207 -0
  21. package/dist/api/components-detail.d.ts +50 -0
  22. package/dist/api/components-detail.mjs +132 -0
  23. package/dist/api/components.d.ts +69 -0
  24. package/dist/api/components.mjs +144 -0
  25. package/dist/api/email-providers-default.d.ts +40 -0
  26. package/dist/api/email-providers-default.mjs +75 -0
  27. package/dist/api/email-providers-detail.d.ts +81 -0
  28. package/dist/api/email-providers-detail.mjs +109 -0
  29. package/dist/api/email-providers-test.d.ts +43 -0
  30. package/dist/api/email-providers-test.mjs +114 -0
  31. package/dist/api/email-providers.d.ts +69 -0
  32. package/dist/api/email-providers.mjs +110 -0
  33. package/dist/api/email-send-template.d.ts +41 -0
  34. package/dist/api/email-send-template.mjs +58 -0
  35. package/dist/api/email-send.d.ts +42 -0
  36. package/dist/api/email-send.mjs +58 -0
  37. package/dist/api/email-templates-detail.d.ts +74 -0
  38. package/dist/api/email-templates-detail.mjs +112 -0
  39. package/dist/api/email-templates-layout.d.ts +55 -0
  40. package/dist/api/email-templates-layout.mjs +92 -0
  41. package/dist/api/email-templates-preview.d.ts +48 -0
  42. package/dist/api/email-templates-preview.mjs +93 -0
  43. package/dist/api/email-templates.d.ts +61 -0
  44. package/dist/api/email-templates.mjs +118 -0
  45. package/dist/api/health.d.ts +68 -0
  46. package/dist/api/health.mjs +67 -0
  47. package/dist/api/index.d.ts +54 -0
  48. package/dist/api/index.mjs +16 -0
  49. package/dist/api/media-bulk.d.ts +74 -0
  50. package/dist/api/media-bulk.mjs +196 -0
  51. package/dist/api/media-folders.d.ts +112 -0
  52. package/dist/api/media-folders.mjs +187 -0
  53. package/dist/api/media-handlers.d.ts +102 -0
  54. package/dist/api/media-handlers.mjs +437 -0
  55. package/dist/api/media.d.ts +117 -0
  56. package/dist/api/media.mjs +242 -0
  57. package/dist/api/singles-detail.d.ts +87 -0
  58. package/dist/api/singles-detail.mjs +170 -0
  59. package/dist/api/singles-schema-detail.d.ts +54 -0
  60. package/dist/api/singles-schema-detail.mjs +182 -0
  61. package/dist/api/singles.d.ts +34 -0
  62. package/dist/api/singles.mjs +94 -0
  63. package/dist/api/storage-upload-url.d.ts +48 -0
  64. package/dist/api/storage-upload-url.mjs +202 -0
  65. package/dist/api/uploads.d.ts +109 -0
  66. package/dist/api/uploads.mjs +359 -0
  67. package/dist/auth/index.d.ts +425 -0
  68. package/dist/auth/index.mjs +199 -0
  69. package/dist/boot-apply-PQSYLDIN.mjs +7 -0
  70. package/dist/chunk-2OALJTK6.mjs +489 -0
  71. package/dist/chunk-2Q2SX2CS.mjs +365 -0
  72. package/dist/chunk-2TFX4ND3.mjs +13 -0
  73. package/dist/chunk-2TWPDSYD.mjs +87 -0
  74. package/dist/chunk-2W3DVD7S.mjs +647 -0
  75. package/dist/chunk-2ZFKXPQM.mjs +88 -0
  76. package/dist/chunk-3FA7FKAV.mjs +832 -0
  77. package/dist/chunk-3NZ2KMBL.mjs +58 -0
  78. package/dist/chunk-4MJLT6PZ.mjs +0 -0
  79. package/dist/chunk-56WO4WX7.mjs +0 -0
  80. package/dist/chunk-5APFUGAD.mjs +89 -0
  81. package/dist/chunk-5HMZ644B.mjs +108 -0
  82. package/dist/chunk-67GXH6PR.mjs +32 -0
  83. package/dist/chunk-6JNEPWRW.mjs +14368 -0
  84. package/dist/chunk-6NFHQIJD.mjs +45 -0
  85. package/dist/chunk-7P6ASYW6.mjs +9 -0
  86. package/dist/chunk-A3WPLSDT.mjs +1364 -0
  87. package/dist/chunk-AGJ6F2T3.mjs +144 -0
  88. package/dist/chunk-AK6Z23OX.mjs +1464 -0
  89. package/dist/chunk-APKKRD2G.mjs +102 -0
  90. package/dist/chunk-B2GV2BWH.mjs +73 -0
  91. package/dist/chunk-D5HQBNUB.mjs +74 -0
  92. package/dist/chunk-DNNG377Z.mjs +204 -0
  93. package/dist/chunk-DP3G27G5.mjs +135 -0
  94. package/dist/chunk-DV6WVX2Q.mjs +0 -0
  95. package/dist/chunk-DXGGXIUZ.mjs +57 -0
  96. package/dist/chunk-EGXBZCGC.mjs +943 -0
  97. package/dist/chunk-ERCNLX3V.mjs +176 -0
  98. package/dist/chunk-FQULBZ53.mjs +850 -0
  99. package/dist/chunk-G2AA4QLC.mjs +262 -0
  100. package/dist/chunk-GDBJ5JCU.mjs +488 -0
  101. package/dist/chunk-GJNSJU4S.mjs +19 -0
  102. package/dist/chunk-GZ6DCQKC.mjs +69 -0
  103. package/dist/chunk-H26B4FYG.mjs +167 -0
  104. package/dist/chunk-I4JMR3UR.mjs +21 -0
  105. package/dist/chunk-INV7QKLG.mjs +508 -0
  106. package/dist/chunk-IUDOC7N7.mjs +46 -0
  107. package/dist/chunk-IZWPRDC3.mjs +206 -0
  108. package/dist/chunk-KIMNCZGV.mjs +15 -0
  109. package/dist/chunk-L6HW2DA7.mjs +15 -0
  110. package/dist/chunk-LAZXX4HR.mjs +100 -0
  111. package/dist/chunk-LDKCUMHK.mjs +95 -0
  112. package/dist/chunk-LRXMECUA.mjs +0 -0
  113. package/dist/chunk-M52VMPGA.mjs +119 -0
  114. package/dist/chunk-MGUWEEI6.mjs +160 -0
  115. package/dist/chunk-NRUWQ5Z7.mjs +419 -0
  116. package/dist/chunk-NSEFNNU4.mjs +25360 -0
  117. package/dist/chunk-NTHVDFGO.mjs +138 -0
  118. package/dist/chunk-O3QHXMOX.mjs +3166 -0
  119. package/dist/chunk-P7NH2OSC.mjs +2605 -0
  120. package/dist/chunk-PKMABBB5.mjs +184 -0
  121. package/dist/chunk-PWS6XGJK.mjs +76 -0
  122. package/dist/chunk-R6JJQHFC.mjs +20 -0
  123. package/dist/chunk-RJLLGGPG.mjs +0 -0
  124. package/dist/chunk-SBACDPNX.mjs +689 -0
  125. package/dist/chunk-TO5AFLVQ.mjs +124 -0
  126. package/dist/chunk-TS7GHTG2.mjs +5436 -0
  127. package/dist/chunk-UJ2IMJ4W.mjs +133 -0
  128. package/dist/chunk-UOP63Q54.mjs +102 -0
  129. package/dist/chunk-UUOFWCM6.mjs +78 -0
  130. package/dist/chunk-V4EQTOA4.mjs +893 -0
  131. package/dist/chunk-VJ66NCL4.mjs +193 -0
  132. package/dist/chunk-VQJQHVEV.mjs +29 -0
  133. package/dist/chunk-VTJADRO3.mjs +141 -0
  134. package/dist/chunk-VWF3JO32.mjs +0 -0
  135. package/dist/chunk-W4MGXIRR.mjs +27 -0
  136. package/dist/chunk-W5KKPZT5.mjs +1204 -0
  137. package/dist/chunk-WD34YQ6T.mjs +381 -0
  138. package/dist/chunk-WZBYMYVW.mjs +14 -0
  139. package/dist/chunk-X23WKS3Z.mjs +50 -0
  140. package/dist/chunk-X7TXCYYN.mjs +6496 -0
  141. package/dist/chunk-XGI4EMS3.mjs +140 -0
  142. package/dist/chunk-XZKLBMN6.mjs +1153 -0
  143. package/dist/chunk-YB7INWPY.mjs +0 -0
  144. package/dist/chunk-YV4Y7SDL.mjs +83 -0
  145. package/dist/chunk-YZNBLFIW.mjs +1688 -0
  146. package/dist/chunk-YZZCTONM.mjs +263 -0
  147. package/dist/chunk-ZE6A3FYH.mjs +289 -0
  148. package/dist/cli/nextly.mjs +68 -0
  149. package/dist/cli/utils/index.d.ts +449 -0
  150. package/dist/cli/utils/index.mjs +49 -0
  151. package/dist/component-schema-service-5577KVW6.mjs +11 -0
  152. package/dist/config-loader-23YEMC3Z.mjs +23 -0
  153. package/dist/config.d.ts +44 -0
  154. package/dist/config.mjs +109 -0
  155. package/dist/container-ORGFGYSZ.mjs +9 -0
  156. package/dist/database/index.d.ts +12 -0
  157. package/dist/database/index.mjs +40 -0
  158. package/dist/database/seeders/index.d.ts +93 -0
  159. package/dist/database/seeders/index.mjs +47 -0
  160. package/dist/db-sync-demote-LJGKLB3S.mjs +117 -0
  161. package/dist/db-sync-promote-B26VSYQF.mjs +113 -0
  162. package/dist/dev-reload-broadcaster-B73IQ53V.mjs +25 -0
  163. package/dist/dist-M2NOU37V.mjs +19 -0
  164. package/dist/drizzle-kit-lazy-D2M2PXR2.mjs +13 -0
  165. package/dist/dynamic-collection-schema-service-IEXTPIZ7.mjs +8 -0
  166. package/dist/errors/index.d.ts +159 -0
  167. package/dist/errors/index.mjs +10 -0
  168. package/dist/factory-IWMBKUJM.mjs +15 -0
  169. package/dist/first-run-QIVKWJIF.mjs +63 -0
  170. package/dist/fresh-push-NR67DC3R.mjs +8 -0
  171. package/dist/index.d.ts +4175 -0
  172. package/dist/index.mjs +1336 -0
  173. package/dist/local-plugin-PTET4NAT.mjs +7 -0
  174. package/dist/logger-NU46DXNY.mjs +15 -0
  175. package/dist/logger-YE4TC7ZN.mjs +9 -0
  176. package/dist/migration-journal-EP532Y4L.mjs +139 -0
  177. package/dist/migrations/mysql/0000_eager_sentry.sql +174 -0
  178. package/dist/migrations/mysql/0001_soft_giant_girl.sql +27 -0
  179. package/dist/migrations/mysql/0002_media_table.sql +24 -0
  180. package/dist/migrations/mysql/0003_dynamic_singles.sql +37 -0
  181. package/dist/migrations/mysql/0004_dynamic_components.sql +35 -0
  182. package/dist/migrations/mysql/0005_user_management_tables.sql +92 -0
  183. package/dist/migrations/mysql/0006_api_keys.sql +36 -0
  184. package/dist/migrations/mysql/0007_general_settings.sql +20 -0
  185. package/dist/migrations/mysql/0008_site_settings_logo_url.sql +9 -0
  186. package/dist/migrations/mysql/0009_activity_log.sql +30 -0
  187. package/dist/migrations/mysql/0010_site_settings_sidebar.sql +13 -0
  188. package/dist/migrations/mysql/0011_missing_tables_and_columns.sql +54 -0
  189. package/dist/migrations/mysql/0012_image_sizes_and_focal_point.sql +30 -0
  190. package/dist/migrations/mysql/0012_media_folders.sql +43 -0
  191. package/dist/migrations/mysql/0013_user_brute_force_protection.sql +31 -0
  192. package/dist/migrations/mysql/0014_email_template_attachments.sql +12 -0
  193. package/dist/migrations/mysql/0015_media_uploaded_by_nullable.sql +15 -0
  194. package/dist/migrations/mysql/20260429_000000_000_initial_journal.sql +22 -0
  195. package/dist/migrations/mysql/20260501_000000_journal_batch.sql +17 -0
  196. package/dist/migrations/mysql/20260501_000001_audit_log.sql +24 -0
  197. package/dist/migrations/mysql/20260504_000000_nextly_meta.sql +21 -0
  198. package/dist/migrations/mysql/meta/0000_snapshot.json +1005 -0
  199. package/dist/migrations/mysql/meta/0001_snapshot.json +1099 -0
  200. package/dist/migrations/mysql/meta/_journal.json +41 -0
  201. package/dist/migrations/postgresql/0000_misty_king_bedlam.sql +169 -0
  202. package/dist/migrations/postgresql/0001_perpetual_captain_marvel.sql +8 -0
  203. package/dist/migrations/postgresql/0002_sad_spectrum.sql +16 -0
  204. package/dist/migrations/postgresql/0003_hesitant_ultron.sql +17 -0
  205. package/dist/migrations/postgresql/0004_media_table.sql +24 -0
  206. package/dist/migrations/postgresql/0005_media_folders.sql +36 -0
  207. package/dist/migrations/postgresql/0006_dynamic_collections_update.sql +50 -0
  208. package/dist/migrations/postgresql/0007_dynamic_singles.sql +38 -0
  209. package/dist/migrations/postgresql/0008_dynamic_components.sql +37 -0
  210. package/dist/migrations/postgresql/0009_user_management_tables.sql +95 -0
  211. package/dist/migrations/postgresql/0010_api_keys.sql +34 -0
  212. package/dist/migrations/postgresql/0011_general_settings.sql +20 -0
  213. package/dist/migrations/postgresql/0012_site_settings_logo_url.sql +9 -0
  214. package/dist/migrations/postgresql/0013_activity_log.sql +29 -0
  215. package/dist/migrations/postgresql/0014_image_sizes_and_focal_point.sql +33 -0
  216. package/dist/migrations/postgresql/0014_site_settings_sidebar.sql +13 -0
  217. package/dist/migrations/postgresql/0015_user_brute_force_protection.sql +29 -0
  218. package/dist/migrations/postgresql/0016_email_template_attachments.sql +12 -0
  219. package/dist/migrations/postgresql/0017_media_uploaded_by_nullable.sql +15 -0
  220. package/dist/migrations/postgresql/20260429_000000_000_initial_journal.sql +24 -0
  221. package/dist/migrations/postgresql/20260501_000000_journal_batch.sql +17 -0
  222. package/dist/migrations/postgresql/20260501_000001_audit_log.sql +24 -0
  223. package/dist/migrations/postgresql/20260504_000000_nextly_meta.sql +22 -0
  224. package/dist/migrations/postgresql/meta/0000_snapshot.json +1286 -0
  225. package/dist/migrations/postgresql/meta/0001_snapshot.json +1407 -0
  226. package/dist/migrations/postgresql/meta/0002_snapshot.json +1552 -0
  227. package/dist/migrations/postgresql/meta/0003_snapshot.json +1695 -0
  228. package/dist/migrations/postgresql/meta/0010_snapshot.json +2345 -0
  229. package/dist/migrations/postgresql/meta/_journal.json +90 -0
  230. package/dist/migrations/sqlite/0000_api_keys.sql +34 -0
  231. package/dist/migrations/sqlite/0001_general_settings.sql +20 -0
  232. package/dist/migrations/sqlite/0002_site_settings_logo_url.sql +9 -0
  233. package/dist/migrations/sqlite/0003_activity_log.sql +29 -0
  234. package/dist/migrations/sqlite/0004_image_sizes_and_focal_point.sql +29 -0
  235. package/dist/migrations/sqlite/0004_site_settings_sidebar.sql +11 -0
  236. package/dist/migrations/sqlite/0005_user_brute_force_protection.sql +29 -0
  237. package/dist/migrations/sqlite/0006_email_template_attachments.sql +12 -0
  238. package/dist/migrations/sqlite/0007_media_uploaded_by_nullable.sql +111 -0
  239. package/dist/migrations/sqlite/20260429_000000_000_initial_journal.sql +24 -0
  240. package/dist/migrations/sqlite/20260501_000000_journal_batch.sql +19 -0
  241. package/dist/migrations/sqlite/20260501_000001_audit_log.sql +24 -0
  242. package/dist/migrations/sqlite/20260504_000000_nextly_meta.sql +21 -0
  243. package/dist/migrations/sqlite/20260505_000000_user_management_tables.sql +77 -0
  244. package/dist/next.d.ts +57 -0
  245. package/dist/next.mjs +55 -0
  246. package/dist/observability/index.d.ts +87 -0
  247. package/dist/observability/index.mjs +57 -0
  248. package/dist/permissions-3DZZQZMI.mjs +39 -0
  249. package/dist/pipeline-YOML7SWF.mjs +29 -0
  250. package/dist/preview-ZZTR3QGS.mjs +9 -0
  251. package/dist/program-PW6UB2ZC.mjs +5934 -0
  252. package/dist/reconcile-single-tables-7ENVXJGB.mjs +7 -0
  253. package/dist/register-SF6E6FVU.mjs +49 -0
  254. package/dist/reload-config-HWQ4G5MM.mjs +23 -0
  255. package/dist/resolve-single-table-name-JSOMUB3R.mjs +7 -0
  256. package/dist/routeHandler-UNMMJIBM.mjs +77 -0
  257. package/dist/runtime-schema-generator-NRA6A6Z6.mjs +8 -0
  258. package/dist/runtime.d.ts +120 -0
  259. package/dist/runtime.mjs +73 -0
  260. package/dist/schema-hash-FMMG6VPJ.mjs +13 -0
  261. package/dist/schema-registry-EQ36FZDP.mjs +7 -0
  262. package/dist/scripts/load-env.mjs +42 -0
  263. package/dist/storage/index.d.ts +566 -0
  264. package/dist/storage/index.mjs +45 -0
  265. package/dist/super-admin-G5ZK5F4T.mjs +39 -0
  266. package/dist/system-table-service-WGSRVEGT.mjs +17 -0
  267. package/dist/users-7KELGRYJ.mjs +38 -0
  268. package/package.json +308 -9
@@ -0,0 +1,109 @@
1
+ import {
2
+ requireAuthHeader
3
+ } from "../chunk-WZBYMYVW.mjs";
4
+ import {
5
+ readJsonBody
6
+ } from "../chunk-VQJQHVEV.mjs";
7
+ import "../chunk-VWF3JO32.mjs";
8
+ import {
9
+ withErrorHandler
10
+ } from "../chunk-TO5AFLVQ.mjs";
11
+ import {
12
+ getCachedNextly
13
+ } from "../chunk-P7NH2OSC.mjs";
14
+ import "../chunk-2OALJTK6.mjs";
15
+ import "../chunk-VJ66NCL4.mjs";
16
+ import "../chunk-R6JJQHFC.mjs";
17
+ import "../chunk-X23WKS3Z.mjs";
18
+ import "../chunk-X7TXCYYN.mjs";
19
+ import "../chunk-YZNBLFIW.mjs";
20
+ import "../chunk-FQULBZ53.mjs";
21
+ import "../chunk-67GXH6PR.mjs";
22
+ import "../chunk-2TFX4ND3.mjs";
23
+ import "../chunk-W4MGXIRR.mjs";
24
+ import "../chunk-NSEFNNU4.mjs";
25
+ import "../chunk-3FA7FKAV.mjs";
26
+ import "../chunk-AGJ6F2T3.mjs";
27
+ import "../chunk-KIMNCZGV.mjs";
28
+ import "../chunk-AK6Z23OX.mjs";
29
+ import "../chunk-INV7QKLG.mjs";
30
+ import "../chunk-GZ6DCQKC.mjs";
31
+ import "../chunk-SBACDPNX.mjs";
32
+ import "../chunk-RJLLGGPG.mjs";
33
+ import "../chunk-V4EQTOA4.mjs";
34
+ import "../chunk-I4JMR3UR.mjs";
35
+ import "../chunk-XZKLBMN6.mjs";
36
+ import "../chunk-IZWPRDC3.mjs";
37
+ import "../chunk-DNNG377Z.mjs";
38
+ import "../chunk-5HMZ644B.mjs";
39
+ import "../chunk-W5KKPZT5.mjs";
40
+ import "../chunk-56WO4WX7.mjs";
41
+ import "../chunk-2W3DVD7S.mjs";
42
+ import "../chunk-TS7GHTG2.mjs";
43
+ import "../chunk-H26B4FYG.mjs";
44
+ import "../chunk-DP3G27G5.mjs";
45
+ import "../chunk-DV6WVX2Q.mjs";
46
+ import "../chunk-UJ2IMJ4W.mjs";
47
+ import "../chunk-EGXBZCGC.mjs";
48
+ import "../chunk-G2AA4QLC.mjs";
49
+ import "../chunk-4MJLT6PZ.mjs";
50
+ import {
51
+ respondAction,
52
+ respondDoc,
53
+ respondMutation
54
+ } from "../chunk-IUDOC7N7.mjs";
55
+ import "../chunk-LAZXX4HR.mjs";
56
+ import {
57
+ container
58
+ } from "../chunk-D5HQBNUB.mjs";
59
+ import "../chunk-NRUWQ5Z7.mjs";
60
+ import "../chunk-VTJADRO3.mjs";
61
+ import "../chunk-5APFUGAD.mjs";
62
+ import "../chunk-7P6ASYW6.mjs";
63
+
64
+ // src/api/email-providers-detail.ts
65
+ async function getEmailProviderService() {
66
+ await getCachedNextly();
67
+ return container.get("emailProviderService");
68
+ }
69
+ var GET = withErrorHandler(
70
+ async (request, context) => {
71
+ requireAuthHeader(request);
72
+ const { id } = await context.params;
73
+ const service = await getEmailProviderService();
74
+ const provider = await service.getProvider(id);
75
+ return respondDoc(provider);
76
+ }
77
+ );
78
+ var PATCH = withErrorHandler(
79
+ async (request, context) => {
80
+ requireAuthHeader(request);
81
+ const { id } = await context.params;
82
+ const body = await readJsonBody(request);
83
+ const updateData = {};
84
+ if (body.name !== void 0) updateData.name = body.name;
85
+ if (body.type !== void 0) updateData.type = body.type;
86
+ if (body.fromEmail !== void 0) updateData.fromEmail = body.fromEmail;
87
+ if (body.fromName !== void 0) updateData.fromName = body.fromName;
88
+ if (body.configuration !== void 0)
89
+ updateData.configuration = body.configuration;
90
+ if (body.isActive !== void 0) updateData.isActive = body.isActive;
91
+ const service = await getEmailProviderService();
92
+ const provider = await service.updateProvider(id, updateData);
93
+ return respondMutation("Email provider updated.", provider);
94
+ }
95
+ );
96
+ var DELETE = withErrorHandler(
97
+ async (request, context) => {
98
+ requireAuthHeader(request);
99
+ const { id } = await context.params;
100
+ const service = await getEmailProviderService();
101
+ await service.deleteProvider(id);
102
+ return respondAction("Email provider deleted.", { providerId: id });
103
+ }
104
+ );
105
+ export {
106
+ DELETE,
107
+ GET,
108
+ PATCH
109
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Email Provider Test API Route Handler for Next.js
3
+ *
4
+ * Sends a test email through a specific provider to verify configuration.
5
+ * Re-export in your Next.js application at /api/email-providers/[id]/test.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // In your Next.js app: app/api/email-providers/[id]/test/route.ts
10
+ * export { POST } from 'nextly/api/email-providers-test';
11
+ * ```
12
+ *
13
+ * @module api/email-providers-test
14
+ */
15
+ interface RouteContext {
16
+ params: Promise<{
17
+ id: string;
18
+ }>;
19
+ }
20
+ /**
21
+ * POST handler for testing an email provider.
22
+ *
23
+ * Sends a test email through the specified provider to verify that
24
+ * the configuration (credentials, host, etc.) is correct.
25
+ *
26
+ * Requires authentication. Provider must be active.
27
+ *
28
+ * Request Body (optional):
29
+ * - email: Email address to send the test email to (optional; falls back
30
+ * to the provider's `fromEmail`)
31
+ *
32
+ * Response Codes:
33
+ * - 200 OK: Test completed (check `success` field for result)
34
+ * - 400 Bad Request: Invalid input
35
+ * - 401 Unauthorized: Authentication required
36
+ * - 404 Not Found: Provider with ID does not exist
37
+ * - 500 Internal Server Error: Test failed
38
+ *
39
+ * Response: `{ "data": { "success": boolean, "error"?: string } }`
40
+ */
41
+ declare const POST: (request: Request, context: RouteContext) => Promise<Response>;
42
+
43
+ export { POST };
@@ -0,0 +1,114 @@
1
+ import {
2
+ requireAuthHeader
3
+ } from "../chunk-WZBYMYVW.mjs";
4
+ import {
5
+ nextlyValidationFromZod
6
+ } from "../chunk-GJNSJU4S.mjs";
7
+ import "../chunk-VWF3JO32.mjs";
8
+ import {
9
+ withErrorHandler
10
+ } from "../chunk-TO5AFLVQ.mjs";
11
+ import {
12
+ getCachedNextly
13
+ } from "../chunk-P7NH2OSC.mjs";
14
+ import "../chunk-2OALJTK6.mjs";
15
+ import "../chunk-VJ66NCL4.mjs";
16
+ import "../chunk-R6JJQHFC.mjs";
17
+ import "../chunk-X23WKS3Z.mjs";
18
+ import "../chunk-X7TXCYYN.mjs";
19
+ import "../chunk-YZNBLFIW.mjs";
20
+ import "../chunk-FQULBZ53.mjs";
21
+ import "../chunk-67GXH6PR.mjs";
22
+ import "../chunk-2TFX4ND3.mjs";
23
+ import "../chunk-W4MGXIRR.mjs";
24
+ import "../chunk-NSEFNNU4.mjs";
25
+ import "../chunk-3FA7FKAV.mjs";
26
+ import "../chunk-AGJ6F2T3.mjs";
27
+ import "../chunk-KIMNCZGV.mjs";
28
+ import "../chunk-AK6Z23OX.mjs";
29
+ import "../chunk-INV7QKLG.mjs";
30
+ import "../chunk-GZ6DCQKC.mjs";
31
+ import "../chunk-SBACDPNX.mjs";
32
+ import "../chunk-RJLLGGPG.mjs";
33
+ import "../chunk-V4EQTOA4.mjs";
34
+ import "../chunk-I4JMR3UR.mjs";
35
+ import "../chunk-XZKLBMN6.mjs";
36
+ import "../chunk-IZWPRDC3.mjs";
37
+ import "../chunk-DNNG377Z.mjs";
38
+ import "../chunk-5HMZ644B.mjs";
39
+ import "../chunk-W5KKPZT5.mjs";
40
+ import "../chunk-56WO4WX7.mjs";
41
+ import "../chunk-2W3DVD7S.mjs";
42
+ import "../chunk-TS7GHTG2.mjs";
43
+ import "../chunk-H26B4FYG.mjs";
44
+ import "../chunk-DP3G27G5.mjs";
45
+ import "../chunk-DV6WVX2Q.mjs";
46
+ import "../chunk-UJ2IMJ4W.mjs";
47
+ import "../chunk-EGXBZCGC.mjs";
48
+ import "../chunk-G2AA4QLC.mjs";
49
+ import "../chunk-4MJLT6PZ.mjs";
50
+ import {
51
+ respondAction
52
+ } from "../chunk-IUDOC7N7.mjs";
53
+ import "../chunk-LAZXX4HR.mjs";
54
+ import {
55
+ container
56
+ } from "../chunk-D5HQBNUB.mjs";
57
+ import {
58
+ NextlyError
59
+ } from "../chunk-NRUWQ5Z7.mjs";
60
+ import "../chunk-VTJADRO3.mjs";
61
+ import "../chunk-5APFUGAD.mjs";
62
+ import "../chunk-7P6ASYW6.mjs";
63
+
64
+ // src/api/email-providers-test.ts
65
+ import { z } from "zod";
66
+ async function getEmailProviderService() {
67
+ await getCachedNextly();
68
+ return container.get("emailProviderService");
69
+ }
70
+ var testProviderSchema = z.object({
71
+ // Optional; when omitted the service falls back to the provider's fromEmail.
72
+ email: z.string().email("A valid test email address is required").optional()
73
+ });
74
+ var POST = withErrorHandler(
75
+ async (request, context) => {
76
+ requireAuthHeader(request);
77
+ const { id } = await context.params;
78
+ const service = await getEmailProviderService();
79
+ let body = {};
80
+ const contentType = request.headers.get("content-type") ?? "";
81
+ if (contentType.includes("application/json")) {
82
+ try {
83
+ body = await request.json();
84
+ } catch {
85
+ throw new NextlyError({
86
+ code: "VALIDATION_ERROR",
87
+ publicMessage: "Validation failed.",
88
+ publicData: {
89
+ errors: [
90
+ {
91
+ path: "",
92
+ code: "invalid_json",
93
+ message: "Request body is not valid JSON."
94
+ }
95
+ ]
96
+ },
97
+ logContext: { reason: "invalid-json-body" }
98
+ });
99
+ }
100
+ }
101
+ let validated;
102
+ try {
103
+ validated = testProviderSchema.parse(body);
104
+ } catch (err) {
105
+ if (err instanceof z.ZodError) throw nextlyValidationFromZod(err);
106
+ throw err;
107
+ }
108
+ const result = await service.testProvider(id, validated.email);
109
+ return respondAction("Test email dispatched.", { result });
110
+ }
111
+ );
112
+ export {
113
+ POST
114
+ };
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Email Providers API Route Handlers for Next.js
3
+ *
4
+ * These route handlers can be re-exported in your Next.js application to provide
5
+ * email provider management endpoints at /api/email-providers.
6
+ *
7
+ * Services are auto-initialized on first request using environment variables:
8
+ * - DB_DIALECT: Database dialect ("postgresql" | "mysql" | "sqlite")
9
+ * - DATABASE_URL: Database connection string
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // In your Next.js app: app/api/email-providers/route.ts
14
+ * export { GET, POST } from 'nextly/api/email-providers';
15
+ * ```
16
+ *
17
+ * The list endpoint is not server-paginated; admin code reads the array
18
+ * length directly. There is no synthetic `meta.total`.
19
+ *
20
+ * @module api/email-providers
21
+ */
22
+ /**
23
+ * GET handler for listing all email providers.
24
+ *
25
+ * Requires authentication. Returns providers with masked configuration
26
+ * (sensitive fields like API keys and passwords are replaced with "••••••••").
27
+ *
28
+ * Response Codes:
29
+ * - 200 OK: Providers list retrieved successfully
30
+ * - 401 Unauthorized: Authentication required
31
+ * - 500 Internal Server Error: Failed to fetch providers
32
+ *
33
+ * Response: `{ "data": EmailProvider[] }`; non-paginated list.
34
+ *
35
+ * @example
36
+ * ```bash
37
+ * curl -H "Authorization: Bearer <token>" \
38
+ * "http://localhost:3000/api/email-providers"
39
+ * # => {"data":[...]}
40
+ * ```
41
+ */
42
+ declare const GET: (request: Request) => Promise<Response>;
43
+ /**
44
+ * POST handler for creating a new email provider.
45
+ *
46
+ * Requires authentication. Creates a provider with encrypted configuration.
47
+ * If `isDefault` is true, the previous default provider is unset atomically.
48
+ *
49
+ * Request Body:
50
+ * - name: Display name (required)
51
+ * - type: Provider type, one of "smtp", "resend", or "sendlayer" (required)
52
+ * - fromEmail: From email address (required)
53
+ * - fromName: From display name (optional)
54
+ * - configuration: Provider-specific config object (required)
55
+ * - isDefault: Set as default provider (optional, default: false)
56
+ * - isActive: Enable provider (optional, default: true)
57
+ *
58
+ * Response Codes:
59
+ * - 201 Created: Provider created successfully
60
+ * - 400 Bad Request: Invalid input
61
+ * - 401 Unauthorized: Authentication required
62
+ * - 500 Internal Server Error: Creation failed
63
+ *
64
+ * Response: `{ "data": EmailProvider }`; created provider with masked
65
+ * configuration. Status 201.
66
+ */
67
+ declare const POST: (request: Request) => Promise<Response>;
68
+
69
+ export { GET, POST };
@@ -0,0 +1,110 @@
1
+ import {
2
+ requireAuthHeader
3
+ } from "../chunk-WZBYMYVW.mjs";
4
+ import {
5
+ readJsonBody
6
+ } from "../chunk-VQJQHVEV.mjs";
7
+ import {
8
+ nextlyValidationFromZod
9
+ } from "../chunk-GJNSJU4S.mjs";
10
+ import "../chunk-VWF3JO32.mjs";
11
+ import {
12
+ withErrorHandler
13
+ } from "../chunk-TO5AFLVQ.mjs";
14
+ import {
15
+ getCachedNextly
16
+ } from "../chunk-P7NH2OSC.mjs";
17
+ import "../chunk-2OALJTK6.mjs";
18
+ import "../chunk-VJ66NCL4.mjs";
19
+ import "../chunk-R6JJQHFC.mjs";
20
+ import "../chunk-X23WKS3Z.mjs";
21
+ import "../chunk-X7TXCYYN.mjs";
22
+ import "../chunk-YZNBLFIW.mjs";
23
+ import "../chunk-FQULBZ53.mjs";
24
+ import "../chunk-67GXH6PR.mjs";
25
+ import "../chunk-2TFX4ND3.mjs";
26
+ import "../chunk-W4MGXIRR.mjs";
27
+ import "../chunk-NSEFNNU4.mjs";
28
+ import "../chunk-3FA7FKAV.mjs";
29
+ import "../chunk-AGJ6F2T3.mjs";
30
+ import "../chunk-KIMNCZGV.mjs";
31
+ import "../chunk-AK6Z23OX.mjs";
32
+ import "../chunk-INV7QKLG.mjs";
33
+ import "../chunk-GZ6DCQKC.mjs";
34
+ import "../chunk-SBACDPNX.mjs";
35
+ import "../chunk-RJLLGGPG.mjs";
36
+ import "../chunk-V4EQTOA4.mjs";
37
+ import "../chunk-I4JMR3UR.mjs";
38
+ import "../chunk-XZKLBMN6.mjs";
39
+ import "../chunk-IZWPRDC3.mjs";
40
+ import "../chunk-DNNG377Z.mjs";
41
+ import "../chunk-5HMZ644B.mjs";
42
+ import "../chunk-W5KKPZT5.mjs";
43
+ import "../chunk-56WO4WX7.mjs";
44
+ import "../chunk-2W3DVD7S.mjs";
45
+ import "../chunk-TS7GHTG2.mjs";
46
+ import "../chunk-H26B4FYG.mjs";
47
+ import "../chunk-DP3G27G5.mjs";
48
+ import "../chunk-DV6WVX2Q.mjs";
49
+ import "../chunk-UJ2IMJ4W.mjs";
50
+ import "../chunk-EGXBZCGC.mjs";
51
+ import "../chunk-G2AA4QLC.mjs";
52
+ import "../chunk-4MJLT6PZ.mjs";
53
+ import {
54
+ respondData,
55
+ respondMutation
56
+ } from "../chunk-IUDOC7N7.mjs";
57
+ import "../chunk-LAZXX4HR.mjs";
58
+ import {
59
+ container
60
+ } from "../chunk-D5HQBNUB.mjs";
61
+ import "../chunk-NRUWQ5Z7.mjs";
62
+ import "../chunk-VTJADRO3.mjs";
63
+ import "../chunk-5APFUGAD.mjs";
64
+ import "../chunk-7P6ASYW6.mjs";
65
+
66
+ // src/api/email-providers.ts
67
+ import { z } from "zod";
68
+ async function getEmailProviderService() {
69
+ await getCachedNextly();
70
+ return container.get("emailProviderService");
71
+ }
72
+ var createProviderSchema = z.object({
73
+ name: z.string().min(1, "Name is required").max(255),
74
+ type: z.enum(["smtp", "resend", "sendlayer"], {
75
+ message: "Type must be 'smtp', 'resend', or 'sendlayer'"
76
+ }),
77
+ fromEmail: z.string().email("Invalid from email address"),
78
+ fromName: z.string().max(255).optional().nullable(),
79
+ configuration: z.record(z.string(), z.unknown()),
80
+ isDefault: z.boolean().optional(),
81
+ isActive: z.boolean().optional()
82
+ });
83
+ var GET = withErrorHandler(
84
+ async (request) => {
85
+ requireAuthHeader(request);
86
+ const service = await getEmailProviderService();
87
+ const providers = await service.listProviders();
88
+ return respondData({ providers });
89
+ }
90
+ );
91
+ var POST = withErrorHandler(
92
+ async (request) => {
93
+ requireAuthHeader(request);
94
+ const body = await readJsonBody(request);
95
+ let validated;
96
+ try {
97
+ validated = createProviderSchema.parse(body);
98
+ } catch (err) {
99
+ if (err instanceof z.ZodError) throw nextlyValidationFromZod(err);
100
+ throw err;
101
+ }
102
+ const service = await getEmailProviderService();
103
+ const provider = await service.createProvider(validated);
104
+ return respondMutation("Email provider created.", provider, { status: 201 });
105
+ }
106
+ );
107
+ export {
108
+ GET,
109
+ POST
110
+ };
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Email Send-With-Template API Route Handler for Next.js
3
+ *
4
+ * Sends an email rendered from a named template.
5
+ * Re-export in your Next.js application at /api/email/send-with-template.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // app/api/email/send-with-template/route.ts
10
+ * export { POST } from 'nextly/api/email-send-template';
11
+ * ```
12
+ *
13
+ * The service returns `{ success, messageId? }`; the body surfaces both
14
+ * fields plus the resolved template id alongside a server-authored toast
15
+ * via `respondAction`. The attachment resolver throws `NextlyError`
16
+ * directly (validation for caller-fixable failures, internal for storage
17
+ * I/O); the machine-readable `EMAIL_ATTACHMENT_*` code lives at
18
+ * `error.data.errors[0].code`.
19
+ *
20
+ * @module api/email-send-template
21
+ */
22
+ /**
23
+ * POST handler for sending an email using a template.
24
+ *
25
+ * Request body:
26
+ * - `to` (string, required): Recipient email address
27
+ * - `template` (string, required): Template slug
28
+ * - `variables` (object, optional): Interpolation variables
29
+ * - `cc` / `bcc` (string[], optional)
30
+ * - `providerId` (string, optional)
31
+ * - `attachments` (array, optional): `[{ mediaId, filename? }]`
32
+ *
33
+ * Response codes:
34
+ * - 200 OK: `{ message, success, messageId?, templateId }` via `respondAction`.
35
+ * - 400 Bad Request: invalid body / attachment count or size exceeded / mediaId not found.
36
+ * - 401 Unauthorized.
37
+ * - 500 Internal Server Error: storage read failed or provider error.
38
+ */
39
+ declare const POST: (request: Request) => Promise<Response>;
40
+
41
+ export { POST };
@@ -0,0 +1,58 @@
1
+ import {
2
+ POST
3
+ } from "../chunk-LDKCUMHK.mjs";
4
+ import "../chunk-2Q2SX2CS.mjs";
5
+ import "../chunk-DXGGXIUZ.mjs";
6
+ import "../chunk-GJNSJU4S.mjs";
7
+ import "../chunk-LRXMECUA.mjs";
8
+ import "../chunk-UUOFWCM6.mjs";
9
+ import "../chunk-VWF3JO32.mjs";
10
+ import "../chunk-2ZFKXPQM.mjs";
11
+ import "../chunk-TO5AFLVQ.mjs";
12
+ import "../chunk-P7NH2OSC.mjs";
13
+ import "../chunk-2OALJTK6.mjs";
14
+ import "../chunk-VJ66NCL4.mjs";
15
+ import "../chunk-R6JJQHFC.mjs";
16
+ import "../chunk-X23WKS3Z.mjs";
17
+ import "../chunk-X7TXCYYN.mjs";
18
+ import "../chunk-YZNBLFIW.mjs";
19
+ import "../chunk-FQULBZ53.mjs";
20
+ import "../chunk-67GXH6PR.mjs";
21
+ import "../chunk-2TFX4ND3.mjs";
22
+ import "../chunk-W4MGXIRR.mjs";
23
+ import "../chunk-NSEFNNU4.mjs";
24
+ import "../chunk-3FA7FKAV.mjs";
25
+ import "../chunk-AGJ6F2T3.mjs";
26
+ import "../chunk-KIMNCZGV.mjs";
27
+ import "../chunk-AK6Z23OX.mjs";
28
+ import "../chunk-INV7QKLG.mjs";
29
+ import "../chunk-GZ6DCQKC.mjs";
30
+ import "../chunk-SBACDPNX.mjs";
31
+ import "../chunk-RJLLGGPG.mjs";
32
+ import "../chunk-V4EQTOA4.mjs";
33
+ import "../chunk-I4JMR3UR.mjs";
34
+ import "../chunk-XZKLBMN6.mjs";
35
+ import "../chunk-IZWPRDC3.mjs";
36
+ import "../chunk-DNNG377Z.mjs";
37
+ import "../chunk-5HMZ644B.mjs";
38
+ import "../chunk-W5KKPZT5.mjs";
39
+ import "../chunk-56WO4WX7.mjs";
40
+ import "../chunk-2W3DVD7S.mjs";
41
+ import "../chunk-TS7GHTG2.mjs";
42
+ import "../chunk-H26B4FYG.mjs";
43
+ import "../chunk-DP3G27G5.mjs";
44
+ import "../chunk-DV6WVX2Q.mjs";
45
+ import "../chunk-UJ2IMJ4W.mjs";
46
+ import "../chunk-EGXBZCGC.mjs";
47
+ import "../chunk-G2AA4QLC.mjs";
48
+ import "../chunk-4MJLT6PZ.mjs";
49
+ import "../chunk-IUDOC7N7.mjs";
50
+ import "../chunk-LAZXX4HR.mjs";
51
+ import "../chunk-D5HQBNUB.mjs";
52
+ import "../chunk-NRUWQ5Z7.mjs";
53
+ import "../chunk-VTJADRO3.mjs";
54
+ import "../chunk-5APFUGAD.mjs";
55
+ import "../chunk-7P6ASYW6.mjs";
56
+ export {
57
+ POST
58
+ };
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Email Send API Route Handler for Next.js
3
+ *
4
+ * Sends a raw email through the default (or specified) provider.
5
+ * Re-export in your Next.js application at /api/email/send.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // app/api/email/send/route.ts
10
+ * export { POST } from 'nextly/api/email-send';
11
+ * ```
12
+ *
13
+ * The service returns `{ success, messageId? }`; the `messageId` is the
14
+ * useful caller-facing field, paired with a server-authored toast via
15
+ * `respondAction`. The attachment resolver throws `NextlyError` directly
16
+ * (validation for caller-fixable failures, internal for storage I/O); the
17
+ * machine-readable `EMAIL_ATTACHMENT_*` code lives at
18
+ * `error.data.errors[0].code`.
19
+ *
20
+ * @module api/email-send
21
+ */
22
+ /**
23
+ * POST handler for sending a raw email.
24
+ *
25
+ * Request body:
26
+ * - `to` (string, required): Recipient email address
27
+ * - `subject` (string, required)
28
+ * - `html` (string, required)
29
+ * - `plainText` (string, optional)
30
+ * - `cc` / `bcc` (string[], optional)
31
+ * - `providerId` (string, optional): use a specific email provider
32
+ * - `attachments` (array, optional): `[{ mediaId, filename? }]`
33
+ *
34
+ * Response codes:
35
+ * - 200 OK: `{ message, success, messageId? }` via `respondAction`.
36
+ * - 400 Bad Request: invalid body / attachment count or size exceeded / mediaId not found.
37
+ * - 401 Unauthorized.
38
+ * - 500 Internal Server Error: storage read failed or provider error.
39
+ */
40
+ declare const POST: (request: Request) => Promise<Response>;
41
+
42
+ export { POST };
@@ -0,0 +1,58 @@
1
+ import {
2
+ POST
3
+ } from "../chunk-YV4Y7SDL.mjs";
4
+ import "../chunk-2Q2SX2CS.mjs";
5
+ import "../chunk-DXGGXIUZ.mjs";
6
+ import "../chunk-GJNSJU4S.mjs";
7
+ import "../chunk-LRXMECUA.mjs";
8
+ import "../chunk-UUOFWCM6.mjs";
9
+ import "../chunk-VWF3JO32.mjs";
10
+ import "../chunk-2ZFKXPQM.mjs";
11
+ import "../chunk-TO5AFLVQ.mjs";
12
+ import "../chunk-P7NH2OSC.mjs";
13
+ import "../chunk-2OALJTK6.mjs";
14
+ import "../chunk-VJ66NCL4.mjs";
15
+ import "../chunk-R6JJQHFC.mjs";
16
+ import "../chunk-X23WKS3Z.mjs";
17
+ import "../chunk-X7TXCYYN.mjs";
18
+ import "../chunk-YZNBLFIW.mjs";
19
+ import "../chunk-FQULBZ53.mjs";
20
+ import "../chunk-67GXH6PR.mjs";
21
+ import "../chunk-2TFX4ND3.mjs";
22
+ import "../chunk-W4MGXIRR.mjs";
23
+ import "../chunk-NSEFNNU4.mjs";
24
+ import "../chunk-3FA7FKAV.mjs";
25
+ import "../chunk-AGJ6F2T3.mjs";
26
+ import "../chunk-KIMNCZGV.mjs";
27
+ import "../chunk-AK6Z23OX.mjs";
28
+ import "../chunk-INV7QKLG.mjs";
29
+ import "../chunk-GZ6DCQKC.mjs";
30
+ import "../chunk-SBACDPNX.mjs";
31
+ import "../chunk-RJLLGGPG.mjs";
32
+ import "../chunk-V4EQTOA4.mjs";
33
+ import "../chunk-I4JMR3UR.mjs";
34
+ import "../chunk-XZKLBMN6.mjs";
35
+ import "../chunk-IZWPRDC3.mjs";
36
+ import "../chunk-DNNG377Z.mjs";
37
+ import "../chunk-5HMZ644B.mjs";
38
+ import "../chunk-W5KKPZT5.mjs";
39
+ import "../chunk-56WO4WX7.mjs";
40
+ import "../chunk-2W3DVD7S.mjs";
41
+ import "../chunk-TS7GHTG2.mjs";
42
+ import "../chunk-H26B4FYG.mjs";
43
+ import "../chunk-DP3G27G5.mjs";
44
+ import "../chunk-DV6WVX2Q.mjs";
45
+ import "../chunk-UJ2IMJ4W.mjs";
46
+ import "../chunk-EGXBZCGC.mjs";
47
+ import "../chunk-G2AA4QLC.mjs";
48
+ import "../chunk-4MJLT6PZ.mjs";
49
+ import "../chunk-IUDOC7N7.mjs";
50
+ import "../chunk-LAZXX4HR.mjs";
51
+ import "../chunk-D5HQBNUB.mjs";
52
+ import "../chunk-NRUWQ5Z7.mjs";
53
+ import "../chunk-VTJADRO3.mjs";
54
+ import "../chunk-5APFUGAD.mjs";
55
+ import "../chunk-7P6ASYW6.mjs";
56
+ export {
57
+ POST
58
+ };