emdash 0.31.0 → 0.32.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.
- package/dist/api/route-utils.d.mts +3 -3
- package/dist/api/route-utils.mjs +16 -14
- package/dist/api/route-utils.mjs.map +1 -1
- package/dist/api/schemas/index.d.mts +2 -2
- package/dist/api/schemas/index.mjs +4 -4
- package/dist/{api-EibxGP-V.mjs → api-DgPbMlng.mjs} +24 -20
- package/dist/api-DgPbMlng.mjs.map +1 -0
- package/dist/{api-tokens-uPt8UDpx.mjs → api-tokens-p-iMzvXR.mjs} +2 -2
- package/dist/{api-tokens-uPt8UDpx.mjs.map → api-tokens-p-iMzvXR.mjs.map} +1 -1
- package/dist/{apply-fGHCAwWN.mjs → apply-1_6ra7NP.mjs} +19 -19
- package/dist/{apply-fGHCAwWN.mjs.map → apply-1_6ra7NP.mjs.map} +1 -1
- package/dist/astro/index.d.mts +12 -12
- package/dist/astro/index.mjs +5 -1
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/middleware/auth.d.mts +10 -10
- package/dist/astro/middleware/auth.mjs +5 -5
- package/dist/astro/middleware/redirect.mjs +5 -5
- package/dist/astro/middleware/request-context.mjs +1 -1
- package/dist/astro/middleware.d.mts +10 -10
- package/dist/astro/middleware.mjs +94 -61
- package/dist/astro/middleware.mjs.map +1 -1
- package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +6 -6
- package/dist/astro/routes/api/admin/allowed-domains/index.mjs +6 -6
- package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
- package/dist/astro/routes/api/admin/api-tokens/index.mjs +5 -5
- package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
- package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +8 -8
- package/dist/astro/routes/api/admin/byline-fields/index.mjs +8 -8
- package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +8 -8
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +15 -14
- package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +15 -14
- package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/admin/bylines/index.mjs +15 -15
- package/dist/astro/routes/api/admin/comments/_id_/status.mjs +11 -11
- package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
- package/dist/astro/routes/api/admin/comments/bulk.mjs +9 -9
- package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
- package/dist/astro/routes/api/admin/comments/index.mjs +9 -9
- package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +4 -4
- package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
- package/dist/astro/routes/api/admin/media-usage/repair.mjs +12 -10
- package/dist/astro/routes/api/admin/media-usage/repair.mjs.map +1 -1
- package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +4 -4
- package/dist/astro/routes/api/admin/oauth-clients/index.mjs +4 -4
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +4 -4
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/index.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +3 -3
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +37 -35
- package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs +37 -35
- package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
- package/dist/astro/routes/api/admin/plugins/updates.mjs +36 -34
- package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +36 -34
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +3 -3
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +36 -34
- package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
- package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
- package/dist/astro/routes/api/admin/users/_id_/enable.mjs +2 -2
- package/dist/astro/routes/api/admin/users/_id_/index.mjs +6 -6
- package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +3 -3
- package/dist/astro/routes/api/admin/users/index.mjs +6 -6
- package/dist/astro/routes/api/auth/dev-bypass.mjs +7 -6
- package/dist/astro/routes/api/auth/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/auth/invite/accept.mjs +2 -2
- package/dist/astro/routes/api/auth/invite/complete.mjs +7 -7
- package/dist/astro/routes/api/auth/invite/index.mjs +7 -7
- package/dist/astro/routes/api/auth/invite/register-options.mjs +7 -7
- package/dist/astro/routes/api/auth/logout.mjs +3 -3
- package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
- package/dist/astro/routes/api/auth/magic-link/verify.mjs +3 -3
- package/dist/astro/routes/api/auth/me.mjs +7 -7
- package/dist/astro/routes/api/auth/mode.mjs +2 -2
- package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +2 -2
- package/dist/astro/routes/api/auth/oauth/_provider_.mjs +1 -1
- package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -6
- package/dist/astro/routes/api/auth/passkey/index.mjs +2 -2
- package/dist/astro/routes/api/auth/passkey/options.mjs +8 -8
- package/dist/astro/routes/api/auth/passkey/register/options.mjs +7 -7
- package/dist/astro/routes/api/auth/passkey/register/verify.mjs +7 -7
- package/dist/astro/routes/api/auth/passkey/verify.mjs +7 -7
- package/dist/astro/routes/api/auth/signup/complete.mjs +7 -7
- package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
- package/dist/astro/routes/api/auth/signup/verify.mjs +2 -2
- package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +11 -11
- package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +10 -10
- package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
- package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +7 -7
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +16 -14
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +16 -14
- package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +7 -7
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +14 -13
- package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/_id_.d.mts.map +1 -1
- package/dist/astro/routes/api/content/_collection_/_id_.mjs +8 -8
- package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/content/_collection_/authors.mjs +3 -3
- package/dist/astro/routes/api/content/_collection_/index.mjs +7 -7
- package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -7
- package/dist/astro/routes/api/dashboard.mjs +7 -7
- package/dist/astro/routes/api/dev/emails.mjs +2 -2
- package/dist/astro/routes/api/import/probe.d.mts +3 -3
- package/dist/astro/routes/api/import/probe.mjs +12 -12
- package/dist/astro/routes/api/import/wordpress/analyze.mjs +3 -3
- package/dist/astro/routes/api/import/wordpress/execute.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress/execute.mjs +12 -11
- package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress/media.d.mts +10 -10
- package/dist/astro/routes/api/import/wordpress/media.mjs +7 -7
- package/dist/astro/routes/api/import/wordpress/prepare.mjs +9 -9
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +11 -9
- package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
- package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +12 -12
- package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +11 -11
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +20 -19
- package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
- package/dist/astro/routes/api/manifest.mjs +3 -3
- package/dist/astro/routes/api/mcp.mjs +41 -41
- package/dist/astro/routes/api/media/_id_/confirm.d.mts.map +1 -1
- package/dist/astro/routes/api/media/_id_/confirm.mjs +105 -36
- package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_/upload.d.mts +8 -0
- package/dist/astro/routes/api/media/_id_/upload.d.mts.map +1 -0
- package/dist/astro/routes/api/media/_id_/upload.mjs +168 -0
- package/dist/astro/routes/api/media/_id_/upload.mjs.map +1 -0
- package/dist/astro/routes/api/media/_id_/usage.mjs +14 -12
- package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
- package/dist/astro/routes/api/media/_id_.d.mts.map +1 -1
- package/dist/astro/routes/api/media/_id_.mjs +21 -14
- package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/media/file/_...key_.mjs +2 -2
- package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +3 -3
- package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +3 -3
- package/dist/astro/routes/api/media/providers/index.mjs +3 -3
- package/dist/astro/routes/api/media/upload-url.d.mts.map +1 -1
- package/dist/astro/routes/api/media/upload-url.mjs +34 -23
- package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
- package/dist/astro/routes/api/media.mjs +13 -12
- package/dist/astro/routes/api/media.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +9 -8
- package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/items.mjs +9 -8
- package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/reorder.mjs +9 -8
- package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_/translations.mjs +9 -8
- package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/menus/_name_.mjs +9 -8
- package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
- package/dist/astro/routes/api/menus/index.mjs +9 -8
- package/dist/astro/routes/api/menus/index.mjs.map +1 -1
- package/dist/astro/routes/api/oauth/authorize.mjs +5 -5
- package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
- package/dist/astro/routes/api/oauth/device/code.mjs +7 -7
- package/dist/astro/routes/api/oauth/device/token.mjs +7 -7
- package/dist/astro/routes/api/oauth/register.mjs +3 -3
- package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
- package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
- package/dist/astro/routes/api/oauth/token.mjs +6 -6
- package/dist/astro/routes/api/openapi.json.mjs +30 -8
- package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
- package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +5 -5
- package/dist/astro/routes/api/redirects/404s/index.mjs +10 -10
- package/dist/astro/routes/api/redirects/404s/summary.mjs +10 -10
- package/dist/astro/routes/api/redirects/_id_.mjs +11 -11
- package/dist/astro/routes/api/redirects/index.mjs +11 -11
- package/dist/astro/routes/api/relations/_id_/index.mjs +16 -14
- package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
- package/dist/astro/routes/api/relations/_id_/translations.mjs +12 -10
- package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/relations/index.mjs +16 -14
- package/dist/astro/routes/api/relations/index.mjs.map +1 -1
- package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +3 -3
- package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +3 -3
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +36 -34
- package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +36 -34
- package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +36 -34
- package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +36 -34
- package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/collections/index.mjs +36 -34
- package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/index.mjs +10 -8
- package/dist/astro/routes/api/schema/index.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs +36 -34
- package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/schema/orphans/index.mjs +36 -34
- package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/enable.mjs +12 -11
- package/dist/astro/routes/api/search/enable.mjs.map +1 -1
- package/dist/astro/routes/api/search/index.mjs +11 -10
- package/dist/astro/routes/api/search/index.mjs.map +1 -1
- package/dist/astro/routes/api/search/rebuild.mjs +12 -11
- package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
- package/dist/astro/routes/api/search/stats.mjs +8 -7
- package/dist/astro/routes/api/search/stats.mjs.map +1 -1
- package/dist/astro/routes/api/search/suggest.mjs +11 -10
- package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
- package/dist/astro/routes/api/sections/_slug_.mjs +10 -10
- package/dist/astro/routes/api/sections/index.mjs +10 -10
- package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +4 -4
- package/dist/astro/routes/api/settings/backups/archives/index.mjs +4 -4
- package/dist/astro/routes/api/settings/backups/export.mjs +4 -4
- package/dist/astro/routes/api/settings/backups/index.mjs +5 -5
- package/dist/astro/routes/api/settings/email.mjs +4 -4
- package/dist/astro/routes/api/settings.mjs +12 -12
- package/dist/astro/routes/api/setup/admin-verify.mjs +8 -8
- package/dist/astro/routes/api/setup/admin.mjs +8 -8
- package/dist/astro/routes/api/setup/dev-bypass.mjs +24 -22
- package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
- package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
- package/dist/astro/routes/api/setup/index.mjs +24 -22
- package/dist/astro/routes/api/setup/index.mjs.map +1 -1
- package/dist/astro/routes/api/setup/status.mjs +3 -3
- package/dist/astro/routes/api/snapshot.mjs +5 -5
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +14 -13
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +14 -13
- package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts.map +1 -1
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +19 -15
- package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
- package/dist/astro/routes/api/taxonomies/index.mjs +14 -13
- package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
- package/dist/astro/routes/api/themes/preview.mjs +4 -4
- package/dist/astro/routes/api/typegen.mjs +5 -5
- package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +1 -1
- package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +1 -1
- package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +7 -7
- package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +10 -10
- package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +10 -10
- package/dist/astro/routes/api/widget-areas/_name_.mjs +6 -6
- package/dist/astro/routes/api/widget-areas/index.mjs +10 -10
- package/dist/astro/routes/api/widget-components.mjs +2 -2
- package/dist/astro/routes/robots.txt.mjs +5 -5
- package/dist/astro/routes/sitemap-_collection_.xml.mjs +7 -7
- package/dist/astro/routes/sitemap.xml.mjs +5 -5
- package/dist/astro/types.d.mts +14 -13
- package/dist/astro/types.d.mts.map +1 -1
- package/dist/auth/providers/github.d.mts +1 -1
- package/dist/auth/providers/google.d.mts +1 -1
- package/dist/{authorize-6WPZa1xZ.mjs → authorize-R5iYYrpa.mjs} +2 -2
- package/dist/{authorize-6WPZa1xZ.mjs.map → authorize-R5iYYrpa.mjs.map} +1 -1
- package/dist/{backup-Qr9PaGUo.mjs → backup-LpQ1V_sR.mjs} +2 -2
- package/dist/{backup-Qr9PaGUo.mjs.map → backup-LpQ1V_sR.mjs.map} +1 -1
- package/dist/{byline-BTOxUlFF.mjs → byline-C5TAqs8N.mjs} +6 -6
- package/dist/{byline-BTOxUlFF.mjs.map → byline-C5TAqs8N.mjs.map} +1 -1
- package/dist/{byline-fields-CdU_LTF1.mjs → byline-fields-T9ZLZMxJ.mjs} +1 -1
- package/dist/{byline-fields-CdU_LTF1.mjs.map → byline-fields-T9ZLZMxJ.mjs.map} +1 -1
- package/dist/{bylines-FyZu6TbJ.mjs → bylines-B8-WGdja.mjs} +6 -6
- package/dist/{bylines-FyZu6TbJ.mjs.map → bylines-B8-WGdja.mjs.map} +1 -1
- package/dist/{bylines-oVN0iPwX.mjs → bylines-DGuqBLjV.mjs} +5 -5
- package/dist/{bylines-oVN0iPwX.mjs.map → bylines-DGuqBLjV.mjs.map} +1 -1
- package/dist/{cache-DDwy3JDW.mjs → cache-B26cufFd.mjs} +2 -2
- package/dist/{cache-DDwy3JDW.mjs.map → cache-B26cufFd.mjs.map} +1 -1
- package/dist/{chunks-Bq-5DPrD.mjs → chunks-D5dlPeRb.mjs} +2 -2
- package/dist/{chunks-Bq-5DPrD.mjs.map → chunks-D5dlPeRb.mjs.map} +1 -1
- package/dist/cli/index.mjs +20 -19
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/cf-access.d.mts +1 -1
- package/dist/client/index.d.mts +1 -1
- package/dist/client/index.mjs +2 -2
- package/dist/{comment-B9cUud8H.mjs → comment-DnTxxVHv.mjs} +2 -2
- package/dist/{comment-B9cUud8H.mjs.map → comment-DnTxxVHv.mjs.map} +1 -1
- package/dist/{comment-reaction-VUXO981F.mjs → comment-reaction-BUlUz2bh.mjs} +2 -2
- package/dist/{comment-reaction-VUXO981F.mjs.map → comment-reaction-BUlUz2bh.mjs.map} +1 -1
- package/dist/{comments-PXj1E9Si.mjs → comments-QPKgK3nk.mjs} +3 -3
- package/dist/{comments-PXj1E9Si.mjs.map → comments-QPKgK3nk.mjs.map} +1 -1
- package/dist/{config-B6b_BobR.mjs → config-DyF3OKg_.mjs} +15 -10
- package/dist/config-DyF3OKg_.mjs.map +1 -0
- package/dist/{content-BC43pICM.mjs → content-CpfKV9QE.mjs} +9 -9
- package/dist/content-CpfKV9QE.mjs.map +1 -0
- package/dist/{content-refresh-CPMSauD3.mjs → content-refresh-DgqUBeTv.mjs} +5 -5
- package/dist/{content-refresh-CPMSauD3.mjs.map → content-refresh-DgqUBeTv.mjs.map} +1 -1
- package/dist/{context-DOurRIrb.mjs → context-kO4YZB03.mjs} +10 -10
- package/dist/{context-DOurRIrb.mjs.map → context-kO4YZB03.mjs.map} +1 -1
- package/dist/{dashboard-CBm4zhc3.mjs → dashboard-DoBwPnON.mjs} +4 -4
- package/dist/{dashboard-CBm4zhc3.mjs.map → dashboard-DoBwPnON.mjs.map} +1 -1
- package/dist/db/index.d.mts +2 -2
- package/dist/db/index.mjs +3 -2
- package/dist/db/index.mjs.map +1 -1
- package/dist/{device-flow-BeA6lUS1.mjs → device-flow-DhUsyJU6.mjs} +4 -4
- package/dist/{device-flow-BeA6lUS1.mjs.map → device-flow-DhUsyJU6.mjs.map} +1 -1
- package/dist/{dialect-helpers-BtOwo2us.mjs → dialect-helpers-DFwyWjTM.mjs} +21 -2
- package/dist/dialect-helpers-DFwyWjTM.mjs.map +1 -0
- package/dist/{error-DJ98TRbQ.mjs → error-DmmN74gW.mjs} +2 -2
- package/dist/{error-DJ98TRbQ.mjs.map → error-DmmN74gW.mjs.map} +1 -1
- package/dist/{escape-CFedIB1C.mjs → escape-CdW31WsG.mjs} +1 -1
- package/dist/{escape-CFedIB1C.mjs.map → escape-CdW31WsG.mjs.map} +1 -1
- package/dist/{field-defs-cache-KfNJ_qLQ.mjs → field-defs-cache-QMVnzTH6.mjs} +2 -2
- package/dist/{field-defs-cache-KfNJ_qLQ.mjs.map → field-defs-cache-QMVnzTH6.mjs.map} +1 -1
- package/dist/{fts-manager-hyCU9OOp.mjs → fts-manager-vncsZIJm.mjs} +3 -3
- package/dist/{fts-manager-hyCU9OOp.mjs.map → fts-manager-vncsZIJm.mjs.map} +1 -1
- package/dist/{hash-DFFrkivP.mjs → hash-Cb7U1b5M.mjs} +8 -4
- package/dist/hash-Cb7U1b5M.mjs.map +1 -0
- package/dist/{hreflang-CbYeCzl9.mjs → hreflang-Bg-zMpkr.mjs} +7 -7
- package/dist/{hreflang-CbYeCzl9.mjs.map → hreflang-Bg-zMpkr.mjs.map} +1 -1
- package/dist/{hreflang-CIxH_LKz.d.mts → hreflang-CZbSx6Bg.d.mts} +2 -2
- package/dist/{hreflang-CIxH_LKz.d.mts.map → hreflang-CZbSx6Bg.d.mts.map} +1 -1
- package/dist/{import-oDYCgNYQ.mjs → import-PKhLeXvn.mjs} +2 -2
- package/dist/{import-oDYCgNYQ.mjs.map → import-PKhLeXvn.mjs.map} +1 -1
- package/dist/{index-BEui-cRd.d.mts → index-BeNto_Vs.d.mts} +3 -3
- package/dist/{index-BEui-cRd.d.mts.map → index-BeNto_Vs.d.mts.map} +1 -1
- package/dist/{index-BcEH_FfS.d.mts → index-j9rTh3cp.d.mts} +68 -18
- package/dist/index-j9rTh3cp.d.mts.map +1 -0
- package/dist/index.d.mts +18 -18
- package/dist/index.mjs +49 -49
- package/dist/{load-Dg5gtWma.mjs → load-BwTdWE8B.mjs} +2 -2
- package/dist/{load-Dg5gtWma.mjs.map → load-BwTdWE8B.mjs.map} +1 -1
- package/dist/{loader-D4rigvjR.mjs → loader-C1XOLV5b.mjs} +4 -4
- package/dist/{loader-D4rigvjR.mjs.map → loader-C1XOLV5b.mjs.map} +1 -1
- package/dist/media/index.d.mts +1 -1
- package/dist/media/local-runtime.d.mts +12 -12
- package/dist/media/local-runtime.mjs +5 -5
- package/dist/{media-BJ6SRY3g.mjs → media-DWIzoVFL.mjs} +8 -4
- package/dist/{media-BJ6SRY3g.mjs.map → media-DWIzoVFL.mjs.map} +1 -1
- package/dist/{media-allowlist-jUppPWFy.mjs → media-allowlist-B7TPD6aq.mjs} +1 -1
- package/dist/{media-allowlist-jUppPWFy.mjs.map → media-allowlist-B7TPD6aq.mjs.map} +1 -1
- package/dist/{media-its1WLYv.mjs → media-tQDZEdu7.mjs} +60 -15
- package/dist/media-tQDZEdu7.mjs.map +1 -0
- package/dist/{media-upload-DNu3QySc.mjs → media-upload-Bc9Nc5Zf.mjs} +6 -6
- package/dist/{media-upload-DNu3QySc.mjs.map → media-upload-Bc9Nc5Zf.mjs.map} +1 -1
- package/dist/{media-usage-DPQ3K4xB.mjs → media-usage-DPJcNaAq.mjs} +6 -6
- package/dist/{media-usage-DPQ3K4xB.mjs.map → media-usage-DPJcNaAq.mjs.map} +1 -1
- package/dist/{menus-BMGzWyWH.mjs → menus-BxPLFfIc.mjs} +3 -3
- package/dist/{menus-BMGzWyWH.mjs.map → menus-BxPLFfIc.mjs.map} +1 -1
- package/dist/{menus-CPf_SW7u.mjs → menus-C6qhqP4X.mjs} +8 -8
- package/dist/{menus-CPf_SW7u.mjs.map → menus-C6qhqP4X.mjs.map} +1 -1
- package/dist/{oauth-authorization-oqfbBuMH.mjs → oauth-authorization-C9tFinly.mjs} +4 -4
- package/dist/{oauth-authorization-oqfbBuMH.mjs.map → oauth-authorization-C9tFinly.mjs.map} +1 -1
- package/dist/{oauth-clients-BlrUHAsf.mjs → oauth-clients-BwTxE1aE.mjs} +1 -1
- package/dist/{oauth-clients-BlrUHAsf.mjs.map → oauth-clients-BwTxE1aE.mjs.map} +1 -1
- package/dist/{oauth-state-store-DnvjRMy6.mjs → oauth-state-store-DaRUwPWO.mjs} +1 -1
- package/dist/{oauth-state-store-DnvjRMy6.mjs.map → oauth-state-store-DaRUwPWO.mjs.map} +1 -1
- package/dist/{oauth-user-lookup-oUllxvAv.mjs → oauth-user-lookup-CzuzOSlF.mjs} +1 -1
- package/dist/{oauth-user-lookup-oUllxvAv.mjs.map → oauth-user-lookup-CzuzOSlF.mjs.map} +1 -1
- package/dist/object-cache/memory.d.mts +1 -1
- package/dist/{options-BqMkWfYa.d.mts → options-aeIs8WFu.d.mts} +3 -3
- package/dist/{options-BqMkWfYa.d.mts.map → options-aeIs8WFu.d.mts.map} +1 -1
- package/dist/page/index.d.mts +2 -2
- package/dist/{parse-53zyxlpv.mjs → parse-BL49yb9D.mjs} +2 -2
- package/dist/{parse-53zyxlpv.mjs.map → parse-BL49yb9D.mjs.map} +1 -1
- package/dist/{passkey-config-C-SKpc0-.mjs → passkey-config-KMhgFjdQ.mjs} +1 -1
- package/dist/{passkey-config-C-SKpc0-.mjs.map → passkey-config-KMhgFjdQ.mjs.map} +1 -1
- package/dist/{placeholder-Dop47JMM.d.mts → placeholder-Dxo5Zt58.d.mts} +1 -1
- package/dist/{placeholder-Dop47JMM.d.mts.map → placeholder-Dxo5Zt58.d.mts.map} +1 -1
- package/dist/plugin-types.d.mts +1 -1
- package/dist/plugin-utils.d.mts +10 -10
- package/dist/plugins/adapt-sandbox-entry.d.mts +10 -10
- package/dist/{portable-text-sDj92Kxv.mjs → portable-text-CNahFfj6.mjs} +1 -1
- package/dist/{portable-text-sDj92Kxv.mjs.map → portable-text-CNahFfj6.mjs.map} +1 -1
- package/dist/{query-DdFGHzQF.mjs → query-1xOcEy18.mjs} +3 -3
- package/dist/{query-DdFGHzQF.mjs.map → query-1xOcEy18.mjs.map} +1 -1
- package/dist/{query-BbJQ-dGg.mjs → query-DCiXI7OZ.mjs} +36 -16
- package/dist/query-DCiXI7OZ.mjs.map +1 -0
- package/dist/{rate-limit-D3IEiUi2.mjs → rate-limit-Vkp9gQ1Y.mjs} +2 -2
- package/dist/{rate-limit-D3IEiUi2.mjs.map → rate-limit-Vkp9gQ1Y.mjs.map} +1 -1
- package/dist/{redirect-BoUac4NT.mjs → redirect-BJ6d1yHh.mjs} +3 -3
- package/dist/{redirect-BoUac4NT.mjs.map → redirect-BJ6d1yHh.mjs.map} +1 -1
- package/dist/{redirect-Botom7X6.mjs → redirect-CDgfv9vh.mjs} +1 -1
- package/dist/{redirect-Botom7X6.mjs.map → redirect-CDgfv9vh.mjs.map} +1 -1
- package/dist/{redirects-D457qwt0.mjs → redirects-BOn2DIUs.mjs} +8 -4
- package/dist/redirects-BOn2DIUs.mjs.map +1 -0
- package/dist/{redirects-ChbpqKiS.mjs → redirects-Cwkq2H-G.mjs} +3 -3
- package/dist/{redirects-ChbpqKiS.mjs.map → redirects-Cwkq2H-G.mjs.map} +1 -1
- package/dist/{registry-y21kjhfG.mjs → registry-BP1JK2xh.mjs} +6 -6
- package/dist/{registry-y21kjhfG.mjs.map → registry-BP1JK2xh.mjs.map} +1 -1
- package/dist/{relation-Du0r04E0.mjs → relation-DJ5DZh7B.mjs} +3 -3
- package/dist/{relation-Du0r04E0.mjs.map → relation-DJ5DZh7B.mjs.map} +1 -1
- package/dist/{relations-CZMpBqEd.mjs → relations-C4duJnwI.mjs} +2 -2
- package/dist/{relations-CZMpBqEd.mjs.map → relations-C4duJnwI.mjs.map} +1 -1
- package/dist/{relations-BKybBoOX.d.mts → relations-DHFQGX0h.d.mts} +19 -8
- package/dist/relations-DHFQGX0h.d.mts.map +1 -0
- package/dist/{relations-DtX1UMBH.mjs → relations-DpTjftCl.mjs} +6 -6
- package/dist/{relations-DtX1UMBH.mjs.map → relations-DpTjftCl.mjs.map} +1 -1
- package/dist/{resolve-DFr4kq72.mjs → resolve-BUvFE0Lr.mjs} +2 -2
- package/dist/{resolve-DFr4kq72.mjs.map → resolve-BUvFE0Lr.mjs.map} +1 -1
- package/dist/{runner-BdeLEgad.mjs → runner-BsI18UgP.mjs} +230 -212
- package/dist/runner-BsI18UgP.mjs.map +1 -0
- package/dist/{runner-Dd8m8k9F.d.mts → runner-CHdkERbt.d.mts} +2 -2
- package/dist/{runner-Dd8m8k9F.d.mts.map → runner-CHdkERbt.d.mts.map} +1 -1
- package/dist/runtime.d.mts +11 -11
- package/dist/runtime.mjs +3 -3
- package/dist/{schema-BH8P8vaC.mjs → schema-eqZhkR0S.mjs} +3 -3
- package/dist/{schema-BH8P8vaC.mjs.map → schema-eqZhkR0S.mjs.map} +1 -1
- package/dist/{scopes-DTIkIaGA.mjs → scopes-Be2d8bSb.mjs} +3 -3
- package/dist/{scopes-DTIkIaGA.mjs.map → scopes-Be2d8bSb.mjs.map} +1 -1
- package/dist/{search-D-Yhpmvs.mjs → search-CeO678cp.mjs} +6 -6
- package/dist/{search-D-Yhpmvs.mjs.map → search-CeO678cp.mjs.map} +1 -1
- package/dist/{secrets-CQ-69kF9.mjs → secrets-870d-7yA.mjs} +1 -1
- package/dist/{secrets-CQ-69kF9.mjs.map → secrets-870d-7yA.mjs.map} +1 -1
- package/dist/{sections-CzVBAKjw.mjs → sections-DSuEfirn.mjs} +3 -3
- package/dist/{sections-CzVBAKjw.mjs.map → sections-DSuEfirn.mjs.map} +1 -1
- package/dist/seed/index.d.mts +2 -2
- package/dist/seed/index.mjs +18 -16
- package/dist/seo/index.d.mts +3 -3
- package/dist/seo/index.mjs +14 -12
- package/dist/seo/index.mjs.map +1 -1
- package/dist/{seo-kJzVAmmu.mjs → seo-BAPKiED8.mjs} +2 -2
- package/dist/{seo-kJzVAmmu.mjs.map → seo-BAPKiED8.mjs.map} +1 -1
- package/dist/{service-CQnc276a.mjs → service-DyFT-k-R.mjs} +3 -3
- package/dist/{service-CQnc276a.mjs.map → service-DyFT-k-R.mjs.map} +1 -1
- package/dist/{session-user-DbHqKDKe.mjs → session-user-BrK2zz7S.mjs} +1 -1
- package/dist/{session-user-DbHqKDKe.mjs.map → session-user-BrK2zz7S.mjs.map} +1 -1
- package/dist/{settings-Dtc0DU31.mjs → settings-CREKyj8I.mjs} +3 -3
- package/dist/{settings-Dtc0DU31.mjs.map → settings-CREKyj8I.mjs.map} +1 -1
- package/dist/{settings-C2PaBS49.mjs → settings-DgKouY2S.mjs} +3 -3
- package/dist/{settings-C2PaBS49.mjs.map → settings-DgKouY2S.mjs.map} +1 -1
- package/dist/{setup-complete-CdIlqloh.mjs → setup-complete-L7bMK2VI.mjs} +1 -1
- package/dist/{setup-complete-CdIlqloh.mjs.map → setup-complete-L7bMK2VI.mjs.map} +1 -1
- package/dist/{setup-nonce-DqiIPr-J.mjs → setup-nonce-Ct5tjWcq.mjs} +1 -1
- package/dist/{setup-nonce-DqiIPr-J.mjs.map → setup-nonce-Ct5tjWcq.mjs.map} +1 -1
- package/dist/{site-url-NGJT6NTU.mjs → site-url-8N3kSyVZ.mjs} +1 -1
- package/dist/{site-url-NGJT6NTU.mjs.map → site-url-8N3kSyVZ.mjs.map} +1 -1
- package/dist/storage/local.d.mts +1 -1
- package/dist/storage/s3.d.mts +1 -1
- package/dist/storage/s3.mjs +1 -1
- package/dist/storage/s3.mjs.map +1 -1
- package/dist/{taxonomies-HI9fnTdp.mjs → taxonomies-B61CRSha.mjs} +94 -39
- package/dist/taxonomies-B61CRSha.mjs.map +1 -0
- package/dist/{taxonomies-rMeBzOjX.mjs → taxonomies-Dbdki3Un.mjs} +9 -8
- package/dist/taxonomies-Dbdki3Un.mjs.map +1 -0
- package/dist/{taxonomy-0mCI25HN.mjs → taxonomy-DvwWAPvA.mjs} +3 -3
- package/dist/{taxonomy-0mCI25HN.mjs.map → taxonomy-DvwWAPvA.mjs.map} +1 -1
- package/dist/{transport-CKrlqSpD.mjs → transport-BWQo0Foy.mjs} +1 -1
- package/dist/{transport-CKrlqSpD.mjs.map → transport-BWQo0Foy.mjs.map} +1 -1
- package/dist/{transport-Vd7VdqHv.d.mts → transport-DokJOScS.d.mts} +1 -1
- package/dist/{transport-Vd7VdqHv.d.mts.map → transport-DokJOScS.d.mts.map} +1 -1
- package/dist/{types-DPKhI5ib.d.mts → types-84Bque3-.d.mts} +9 -1
- package/dist/types-84Bque3-.d.mts.map +1 -0
- package/dist/{types-BvB7gDOD.d.mts → types-BQY7VYw6.d.mts} +2 -2
- package/dist/{types-BvB7gDOD.d.mts.map → types-BQY7VYw6.d.mts.map} +1 -1
- package/dist/{types-B4vm81VH.d.mts → types-C9P3ysxq.d.mts} +1 -1
- package/dist/{types-B4vm81VH.d.mts.map → types-C9P3ysxq.d.mts.map} +1 -1
- package/dist/{types-B97jg3aW.d.mts → types-CcSZCcF1.d.mts} +1 -1
- package/dist/{types-B97jg3aW.d.mts.map → types-CcSZCcF1.d.mts.map} +1 -1
- package/dist/{types-BNfPHfay.d.mts → types-DQLZ58GV.d.mts} +1 -1
- package/dist/{types-BNfPHfay.d.mts.map → types-DQLZ58GV.d.mts.map} +1 -1
- package/dist/{types-BfYUPJdP.d.mts → types-DqZVPILm.d.mts} +2 -2
- package/dist/{types-BfYUPJdP.d.mts.map → types-DqZVPILm.d.mts.map} +1 -1
- package/dist/{types-C7U0HlEr.d.mts → types-Dr2GLlwu.d.mts} +1 -1
- package/dist/{types-C7U0HlEr.d.mts.map → types-Dr2GLlwu.d.mts.map} +1 -1
- package/dist/{types-iVeZ5g6N.d.mts → types-DsAMyD_o.d.mts} +1 -1
- package/dist/{types-iVeZ5g6N.d.mts.map → types-DsAMyD_o.d.mts.map} +1 -1
- package/dist/{types-CrRUFdej.mjs → types-XrQQ-Aex.mjs} +2 -2
- package/dist/{types-CrRUFdej.mjs.map → types-XrQQ-Aex.mjs.map} +1 -1
- package/dist/{types-Kmaxdarz.d.mts → types-jISEalTX.d.mts} +1 -1
- package/dist/{types-Kmaxdarz.d.mts.map → types-jISEalTX.d.mts.map} +1 -1
- package/dist/upload-attempts-C5yd6Gae.mjs +27 -0
- package/dist/upload-attempts-C5yd6Gae.mjs.map +1 -0
- package/dist/{user-aTXqmXBz.mjs → user-BAumEmpA.mjs} +3 -3
- package/dist/{user-aTXqmXBz.mjs.map → user-BAumEmpA.mjs.map} +1 -1
- package/dist/{validate-CDT1jl6_.mjs → validate-Bs_wT2ul.mjs} +3 -3
- package/dist/{validate-CDT1jl6_.mjs.map → validate-Bs_wT2ul.mjs.map} +1 -1
- package/dist/{validate-DULfgpJP.d.mts → validate-CdYcY-Ln.d.mts} +5 -5
- package/dist/{validate-DULfgpJP.d.mts.map → validate-CdYcY-Ln.d.mts.map} +1 -1
- package/dist/{validation-DlD0E35W.mjs → validation-BngR0nit.mjs} +10 -8
- package/dist/{validation-DlD0E35W.mjs.map → validation-BngR0nit.mjs.map} +1 -1
- package/dist/version-Bdfb34kk.mjs +7 -0
- package/dist/{version-Ci6bw6YK.mjs.map → version-Bdfb34kk.mjs.map} +1 -1
- package/dist/{widgets-5fipNkMT.mjs → widgets-L-VndTKD.mjs} +2 -2
- package/dist/{widgets-5fipNkMT.mjs.map → widgets-L-VndTKD.mjs.map} +1 -1
- package/dist/{wxr-taxonomies-BmUnBNgz.mjs → wxr-taxonomies-BexjtNid.mjs} +4 -4
- package/dist/{wxr-taxonomies-BmUnBNgz.mjs.map → wxr-taxonomies-BexjtNid.mjs.map} +1 -1
- package/dist/{wxr-taxonomies-B4tMuN5T.d.mts → wxr-taxonomies-DueaLFd9.d.mts} +1 -1
- package/dist/{wxr-taxonomies-B4tMuN5T.d.mts.map → wxr-taxonomies-DueaLFd9.d.mts.map} +1 -1
- package/dist/{zod-generator-CwkHWz4f.mjs → zod-generator-DMzfga3g.mjs} +3 -3
- package/dist/{zod-generator-CwkHWz4f.mjs.map → zod-generator-DMzfga3g.mjs.map} +1 -1
- package/package.json +8 -7
- package/src/api/handlers/media.ts +4 -4
- package/src/api/handlers/taxonomies.ts +10 -9
- package/src/api/openapi/document.ts +36 -3
- package/src/api/schemas/media.ts +9 -2
- package/src/api/schemas/taxonomies.ts +16 -1
- package/src/astro/integration/routes.ts +5 -0
- package/src/astro/prefetch.ts +7 -2
- package/src/astro/routes/api/content/[collection]/[id].ts +3 -1
- package/src/astro/routes/api/media/[id]/confirm.ts +148 -59
- package/src/astro/routes/api/media/[id]/upload.ts +262 -0
- package/src/astro/routes/api/media/[id].ts +19 -10
- package/src/astro/routes/api/media/upload-url.ts +28 -31
- package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +6 -3
- package/src/astro/types.ts +1 -0
- package/src/cleanup.ts +24 -1
- package/src/components/InlinePortableTextEditor.tsx +4 -0
- package/src/components/code-mark.ts +11 -0
- package/src/components/widgets/Categories.astro +1 -1
- package/src/components/widgets/Tags.astro +1 -1
- package/src/database/dialect-helpers.ts +38 -0
- package/src/database/migrations/054_media_upload_attempts.ts +41 -0
- package/src/database/migrations/runner.ts +2 -0
- package/src/database/repositories/content.ts +2 -5
- package/src/database/repositories/media.ts +158 -28
- package/src/database/types.ts +10 -0
- package/src/emdash-runtime.ts +13 -0
- package/src/i18n/config.ts +17 -10
- package/src/index.ts +1 -0
- package/src/media/upload-attempts.ts +33 -0
- package/src/query.ts +29 -2
- package/src/storage/s3.ts +1 -1
- package/src/taxonomies/index.ts +64 -23
- package/src/taxonomies/term-counts.ts +54 -24
- package/src/utils/hash.ts +14 -3
- package/dist/api-EibxGP-V.mjs.map +0 -1
- package/dist/config-B6b_BobR.mjs.map +0 -1
- package/dist/content-BC43pICM.mjs.map +0 -1
- package/dist/dialect-helpers-BtOwo2us.mjs.map +0 -1
- package/dist/hash-DFFrkivP.mjs.map +0 -1
- package/dist/index-BcEH_FfS.d.mts.map +0 -1
- package/dist/media-its1WLYv.mjs.map +0 -1
- package/dist/query-BbJQ-dGg.mjs.map +0 -1
- package/dist/redirects-D457qwt0.mjs.map +0 -1
- package/dist/relations-BKybBoOX.d.mts.map +0 -1
- package/dist/runner-BdeLEgad.mjs.map +0 -1
- package/dist/taxonomies-HI9fnTdp.mjs.map +0 -1
- package/dist/taxonomies-rMeBzOjX.mjs.map +0 -1
- package/dist/types-DPKhI5ib.d.mts.map +0 -1
- package/dist/version-Ci6bw6YK.mjs +0 -7
- /package/dist/{api-tokens-Cvmixds7.mjs → api-tokens-CEsW_jCg.mjs} +0 -0
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import { a as runMigrations } from "../../../../runner-
|
|
2
|
-
import "../../../../dialect-helpers-
|
|
1
|
+
import { a as runMigrations } from "../../../../runner-BsI18UgP.mjs";
|
|
2
|
+
import "../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
3
|
+
import "../../../../config-DyF3OKg_.mjs";
|
|
3
4
|
import "../../../../after-B1IIdH3Y.mjs";
|
|
4
5
|
import "../../../../object-cache-Bok5j2ae.mjs";
|
|
5
|
-
import "../../../../content-
|
|
6
|
+
import "../../../../content-CpfKV9QE.mjs";
|
|
6
7
|
import "../../../../base64-B-PsqheR.mjs";
|
|
7
|
-
import "../../../../types-
|
|
8
|
-
import "../../../../media-
|
|
9
|
-
import "../../../../taxonomy-
|
|
8
|
+
import "../../../../types-XrQQ-Aex.mjs";
|
|
9
|
+
import "../../../../media-tQDZEdu7.mjs";
|
|
10
|
+
import "../../../../taxonomy-DvwWAPvA.mjs";
|
|
10
11
|
import { t as OptionsRepository } from "../../../../options-BlmBHTvX.mjs";
|
|
11
|
-
import "../../../../redirect-
|
|
12
|
+
import "../../../../redirect-BJ6d1yHh.mjs";
|
|
12
13
|
import "../../../../request-cache-BSUptuJR.mjs";
|
|
13
14
|
import "../../../../byline-registry-BCuOp4UF.mjs";
|
|
14
|
-
import "../../../../field-defs-cache-
|
|
15
|
-
import "../../../../byline-
|
|
16
|
-
import "../../../../fts-manager-
|
|
17
|
-
import "../../../../loader-
|
|
18
|
-
import "../../../../
|
|
19
|
-
import "../../../../
|
|
20
|
-
import "../../../../
|
|
15
|
+
import "../../../../field-defs-cache-QMVnzTH6.mjs";
|
|
16
|
+
import "../../../../byline-C5TAqs8N.mjs";
|
|
17
|
+
import "../../../../fts-manager-vncsZIJm.mjs";
|
|
18
|
+
import "../../../../loader-C1XOLV5b.mjs";
|
|
19
|
+
import "../../../../hash-Cb7U1b5M.mjs";
|
|
20
|
+
import "../../../../content-refresh-DgqUBeTv.mjs";
|
|
21
|
+
import "../../../../registry-BP1JK2xh.mjs";
|
|
22
|
+
import "../../../../settings-DgKouY2S.mjs";
|
|
21
23
|
import "../../../../ssrf-CviKqWmq.mjs";
|
|
22
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-
|
|
23
|
-
import { n as parseBody, t as isParseError } from "../../../../parse-
|
|
24
|
-
import "../../../../media-
|
|
25
|
-
import "../../../../redirects-
|
|
26
|
-
import { x as setupBody } from "../../../../relations-
|
|
24
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-DmmN74gW.mjs";
|
|
25
|
+
import { n as parseBody, t as isParseError } from "../../../../parse-BL49yb9D.mjs";
|
|
26
|
+
import "../../../../media-DWIzoVFL.mjs";
|
|
27
|
+
import "../../../../redirects-BOn2DIUs.mjs";
|
|
28
|
+
import { x as setupBody } from "../../../../relations-C4duJnwI.mjs";
|
|
27
29
|
import "../../../../status-COfycGIU.mjs";
|
|
28
30
|
import "../../../../api/schemas/index.mjs";
|
|
29
31
|
import "../../../../ssrf-BB__xfNM.mjs";
|
|
30
|
-
import { t as validateSeed } from "../../../../validate-
|
|
31
|
-
import { t as applySeed } from "../../../../apply-
|
|
32
|
-
import { t as loadSeed } from "../../../../load-
|
|
32
|
+
import { t as validateSeed } from "../../../../validate-Bs_wT2ul.mjs";
|
|
33
|
+
import { t as applySeed } from "../../../../apply-1_6ra7NP.mjs";
|
|
34
|
+
import { t as loadSeed } from "../../../../load-BwTdWE8B.mjs";
|
|
33
35
|
import { n as getPublicOrigin } from "../../../../public-url-DSGTnJFw.mjs";
|
|
34
36
|
import { t as getAuthMode } from "../../../../mode-fiXRMfeA.mjs";
|
|
35
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../src/astro/routes/api/setup/index.ts"],"sourcesContent":["/**\n * POST /_emdash/api/setup\n *\n * Executes the setup wizard - applies seed file and marks setup complete\n */\n\nimport type { APIRoute } from \"astro\";\n\nexport const prerender = false;\n\nimport { apiError, apiSuccess, handleError } from \"#api/error.js\";\nimport { isParseError, parseBody } from \"#api/parse.js\";\nimport { getPublicOrigin } from \"#api/public-url.js\";\nimport { setupBody } from \"#api/schemas.js\";\nimport { getAuthMode } from \"#auth/mode.js\";\nimport { runMigrations } from \"#db/migrations/runner.js\";\nimport { OptionsRepository } from \"#db/repositories/options.js\";\nimport { applySeed } from \"#seed/apply.js\";\nimport { loadSeed } from \"#seed/load.js\";\nimport { validateSeed } from \"#seed/validate.js\";\n\nexport const POST: APIRoute = async ({ request, url, locals }) => {\n\tconst { emdash } = locals;\n\n\tif (!emdash?.db) {\n\t\treturn apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\t}\n\n\ttry {\n\t\t// Guard: reject if setup has already been completed.\n\t\t// The options table may not exist on first-ever setup (pre-migration),\n\t\t// so a query failure means setup hasn't run yet — allow it to proceed.\n\t\ttry {\n\t\t\tconst options = new OptionsRepository(emdash.db);\n\t\t\tconst setupComplete = await options.get(\"emdash:setup_complete\");\n\n\t\t\tif (setupComplete === true || setupComplete === \"true\") {\n\t\t\t\treturn apiError(\"ALREADY_CONFIGURED\", \"Setup has already been completed\", 409);\n\t\t\t}\n\t\t} catch {\n\t\t\t// Options table doesn't exist yet — first-ever setup, allow it\n\t\t}\n\n\t\t// Parse request body\n\t\tconst body = await parseBody(request, setupBody);\n\t\tif (isParseError(body)) return body;\n\n\t\t// 1. Run core migrations\n\t\ttry {\n\t\t\tawait runMigrations(emdash.db);\n\t\t} catch (error) {\n\t\t\treturn handleError(error, \"Failed to run database migrations\", \"MIGRATION_ERROR\");\n\t\t}\n\n\t\t// 2. Load seed file (user seed or built-in default)\n\t\tconst seed = await loadSeed();\n\n\t\t// 3. Override seed settings with form values\n\t\tseed.settings = {\n\t\t\t...seed.settings,\n\t\t\ttitle: body.title,\n\t\t\ttagline: body.tagline,\n\t\t};\n\n\t\t// 4. Apply seed\n\t\tconst validation = validateSeed(seed);\n\t\tif (!validation.valid) {\n\t\t\treturn apiError(\"INVALID_SEED\", `Invalid seed file: ${validation.errors.join(\", \")}`, 400);\n\t\t}\n\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await applySeed(emdash.db, seed, {\n\t\t\t\tincludeContent: body.includeContent,\n\t\t\t\tonConflict: \"skip\",\n\t\t\t\tstorage: emdash.storage ?? undefined,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treturn handleError(error, \"Failed to apply seed\", \"SEED_ERROR\");\n\t\t}\n\n\t\t// 5. Store setup state\n\t\t// In external auth mode, mark setup complete immediately (first user to login becomes admin)\n\t\t// Otherwise, setup_complete is set after admin user is created (passkey or auth provider)\n\t\tconst authMode = getAuthMode(emdash.config);\n\t\tconst useExternalAuth = authMode.type === \"external\";\n\n\t\ttry {\n\t\t\tconst options = new OptionsRepository(emdash.db);\n\n\t\t\t// Store the canonical site URL from the setup request.\n\t\t\t// Write-once at the DB level so concurrent setup POSTs can't both\n\t\t\t// observe an empty value and race to write. A spoofed Host header\n\t\t\t// on a later call during the wizard window must not be able to\n\t\t\t// replace the first value.\n\t\t\tconst siteUrl = getPublicOrigin(url, emdash.config);\n\t\t\tawait options.setIfAbsent(\"emdash:site_url\", siteUrl);\n\n\t\t\tif (useExternalAuth) {\n\t\t\t\t// External auth mode: mark setup complete now\n\t\t\t\t// First user to log in via external provider will become admin\n\t\t\t\tawait options.set(\"emdash:setup_complete\", true);\n\t\t\t\tawait options.set(\"emdash:site_title\", body.title);\n\t\t\t\tif (body.tagline) {\n\t\t\t\t\tawait options.set(\"emdash:site_tagline\", body.tagline);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Passkey/provider mode: store state for next step (admin creation)\n\t\t\t\tawait options.set(\"emdash:setup_state\", {\n\t\t\t\t\tstep: \"site_complete\",\n\t\t\t\t\ttitle: body.title,\n\t\t\t\t\ttagline: body.tagline,\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Failed to save setup state:\", error);\n\t\t\t// Non-fatal - continue anyway\n\t\t}\n\n\t\t// 6. Return success with result\n\t\treturn apiSuccess({\n\t\t\tsuccess: true,\n\t\t\t// In external auth mode, setup is complete - redirect to admin\n\t\t\tsetupComplete: useExternalAuth,\n\t\t\tresult,\n\t\t});\n\t} catch (error) {\n\t\treturn handleError(error, \"Setup failed\", \"SETUP_ERROR\");\n\t}\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../src/astro/routes/api/setup/index.ts"],"sourcesContent":["/**\n * POST /_emdash/api/setup\n *\n * Executes the setup wizard - applies seed file and marks setup complete\n */\n\nimport type { APIRoute } from \"astro\";\n\nexport const prerender = false;\n\nimport { apiError, apiSuccess, handleError } from \"#api/error.js\";\nimport { isParseError, parseBody } from \"#api/parse.js\";\nimport { getPublicOrigin } from \"#api/public-url.js\";\nimport { setupBody } from \"#api/schemas.js\";\nimport { getAuthMode } from \"#auth/mode.js\";\nimport { runMigrations } from \"#db/migrations/runner.js\";\nimport { OptionsRepository } from \"#db/repositories/options.js\";\nimport { applySeed } from \"#seed/apply.js\";\nimport { loadSeed } from \"#seed/load.js\";\nimport { validateSeed } from \"#seed/validate.js\";\n\nexport const POST: APIRoute = async ({ request, url, locals }) => {\n\tconst { emdash } = locals;\n\n\tif (!emdash?.db) {\n\t\treturn apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\t}\n\n\ttry {\n\t\t// Guard: reject if setup has already been completed.\n\t\t// The options table may not exist on first-ever setup (pre-migration),\n\t\t// so a query failure means setup hasn't run yet — allow it to proceed.\n\t\ttry {\n\t\t\tconst options = new OptionsRepository(emdash.db);\n\t\t\tconst setupComplete = await options.get(\"emdash:setup_complete\");\n\n\t\t\tif (setupComplete === true || setupComplete === \"true\") {\n\t\t\t\treturn apiError(\"ALREADY_CONFIGURED\", \"Setup has already been completed\", 409);\n\t\t\t}\n\t\t} catch {\n\t\t\t// Options table doesn't exist yet — first-ever setup, allow it\n\t\t}\n\n\t\t// Parse request body\n\t\tconst body = await parseBody(request, setupBody);\n\t\tif (isParseError(body)) return body;\n\n\t\t// 1. Run core migrations\n\t\ttry {\n\t\t\tawait runMigrations(emdash.db);\n\t\t} catch (error) {\n\t\t\treturn handleError(error, \"Failed to run database migrations\", \"MIGRATION_ERROR\");\n\t\t}\n\n\t\t// 2. Load seed file (user seed or built-in default)\n\t\tconst seed = await loadSeed();\n\n\t\t// 3. Override seed settings with form values\n\t\tseed.settings = {\n\t\t\t...seed.settings,\n\t\t\ttitle: body.title,\n\t\t\ttagline: body.tagline,\n\t\t};\n\n\t\t// 4. Apply seed\n\t\tconst validation = validateSeed(seed);\n\t\tif (!validation.valid) {\n\t\t\treturn apiError(\"INVALID_SEED\", `Invalid seed file: ${validation.errors.join(\", \")}`, 400);\n\t\t}\n\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await applySeed(emdash.db, seed, {\n\t\t\t\tincludeContent: body.includeContent,\n\t\t\t\tonConflict: \"skip\",\n\t\t\t\tstorage: emdash.storage ?? undefined,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\treturn handleError(error, \"Failed to apply seed\", \"SEED_ERROR\");\n\t\t}\n\n\t\t// 5. Store setup state\n\t\t// In external auth mode, mark setup complete immediately (first user to login becomes admin)\n\t\t// Otherwise, setup_complete is set after admin user is created (passkey or auth provider)\n\t\tconst authMode = getAuthMode(emdash.config);\n\t\tconst useExternalAuth = authMode.type === \"external\";\n\n\t\ttry {\n\t\t\tconst options = new OptionsRepository(emdash.db);\n\n\t\t\t// Store the canonical site URL from the setup request.\n\t\t\t// Write-once at the DB level so concurrent setup POSTs can't both\n\t\t\t// observe an empty value and race to write. A spoofed Host header\n\t\t\t// on a later call during the wizard window must not be able to\n\t\t\t// replace the first value.\n\t\t\tconst siteUrl = getPublicOrigin(url, emdash.config);\n\t\t\tawait options.setIfAbsent(\"emdash:site_url\", siteUrl);\n\n\t\t\tif (useExternalAuth) {\n\t\t\t\t// External auth mode: mark setup complete now\n\t\t\t\t// First user to log in via external provider will become admin\n\t\t\t\tawait options.set(\"emdash:setup_complete\", true);\n\t\t\t\tawait options.set(\"emdash:site_title\", body.title);\n\t\t\t\tif (body.tagline) {\n\t\t\t\t\tawait options.set(\"emdash:site_tagline\", body.tagline);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Passkey/provider mode: store state for next step (admin creation)\n\t\t\t\tawait options.set(\"emdash:setup_state\", {\n\t\t\t\t\tstep: \"site_complete\",\n\t\t\t\t\ttitle: body.title,\n\t\t\t\t\ttagline: body.tagline,\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(\"Failed to save setup state:\", error);\n\t\t\t// Non-fatal - continue anyway\n\t\t}\n\n\t\t// 6. Return success with result\n\t\treturn apiSuccess({\n\t\t\tsuccess: true,\n\t\t\t// In external auth mode, setup is complete - redirect to admin\n\t\t\tsetupComplete: useExternalAuth,\n\t\t\tresult,\n\t\t});\n\t} catch (error) {\n\t\treturn handleError(error, \"Setup failed\", \"SETUP_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAa,YAAY;AAazB,MAAa,OAAiB,OAAO,EAAE,SAAS,KAAK,aAAa;CACjE,MAAM,EAAE,WAAW;AAEnB,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;AAGpE,KAAI;AAIH,MAAI;GAEH,MAAM,gBAAgB,MADN,IAAI,kBAAkB,OAAO,GAAG,CACZ,IAAI,wBAAwB;AAEhE,OAAI,kBAAkB,QAAQ,kBAAkB,OAC/C,QAAO,SAAS,sBAAsB,oCAAoC,IAAI;UAExE;EAKR,MAAM,OAAO,MAAM,UAAU,SAAS,UAAU;AAChD,MAAI,aAAa,KAAK,CAAE,QAAO;AAG/B,MAAI;AACH,SAAM,cAAc,OAAO,GAAG;WACtB,OAAO;AACf,UAAO,YAAY,OAAO,qCAAqC,kBAAkB;;EAIlF,MAAM,OAAO,MAAM,UAAU;AAG7B,OAAK,WAAW;GACf,GAAG,KAAK;GACR,OAAO,KAAK;GACZ,SAAS,KAAK;GACd;EAGD,MAAM,aAAa,aAAa,KAAK;AACrC,MAAI,CAAC,WAAW,MACf,QAAO,SAAS,gBAAgB,sBAAsB,WAAW,OAAO,KAAK,KAAK,IAAI,IAAI;EAG3F,IAAI;AACJ,MAAI;AACH,YAAS,MAAM,UAAU,OAAO,IAAI,MAAM;IACzC,gBAAgB,KAAK;IACrB,YAAY;IACZ,SAAS,OAAO,WAAW;IAC3B,CAAC;WACM,OAAO;AACf,UAAO,YAAY,OAAO,wBAAwB,aAAa;;EAOhE,MAAM,kBADW,YAAY,OAAO,OAAO,CACV,SAAS;AAE1C,MAAI;GACH,MAAM,UAAU,IAAI,kBAAkB,OAAO,GAAG;GAOhD,MAAM,UAAU,gBAAgB,KAAK,OAAO,OAAO;AACnD,SAAM,QAAQ,YAAY,mBAAmB,QAAQ;AAErD,OAAI,iBAAiB;AAGpB,UAAM,QAAQ,IAAI,yBAAyB,KAAK;AAChD,UAAM,QAAQ,IAAI,qBAAqB,KAAK,MAAM;AAClD,QAAI,KAAK,QACR,OAAM,QAAQ,IAAI,uBAAuB,KAAK,QAAQ;SAIvD,OAAM,QAAQ,IAAI,sBAAsB;IACvC,MAAM;IACN,OAAO,KAAK;IACZ,SAAS,KAAK;IACd,CAAC;WAEK,OAAO;AACf,WAAQ,MAAM,+BAA+B,MAAM;;AAKpD,SAAO,WAAW;GACjB,SAAS;GAET,eAAe;GACf;GACA,CAAC;UACM,OAAO;AACf,SAAO,YAAY,OAAO,gBAAgB,cAAc"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../../../../base64-B-PsqheR.mjs";
|
|
2
|
-
import "../../../../types-
|
|
3
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-
|
|
4
|
-
import { n as loadUserSeed } from "../../../../load-
|
|
2
|
+
import "../../../../types-XrQQ-Aex.mjs";
|
|
3
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-DmmN74gW.mjs";
|
|
4
|
+
import { n as loadUserSeed } from "../../../../load-BwTdWE8B.mjs";
|
|
5
5
|
import { t as getAuthMode } from "../../../../mode-fiXRMfeA.mjs";
|
|
6
6
|
|
|
7
7
|
//#region src/astro/routes/api/setup/status.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import "../../../after-B1IIdH3Y.mjs";
|
|
2
2
|
import "../../../base64-B-PsqheR.mjs";
|
|
3
|
-
import "../../../types-
|
|
3
|
+
import "../../../types-XrQQ-Aex.mjs";
|
|
4
4
|
import "../../../options-BlmBHTvX.mjs";
|
|
5
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../error-
|
|
5
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../error-DmmN74gW.mjs";
|
|
6
6
|
import { n as getPublicOrigin } from "../../../public-url-DSGTnJFw.mjs";
|
|
7
7
|
import { n as parsePreviewSignatureHeader, r as verifyPreviewSignature, t as generateSnapshot } from "../../../snapshot-BdpUJKD-.mjs";
|
|
8
|
-
import { i as resolveSecretsCached } from "../../../secrets-
|
|
9
|
-
import { t as resolveSessionUser } from "../../../session-user-
|
|
10
|
-
import { r as requirePerm } from "../../../authorize-
|
|
8
|
+
import { i as resolveSecretsCached } from "../../../secrets-870d-7yA.mjs";
|
|
9
|
+
import { t as resolveSessionUser } from "../../../session-user-BrK2zz7S.mjs";
|
|
10
|
+
import { r as requirePerm } from "../../../authorize-R5iYYrpa.mjs";
|
|
11
11
|
|
|
12
12
|
//#region src/astro/routes/api/snapshot.ts
|
|
13
13
|
const prerender = false;
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import "../../../../../../../dialect-helpers-
|
|
1
|
+
import "../../../../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
2
|
+
import "../../../../../../../config-DyF3OKg_.mjs";
|
|
2
3
|
import "../../../../../../../after-B1IIdH3Y.mjs";
|
|
3
4
|
import "../../../../../../../object-cache-Bok5j2ae.mjs";
|
|
4
5
|
import "../../../../../../../base64-B-PsqheR.mjs";
|
|
5
|
-
import "../../../../../../../types-
|
|
6
|
-
import "../../../../../../../taxonomy-
|
|
6
|
+
import "../../../../../../../types-XrQQ-Aex.mjs";
|
|
7
|
+
import "../../../../../../../taxonomy-DvwWAPvA.mjs";
|
|
7
8
|
import "../../../../../../../request-cache-BSUptuJR.mjs";
|
|
8
|
-
import "../../../../../../../resolve-
|
|
9
|
-
import "../../../../../../../loader-
|
|
10
|
-
import "../../../../../../../taxonomies-
|
|
11
|
-
import { a as handleTermGet, r as handleTermCreate, s as handleTermTranslations } from "../../../../../../../taxonomies-
|
|
12
|
-
import { a as unwrapResult, i as requireDb, r as handleError, t as apiError } from "../../../../../../../error-
|
|
13
|
-
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../../../../parse-
|
|
14
|
-
import {
|
|
15
|
-
import "../../../../../../../redirects-
|
|
16
|
-
import "../../../../../../../relations-
|
|
9
|
+
import "../../../../../../../resolve-BUvFE0Lr.mjs";
|
|
10
|
+
import "../../../../../../../loader-C1XOLV5b.mjs";
|
|
11
|
+
import "../../../../../../../taxonomies-B61CRSha.mjs";
|
|
12
|
+
import { a as handleTermGet, r as handleTermCreate, s as handleTermTranslations } from "../../../../../../../taxonomies-Dbdki3Un.mjs";
|
|
13
|
+
import { a as unwrapResult, i as requireDb, r as handleError, t as apiError } from "../../../../../../../error-DmmN74gW.mjs";
|
|
14
|
+
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../../../../parse-BL49yb9D.mjs";
|
|
15
|
+
import { B as localeFilterQuery } from "../../../../../../../media-DWIzoVFL.mjs";
|
|
16
|
+
import "../../../../../../../redirects-BOn2DIUs.mjs";
|
|
17
|
+
import "../../../../../../../relations-C4duJnwI.mjs";
|
|
17
18
|
import "../../../../../../../status-COfycGIU.mjs";
|
|
18
19
|
import "../../../../../../../api/schemas/index.mjs";
|
|
19
|
-
import { r as requirePerm } from "../../../../../../../authorize-
|
|
20
|
+
import { r as requirePerm } from "../../../../../../../authorize-R5iYYrpa.mjs";
|
|
20
21
|
import { z } from "zod";
|
|
21
22
|
|
|
22
23
|
//#region src/astro/routes/api/taxonomies/[name]/terms/[slug]/translations.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.mjs","names":[],"sources":["../../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/[slug]/translations.ts"],"sourcesContent":["/**\n * Term translation endpoints\n *\n * GET /_emdash/api/taxonomies/:name/terms/:slug/translations[?locale=xx]\n * POST /_emdash/api/taxonomies/:name/terms/:slug/translations\n * body: { locale, label?, slug? }\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport {\n\thandleTermCreate,\n\thandleTermGet,\n\thandleTermTranslations,\n} from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { localeFilterQuery } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\nconst createTermTranslationBody = z\n\t.object({\n\t\tlocale: z.string().min(1),\n\t\tlabel: z.string().min(1).optional(),\n\t\tslug: z.string().min(1).optional(),\n\t})\n\t.meta({ id: \"CreateTermTranslationBody\" });\n\nexport const GET: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:read\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst anchor = await handleTermGet(emdash.db, name, slug, { locale: query.locale });\n\t\tif (!anchor.success) return unwrapResult(anchor);\n\t\tconst result = await handleTermTranslations(emdash.db, anchor.data.term.id);\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to list term translations\", \"TERM_TRANSLATIONS_ERROR\");\n\t}\n};\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst body = await parseBody(request, createTermTranslationBody);\n\t\tif (isParseError(body)) return body;\n\n\t\tconst source = await handleTermGet(emdash.db, name, slug, { locale: query.locale });\n\t\tif (!source.success) return unwrapResult(source);\n\n\t\tconst result = await handleTermCreate(emdash.db, name, {\n\t\t\tslug: body.slug ?? source.data.term.slug,\n\t\t\tlabel: body.label ?? source.data.term.label,\n\t\t\tparentId: source.data.term.parentId,\n\t\t\tdescription: source.data.term.description,\n\t\t\tlocale: body.locale,\n\t\t\ttranslationOf: source.data.term.id,\n\t\t});\n\t\treturn unwrapResult(result, 201);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to create term translation\", \"TERM_TRANSLATION_CREATE_ERROR\");\n\t}\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"translations.mjs","names":[],"sources":["../../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/[slug]/translations.ts"],"sourcesContent":["/**\n * Term translation endpoints\n *\n * GET /_emdash/api/taxonomies/:name/terms/:slug/translations[?locale=xx]\n * POST /_emdash/api/taxonomies/:name/terms/:slug/translations\n * body: { locale, label?, slug? }\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport {\n\thandleTermCreate,\n\thandleTermGet,\n\thandleTermTranslations,\n} from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { localeFilterQuery } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\nconst createTermTranslationBody = z\n\t.object({\n\t\tlocale: z.string().min(1),\n\t\tlabel: z.string().min(1).optional(),\n\t\tslug: z.string().min(1).optional(),\n\t})\n\t.meta({ id: \"CreateTermTranslationBody\" });\n\nexport const GET: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:read\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst anchor = await handleTermGet(emdash.db, name, slug, { locale: query.locale });\n\t\tif (!anchor.success) return unwrapResult(anchor);\n\t\tconst result = await handleTermTranslations(emdash.db, anchor.data.term.id);\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to list term translations\", \"TERM_TRANSLATIONS_ERROR\");\n\t}\n};\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst body = await parseBody(request, createTermTranslationBody);\n\t\tif (isParseError(body)) return body;\n\n\t\tconst source = await handleTermGet(emdash.db, name, slug, { locale: query.locale });\n\t\tif (!source.success) return unwrapResult(source);\n\n\t\tconst result = await handleTermCreate(emdash.db, name, {\n\t\t\tslug: body.slug ?? source.data.term.slug,\n\t\t\tlabel: body.label ?? source.data.term.label,\n\t\t\tparentId: source.data.term.parentId,\n\t\t\tdescription: source.data.term.description,\n\t\t\tlocale: body.locale,\n\t\t\ttranslationOf: source.data.term.id,\n\t\t});\n\t\treturn unwrapResult(result, 201);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to create term translation\", \"TERM_TRANSLATION_CREATE_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAa,YAAY;AAEzB,MAAM,4BAA4B,EAChC,OAAO;CACP,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;CACzB,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACnC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CAClC,CAAC,CACD,KAAK,EAAE,IAAI,6BAA6B,CAAC;AAE3C,MAAa,MAAgB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACnE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,MAAM,SAAS;AACvB,KAAI,CAAC,QAAQ,CAAC,KAAM,QAAO,SAAS,oBAAoB,mCAAmC,IAAI;CAE/F,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,kBAAkB;AACnD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,WAAW,IAAI,IAAI,QAAQ,IAAI,EAAE,kBAAkB;AACjE,KAAI,aAAa,MAAM,CAAE,QAAO;AAEhC,KAAI;EACH,MAAM,SAAS,MAAM,cAAc,OAAO,IAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,QAAQ,CAAC;AACnF,MAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAEhD,SAAO,aADQ,MAAM,uBAAuB,OAAO,IAAI,OAAO,KAAK,KAAK,GAAG,CAChD;UACnB,OAAO;AACf,SAAO,YAAY,OAAO,oCAAoC,0BAA0B;;;AAI1F,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACpE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,MAAM,SAAS;AACvB,KAAI,CAAC,QAAQ,CAAC,KAAM,QAAO,SAAS,oBAAoB,mCAAmC,IAAI;CAE/F,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,oBAAoB;AACrD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,WAAW,IAAI,IAAI,QAAQ,IAAI,EAAE,kBAAkB;AACjE,KAAI,aAAa,MAAM,CAAE,QAAO;AAEhC,KAAI;EACH,MAAM,OAAO,MAAM,UAAU,SAAS,0BAA0B;AAChE,MAAI,aAAa,KAAK,CAAE,QAAO;EAE/B,MAAM,SAAS,MAAM,cAAc,OAAO,IAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,QAAQ,CAAC;AACnF,MAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAUhD,SAAO,aARQ,MAAM,iBAAiB,OAAO,IAAI,MAAM;GACtD,MAAM,KAAK,QAAQ,OAAO,KAAK,KAAK;GACpC,OAAO,KAAK,SAAS,OAAO,KAAK,KAAK;GACtC,UAAU,OAAO,KAAK,KAAK;GAC3B,aAAa,OAAO,KAAK,KAAK;GAC9B,QAAQ,KAAK;GACb,eAAe,OAAO,KAAK,KAAK;GAChC,CAAC,EAC0B,IAAI;UACxB,OAAO;AACf,SAAO,YAAY,OAAO,qCAAqC,gCAAgC"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import "../../../../../../dialect-helpers-
|
|
1
|
+
import "../../../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
2
|
+
import "../../../../../../config-DyF3OKg_.mjs";
|
|
2
3
|
import "../../../../../../after-B1IIdH3Y.mjs";
|
|
3
4
|
import "../../../../../../object-cache-Bok5j2ae.mjs";
|
|
4
5
|
import "../../../../../../base64-B-PsqheR.mjs";
|
|
5
|
-
import "../../../../../../types-
|
|
6
|
-
import "../../../../../../taxonomy-
|
|
6
|
+
import "../../../../../../types-XrQQ-Aex.mjs";
|
|
7
|
+
import "../../../../../../taxonomy-DvwWAPvA.mjs";
|
|
7
8
|
import "../../../../../../request-cache-BSUptuJR.mjs";
|
|
8
|
-
import "../../../../../../resolve-
|
|
9
|
-
import "../../../../../../loader-
|
|
10
|
-
import "../../../../../../taxonomies-
|
|
11
|
-
import { a as handleTermGet, c as handleTermUpdate, i as handleTermDelete } from "../../../../../../taxonomies-
|
|
12
|
-
import { a as unwrapResult, i as requireDb, r as handleError, t as apiError } from "../../../../../../error-
|
|
13
|
-
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../../../parse-
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import "../../../../../../relations-
|
|
9
|
+
import "../../../../../../resolve-BUvFE0Lr.mjs";
|
|
10
|
+
import "../../../../../../loader-C1XOLV5b.mjs";
|
|
11
|
+
import "../../../../../../taxonomies-B61CRSha.mjs";
|
|
12
|
+
import { a as handleTermGet, c as handleTermUpdate, i as handleTermDelete } from "../../../../../../taxonomies-Dbdki3Un.mjs";
|
|
13
|
+
import { a as unwrapResult, i as requireDb, r as handleError, t as apiError } from "../../../../../../error-DmmN74gW.mjs";
|
|
14
|
+
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../../../parse-BL49yb9D.mjs";
|
|
15
|
+
import { B as localeFilterQuery } from "../../../../../../media-DWIzoVFL.mjs";
|
|
16
|
+
import { $ as updateTermBody } from "../../../../../../redirects-BOn2DIUs.mjs";
|
|
17
|
+
import "../../../../../../relations-C4duJnwI.mjs";
|
|
17
18
|
import "../../../../../../status-COfycGIU.mjs";
|
|
18
19
|
import "../../../../../../api/schemas/index.mjs";
|
|
19
|
-
import { r as requirePerm } from "../../../../../../authorize-
|
|
20
|
+
import { r as requirePerm } from "../../../../../../authorize-R5iYYrpa.mjs";
|
|
20
21
|
|
|
21
22
|
//#region src/astro/routes/api/taxonomies/[name]/terms/[slug].ts
|
|
22
23
|
const prerender = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_slug_.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/[slug].ts"],"sourcesContent":["/**\n * Single term endpoint\n *\n * GET /_emdash/api/taxonomies/:name/terms/:slug[?locale=xx]\n * PUT /_emdash/api/taxonomies/:name/terms/:slug[?locale=xx]\n * DELETE /_emdash/api/taxonomies/:name/terms/:slug[?locale=xx]\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleTermDelete, handleTermGet, handleTermUpdate } from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { localeFilterQuery, updateTermBody } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\n/**\n * Get a single term\n */\nexport const GET: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:read\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst result = await handleTermGet(emdash.db, name, slug, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to get term\", \"TERM_GET_ERROR\");\n\t}\n};\n\n/**\n * Update a term\n */\nexport const PUT: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst body = await parseBody(request, updateTermBody);\n\t\tif (isParseError(body)) return body;\n\n\t\tconst result = await handleTermUpdate(emdash.db, name, slug, body, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to update term\", \"TERM_UPDATE_ERROR\");\n\t}\n};\n\n/**\n * Delete a term\n */\nexport const DELETE: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst result = await handleTermDelete(emdash.db, name, slug, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to delete term\", \"TERM_DELETE_ERROR\");\n\t}\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"_slug_.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/[slug].ts"],"sourcesContent":["/**\n * Single term endpoint\n *\n * GET /_emdash/api/taxonomies/:name/terms/:slug[?locale=xx]\n * PUT /_emdash/api/taxonomies/:name/terms/:slug[?locale=xx]\n * DELETE /_emdash/api/taxonomies/:name/terms/:slug[?locale=xx]\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleTermDelete, handleTermGet, handleTermUpdate } from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { localeFilterQuery, updateTermBody } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\n/**\n * Get a single term\n */\nexport const GET: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:read\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst result = await handleTermGet(emdash.db, name, slug, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to get term\", \"TERM_GET_ERROR\");\n\t}\n};\n\n/**\n * Update a term\n */\nexport const PUT: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst body = await parseBody(request, updateTermBody);\n\t\tif (isParseError(body)) return body;\n\n\t\tconst result = await handleTermUpdate(emdash.db, name, slug, body, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to update term\", \"TERM_UPDATE_ERROR\");\n\t}\n};\n\n/**\n * Delete a term\n */\nexport const DELETE: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name, slug } = params;\n\tif (!name || !slug) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name and slug required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst result = await handleTermDelete(emdash.db, name, slug, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to delete term\", \"TERM_DELETE_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAa,YAAY;;;;AAKzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACnE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,MAAM,SAAS;AACvB,KAAI,CAAC,QAAQ,CAAC,KAAM,QAAO,SAAS,oBAAoB,mCAAmC,IAAI;CAE/F,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,kBAAkB;AACnD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,WAAW,IAAI,IAAI,QAAQ,IAAI,EAAE,kBAAkB;AACjE,KAAI,aAAa,MAAM,CAAE,QAAO;AAEhC,KAAI;AAEH,SAAO,aADQ,MAAM,cAAc,OAAO,IAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,QAAQ,CAAC,CACxD;UACnB,OAAO;AACf,SAAO,YAAY,OAAO,sBAAsB,iBAAiB;;;;;;AAOnE,MAAa,MAAgB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACnE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,MAAM,SAAS;AACvB,KAAI,CAAC,QAAQ,CAAC,KAAM,QAAO,SAAS,oBAAoB,mCAAmC,IAAI;CAE/F,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,oBAAoB;AACrD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,WAAW,IAAI,IAAI,QAAQ,IAAI,EAAE,kBAAkB;AACjE,KAAI,aAAa,MAAM,CAAE,QAAO;AAEhC,KAAI;EACH,MAAM,OAAO,MAAM,UAAU,SAAS,eAAe;AACrD,MAAI,aAAa,KAAK,CAAE,QAAO;AAG/B,SAAO,aADQ,MAAM,iBAAiB,OAAO,IAAI,MAAM,MAAM,MAAM,EAAE,QAAQ,MAAM,QAAQ,CAAC,CACjE;UACnB,OAAO;AACf,SAAO,YAAY,OAAO,yBAAyB,oBAAoB;;;;;;AAOzE,MAAa,SAAmB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACtE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,MAAM,SAAS;AACvB,KAAI,CAAC,QAAQ,CAAC,KAAM,QAAO,SAAS,oBAAoB,mCAAmC,IAAI;CAE/F,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,oBAAoB;AACrD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,WAAW,IAAI,IAAI,QAAQ,IAAI,EAAE,kBAAkB;AACjE,KAAI,aAAa,MAAM,CAAE,QAAO;AAEhC,KAAI;AAEH,SAAO,aADQ,MAAM,iBAAiB,OAAO,IAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,QAAQ,CAAC,CAC3D;UACnB,OAAO;AACf,SAAO,YAAY,OAAO,yBAAyB,oBAAoB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/index.ts"],"mappings":";;;cAea,SAAA;AAKb;;;AAAA,cAAa,GAAA,EAAK,QAAA;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/index.ts"],"mappings":";;;cAea,SAAA;AAKb;;;AAAA,cAAa,GAAA,EAAK,QAAA;;AA4BlB;;cAAa,IAAA,EAAM,QAAA"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import "../../../../../../dialect-helpers-
|
|
1
|
+
import "../../../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
2
|
+
import "../../../../../../config-DyF3OKg_.mjs";
|
|
2
3
|
import "../../../../../../after-B1IIdH3Y.mjs";
|
|
3
4
|
import "../../../../../../object-cache-Bok5j2ae.mjs";
|
|
4
5
|
import "../../../../../../base64-B-PsqheR.mjs";
|
|
5
|
-
import "../../../../../../types-
|
|
6
|
-
import "../../../../../../taxonomy-
|
|
6
|
+
import "../../../../../../types-XrQQ-Aex.mjs";
|
|
7
|
+
import "../../../../../../taxonomy-DvwWAPvA.mjs";
|
|
7
8
|
import "../../../../../../request-cache-BSUptuJR.mjs";
|
|
8
|
-
import "../../../../../../resolve-
|
|
9
|
-
import "../../../../../../loader-
|
|
10
|
-
import "../../../../../../taxonomies-
|
|
11
|
-
import { o as handleTermList, r as handleTermCreate } from "../../../../../../taxonomies-
|
|
12
|
-
import { a as unwrapResult, i as requireDb, r as handleError, t as apiError } from "../../../../../../error-
|
|
13
|
-
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../../../parse-
|
|
14
|
-
import
|
|
15
|
-
import { H as createTermBody } from "../../../../../../redirects-
|
|
16
|
-
import "../../../../../../relations-
|
|
9
|
+
import "../../../../../../resolve-BUvFE0Lr.mjs";
|
|
10
|
+
import "../../../../../../loader-C1XOLV5b.mjs";
|
|
11
|
+
import "../../../../../../taxonomies-B61CRSha.mjs";
|
|
12
|
+
import { o as handleTermList, r as handleTermCreate } from "../../../../../../taxonomies-Dbdki3Un.mjs";
|
|
13
|
+
import { a as unwrapResult, i as requireDb, r as handleError, t as apiError } from "../../../../../../error-DmmN74gW.mjs";
|
|
14
|
+
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../../../parse-BL49yb9D.mjs";
|
|
15
|
+
import "../../../../../../media-DWIzoVFL.mjs";
|
|
16
|
+
import { H as createTermBody, q as termListQuery } from "../../../../../../redirects-BOn2DIUs.mjs";
|
|
17
|
+
import "../../../../../../relations-C4duJnwI.mjs";
|
|
17
18
|
import "../../../../../../status-COfycGIU.mjs";
|
|
18
19
|
import "../../../../../../api/schemas/index.mjs";
|
|
19
|
-
import { r as requirePerm } from "../../../../../../authorize-
|
|
20
|
+
import { r as requirePerm } from "../../../../../../authorize-R5iYYrpa.mjs";
|
|
20
21
|
|
|
21
22
|
//#region src/astro/routes/api/taxonomies/[name]/terms/index.ts
|
|
22
23
|
const prerender = false;
|
|
@@ -31,10 +32,13 @@ const GET = async ({ params, request, locals }) => {
|
|
|
31
32
|
if (dbErr) return dbErr;
|
|
32
33
|
const denied = requirePerm(user, "taxonomies:read");
|
|
33
34
|
if (denied) return denied;
|
|
34
|
-
const query = parseQuery(new URL(request.url),
|
|
35
|
+
const query = parseQuery(new URL(request.url), termListQuery);
|
|
35
36
|
if (isParseError(query)) return query;
|
|
36
37
|
try {
|
|
37
|
-
return unwrapResult(await handleTermList(emdash.db, name, {
|
|
38
|
+
return unwrapResult(await handleTermList(emdash.db, name, {
|
|
39
|
+
locale: query.locale,
|
|
40
|
+
includeCounts: query.includeCounts
|
|
41
|
+
}));
|
|
38
42
|
} catch (error) {
|
|
39
43
|
return handleError(error, "Failed to list terms", "TERM_LIST_ERROR");
|
|
40
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/index.ts"],"sourcesContent":["/**\n * Taxonomy terms list and create endpoint\n *\n * GET /_emdash/api/taxonomies/:name/terms[?locale=xx] - List terms (tree for hierarchical)\n * POST /_emdash/api/taxonomies/:name/terms - Create a new term (body may include locale & translationOf)\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleTermCreate, handleTermList } from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { createTermBody,
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/taxonomies/[name]/terms/index.ts"],"sourcesContent":["/**\n * Taxonomy terms list and create endpoint\n *\n * GET /_emdash/api/taxonomies/:name/terms[?locale=xx] - List terms (tree for hierarchical)\n * POST /_emdash/api/taxonomies/:name/terms - Create a new term (body may include locale & translationOf)\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleTermCreate, handleTermList } from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { createTermBody, termListQuery } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\n/**\n * List all terms for a taxonomy\n */\nexport const GET: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name } = params;\n\tif (!name) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:read\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), termListQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst result = await handleTermList(emdash.db, name, {\n\t\t\tlocale: query.locale,\n\t\t\tincludeCounts: query.includeCounts,\n\t\t});\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to list terms\", \"TERM_LIST_ERROR\");\n\t}\n};\n\n/**\n * Create a new term\n */\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { name } = params;\n\tif (!name) return apiError(\"VALIDATION_ERROR\", \"Taxonomy name required\", 400);\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\ttry {\n\t\tconst body = await parseBody(request, createTermBody);\n\t\tif (isParseError(body)) return body;\n\n\t\tconst result = await handleTermCreate(emdash.db, name, body);\n\t\treturn unwrapResult(result, 201);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to create term\", \"TERM_CREATE_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,MAAa,YAAY;;;;AAKzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACnE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,SAAS;AACjB,KAAI,CAAC,KAAM,QAAO,SAAS,oBAAoB,0BAA0B,IAAI;CAE7E,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,kBAAkB;AACnD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,WAAW,IAAI,IAAI,QAAQ,IAAI,EAAE,cAAc;AAC7D,KAAI,aAAa,MAAM,CAAE,QAAO;AAEhC,KAAI;AAKH,SAAO,aAJQ,MAAM,eAAe,OAAO,IAAI,MAAM;GACpD,QAAQ,MAAM;GACd,eAAe,MAAM;GACrB,CAAC,CACyB;UACnB,OAAO;AACf,SAAO,YAAY,OAAO,wBAAwB,kBAAkB;;;;;;AAOtE,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACpE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,SAAS;AACjB,KAAI,CAAC,KAAM,QAAO,SAAS,oBAAoB,0BAA0B,IAAI;CAE7E,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,oBAAoB;AACrD,KAAI,OAAQ,QAAO;AAEnB,KAAI;EACH,MAAM,OAAO,MAAM,UAAU,SAAS,eAAe;AACrD,MAAI,aAAa,KAAK,CAAE,QAAO;AAG/B,SAAO,aADQ,MAAM,iBAAiB,OAAO,IAAI,MAAM,KAAK,EAChC,IAAI;UACxB,OAAO;AACf,SAAO,YAAY,OAAO,yBAAyB,oBAAoB"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import "../../../../dialect-helpers-
|
|
1
|
+
import "../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
2
|
+
import "../../../../config-DyF3OKg_.mjs";
|
|
2
3
|
import "../../../../after-B1IIdH3Y.mjs";
|
|
3
4
|
import "../../../../object-cache-Bok5j2ae.mjs";
|
|
4
5
|
import "../../../../base64-B-PsqheR.mjs";
|
|
5
|
-
import "../../../../types-
|
|
6
|
-
import "../../../../taxonomy-
|
|
6
|
+
import "../../../../types-XrQQ-Aex.mjs";
|
|
7
|
+
import "../../../../taxonomy-DvwWAPvA.mjs";
|
|
7
8
|
import "../../../../request-cache-BSUptuJR.mjs";
|
|
8
|
-
import "../../../../resolve-
|
|
9
|
-
import "../../../../loader-
|
|
10
|
-
import "../../../../taxonomies-
|
|
11
|
-
import { n as handleTaxonomyList, t as handleTaxonomyCreate } from "../../../../taxonomies-
|
|
12
|
-
import { a as unwrapResult, i as requireDb, r as handleError } from "../../../../error-
|
|
13
|
-
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../parse-
|
|
14
|
-
import {
|
|
15
|
-
import { V as createTaxonomyDefBody } from "../../../../redirects-
|
|
16
|
-
import "../../../../relations-
|
|
9
|
+
import "../../../../resolve-BUvFE0Lr.mjs";
|
|
10
|
+
import "../../../../loader-C1XOLV5b.mjs";
|
|
11
|
+
import "../../../../taxonomies-B61CRSha.mjs";
|
|
12
|
+
import { n as handleTaxonomyList, t as handleTaxonomyCreate } from "../../../../taxonomies-Dbdki3Un.mjs";
|
|
13
|
+
import { a as unwrapResult, i as requireDb, r as handleError } from "../../../../error-DmmN74gW.mjs";
|
|
14
|
+
import { i as parseQuery, n as parseBody, t as isParseError } from "../../../../parse-BL49yb9D.mjs";
|
|
15
|
+
import { B as localeFilterQuery } from "../../../../media-DWIzoVFL.mjs";
|
|
16
|
+
import { V as createTaxonomyDefBody } from "../../../../redirects-BOn2DIUs.mjs";
|
|
17
|
+
import "../../../../relations-C4duJnwI.mjs";
|
|
17
18
|
import "../../../../status-COfycGIU.mjs";
|
|
18
19
|
import "../../../../api/schemas/index.mjs";
|
|
19
|
-
import { r as requirePerm } from "../../../../authorize-
|
|
20
|
+
import { r as requirePerm } from "../../../../authorize-R5iYYrpa.mjs";
|
|
20
21
|
|
|
21
22
|
//#region src/astro/routes/api/taxonomies/index.ts
|
|
22
23
|
const prerender = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../src/astro/routes/api/taxonomies/index.ts"],"sourcesContent":["/**\n * Taxonomy definitions endpoint\n *\n * GET /_emdash/api/taxonomies[?locale=xx] - List taxonomy definitions\n * POST /_emdash/api/taxonomies - Create a custom taxonomy definition\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleTaxonomyCreate, handleTaxonomyList } from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { createTaxonomyDefBody, localeFilterQuery } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\n/**\n * List taxonomy definitions\n */\nexport const GET: APIRoute = async ({ request, locals }) => {\n\tconst { emdash, user } = locals;\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:read\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst result = await handleTaxonomyList(emdash.db, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to list taxonomies\", \"TAXONOMY_LIST_ERROR\");\n\t}\n};\n\n/**\n * Create a custom taxonomy definition\n */\nexport const POST: APIRoute = async ({ request, locals }) => {\n\tconst { emdash, user } = locals;\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\ttry {\n\t\tconst body = await parseBody(request, createTaxonomyDefBody);\n\t\tif (isParseError(body)) return body;\n\n\t\tconst result = await handleTaxonomyCreate(emdash.db, body);\n\t\treturn unwrapResult(result, 201);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to create taxonomy\", \"TAXONOMY_CREATE_ERROR\");\n\t}\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../src/astro/routes/api/taxonomies/index.ts"],"sourcesContent":["/**\n * Taxonomy definitions endpoint\n *\n * GET /_emdash/api/taxonomies[?locale=xx] - List taxonomy definitions\n * POST /_emdash/api/taxonomies - Create a custom taxonomy definition\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleTaxonomyCreate, handleTaxonomyList } from \"#api/handlers/taxonomies.js\";\nimport { isParseError, parseBody, parseQuery } from \"#api/parse.js\";\nimport { createTaxonomyDefBody, localeFilterQuery } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\n/**\n * List taxonomy definitions\n */\nexport const GET: APIRoute = async ({ request, locals }) => {\n\tconst { emdash, user } = locals;\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:read\");\n\tif (denied) return denied;\n\n\tconst query = parseQuery(new URL(request.url), localeFilterQuery);\n\tif (isParseError(query)) return query;\n\n\ttry {\n\t\tconst result = await handleTaxonomyList(emdash.db, { locale: query.locale });\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to list taxonomies\", \"TAXONOMY_LIST_ERROR\");\n\t}\n};\n\n/**\n * Create a custom taxonomy definition\n */\nexport const POST: APIRoute = async ({ request, locals }) => {\n\tconst { emdash, user } = locals;\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"taxonomies:manage\");\n\tif (denied) return denied;\n\n\ttry {\n\t\tconst body = await parseBody(request, createTaxonomyDefBody);\n\t\tif (isParseError(body)) return body;\n\n\t\tconst result = await handleTaxonomyCreate(emdash.db, body);\n\t\treturn unwrapResult(result, 201);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to create taxonomy\", \"TAXONOMY_CREATE_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,MAAa,YAAY;;;;AAKzB,MAAa,MAAgB,OAAO,EAAE,SAAS,aAAa;CAC3D,MAAM,EAAE,QAAQ,SAAS;CAEzB,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,kBAAkB;AACnD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,WAAW,IAAI,IAAI,QAAQ,IAAI,EAAE,kBAAkB;AACjE,KAAI,aAAa,MAAM,CAAE,QAAO;AAEhC,KAAI;AAEH,SAAO,aADQ,MAAM,mBAAmB,OAAO,IAAI,EAAE,QAAQ,MAAM,QAAQ,CAAC,CACjD;UACnB,OAAO;AACf,SAAO,YAAY,OAAO,6BAA6B,sBAAsB;;;;;;AAO/E,MAAa,OAAiB,OAAO,EAAE,SAAS,aAAa;CAC5D,MAAM,EAAE,QAAQ,SAAS;CAEzB,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,oBAAoB;AACrD,KAAI,OAAQ,QAAO;AAEnB,KAAI;EACH,MAAM,OAAO,MAAM,UAAU,SAAS,sBAAsB;AAC5D,MAAI,aAAa,KAAK,CAAE,QAAO;AAG/B,SAAO,aADQ,MAAM,qBAAqB,OAAO,IAAI,KAAK,EAC9B,IAAI;UACxB,OAAO;AACf,SAAO,YAAY,OAAO,6BAA6B,wBAAwB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "../../../../after-B1IIdH3Y.mjs";
|
|
2
2
|
import "../../../../base64-B-PsqheR.mjs";
|
|
3
|
-
import "../../../../types-
|
|
3
|
+
import "../../../../types-XrQQ-Aex.mjs";
|
|
4
4
|
import "../../../../options-BlmBHTvX.mjs";
|
|
5
|
-
import { n as apiSuccess, t as apiError } from "../../../../error-
|
|
5
|
+
import { n as apiSuccess, t as apiError } from "../../../../error-DmmN74gW.mjs";
|
|
6
6
|
import { n as getPublicOrigin } from "../../../../public-url-DSGTnJFw.mjs";
|
|
7
|
-
import { i as resolveSecretsCached } from "../../../../secrets-
|
|
8
|
-
import { r as requirePerm } from "../../../../authorize-
|
|
7
|
+
import { i as resolveSecretsCached } from "../../../../secrets-870d-7yA.mjs";
|
|
8
|
+
import { r as requirePerm } from "../../../../authorize-R5iYYrpa.mjs";
|
|
9
9
|
|
|
10
10
|
//#region src/astro/routes/api/themes/preview.ts
|
|
11
11
|
const prerender = false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../../../base64-B-PsqheR.mjs";
|
|
2
|
-
import "../../../types-
|
|
3
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../error-
|
|
2
|
+
import "../../../types-XrQQ-Aex.mjs";
|
|
3
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../error-DmmN74gW.mjs";
|
|
4
4
|
|
|
5
5
|
//#region src/astro/routes/api/typegen.ts
|
|
6
6
|
const prerender = false;
|
|
@@ -19,7 +19,7 @@ async function safeListCollections(registry) {
|
|
|
19
19
|
* Generate types content and metadata from the current schema.
|
|
20
20
|
*/
|
|
21
21
|
async function generateTypes(registry) {
|
|
22
|
-
const { generateTypesFile, generateSchemaHash } = await import("../../../zod-generator-
|
|
22
|
+
const { generateTypesFile, generateSchemaHash } = await import("../../../zod-generator-DMzfga3g.mjs").then((n) => n.i);
|
|
23
23
|
const collections = await safeListCollections(registry);
|
|
24
24
|
const collectionsWithFields = await Promise.all(collections.map(async (c) => {
|
|
25
25
|
const fields = await registry.listFields(c.id);
|
|
@@ -42,7 +42,7 @@ const GET = async ({ locals }) => {
|
|
|
42
42
|
const { emdash } = locals;
|
|
43
43
|
if (!emdash?.db) return apiError("NOT_CONFIGURED", "EmDash not configured", 500);
|
|
44
44
|
try {
|
|
45
|
-
const { SchemaRegistry } = await import("../../../registry-
|
|
45
|
+
const { SchemaRegistry } = await import("../../../registry-BP1JK2xh.mjs").then((n) => n.r);
|
|
46
46
|
const { types } = await generateTypes(new SchemaRegistry(emdash.db));
|
|
47
47
|
return new Response(types, {
|
|
48
48
|
status: 200,
|
|
@@ -66,7 +66,7 @@ const POST = async ({ locals }) => {
|
|
|
66
66
|
const { emdash } = locals;
|
|
67
67
|
if (!emdash?.db) return apiError("NOT_CONFIGURED", "EmDash not configured", 500);
|
|
68
68
|
try {
|
|
69
|
-
const { SchemaRegistry } = await import("../../../registry-
|
|
69
|
+
const { SchemaRegistry } = await import("../../../registry-BP1JK2xh.mjs").then((n) => n.r);
|
|
70
70
|
return apiSuccess(await generateTypes(new SchemaRegistry(emdash.db)));
|
|
71
71
|
} catch (error) {
|
|
72
72
|
return handleError(error, "Typegen failed", "TYPEGEN_ERROR");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as getPublicOrigin } from "../../../../public-url-DSGTnJFw.mjs";
|
|
2
|
-
import { n as VALID_SCOPES } from "../../../../api-tokens-
|
|
2
|
+
import { n as VALID_SCOPES } from "../../../../api-tokens-CEsW_jCg.mjs";
|
|
3
3
|
import virtualConfig from "virtual:emdash/config";
|
|
4
4
|
|
|
5
5
|
//#region src/astro/routes/api/well-known/oauth-authorization-server.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as getPublicOrigin } from "../../../../public-url-DSGTnJFw.mjs";
|
|
2
|
-
import { n as VALID_SCOPES } from "../../../../api-tokens-
|
|
2
|
+
import { n as VALID_SCOPES } from "../../../../api-tokens-CEsW_jCg.mjs";
|
|
3
3
|
import virtualConfig from "virtual:emdash/config";
|
|
4
4
|
|
|
5
5
|
//#region src/astro/routes/api/well-known/oauth-protected-resource.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import "../../../../../base64-B-PsqheR.mjs";
|
|
2
|
-
import "../../../../../types-
|
|
3
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-
|
|
4
|
-
import { n as parseBody, t as isParseError } from "../../../../../parse-
|
|
5
|
-
import "../../../../../media-
|
|
6
|
-
import { h as reorderWidgetsBody } from "../../../../../redirects-
|
|
7
|
-
import "../../../../../relations-
|
|
2
|
+
import "../../../../../types-XrQQ-Aex.mjs";
|
|
3
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DmmN74gW.mjs";
|
|
4
|
+
import { n as parseBody, t as isParseError } from "../../../../../parse-BL49yb9D.mjs";
|
|
5
|
+
import "../../../../../media-DWIzoVFL.mjs";
|
|
6
|
+
import { h as reorderWidgetsBody } from "../../../../../redirects-BOn2DIUs.mjs";
|
|
7
|
+
import "../../../../../relations-C4duJnwI.mjs";
|
|
8
8
|
import "../../../../../status-COfycGIU.mjs";
|
|
9
9
|
import "../../../../../api/schemas/index.mjs";
|
|
10
|
-
import { r as requirePerm } from "../../../../../authorize-
|
|
10
|
+
import { r as requirePerm } from "../../../../../authorize-R5iYYrpa.mjs";
|
|
11
11
|
|
|
12
12
|
//#region src/astro/routes/api/widget-areas/[name]/reorder.ts
|
|
13
13
|
const prerender = false;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import "../../../../../../dialect-helpers-
|
|
1
|
+
import "../../../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
2
2
|
import "../../../../../../base64-B-PsqheR.mjs";
|
|
3
|
-
import "../../../../../../types-
|
|
3
|
+
import "../../../../../../types-XrQQ-Aex.mjs";
|
|
4
4
|
import "../../../../../../request-cache-BSUptuJR.mjs";
|
|
5
|
-
import "../../../../../../loader-
|
|
6
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-
|
|
7
|
-
import { n as parseBody, t as isParseError } from "../../../../../../parse-
|
|
8
|
-
import "../../../../../../media-
|
|
9
|
-
import { g as updateWidgetBody } from "../../../../../../redirects-
|
|
10
|
-
import "../../../../../../relations-
|
|
5
|
+
import "../../../../../../loader-C1XOLV5b.mjs";
|
|
6
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-DmmN74gW.mjs";
|
|
7
|
+
import { n as parseBody, t as isParseError } from "../../../../../../parse-BL49yb9D.mjs";
|
|
8
|
+
import "../../../../../../media-DWIzoVFL.mjs";
|
|
9
|
+
import { g as updateWidgetBody } from "../../../../../../redirects-BOn2DIUs.mjs";
|
|
10
|
+
import "../../../../../../relations-C4duJnwI.mjs";
|
|
11
11
|
import "../../../../../../status-COfycGIU.mjs";
|
|
12
12
|
import "../../../../../../api/schemas/index.mjs";
|
|
13
|
-
import { i as rowToWidget } from "../../../../../../widgets-
|
|
14
|
-
import { r as requirePerm } from "../../../../../../authorize-
|
|
13
|
+
import { i as rowToWidget } from "../../../../../../widgets-L-VndTKD.mjs";
|
|
14
|
+
import { r as requirePerm } from "../../../../../../authorize-R5iYYrpa.mjs";
|
|
15
15
|
|
|
16
16
|
//#region src/astro/routes/api/widget-areas/[name]/widgets/[id].ts
|
|
17
17
|
const prerender = false;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import "../../../../../dialect-helpers-
|
|
1
|
+
import "../../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
2
2
|
import "../../../../../base64-B-PsqheR.mjs";
|
|
3
|
-
import "../../../../../types-
|
|
3
|
+
import "../../../../../types-XrQQ-Aex.mjs";
|
|
4
4
|
import "../../../../../request-cache-BSUptuJR.mjs";
|
|
5
|
-
import "../../../../../loader-
|
|
6
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-
|
|
7
|
-
import { n as parseBody, t as isParseError } from "../../../../../parse-
|
|
8
|
-
import "../../../../../media-
|
|
9
|
-
import { m as createWidgetBody } from "../../../../../redirects-
|
|
10
|
-
import "../../../../../relations-
|
|
5
|
+
import "../../../../../loader-C1XOLV5b.mjs";
|
|
6
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-DmmN74gW.mjs";
|
|
7
|
+
import { n as parseBody, t as isParseError } from "../../../../../parse-BL49yb9D.mjs";
|
|
8
|
+
import "../../../../../media-DWIzoVFL.mjs";
|
|
9
|
+
import { m as createWidgetBody } from "../../../../../redirects-BOn2DIUs.mjs";
|
|
10
|
+
import "../../../../../relations-C4duJnwI.mjs";
|
|
11
11
|
import "../../../../../status-COfycGIU.mjs";
|
|
12
12
|
import "../../../../../api/schemas/index.mjs";
|
|
13
|
-
import { i as rowToWidget } from "../../../../../widgets-
|
|
14
|
-
import { r as requirePerm } from "../../../../../authorize-
|
|
13
|
+
import { i as rowToWidget } from "../../../../../widgets-L-VndTKD.mjs";
|
|
14
|
+
import { r as requirePerm } from "../../../../../authorize-R5iYYrpa.mjs";
|
|
15
15
|
import { ulid } from "ulidx";
|
|
16
16
|
|
|
17
17
|
//#region src/astro/routes/api/widget-areas/[name]/widgets.ts
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "../../../../dialect-helpers-
|
|
1
|
+
import "../../../../dialect-helpers-DFwyWjTM.mjs";
|
|
2
2
|
import "../../../../base64-B-PsqheR.mjs";
|
|
3
|
-
import "../../../../types-
|
|
3
|
+
import "../../../../types-XrQQ-Aex.mjs";
|
|
4
4
|
import "../../../../request-cache-BSUptuJR.mjs";
|
|
5
|
-
import "../../../../loader-
|
|
6
|
-
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-
|
|
7
|
-
import { i as rowToWidget } from "../../../../widgets-
|
|
8
|
-
import { r as requirePerm } from "../../../../authorize-
|
|
5
|
+
import "../../../../loader-C1XOLV5b.mjs";
|
|
6
|
+
import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-DmmN74gW.mjs";
|
|
7
|
+
import { i as rowToWidget } from "../../../../widgets-L-VndTKD.mjs";
|
|
8
|
+
import { r as requirePerm } from "../../../../authorize-R5iYYrpa.mjs";
|
|
9
9
|
|
|
10
10
|
//#region src/astro/routes/api/widget-areas/[name].ts
|
|
11
11
|
const prerender = false;
|