@byline/host-tanstack-start 0.9.3
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/LICENSE +373 -0
- package/README.md +48 -0
- package/dist/admin-shell/admin-roles/container.d.ts +34 -0
- package/dist/admin-shell/admin-roles/container.d.ts.map +1 -0
- package/dist/admin-shell/admin-roles/container.js +259 -0
- package/dist/admin-shell/admin-roles/container.module.js +17 -0
- package/dist/admin-shell/admin-roles/container_module.css +93 -0
- package/dist/admin-shell/admin-roles/delete.d.ts +9 -0
- package/dist/admin-shell/admin-roles/delete.d.ts.map +1 -0
- package/dist/admin-shell/admin-roles/delete.js +107 -0
- package/dist/admin-shell/admin-roles/delete.module.js +10 -0
- package/dist/admin-shell/admin-roles/delete_module.css +35 -0
- package/dist/admin-shell/admin-roles/list.d.ts +25 -0
- package/dist/admin-shell/admin-roles/list.d.ts.map +1 -0
- package/dist/admin-shell/admin-roles/list.js +292 -0
- package/dist/admin-shell/admin-roles/list.module.js +24 -0
- package/dist/admin-shell/admin-roles/list_module.css +113 -0
- package/dist/admin-shell/admin-users/container.d.ts +18 -0
- package/dist/admin-shell/admin-users/container.d.ts.map +1 -0
- package/dist/admin-shell/admin-users/container.js +418 -0
- package/dist/admin-shell/admin-users/container.module.js +22 -0
- package/dist/admin-shell/admin-users/container_module.css +136 -0
- package/dist/admin-shell/admin-users/delete.d.ts +9 -0
- package/dist/admin-shell/admin-users/delete.d.ts.map +1 -0
- package/dist/admin-shell/admin-users/delete.js +115 -0
- package/dist/admin-shell/admin-users/delete.module.js +10 -0
- package/dist/admin-shell/admin-users/delete_module.css +35 -0
- package/dist/admin-shell/admin-users/list.d.ts +13 -0
- package/dist/admin-shell/admin-users/list.d.ts.map +1 -0
- package/dist/admin-shell/admin-users/list.js +328 -0
- package/dist/admin-shell/admin-users/list.module.js +22 -0
- package/dist/admin-shell/admin-users/list_module.css +112 -0
- package/dist/admin-shell/chrome/admin-app-bar.d.ts +7 -0
- package/dist/admin-shell/chrome/admin-app-bar.d.ts.map +1 -0
- package/dist/admin-shell/chrome/admin-app-bar.js +71 -0
- package/dist/admin-shell/chrome/admin-app-bar.module.js +9 -0
- package/dist/admin-shell/chrome/admin-app-bar_module.css +54 -0
- package/dist/admin-shell/chrome/admin-layout.module.js +5 -0
- package/dist/admin-shell/chrome/admin-layout_module.css +8 -0
- package/dist/admin-shell/chrome/branding.d.ts +9 -0
- package/dist/admin-shell/chrome/branding.d.ts.map +1 -0
- package/dist/admin-shell/chrome/branding.js +17 -0
- package/dist/admin-shell/chrome/branding.module.js +6 -0
- package/dist/admin-shell/chrome/branding_module.css +11 -0
- package/dist/admin-shell/chrome/breadcrumbs/@types.d.ts +6 -0
- package/dist/admin-shell/chrome/breadcrumbs/@types.d.ts.map +1 -0
- package/dist/admin-shell/chrome/breadcrumbs/@types.js +1 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs-client.d.ts +7 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs-client.d.ts.map +1 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs-client.js +20 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs-provider.d.ts +24 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs-provider.d.ts.map +1 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs-provider.js +23 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs.d.ts +15 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs.js +77 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs.module.js +12 -0
- package/dist/admin-shell/chrome/breadcrumbs/breadcrumbs_module.css +81 -0
- package/dist/admin-shell/chrome/byline-logo.d.ts +12 -0
- package/dist/admin-shell/chrome/byline-logo.d.ts.map +1 -0
- package/dist/admin-shell/chrome/byline-logo.js +178 -0
- package/dist/admin-shell/chrome/content.d.ts +24 -0
- package/dist/admin-shell/chrome/content.d.ts.map +1 -0
- package/dist/admin-shell/chrome/content.js +31 -0
- package/dist/admin-shell/chrome/content.module.js +5 -0
- package/dist/admin-shell/chrome/content_module.css +10 -0
- package/dist/admin-shell/chrome/dashboard.d.ts +14 -0
- package/dist/admin-shell/chrome/dashboard.d.ts.map +1 -0
- package/dist/admin-shell/chrome/dashboard.js +129 -0
- package/dist/admin-shell/chrome/dashboard.module.js +19 -0
- package/dist/admin-shell/chrome/dashboard_module.css +175 -0
- package/dist/admin-shell/chrome/drawer-toggle.d.ts +9 -0
- package/dist/admin-shell/chrome/drawer-toggle.d.ts.map +1 -0
- package/dist/admin-shell/chrome/drawer-toggle.js +57 -0
- package/dist/admin-shell/chrome/drawer-toggle.module.js +8 -0
- package/dist/admin-shell/chrome/drawer-toggle_module.css +21 -0
- package/dist/admin-shell/chrome/hamburger.d.ts +10 -0
- package/dist/admin-shell/chrome/hamburger.d.ts.map +1 -0
- package/dist/admin-shell/chrome/hamburger.js +30 -0
- package/dist/admin-shell/chrome/hamburger.module.js +5 -0
- package/dist/admin-shell/chrome/hamburger_module.css +7 -0
- package/dist/admin-shell/chrome/loose-router.d.ts +33 -0
- package/dist/admin-shell/chrome/loose-router.d.ts.map +1 -0
- package/dist/admin-shell/chrome/loose-router.js +6 -0
- package/dist/admin-shell/chrome/menu-drawer.d.ts +10 -0
- package/dist/admin-shell/chrome/menu-drawer.d.ts.map +1 -0
- package/dist/admin-shell/chrome/menu-drawer.js +141 -0
- package/dist/admin-shell/chrome/menu-drawer.module.js +12 -0
- package/dist/admin-shell/chrome/menu-drawer_module.css +137 -0
- package/dist/admin-shell/chrome/menu-provider.d.ts +21 -0
- package/dist/admin-shell/chrome/menu-provider.d.ts.map +1 -0
- package/dist/admin-shell/chrome/menu-provider.js +54 -0
- package/dist/admin-shell/chrome/preview-toggle.d.ts +13 -0
- package/dist/admin-shell/chrome/preview-toggle.d.ts.map +1 -0
- package/dist/admin-shell/chrome/preview-toggle.js +75 -0
- package/dist/admin-shell/chrome/route-error.d.ts +22 -0
- package/dist/admin-shell/chrome/route-error.d.ts.map +1 -0
- package/dist/admin-shell/chrome/route-error.js +119 -0
- package/dist/admin-shell/chrome/route-error.module.js +14 -0
- package/dist/admin-shell/chrome/route-error_module.css +94 -0
- package/dist/admin-shell/chrome/router-pager.d.ts +19 -0
- package/dist/admin-shell/chrome/router-pager.d.ts.map +1 -0
- package/dist/admin-shell/chrome/router-pager.js +91 -0
- package/dist/admin-shell/chrome/sign-in-page.d.ts +19 -0
- package/dist/admin-shell/chrome/sign-in-page.d.ts.map +1 -0
- package/dist/admin-shell/chrome/sign-in-page.js +20 -0
- package/dist/admin-shell/chrome/sign-in-page.module.js +6 -0
- package/dist/admin-shell/chrome/sign-in-page_module.css +22 -0
- package/dist/admin-shell/chrome/sort-icons.d.ts +10 -0
- package/dist/admin-shell/chrome/sort-icons.d.ts.map +1 -0
- package/dist/admin-shell/chrome/sort-icons.js +103 -0
- package/dist/admin-shell/chrome/th-sortable.d.ts +23 -0
- package/dist/admin-shell/chrome/th-sortable.d.ts.map +1 -0
- package/dist/admin-shell/chrome/th-sortable.js +75 -0
- package/dist/admin-shell/chrome/th-sortable.module.js +10 -0
- package/dist/admin-shell/chrome/th-sortable_module.css +37 -0
- package/dist/admin-shell/chrome/use-media-query.d.ts +9 -0
- package/dist/admin-shell/chrome/use-media-query.d.ts.map +1 -0
- package/dist/admin-shell/chrome/use-media-query.js +20 -0
- package/dist/admin-shell/chrome/utils.d.ts +12 -0
- package/dist/admin-shell/chrome/utils.d.ts.map +1 -0
- package/dist/admin-shell/chrome/utils.js +8 -0
- package/dist/admin-shell/collections/api.d.ts +28 -0
- package/dist/admin-shell/collections/api.d.ts.map +1 -0
- package/dist/admin-shell/collections/api.js +51 -0
- package/dist/admin-shell/collections/api.module.js +9 -0
- package/dist/admin-shell/collections/api_module.css +42 -0
- package/dist/admin-shell/collections/create.d.ts +14 -0
- package/dist/admin-shell/collections/create.d.ts.map +1 -0
- package/dist/admin-shell/collections/create.js +77 -0
- package/dist/admin-shell/collections/edit.d.ts +19 -0
- package/dist/admin-shell/collections/edit.d.ts.map +1 -0
- package/dist/admin-shell/collections/edit.js +279 -0
- package/dist/admin-shell/collections/history.d.ts +20 -0
- package/dist/admin-shell/collections/history.d.ts.map +1 -0
- package/dist/admin-shell/collections/history.js +252 -0
- package/dist/admin-shell/collections/history.module.js +18 -0
- package/dist/admin-shell/collections/history_module.css +121 -0
- package/dist/admin-shell/collections/list.d.ts +16 -0
- package/dist/admin-shell/collections/list.d.ts.map +1 -0
- package/dist/admin-shell/collections/list.js +253 -0
- package/dist/admin-shell/collections/list.module.js +16 -0
- package/dist/admin-shell/collections/list_module.css +88 -0
- package/dist/admin-shell/collections/preview-link.d.ts +32 -0
- package/dist/admin-shell/collections/preview-link.d.ts.map +1 -0
- package/dist/admin-shell/collections/preview-link.js +54 -0
- package/dist/admin-shell/collections/tanstack-navigation-guard.d.ts +16 -0
- package/dist/admin-shell/collections/tanstack-navigation-guard.d.ts.map +1 -0
- package/dist/admin-shell/collections/tanstack-navigation-guard.js +19 -0
- package/dist/admin-shell/collections/view-menu.d.ts +58 -0
- package/dist/admin-shell/collections/view-menu.d.ts.map +1 -0
- package/dist/admin-shell/collections/view-menu.js +203 -0
- package/dist/admin-shell/collections/view-menu.module.js +11 -0
- package/dist/admin-shell/collections/view-menu_module.css +43 -0
- package/dist/auth/auth-context.d.ts +38 -0
- package/dist/auth/auth-context.d.ts.map +1 -0
- package/dist/auth/auth-context.js +57 -0
- package/dist/auth/auth-cookies.d.ts +35 -0
- package/dist/auth/auth-cookies.d.ts.map +1 -0
- package/dist/auth/auth-cookies.js +46 -0
- package/dist/auth/preview-cookies.d.ts +20 -0
- package/dist/auth/preview-cookies.d.ts.map +1 -0
- package/dist/auth/preview-cookies.js +26 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/integrations/abilities.d.ts +67 -0
- package/dist/integrations/abilities.d.ts.map +1 -0
- package/dist/integrations/abilities.js +25 -0
- package/dist/integrations/api-utils.d.ts +34 -0
- package/dist/integrations/api-utils.d.ts.map +1 -0
- package/dist/integrations/api-utils.js +22 -0
- package/dist/integrations/byline-admin-services.d.ts +25 -0
- package/dist/integrations/byline-admin-services.d.ts.map +1 -0
- package/dist/integrations/byline-admin-services.js +26 -0
- package/dist/integrations/byline-client.d.ts +22 -0
- package/dist/integrations/byline-client.d.ts.map +1 -0
- package/dist/integrations/byline-client.js +13 -0
- package/dist/integrations/byline-core.d.ts +28 -0
- package/dist/integrations/byline-core.d.ts.map +1 -0
- package/dist/integrations/byline-core.js +5 -0
- package/dist/integrations/byline-field-services.d.ts +19 -0
- package/dist/integrations/byline-field-services.d.ts.map +1 -0
- package/dist/integrations/byline-field-services.js +14 -0
- package/dist/integrations/byline-public-client.d.ts +10 -0
- package/dist/integrations/byline-public-client.d.ts.map +1 -0
- package/dist/integrations/byline-public-client.js +15 -0
- package/dist/integrations/byline-viewer-client.d.ts +21 -0
- package/dist/integrations/byline-viewer-client.d.ts.map +1 -0
- package/dist/integrations/byline-viewer-client.js +39 -0
- package/dist/integrations/start-errors.d.ts +23 -0
- package/dist/integrations/start-errors.d.ts.map +1 -0
- package/dist/integrations/start-errors.js +32 -0
- package/dist/routes/create-admin-account-route.d.ts +9 -0
- package/dist/routes/create-admin-account-route.d.ts.map +1 -0
- package/dist/routes/create-admin-account-route.js +68 -0
- package/dist/routes/create-admin-dashboard-route.d.ts +9 -0
- package/dist/routes/create-admin-dashboard-route.d.ts.map +1 -0
- package/dist/routes/create-admin-dashboard-route.js +44 -0
- package/dist/routes/create-admin-layout-route.d.ts +14 -0
- package/dist/routes/create-admin-layout-route.d.ts.map +1 -0
- package/dist/routes/create-admin-layout-route.js +64 -0
- package/dist/routes/create-admin-permissions-route.d.ts +9 -0
- package/dist/routes/create-admin-permissions-route.d.ts.map +1 -0
- package/dist/routes/create-admin-permissions-route.js +39 -0
- package/dist/routes/create-admin-role-edit-route.d.ts +9 -0
- package/dist/routes/create-admin-role-edit-route.d.ts.map +1 -0
- package/dist/routes/create-admin-role-edit-route.js +79 -0
- package/dist/routes/create-admin-roles-list-route.d.ts +9 -0
- package/dist/routes/create-admin-roles-list-route.d.ts.map +1 -0
- package/dist/routes/create-admin-roles-list-route.js +39 -0
- package/dist/routes/create-admin-user-edit-route.d.ts +9 -0
- package/dist/routes/create-admin-user-edit-route.d.ts.map +1 -0
- package/dist/routes/create-admin-user-edit-route.js +86 -0
- package/dist/routes/create-admin-users-list-route.d.ts +9 -0
- package/dist/routes/create-admin-users-list-route.d.ts.map +1 -0
- package/dist/routes/create-admin-users-list-route.js +71 -0
- package/dist/routes/create-collection-api-route.d.ts +15 -0
- package/dist/routes/create-collection-api-route.d.ts.map +1 -0
- package/dist/routes/create-collection-api-route.js +71 -0
- package/dist/routes/create-collection-create-route.d.ts +9 -0
- package/dist/routes/create-collection-create-route.d.ts.map +1 -0
- package/dist/routes/create-collection-create-route.js +53 -0
- package/dist/routes/create-collection-edit-route.d.ts +15 -0
- package/dist/routes/create-collection-edit-route.d.ts.map +1 -0
- package/dist/routes/create-collection-edit-route.js +65 -0
- package/dist/routes/create-collection-history-route.d.ts +15 -0
- package/dist/routes/create-collection-history-route.d.ts.map +1 -0
- package/dist/routes/create-collection-history-route.js +94 -0
- package/dist/routes/create-collection-list-route.d.ts +9 -0
- package/dist/routes/create-collection-list-route.d.ts.map +1 -0
- package/dist/routes/create-collection-list-route.js +130 -0
- package/dist/routes/create-sign-in-route.d.ts +9 -0
- package/dist/routes/create-sign-in-route.d.ts.map +1 -0
- package/dist/routes/create-sign-in-route.js +21 -0
- package/dist/routes/index.d.ts +35 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +14 -0
- package/dist/server-fns/admin-account/change-password.d.ts +30 -0
- package/dist/server-fns/admin-account/change-password.d.ts.map +1 -0
- package/dist/server-fns/admin-account/change-password.js +13 -0
- package/dist/server-fns/admin-account/get.d.ts +31 -0
- package/dist/server-fns/admin-account/get.d.ts.map +1 -0
- package/dist/server-fns/admin-account/get.js +13 -0
- package/dist/server-fns/admin-account/index.d.ts +22 -0
- package/dist/server-fns/admin-account/index.d.ts.map +1 -0
- package/dist/server-fns/admin-account/index.js +3 -0
- package/dist/server-fns/admin-account/update.d.ts +34 -0
- package/dist/server-fns/admin-account/update.d.ts.map +1 -0
- package/dist/server-fns/admin-account/update.js +13 -0
- package/dist/server-fns/admin-permissions/get-role-abilities.d.ts +16 -0
- package/dist/server-fns/admin-permissions/get-role-abilities.d.ts.map +1 -0
- package/dist/server-fns/admin-permissions/get-role-abilities.js +14 -0
- package/dist/server-fns/admin-permissions/index.d.ts +25 -0
- package/dist/server-fns/admin-permissions/index.d.ts.map +1 -0
- package/dist/server-fns/admin-permissions/index.js +4 -0
- package/dist/server-fns/admin-permissions/list-registered.d.ts +33 -0
- package/dist/server-fns/admin-permissions/list-registered.d.ts.map +1 -0
- package/dist/server-fns/admin-permissions/list-registered.js +14 -0
- package/dist/server-fns/admin-permissions/set-role-abilities.d.ts +16 -0
- package/dist/server-fns/admin-permissions/set-role-abilities.d.ts.map +1 -0
- package/dist/server-fns/admin-permissions/set-role-abilities.js +14 -0
- package/dist/server-fns/admin-permissions/who-has.d.ts +26 -0
- package/dist/server-fns/admin-permissions/who-has.d.ts.map +1 -0
- package/dist/server-fns/admin-permissions/who-has.js +14 -0
- package/dist/server-fns/admin-roles/create.d.ts +24 -0
- package/dist/server-fns/admin-roles/create.d.ts.map +1 -0
- package/dist/server-fns/admin-roles/create.js +13 -0
- package/dist/server-fns/admin-roles/delete.d.ts +17 -0
- package/dist/server-fns/admin-roles/delete.d.ts.map +1 -0
- package/dist/server-fns/admin-roles/delete.js +13 -0
- package/dist/server-fns/admin-roles/get.d.ts +22 -0
- package/dist/server-fns/admin-roles/get.d.ts.map +1 -0
- package/dist/server-fns/admin-roles/get.js +13 -0
- package/dist/server-fns/admin-roles/index.d.ts +23 -0
- package/dist/server-fns/admin-roles/index.d.ts.map +1 -0
- package/dist/server-fns/admin-roles/index.js +6 -0
- package/dist/server-fns/admin-roles/list.d.ts +26 -0
- package/dist/server-fns/admin-roles/list.d.ts.map +1 -0
- package/dist/server-fns/admin-roles/list.js +13 -0
- package/dist/server-fns/admin-roles/reorder.d.ts +15 -0
- package/dist/server-fns/admin-roles/reorder.d.ts.map +1 -0
- package/dist/server-fns/admin-roles/reorder.js +13 -0
- package/dist/server-fns/admin-roles/update.d.ts +27 -0
- package/dist/server-fns/admin-roles/update.d.ts.map +1 -0
- package/dist/server-fns/admin-roles/update.js +13 -0
- package/dist/server-fns/admin-users/create.d.ts +35 -0
- package/dist/server-fns/admin-users/create.d.ts.map +1 -0
- package/dist/server-fns/admin-users/create.js +13 -0
- package/dist/server-fns/admin-users/delete.d.ts +17 -0
- package/dist/server-fns/admin-users/delete.d.ts.map +1 -0
- package/dist/server-fns/admin-users/delete.js +13 -0
- package/dist/server-fns/admin-users/disable.d.ts +15 -0
- package/dist/server-fns/admin-users/disable.d.ts.map +1 -0
- package/dist/server-fns/admin-users/disable.js +13 -0
- package/dist/server-fns/admin-users/enable.d.ts +15 -0
- package/dist/server-fns/admin-users/enable.d.ts.map +1 -0
- package/dist/server-fns/admin-users/enable.js +13 -0
- package/dist/server-fns/admin-users/get-user-roles.d.ts +25 -0
- package/dist/server-fns/admin-users/get-user-roles.d.ts.map +1 -0
- package/dist/server-fns/admin-users/get-user-roles.js +13 -0
- package/dist/server-fns/admin-users/get.d.ts +29 -0
- package/dist/server-fns/admin-users/get.d.ts.map +1 -0
- package/dist/server-fns/admin-users/get.js +13 -0
- package/dist/server-fns/admin-users/index.d.ts +28 -0
- package/dist/server-fns/admin-users/index.d.ts.map +1 -0
- package/dist/server-fns/admin-users/index.js +10 -0
- package/dist/server-fns/admin-users/list.d.ts +51 -0
- package/dist/server-fns/admin-users/list.d.ts.map +1 -0
- package/dist/server-fns/admin-users/list.js +13 -0
- package/dist/server-fns/admin-users/set-password.d.ts +30 -0
- package/dist/server-fns/admin-users/set-password.d.ts.map +1 -0
- package/dist/server-fns/admin-users/set-password.js +13 -0
- package/dist/server-fns/admin-users/set-user-roles.d.ts +25 -0
- package/dist/server-fns/admin-users/set-user-roles.d.ts.map +1 -0
- package/dist/server-fns/admin-users/set-user-roles.js +13 -0
- package/dist/server-fns/admin-users/update.d.ts +37 -0
- package/dist/server-fns/admin-users/update.d.ts.map +1 -0
- package/dist/server-fns/admin-users/update.js +13 -0
- package/dist/server-fns/auth/current-user.d.ts +38 -0
- package/dist/server-fns/auth/current-user.d.ts.map +1 -0
- package/dist/server-fns/auth/current-user.js +52 -0
- package/dist/server-fns/auth/index.d.ts +11 -0
- package/dist/server-fns/auth/index.d.ts.map +1 -0
- package/dist/server-fns/auth/index.js +3 -0
- package/dist/server-fns/auth/sign-in.d.ts +19 -0
- package/dist/server-fns/auth/sign-in.d.ts.map +1 -0
- package/dist/server-fns/auth/sign-in.js +31 -0
- package/dist/server-fns/auth/sign-out.d.ts +11 -0
- package/dist/server-fns/auth/sign-out.d.ts.map +1 -0
- package/dist/server-fns/auth/sign-out.js +17 -0
- package/dist/server-fns/collections/create.d.ts +21 -0
- package/dist/server-fns/collections/create.d.ts.map +1 -0
- package/dist/server-fns/collections/create.js +40 -0
- package/dist/server-fns/collections/delete.d.ts +18 -0
- package/dist/server-fns/collections/delete.d.ts.map +1 -0
- package/dist/server-fns/collections/delete.js +44 -0
- package/dist/server-fns/collections/get.d.ts +26 -0
- package/dist/server-fns/collections/get.d.ts.map +1 -0
- package/dist/server-fns/collections/get.js +133 -0
- package/dist/server-fns/collections/history.d.ts +43 -0
- package/dist/server-fns/collections/history.d.ts.map +1 -0
- package/dist/server-fns/collections/history.js +29 -0
- package/dist/server-fns/collections/index.d.ts +16 -0
- package/dist/server-fns/collections/index.d.ts.map +1 -0
- package/dist/server-fns/collections/index.js +9 -0
- package/dist/server-fns/collections/list.d.ts +54 -0
- package/dist/server-fns/collections/list.d.ts.map +1 -0
- package/dist/server-fns/collections/list.js +65 -0
- package/dist/server-fns/collections/stats.d.ts +17 -0
- package/dist/server-fns/collections/stats.d.ts.map +1 -0
- package/dist/server-fns/collections/stats.js +28 -0
- package/dist/server-fns/collections/status.d.ts +31 -0
- package/dist/server-fns/collections/status.d.ts.map +1 -0
- package/dist/server-fns/collections/status.js +79 -0
- package/dist/server-fns/collections/update.d.ts +26 -0
- package/dist/server-fns/collections/update.d.ts.map +1 -0
- package/dist/server-fns/collections/update.js +41 -0
- package/dist/server-fns/collections/upload.d.ts +57 -0
- package/dist/server-fns/collections/upload.d.ts.map +1 -0
- package/dist/server-fns/collections/upload.js +132 -0
- package/dist/server-fns/collections/utils.d.ts +15 -0
- package/dist/server-fns/collections/utils.d.ts.map +1 -0
- package/dist/server-fns/collections/utils.js +4 -0
- package/dist/server-fns/preview/disable.d.ts +12 -0
- package/dist/server-fns/preview/disable.d.ts.map +1 -0
- package/dist/server-fns/preview/disable.js +12 -0
- package/dist/server-fns/preview/enable.d.ts +12 -0
- package/dist/server-fns/preview/enable.d.ts.map +1 -0
- package/dist/server-fns/preview/enable.js +14 -0
- package/dist/server-fns/preview/index.d.ts +11 -0
- package/dist/server-fns/preview/index.d.ts.map +1 -0
- package/dist/server-fns/preview/index.js +3 -0
- package/dist/server-fns/preview/state.d.ts +11 -0
- package/dist/server-fns/preview/state.d.ts.map +1 -0
- package/dist/server-fns/preview/state.js +8 -0
- package/package.json +164 -0
- package/src/admin-shell/admin-roles/container.module.css +132 -0
- package/src/admin-shell/admin-roles/container.tsx +209 -0
- package/src/admin-shell/admin-roles/delete.module.css +52 -0
- package/src/admin-shell/admin-roles/delete.tsx +117 -0
- package/src/admin-shell/admin-roles/list.module.css +158 -0
- package/src/admin-shell/admin-roles/list.tsx +308 -0
- package/src/admin-shell/admin-users/container.module.css +199 -0
- package/src/admin-shell/admin-users/container.tsx +344 -0
- package/src/admin-shell/admin-users/delete.module.css +52 -0
- package/src/admin-shell/admin-users/delete.tsx +129 -0
- package/src/admin-shell/admin-users/list.module.css +164 -0
- package/src/admin-shell/admin-users/list.tsx +314 -0
- package/src/admin-shell/chrome/admin-app-bar.module.css +72 -0
- package/src/admin-shell/chrome/admin-app-bar.tsx +74 -0
- package/src/admin-shell/chrome/admin-layout.module.css +16 -0
- package/src/admin-shell/chrome/branding.module.css +20 -0
- package/src/admin-shell/chrome/branding.tsx +23 -0
- package/src/admin-shell/chrome/breadcrumbs/@types.ts +5 -0
- package/src/admin-shell/chrome/breadcrumbs/breadcrumbs-client.tsx +30 -0
- package/src/admin-shell/chrome/breadcrumbs/breadcrumbs-provider.tsx +48 -0
- package/src/admin-shell/chrome/breadcrumbs/breadcrumbs.module.css +93 -0
- package/src/admin-shell/chrome/breadcrumbs/breadcrumbs.tsx +96 -0
- package/src/admin-shell/chrome/byline-logo.tsx +151 -0
- package/src/admin-shell/chrome/content.module.css +16 -0
- package/src/admin-shell/chrome/content.tsx +60 -0
- package/src/admin-shell/chrome/dashboard.module.css +245 -0
- package/src/admin-shell/chrome/dashboard.tsx +128 -0
- package/src/admin-shell/chrome/drawer-toggle.module.css +30 -0
- package/src/admin-shell/chrome/drawer-toggle.tsx +62 -0
- package/src/admin-shell/chrome/hamburger.module.css +16 -0
- package/src/admin-shell/chrome/hamburger.tsx +56 -0
- package/src/admin-shell/chrome/loose-router.ts +47 -0
- package/src/admin-shell/chrome/menu-drawer.module.css +196 -0
- package/src/admin-shell/chrome/menu-drawer.tsx +155 -0
- package/src/admin-shell/chrome/menu-provider.tsx +95 -0
- package/src/admin-shell/chrome/preview-toggle.tsx +107 -0
- package/src/admin-shell/chrome/route-error.module.css +114 -0
- package/src/admin-shell/chrome/route-error.tsx +125 -0
- package/src/admin-shell/chrome/router-pager.tsx +179 -0
- package/src/admin-shell/chrome/sign-in-page.module.css +32 -0
- package/src/admin-shell/chrome/sign-in-page.tsx +35 -0
- package/src/admin-shell/chrome/sort-icons.tsx +127 -0
- package/src/admin-shell/chrome/th-sortable.module.css +51 -0
- package/src/admin-shell/chrome/th-sortable.tsx +114 -0
- package/src/admin-shell/chrome/use-media-query.ts +28 -0
- package/src/admin-shell/chrome/utils.ts +20 -0
- package/src/admin-shell/collections/api.module.css +62 -0
- package/src/admin-shell/collections/api.tsx +70 -0
- package/src/admin-shell/collections/create.tsx +108 -0
- package/src/admin-shell/collections/edit.tsx +319 -0
- package/src/admin-shell/collections/history.module.css +156 -0
- package/src/admin-shell/collections/history.tsx +352 -0
- package/src/admin-shell/collections/list.module.css +124 -0
- package/src/admin-shell/collections/list.tsx +313 -0
- package/src/admin-shell/collections/preview-link.tsx +138 -0
- package/src/admin-shell/collections/tanstack-navigation-guard.ts +43 -0
- package/src/admin-shell/collections/view-menu.module.css +60 -0
- package/src/admin-shell/collections/view-menu.tsx +238 -0
- package/src/auth/auth-context.test.node.ts +200 -0
- package/src/auth/auth-context.ts +119 -0
- package/src/auth/auth-cookies.ts +113 -0
- package/src/auth/preview-cookies.ts +73 -0
- package/src/declarations.d.ts +4 -0
- package/src/index.ts +44 -0
- package/src/integrations/abilities.tsx +90 -0
- package/src/integrations/api-utils.ts +66 -0
- package/src/integrations/byline-admin-services.ts +86 -0
- package/src/integrations/byline-client.ts +40 -0
- package/src/integrations/byline-core.ts +32 -0
- package/src/integrations/byline-field-services.ts +35 -0
- package/src/integrations/byline-public-client.ts +53 -0
- package/src/integrations/byline-viewer-client.ts +99 -0
- package/src/integrations/start-errors.ts +86 -0
- package/src/routes/create-admin-account-route.tsx +65 -0
- package/src/routes/create-admin-dashboard-route.tsx +52 -0
- package/src/routes/create-admin-layout-route.tsx +89 -0
- package/src/routes/create-admin-permissions-route.tsx +43 -0
- package/src/routes/create-admin-role-edit-route.tsx +88 -0
- package/src/routes/create-admin-roles-list-route.tsx +39 -0
- package/src/routes/create-admin-user-edit-route.tsx +105 -0
- package/src/routes/create-admin-users-list-route.tsx +84 -0
- package/src/routes/create-collection-api-route.tsx +111 -0
- package/src/routes/create-collection-create-route.tsx +66 -0
- package/src/routes/create-collection-edit-route.tsx +102 -0
- package/src/routes/create-collection-history-route.tsx +130 -0
- package/src/routes/create-collection-list-route.tsx +175 -0
- package/src/routes/create-sign-in-route.tsx +39 -0
- package/src/routes/index.ts +36 -0
- package/src/server-fns/admin-account/change-password.ts +27 -0
- package/src/server-fns/admin-account/get.ts +27 -0
- package/src/server-fns/admin-account/index.ts +28 -0
- package/src/server-fns/admin-account/update.ts +31 -0
- package/src/server-fns/admin-permissions/get-role-abilities.ts +27 -0
- package/src/server-fns/admin-permissions/index.ts +36 -0
- package/src/server-fns/admin-permissions/list-registered.ts +36 -0
- package/src/server-fns/admin-permissions/set-role-abilities.ts +32 -0
- package/src/server-fns/admin-permissions/who-has.ts +24 -0
- package/src/server-fns/admin-roles/create.ts +28 -0
- package/src/server-fns/admin-roles/delete.ts +25 -0
- package/src/server-fns/admin-roles/get.ts +21 -0
- package/src/server-fns/admin-roles/index.ts +25 -0
- package/src/server-fns/admin-roles/list.ts +27 -0
- package/src/server-fns/admin-roles/reorder.ts +21 -0
- package/src/server-fns/admin-roles/update.ts +31 -0
- package/src/server-fns/admin-users/create.ts +32 -0
- package/src/server-fns/admin-users/delete.ts +21 -0
- package/src/server-fns/admin-users/disable.ts +24 -0
- package/src/server-fns/admin-users/enable.ts +24 -0
- package/src/server-fns/admin-users/get-user-roles.ts +21 -0
- package/src/server-fns/admin-users/get.ts +21 -0
- package/src/server-fns/admin-users/index.ts +35 -0
- package/src/server-fns/admin-users/list.ts +40 -0
- package/src/server-fns/admin-users/set-password.ts +27 -0
- package/src/server-fns/admin-users/set-user-roles.ts +26 -0
- package/src/server-fns/admin-users/update.ts +34 -0
- package/src/server-fns/auth/current-user.ts +117 -0
- package/src/server-fns/auth/index.ts +15 -0
- package/src/server-fns/auth/sign-in.ts +71 -0
- package/src/server-fns/auth/sign-out.ts +42 -0
- package/src/server-fns/collections/create.ts +58 -0
- package/src/server-fns/collections/delete.ts +62 -0
- package/src/server-fns/collections/get.ts +233 -0
- package/src/server-fns/collections/history.ts +73 -0
- package/src/server-fns/collections/index.ts +16 -0
- package/src/server-fns/collections/list.ts +121 -0
- package/src/server-fns/collections/stats.ts +52 -0
- package/src/server-fns/collections/status.ts +102 -0
- package/src/server-fns/collections/update.ts +67 -0
- package/src/server-fns/collections/upload.ts +274 -0
- package/src/server-fns/collections/utils.ts +17 -0
- package/src/server-fns/preview/disable.ts +24 -0
- package/src/server-fns/preview/enable.ts +27 -0
- package/src/server-fns/preview/index.ts +11 -0
- package/src/server-fns/preview/state.ts +30 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
export declare const ACCESS_TOKEN_COOKIE = "byline_access_token";
|
|
9
|
+
export declare const REFRESH_TOKEN_COOKIE = "byline_refresh_token";
|
|
10
|
+
/** Read the access-token cookie. Returns undefined when not present. */
|
|
11
|
+
export declare function readAccessTokenCookie(): string | undefined;
|
|
12
|
+
/** Read the refresh-token cookie. Returns undefined when not present. */
|
|
13
|
+
export declare function readRefreshTokenCookie(): string | undefined;
|
|
14
|
+
export interface SessionCookieTokens {
|
|
15
|
+
accessToken: string;
|
|
16
|
+
refreshToken: string;
|
|
17
|
+
accessTokenExpiresAt: Date;
|
|
18
|
+
refreshTokenExpiresAt: Date;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Write both access and refresh cookies. Called after sign-in and after
|
|
22
|
+
* every transparent refresh in `getAdminRequestContext()`.
|
|
23
|
+
*
|
|
24
|
+
* `maxAge` is derived from each token's own expiry claim so the browser
|
|
25
|
+
* drops the cookies at the same moment the server would reject them —
|
|
26
|
+
* saves round trips when the refresh token has fully expired.
|
|
27
|
+
*/
|
|
28
|
+
export declare function setSessionCookies(tokens: SessionCookieTokens): void;
|
|
29
|
+
/**
|
|
30
|
+
* Clear both session cookies. Called on sign-out and on any auth failure
|
|
31
|
+
* during `getAdminRequestContext()` (ensures the browser does not keep
|
|
32
|
+
* trying a token that the server has already rejected).
|
|
33
|
+
*/
|
|
34
|
+
export declare function clearSessionCookies(): void;
|
|
35
|
+
//# sourceMappingURL=auth-cookies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-cookies.d.ts","sourceRoot":"","sources":["../../src/auth/auth-cookies.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4BH,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AACxD,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAI1D,wEAAwE;AACxE,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAE1D;AAED,yEAAyE;AACzE,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAE3D;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,IAAI,CAAA;IAC1B,qBAAqB,EAAE,IAAI,CAAA;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CA0BnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAe1C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { getCookie, setCookie } from "@tanstack/react-start/server";
|
|
2
|
+
const ACCESS_TOKEN_COOKIE = 'byline_access_token';
|
|
3
|
+
const REFRESH_TOKEN_COOKIE = 'byline_refresh_token';
|
|
4
|
+
const IS_PROD = 'production' === process.env.NODE_ENV;
|
|
5
|
+
function readAccessTokenCookie() {
|
|
6
|
+
return getCookie(ACCESS_TOKEN_COOKIE);
|
|
7
|
+
}
|
|
8
|
+
function readRefreshTokenCookie() {
|
|
9
|
+
return getCookie(REFRESH_TOKEN_COOKIE);
|
|
10
|
+
}
|
|
11
|
+
function setSessionCookies(tokens) {
|
|
12
|
+
const now = Date.now();
|
|
13
|
+
const accessMaxAgeSeconds = Math.max(0, Math.floor((tokens.accessTokenExpiresAt.getTime() - now) / 1000));
|
|
14
|
+
const refreshMaxAgeSeconds = Math.max(0, Math.floor((tokens.refreshTokenExpiresAt.getTime() - now) / 1000));
|
|
15
|
+
setCookie(ACCESS_TOKEN_COOKIE, tokens.accessToken, {
|
|
16
|
+
httpOnly: true,
|
|
17
|
+
sameSite: 'lax',
|
|
18
|
+
secure: IS_PROD,
|
|
19
|
+
path: '/',
|
|
20
|
+
maxAge: accessMaxAgeSeconds
|
|
21
|
+
});
|
|
22
|
+
setCookie(REFRESH_TOKEN_COOKIE, tokens.refreshToken, {
|
|
23
|
+
httpOnly: true,
|
|
24
|
+
sameSite: 'lax',
|
|
25
|
+
secure: IS_PROD,
|
|
26
|
+
path: '/',
|
|
27
|
+
maxAge: refreshMaxAgeSeconds
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function clearSessionCookies() {
|
|
31
|
+
setCookie(ACCESS_TOKEN_COOKIE, '', {
|
|
32
|
+
httpOnly: true,
|
|
33
|
+
sameSite: 'lax',
|
|
34
|
+
secure: IS_PROD,
|
|
35
|
+
path: '/',
|
|
36
|
+
maxAge: 0
|
|
37
|
+
});
|
|
38
|
+
setCookie(REFRESH_TOKEN_COOKIE, '', {
|
|
39
|
+
httpOnly: true,
|
|
40
|
+
sameSite: 'lax',
|
|
41
|
+
secure: IS_PROD,
|
|
42
|
+
path: '/',
|
|
43
|
+
maxAge: 0
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
export { ACCESS_TOKEN_COOKIE, REFRESH_TOKEN_COOKIE, clearSessionCookies, readAccessTokenCookie, readRefreshTokenCookie, setSessionCookies };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
export declare const PREVIEW_COOKIE = "byline_preview";
|
|
9
|
+
/** True iff the preview cookie is currently set on the request. */
|
|
10
|
+
export declare function readPreviewCookie(): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Write the preview cookie. Callers should ensure the request is from a
|
|
13
|
+
* valid admin session before invoking — the cookie itself is just a flag
|
|
14
|
+
* and carries no proof of authorisation. See `enablePreviewModeFn` for
|
|
15
|
+
* the canonical entry point.
|
|
16
|
+
*/
|
|
17
|
+
export declare function setPreviewCookie(): void;
|
|
18
|
+
/** Clear the preview cookie. Safe to call from any context. */
|
|
19
|
+
export declare function clearPreviewCookie(): void;
|
|
20
|
+
//# sourceMappingURL=preview-cookies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-cookies.d.ts","sourceRoot":"","sources":["../../src/auth/preview-cookies.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+BH,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAK9C,mEAAmE;AACnE,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,IAAI,IAAI,CAQzC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getCookie, setCookie } from "@tanstack/react-start/server";
|
|
2
|
+
const PREVIEW_COOKIE = 'byline_preview';
|
|
3
|
+
const PREVIEW_MAX_AGE_SECONDS = 86400;
|
|
4
|
+
const IS_PROD = 'production' === process.env.NODE_ENV;
|
|
5
|
+
function readPreviewCookie() {
|
|
6
|
+
return '1' === getCookie(PREVIEW_COOKIE);
|
|
7
|
+
}
|
|
8
|
+
function setPreviewCookie() {
|
|
9
|
+
setCookie(PREVIEW_COOKIE, '1', {
|
|
10
|
+
httpOnly: true,
|
|
11
|
+
sameSite: 'lax',
|
|
12
|
+
secure: IS_PROD,
|
|
13
|
+
path: '/',
|
|
14
|
+
maxAge: PREVIEW_MAX_AGE_SECONDS
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function clearPreviewCookie() {
|
|
18
|
+
setCookie(PREVIEW_COOKIE, '', {
|
|
19
|
+
httpOnly: true,
|
|
20
|
+
sameSite: 'lax',
|
|
21
|
+
secure: IS_PROD,
|
|
22
|
+
path: '/',
|
|
23
|
+
maxAge: 0
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export { PREVIEW_COOKIE, clearPreviewCookie, readPreviewCookie, setPreviewCookie };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* `@byline/host-tanstack-start` — TanStack Start host adapter for Byline.
|
|
10
|
+
*
|
|
11
|
+
* Houses everything that's framework-coupled to TanStack Start /
|
|
12
|
+
* Router so the framework-neutral packages (`@byline/core`, `@byline/admin`,
|
|
13
|
+
* `@byline/client`, `@byline/auth`, `@byline/ui`) stay framework-neutral.
|
|
14
|
+
*
|
|
15
|
+
* Surface is exposed via subpath exports rather than a single root barrel
|
|
16
|
+
* so hosts only pull in what they consume:
|
|
17
|
+
*
|
|
18
|
+
* - `@byline/host-tanstack-start/server-fns/<module>` — TanStack Start
|
|
19
|
+
* server functions for each admin module (admin-account, admin-roles,
|
|
20
|
+
* admin-users, admin-permissions, auth, collections).
|
|
21
|
+
* - `@byline/host-tanstack-start/auth/auth-context` — request-scoped
|
|
22
|
+
* `RequestContext` resolution that reads session cookies, refreshes
|
|
23
|
+
* transparently, and surfaces `ERR_UNAUTHENTICATED` to callers.
|
|
24
|
+
* - `@byline/host-tanstack-start/integrations/*` — host-side adapters
|
|
25
|
+
* binding TanStack Start primitives to the framework-neutral
|
|
26
|
+
* contracts in `@byline/ui` and `@byline/client`
|
|
27
|
+
* (`bylineFieldServices`, `bylineAdminServices`, the admin
|
|
28
|
+
* `BylineClient` singleton).
|
|
29
|
+
* - `@byline/host-tanstack-start/admin-shell/{chrome,collections,...}` —
|
|
30
|
+
* router-coupled admin UI: shared shell chrome (menu drawer, app bar,
|
|
31
|
+
* route-error, breadcrumbs, etc.) plus per-area page containers.
|
|
32
|
+
* - `@byline/host-tanstack-start/routes/*` — route factories. Each
|
|
33
|
+
* factory returns the result of `createFileRoute(path)({...})` ready
|
|
34
|
+
* for assignment to the host's `export const Route = ...`. The host
|
|
35
|
+
* supplies the filesystem-backed path string; the package owns the
|
|
36
|
+
* loader, `beforeLoad`, component, and error boundary.
|
|
37
|
+
*
|
|
38
|
+
* The root entry exports nothing intentionally — every consumption path
|
|
39
|
+
* is a subpath import. This keeps the public surface small and the
|
|
40
|
+
* boundaries explicit.
|
|
41
|
+
*/
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Client-side ability helpers for the admin shell.
|
|
10
|
+
*
|
|
11
|
+
* These hooks read the current admin user's ability set off the admin
|
|
12
|
+
* route's TanStack Router context — which `route.tsx` populates in
|
|
13
|
+
* `beforeLoad` via `getCurrentAdminUser()`. No separate React Context
|
|
14
|
+
* provider is required because the route context already plays that
|
|
15
|
+
* role.
|
|
16
|
+
*
|
|
17
|
+
* **Cosmetic UI only.** A hidden menu item, disabled button, or
|
|
18
|
+
* un-rendered children block is an affordance, never a security
|
|
19
|
+
* boundary. Every server-side path is independently gated by
|
|
20
|
+
* `assertActorCanPerform` (document collections) or `assertAdminActor`
|
|
21
|
+
* (admin user / role / permission management). Callers can construct
|
|
22
|
+
* the matching ability key by hand or — preferred — import the
|
|
23
|
+
* `ADMIN_*_ABILITIES` constants from the relevant
|
|
24
|
+
* `@byline/admin/admin-*` subpath so a rename surfaces as a type error
|
|
25
|
+
* rather than a silent miss.
|
|
26
|
+
*
|
|
27
|
+
* Super-admin bypass mirrors the server: every `useAbility` call
|
|
28
|
+
* returns `true` when `is_super_admin` is set.
|
|
29
|
+
*
|
|
30
|
+
* Snapshot semantics: the ability set is the snapshot from the last
|
|
31
|
+
* `beforeLoad` of the admin route, refreshed on navigation. A grant
|
|
32
|
+
* revoked mid-session won't disappear from the UI until the next
|
|
33
|
+
* navigation — fine for cosmetic cues since the server still rejects
|
|
34
|
+
* the underlying action.
|
|
35
|
+
*/
|
|
36
|
+
import type React from 'react';
|
|
37
|
+
/**
|
|
38
|
+
* `true` when the current admin holds the given ability (or is a
|
|
39
|
+
* super-admin). Cosmetic — see file-level docstring.
|
|
40
|
+
*/
|
|
41
|
+
export declare function useAbility(ability: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Bundle of ability checks for situations where a component needs more
|
|
44
|
+
* than one verb (e.g. the menu drawer asks about three keys at once).
|
|
45
|
+
* Avoids calling `useAbility` repeatedly when a single context read is
|
|
46
|
+
* sufficient.
|
|
47
|
+
*/
|
|
48
|
+
export declare function useAbilities(): {
|
|
49
|
+
has: (ability: string) => boolean;
|
|
50
|
+
hasAny: (abilities: readonly string[]) => boolean;
|
|
51
|
+
isSuperAdmin: boolean;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* JSX wrapper. Renders `children` only when the current admin holds
|
|
55
|
+
* the given ability. Cosmetic — see file-level docstring.
|
|
56
|
+
*
|
|
57
|
+
* ```tsx
|
|
58
|
+
* <RequireAbility ability={ADMIN_USERS_ABILITIES.create}>
|
|
59
|
+
* <Button>New admin user</Button>
|
|
60
|
+
* </RequireAbility>
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function RequireAbility({ ability, children, }: {
|
|
64
|
+
ability: string;
|
|
65
|
+
children: React.ReactNode;
|
|
66
|
+
}): React.ReactNode;
|
|
67
|
+
//# sourceMappingURL=abilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abilities.d.ts","sourceRoot":"","sources":["../../src/integrations/abilities.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAInD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI;IAC9B,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IACjC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAA;IACjD,YAAY,EAAE,OAAO,CAAA;CACtB,CAMA;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,KAAK,CAAC,SAAS,CAElB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useRouteContext } from "@tanstack/react-router";
|
|
2
|
+
const ADMIN_ROUTE_ID = '/(byline)/admin';
|
|
3
|
+
function useAbility(ability) {
|
|
4
|
+
const { user } = useRouteContext({
|
|
5
|
+
from: ADMIN_ROUTE_ID
|
|
6
|
+
});
|
|
7
|
+
if (user.is_super_admin) return true;
|
|
8
|
+
return user.abilities.includes(ability);
|
|
9
|
+
}
|
|
10
|
+
function useAbilities() {
|
|
11
|
+
const { user } = useRouteContext({
|
|
12
|
+
from: ADMIN_ROUTE_ID
|
|
13
|
+
});
|
|
14
|
+
const has = (ability)=>user.is_super_admin || user.abilities.includes(ability);
|
|
15
|
+
const hasAny = (abilities)=>user.is_super_admin || abilities.some((key)=>user.abilities.includes(key));
|
|
16
|
+
return {
|
|
17
|
+
has,
|
|
18
|
+
hasAny,
|
|
19
|
+
isSuperAdmin: user.is_super_admin
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function RequireAbility({ ability, children }) {
|
|
23
|
+
return useAbility(ability) ? children : null;
|
|
24
|
+
}
|
|
25
|
+
export { RequireAbility, useAbilities, useAbility };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* NOTE: Before you dunk on this, this is a prototype implementation
|
|
10
|
+
* of our API and used only for development.
|
|
11
|
+
* We'll extract a properly configured API server soon.
|
|
12
|
+
*/
|
|
13
|
+
import type { CollectionDefinition } from '@byline/core';
|
|
14
|
+
export interface EnsuredCollection {
|
|
15
|
+
definition: CollectionDefinition;
|
|
16
|
+
collection: {
|
|
17
|
+
id: string;
|
|
18
|
+
path: string;
|
|
19
|
+
version: number;
|
|
20
|
+
schemaHash: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Resolve a collection for an admin API request.
|
|
25
|
+
*
|
|
26
|
+
* Collections are reconciled with the database once at startup by
|
|
27
|
+
* `initBylineCore()` (see `packages/core/src/services/collection-bootstrap.ts`).
|
|
28
|
+
* This helper is a per-request cache lookup against the resulting in-memory
|
|
29
|
+
* registry — no DB I/O, no hash work.
|
|
30
|
+
*
|
|
31
|
+
* Returns `null` when the path is not registered in the client/server config.
|
|
32
|
+
*/
|
|
33
|
+
export declare function ensureCollection(path: string): Promise<EnsuredCollection | null>;
|
|
34
|
+
//# sourceMappingURL=api-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-utils.d.ts","sourceRoot":"","sources":["../../src/integrations/api-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAoB,MAAM,cAAc,CAAA;AAK1E,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,oBAAoB,CAAA;IAChC,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAsBtF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getCollectionDefinition } from "@byline/core";
|
|
2
|
+
import { bylineCore } from "./byline-core.js";
|
|
3
|
+
async function ensureCollection(path) {
|
|
4
|
+
const definition = getCollectionDefinition(path);
|
|
5
|
+
if (null == definition) return null;
|
|
6
|
+
let record;
|
|
7
|
+
try {
|
|
8
|
+
record = bylineCore().getCollectionRecord(path);
|
|
9
|
+
} catch {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
definition,
|
|
14
|
+
collection: {
|
|
15
|
+
id: record.collectionId,
|
|
16
|
+
path,
|
|
17
|
+
version: record.version,
|
|
18
|
+
schemaHash: record.schemaHash
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export { ensureCollection };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Host-side adapter that binds the webapp's TanStack Start server functions
|
|
10
|
+
* to the framework-neutral `BylineAdminServices` contract consumed by
|
|
11
|
+
* `@byline/ui` admin components.
|
|
12
|
+
*
|
|
13
|
+
* Wired into the admin route once via `<BylineAdminServicesProvider>`. A
|
|
14
|
+
* future Next.js host would ship its own adapter file (server-actions in
|
|
15
|
+
* place of server fns) and Provider; the `@byline/ui` surface is unchanged.
|
|
16
|
+
*
|
|
17
|
+
* Contract scope: only the framework-neutral admin UI components consume
|
|
18
|
+
* this — sign-in, account self-service, admin-user/role write forms, the
|
|
19
|
+
* permissions inspector, role-permissions editor, and the diff modal.
|
|
20
|
+
* Page-container reads (list/edit) stay on direct server-fn imports
|
|
21
|
+
* inside the host's deferred router-coupled containers.
|
|
22
|
+
*/
|
|
23
|
+
import type { BylineAdminServices } from '@byline/ui';
|
|
24
|
+
export declare const bylineAdminServices: BylineAdminServices;
|
|
25
|
+
//# sourceMappingURL=byline-admin-services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byline-admin-services.d.ts","sourceRoot":"","sources":["../../src/integrations/byline-admin-services.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAqCrD,eAAO,MAAM,mBAAmB,EAAE,mBAwBjC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { changeAccountPassword, updateAccount } from "../server-fns/admin-account/index.js";
|
|
2
|
+
import { setRoleAbilities, whoHasAbility } from "../server-fns/admin-permissions/index.js";
|
|
3
|
+
import { createAdminRole, updateAdminRole } from "../server-fns/admin-roles/index.js";
|
|
4
|
+
import { createAdminUser, setAdminUserPassword, setUserRoles, updateAdminUser } from "../server-fns/admin-users/index.js";
|
|
5
|
+
import { adminSignIn } from "../server-fns/auth/index.js";
|
|
6
|
+
import { getCollectionDocumentVersion } from "../server-fns/collections/get.js";
|
|
7
|
+
const byline_admin_services_getCollectionDocumentVersion = async (collection, documentId, versionId, locale)=>{
|
|
8
|
+
const result = await getCollectionDocumentVersion(collection, documentId, versionId, locale);
|
|
9
|
+
if (null == result) throw new Error(`Document version not found: collection=${collection} document=${documentId} version=${versionId}`);
|
|
10
|
+
return result;
|
|
11
|
+
};
|
|
12
|
+
const bylineAdminServices = {
|
|
13
|
+
adminSignIn: adminSignIn,
|
|
14
|
+
updateAccount: updateAccount,
|
|
15
|
+
changeAccountPassword: changeAccountPassword,
|
|
16
|
+
createAdminUser: createAdminUser,
|
|
17
|
+
updateAdminUser: updateAdminUser,
|
|
18
|
+
setAdminUserPassword: setAdminUserPassword,
|
|
19
|
+
setUserRoles: setUserRoles,
|
|
20
|
+
createAdminRole: createAdminRole,
|
|
21
|
+
updateAdminRole: updateAdminRole,
|
|
22
|
+
setRoleAbilities: setRoleAbilities,
|
|
23
|
+
whoHasAbility: whoHasAbility,
|
|
24
|
+
getCollectionDocumentVersion: byline_admin_services_getCollectionDocumentVersion
|
|
25
|
+
};
|
|
26
|
+
export { bylineAdminServices };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The admin webapp's `BylineClient` singleton.
|
|
10
|
+
*
|
|
11
|
+
* Configured with a `requestContext` factory that resolves the
|
|
12
|
+
* authenticated admin actor per call via `getAdminRequestContext`. Every
|
|
13
|
+
* admin server fn that reads documents goes through this client, so the
|
|
14
|
+
* full read pipeline (`beforeRead` → `findDocuments` → `populate` →
|
|
15
|
+
* `afterRead`) is uniform between admin and any future external
|
|
16
|
+
* client. The collection runtime, db adapter, and storage provider are
|
|
17
|
+
* sourced from the shared `getServerConfig()` so we don't duplicate
|
|
18
|
+
* adapter wiring.
|
|
19
|
+
*/
|
|
20
|
+
import { type BylineClient } from '@byline/client';
|
|
21
|
+
export declare function getAdminBylineClient(): BylineClient;
|
|
22
|
+
//# sourceMappingURL=byline-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byline-client.d.ts","sourceRoot":"","sources":["../../src/integrations/byline-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,gBAAgB,CAAA;AAOtE,wBAAgB,oBAAoB,IAAI,YAAY,CAWnD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createBylineClient } from "@byline/client";
|
|
2
|
+
import { getServerConfig } from "@byline/core";
|
|
3
|
+
import { getAdminRequestContext } from "../auth/auth-context.js";
|
|
4
|
+
let cachedClient;
|
|
5
|
+
function getAdminBylineClient() {
|
|
6
|
+
if (cachedClient) return cachedClient;
|
|
7
|
+
cachedClient = createBylineClient({
|
|
8
|
+
config: getServerConfig(),
|
|
9
|
+
requestContext: getAdminRequestContext
|
|
10
|
+
});
|
|
11
|
+
return cachedClient;
|
|
12
|
+
}
|
|
13
|
+
export { getAdminBylineClient };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Typed accessor for the composed `BylineCore` post-init.
|
|
10
|
+
*
|
|
11
|
+
* Wraps `@byline/core`'s framework-neutral `getBylineCore<TAdminStore>()`
|
|
12
|
+
* and pre-binds `TAdminStore` to `AdminStore` from `@byline/admin`. This
|
|
13
|
+
* package is the admin host adapter — every server fn here ultimately
|
|
14
|
+
* delegates to an `@byline/admin` command that wants the typed store, so
|
|
15
|
+
* baking the generic in once removes the need for each call site to
|
|
16
|
+
* repeat `getBylineCore<AdminStore>()` and to import `AdminStore`
|
|
17
|
+
* separately.
|
|
18
|
+
*
|
|
19
|
+
* Hosts that wire a different admin-store flavour through
|
|
20
|
+
* `initBylineCore<TOtherStore>()` should NOT use this helper — they
|
|
21
|
+
* import `getBylineCore<TOtherStore>()` from `@byline/core` directly.
|
|
22
|
+
* That escape hatch keeps the framework-neutral package agnostic to
|
|
23
|
+
* which admin store is configured.
|
|
24
|
+
*/
|
|
25
|
+
import type { AdminStore } from '@byline/admin';
|
|
26
|
+
import { type BylineCore } from '@byline/core';
|
|
27
|
+
export declare function bylineCore(): BylineCore<AdminStore>;
|
|
28
|
+
//# sourceMappingURL=byline-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byline-core.d.ts","sourceRoot":"","sources":["../../src/integrations/byline-core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,cAAc,CAAA;AAE7D,wBAAgB,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,CAEnD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Host-side adapters that bind the webapp's TanStack Start server functions
|
|
10
|
+
* to the framework-neutral `BylineFieldServices` contract consumed by
|
|
11
|
+
* `@byline/ui` field/form components.
|
|
12
|
+
*
|
|
13
|
+
* Wired into the admin route once via `<BylineFieldServicesProvider>`. A
|
|
14
|
+
* future Next.js host would ship its own adapter file and Provider; the
|
|
15
|
+
* @byline/ui surface is unchanged.
|
|
16
|
+
*/
|
|
17
|
+
import type { BylineFieldServices } from '@byline/ui';
|
|
18
|
+
export declare const bylineFieldServices: BylineFieldServices;
|
|
19
|
+
//# sourceMappingURL=byline-field-services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byline-field-services.d.ts","sourceRoot":"","sources":["../../src/integrations/byline-field-services.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAA2C,MAAM,YAAY,CAAA;AAa9F,eAAO,MAAM,mBAAmB,EAAE,mBAGjC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getCollectionDocuments } from "../server-fns/collections/list.js";
|
|
2
|
+
import { uploadField } from "../server-fns/collections/upload.js";
|
|
3
|
+
const byline_field_services_getCollectionDocuments = ({ collection, params })=>getCollectionDocuments({
|
|
4
|
+
data: {
|
|
5
|
+
collection,
|
|
6
|
+
params
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
const byline_field_services_uploadField = (collection, formData, createDocument)=>uploadField(collection, formData, createDocument);
|
|
10
|
+
const bylineFieldServices = {
|
|
11
|
+
getCollectionDocuments: byline_field_services_getCollectionDocuments,
|
|
12
|
+
uploadField: byline_field_services_uploadField
|
|
13
|
+
};
|
|
14
|
+
export { bylineFieldServices };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { type BylineClient } from '@byline/client';
|
|
9
|
+
export declare function getPublicBylineClient(): BylineClient;
|
|
10
|
+
//# sourceMappingURL=byline-public-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byline-public-client.d.ts","sourceRoot":"","sources":["../../src/integrations/byline-public-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkCH,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,gBAAgB,CAAA;AAKtE,wBAAgB,qBAAqB,IAAI,YAAY,CAOpD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createRequestContext } from "@byline/auth";
|
|
2
|
+
import { createBylineClient } from "@byline/client";
|
|
3
|
+
import { getServerConfig } from "@byline/core";
|
|
4
|
+
let cachedClient;
|
|
5
|
+
function getPublicBylineClient() {
|
|
6
|
+
if (cachedClient) return cachedClient;
|
|
7
|
+
cachedClient = createBylineClient({
|
|
8
|
+
config: getServerConfig(),
|
|
9
|
+
requestContext: ()=>createRequestContext({
|
|
10
|
+
readMode: 'published'
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
return cachedClient;
|
|
14
|
+
}
|
|
15
|
+
export { getPublicBylineClient };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This Source Code is subject to the terms of the Mozilla Public
|
|
3
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
4
|
+
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Infonomic Company Limited
|
|
7
|
+
*/
|
|
8
|
+
import { type BylineClient } from '@byline/client';
|
|
9
|
+
export declare function getViewerBylineClient(): BylineClient;
|
|
10
|
+
/**
|
|
11
|
+
* Resolve whether the current request should surface non-published
|
|
12
|
+
* versions. True iff the preview cookie is set **and** a valid admin
|
|
13
|
+
* session resolves. Server fns call this once and pass the result to
|
|
14
|
+
* `status: preview ? 'any' : 'published'` on the SDK read.
|
|
15
|
+
*
|
|
16
|
+
* Defensive by design: the cookie alone is not enough. A signed-out
|
|
17
|
+
* browser carrying an old preview cookie still gets `false` here, which
|
|
18
|
+
* keeps stray query strings or shared links from leaking drafts.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isPreviewActive(): Promise<boolean>;
|
|
21
|
+
//# sourceMappingURL=byline-viewer-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byline-viewer-client.d.ts","sourceRoot":"","sources":["../../src/integrations/byline-viewer-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwCH,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,gBAAgB,CAAA;AAQtE,wBAAgB,qBAAqB,IAAI,YAAY,CAwBpD;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createRequestContext } from "@byline/auth";
|
|
2
|
+
import { createBylineClient } from "@byline/client";
|
|
3
|
+
import { getServerConfig } from "@byline/core";
|
|
4
|
+
import { getAdminRequestContext } from "../auth/auth-context.js";
|
|
5
|
+
import { readPreviewCookie } from "../auth/preview-cookies.js";
|
|
6
|
+
let cachedClient;
|
|
7
|
+
function getViewerBylineClient() {
|
|
8
|
+
if (cachedClient) return cachedClient;
|
|
9
|
+
cachedClient = createBylineClient({
|
|
10
|
+
config: getServerConfig(),
|
|
11
|
+
requestContext: async ()=>{
|
|
12
|
+
if (!readPreviewCookie()) return createRequestContext({
|
|
13
|
+
readMode: 'published'
|
|
14
|
+
});
|
|
15
|
+
try {
|
|
16
|
+
const ctx = await getAdminRequestContext();
|
|
17
|
+
return {
|
|
18
|
+
...ctx,
|
|
19
|
+
readMode: 'any'
|
|
20
|
+
};
|
|
21
|
+
} catch {
|
|
22
|
+
return createRequestContext({
|
|
23
|
+
readMode: 'published'
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
return cachedClient;
|
|
29
|
+
}
|
|
30
|
+
async function isPreviewActive() {
|
|
31
|
+
if (!readPreviewCookie()) return false;
|
|
32
|
+
try {
|
|
33
|
+
await getAdminRequestContext();
|
|
34
|
+
return true;
|
|
35
|
+
} catch {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export { getViewerBylineClient, isPreviewActive };
|