@baasix/baasix 0.1.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/LICENSE.MD +85 -0
- package/README.md +526 -0
- package/assets/banner.jpg +0 -0
- package/assets/banner_small.jpg +0 -0
- package/assets/logo_icon.svg +20 -0
- package/assets/logo_icon_rounded.svg +20 -0
- package/dist/LICENSE.MD +85 -0
- package/dist/README.md +526 -0
- package/dist/app/404/index.html +1 -0
- package/dist/app/404.html +1 -0
- package/dist/app/_next/static/chunks/041e1f03-56ae8a902a7f2fe6.js +24 -0
- package/dist/app/_next/static/chunks/1117-05479929a8da73e3.js +1 -0
- package/dist/app/_next/static/chunks/1299.77cc7b7b76b75cba.js +1 -0
- package/dist/app/_next/static/chunks/1303-35a96e9c9cdeab9d.js +1 -0
- package/dist/app/_next/static/chunks/1509-56ac00cdaaecdf53.js +1 -0
- package/dist/app/_next/static/chunks/1668-e3eabd0f6753c780.js +1 -0
- package/dist/app/_next/static/chunks/1783-d9fb550fd324300c.js +1 -0
- package/dist/app/_next/static/chunks/2117-29b5fa47421595ad.js +2 -0
- package/dist/app/_next/static/chunks/2344.35b46d2179a765b5.js +1 -0
- package/dist/app/_next/static/chunks/257.990da16794a31292.js +1 -0
- package/dist/app/_next/static/chunks/2676-73b0ee7c80073a84.js +1 -0
- package/dist/app/_next/static/chunks/3563-b8842744384391fe.js +1 -0
- package/dist/app/_next/static/chunks/363642f4-933b579ed3c85f60.js +1 -0
- package/dist/app/_next/static/chunks/3817-e20c8f0a0810fc95.js +1 -0
- package/dist/app/_next/static/chunks/3834.84944e390d902509.js +2 -0
- package/dist/app/_next/static/chunks/4043-3a30c8a75896f241.js +1 -0
- package/dist/app/_next/static/chunks/4225-14090c7c0cd9dec6.js +1 -0
- package/dist/app/_next/static/chunks/4438-c9a12ca15b6e9160.js +1 -0
- package/dist/app/_next/static/chunks/4458-679fd0c6884f456a.js +1 -0
- package/dist/app/_next/static/chunks/4475-8bdfbd536fba8c48.js +1 -0
- package/dist/app/_next/static/chunks/4883-8a924721bb21b3b0.js +1 -0
- package/dist/app/_next/static/chunks/489-683ab07188f9df2b.js +1 -0
- package/dist/app/_next/static/chunks/4952-1b97320cf61f3f21.js +1 -0
- package/dist/app/_next/static/chunks/5094-8d53e403235d4ca6.js +1 -0
- package/dist/app/_next/static/chunks/5101-3a146e0625747ad1.js +1 -0
- package/dist/app/_next/static/chunks/54a60aa6-d9747982e0a81f58.js +79 -0
- package/dist/app/_next/static/chunks/5650-f096291df402bfc2.js +1 -0
- package/dist/app/_next/static/chunks/600-539045311240f579.js +1 -0
- package/dist/app/_next/static/chunks/6170-803b82e19d3ade6d.js +89 -0
- package/dist/app/_next/static/chunks/6241-30d7169d1010e5a4.js +1 -0
- package/dist/app/_next/static/chunks/6530-a91e10cffa4200c4.js +1 -0
- package/dist/app/_next/static/chunks/6547-4bbbdb5c399aef1e.js +1 -0
- package/dist/app/_next/static/chunks/6712-781937c53a2c49da.js +1 -0
- package/dist/app/_next/static/chunks/6fcbdc68-90be1a5480b8d353.js +1 -0
- package/dist/app/_next/static/chunks/70e0d97a-aeaf0cdc26ba1a58.js +1 -0
- package/dist/app/_next/static/chunks/7214-5154a89d08d24dde.js +1 -0
- package/dist/app/_next/static/chunks/7324-b53229c59a640880.js +10 -0
- package/dist/app/_next/static/chunks/7636-66424f0b51d350e9.js +1 -0
- package/dist/app/_next/static/chunks/7874-39a3f2541165a675.js +1 -0
- package/dist/app/_next/static/chunks/7982-9da12b83f11e3f5f.js +1 -0
- package/dist/app/_next/static/chunks/8213a2eb-da25a3b3c5521b2b.js +1 -0
- package/dist/app/_next/static/chunks/8473-6598318371eca31b.js +1 -0
- package/dist/app/_next/static/chunks/8640fa6b-72e43370f68e5587.js +1 -0
- package/dist/app/_next/static/chunks/9090-3ef676f29c95f1c7.js +1 -0
- package/dist/app/_next/static/chunks/9124-a02f9e209e6e3cce.js +1 -0
- package/dist/app/_next/static/chunks/926-156f32067d111d6b.js +1 -0
- package/dist/app/_next/static/chunks/9487-b17481605e513b83.js +1 -0
- package/dist/app/_next/static/chunks/9599-a7e572bb88c3392b.js +1 -0
- package/dist/app/_next/static/chunks/9881-419697138376e755.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/all-activity/page-8917930b4d663405.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/email-log/page-b27a6ee32782d7df.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/notifications/page-b7eda523ede2702c.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/page-1cfa62d1caedaed0.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/sessions/page-3e21e20db90aeff7.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/workflow-executions/page-27bcc26b747fb29b.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/activity-log/workflow-logs/page-9f9e9e952aef436e.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/change-password/page-8d61aa499eabb127.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/dashboard/page-1ceeac9e72997a8a.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/data-browser/page-8cda2b57759dd670.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/file-manager/page-8c6f1b1da66ad7e4.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/layout-f70d225b2759c998.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/migrations/page-aacec8f7cfb40ab2.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/permissions/page-828110cfcde429c6.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/project/page-420e794bb76bd204.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/roles/page-9001d02b28f70708.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/schema/page-899574f35091dd58.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/tasks/page-ad7ab3e27c83f44f.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/templates/edit/page-bd83414cb8c4cb04.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/templates/page-3181447f8772b1d3.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/settings/tenants/page-ef9bfbacef5a1d73.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/users/invites/page-480306b7b2bbac7e.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/users/list/page-74da51254c2606b3.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/users/page-e99c6f0b915001b2.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/users/preferences/page-1a935630ce8f2b12.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/users/user-roles/page-901dfb8ea1f39ca8.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/workflows/detail/page-9a6b839aea688ca4.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/workflows/edit/page-11774efbc2fecae2.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/workflows/execution/page-8ec1aea90412c03d.js +1 -0
- package/dist/app/_next/static/chunks/app/(authenticated)/workflows/page-88bc5b36ccb0a1f7.js +1 -0
- package/dist/app/_next/static/chunks/app/(public)/forgot-password/page-ed263fd46ef81c20.js +1 -0
- package/dist/app/_next/static/chunks/app/(public)/layout-f538977545844af8.js +1 -0
- package/dist/app/_next/static/chunks/app/(public)/login/page-c0a10b137f346096.js +1 -0
- package/dist/app/_next/static/chunks/app/(public)/register/page-4cb7644893efd9b3.js +1 -0
- package/dist/app/_next/static/chunks/app/_not-found/page-653f8815b78256cc.js +1 -0
- package/dist/app/_next/static/chunks/app/layout-591ca7a3e16528a1.js +1 -0
- package/dist/app/_next/static/chunks/app/page-dd19d124b5fa2577.js +1 -0
- package/dist/app/_next/static/chunks/c37d3baf.c2ff165f5b02c692.js +1 -0
- package/dist/app/_next/static/chunks/d0deef33.0379166a4ec23470.js +1 -0
- package/dist/app/_next/static/chunks/fd9d1056-54169f07cd680d6c.js +1 -0
- package/dist/app/_next/static/chunks/framework-8e0e0f4a6b83a956.js +1 -0
- package/dist/app/_next/static/chunks/main-324e91f5a430cddf.js +1 -0
- package/dist/app/_next/static/chunks/main-app-55bcae20c77aaf0e.js +1 -0
- package/dist/app/_next/static/chunks/pages/_app-3c9ca398d360b709.js +1 -0
- package/dist/app/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js +1 -0
- package/dist/app/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/app/_next/static/chunks/webpack-2c306566f7ee1b63.js +1 -0
- package/dist/app/_next/static/css/6c4002bae4e236b2.css +3 -0
- package/dist/app/_next/static/css/a275cc2b185e04f8.css +1 -0
- package/dist/app/_next/static/eCWhKA8XHqmB1zgFcEtN2/_buildManifest.js +1 -0
- package/dist/app/_next/static/eCWhKA8XHqmB1zgFcEtN2/_ssgManifest.js +1 -0
- package/dist/app/activity-log/all-activity/index.html +1 -0
- package/dist/app/activity-log/all-activity/index.txt +14 -0
- package/dist/app/activity-log/email-log/index.html +1 -0
- package/dist/app/activity-log/email-log/index.txt +14 -0
- package/dist/app/activity-log/index.html +1 -0
- package/dist/app/activity-log/index.txt +14 -0
- package/dist/app/activity-log/notifications/index.html +1 -0
- package/dist/app/activity-log/notifications/index.txt +14 -0
- package/dist/app/activity-log/sessions/index.html +1 -0
- package/dist/app/activity-log/sessions/index.txt +14 -0
- package/dist/app/activity-log/workflow-executions/index.html +1 -0
- package/dist/app/activity-log/workflow-executions/index.txt +14 -0
- package/dist/app/activity-log/workflow-logs/index.html +1 -0
- package/dist/app/activity-log/workflow-logs/index.txt +14 -0
- package/dist/app/change-password/index.html +1 -0
- package/dist/app/change-password/index.txt +14 -0
- package/dist/app/dashboard/index.html +1 -0
- package/dist/app/dashboard/index.txt +14 -0
- package/dist/app/data-browser/index.html +1 -0
- package/dist/app/data-browser/index.txt +14 -0
- package/dist/app/file-manager/index.html +1 -0
- package/dist/app/file-manager/index.txt +14 -0
- package/dist/app/forgot-password/index.html +1 -0
- package/dist/app/forgot-password/index.txt +13 -0
- package/dist/app/index.html +1 -0
- package/dist/app/index.txt +9 -0
- package/dist/app/login/index.html +1 -0
- package/dist/app/login/index.txt +13 -0
- package/dist/app/logo-dark.png +0 -0
- package/dist/app/logo-icon.svg +81 -0
- package/dist/app/logo-light.png +0 -0
- package/dist/app/register/index.html +1 -0
- package/dist/app/register/index.txt +13 -0
- package/dist/app/settings/migrations/index.html +1 -0
- package/dist/app/settings/migrations/index.txt +14 -0
- package/dist/app/settings/permissions/index.html +1 -0
- package/dist/app/settings/permissions/index.txt +14 -0
- package/dist/app/settings/project/index.html +1 -0
- package/dist/app/settings/project/index.txt +14 -0
- package/dist/app/settings/roles/index.html +1 -0
- package/dist/app/settings/roles/index.txt +14 -0
- package/dist/app/settings/schema/index.html +1 -0
- package/dist/app/settings/schema/index.txt +14 -0
- package/dist/app/settings/tasks/index.html +1 -0
- package/dist/app/settings/tasks/index.txt +14 -0
- package/dist/app/settings/templates/edit/index.html +1 -0
- package/dist/app/settings/templates/edit/index.txt +14 -0
- package/dist/app/settings/templates/index.html +1 -0
- package/dist/app/settings/templates/index.txt +14 -0
- package/dist/app/settings/tenants/index.html +1 -0
- package/dist/app/settings/tenants/index.txt +14 -0
- package/dist/app/users/index.html +1 -0
- package/dist/app/users/index.txt +14 -0
- package/dist/app/users/invites/index.html +1 -0
- package/dist/app/users/invites/index.txt +14 -0
- package/dist/app/users/list/index.html +1 -0
- package/dist/app/users/list/index.txt +14 -0
- package/dist/app/users/preferences/index.html +1 -0
- package/dist/app/users/preferences/index.txt +14 -0
- package/dist/app/users/user-roles/index.html +1 -0
- package/dist/app/users/user-roles/index.txt +14 -0
- package/dist/app/workflows/detail/index.html +1 -0
- package/dist/app/workflows/detail/index.txt +14 -0
- package/dist/app/workflows/edit/index.html +1 -0
- package/dist/app/workflows/edit/index.txt +14 -0
- package/dist/app/workflows/execution/index.html +1 -0
- package/dist/app/workflows/execution/index.txt +14 -0
- package/dist/app/workflows/index.html +1 -0
- package/dist/app/workflows/index.txt +14 -0
- package/dist/app.d.ts +36 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +546 -0
- package/dist/app.js.map +1 -0
- package/dist/auth/adapters/baasix-adapter.d.ts +12 -0
- package/dist/auth/adapters/baasix-adapter.d.ts.map +1 -0
- package/dist/auth/adapters/baasix-adapter.js +318 -0
- package/dist/auth/adapters/baasix-adapter.js.map +1 -0
- package/dist/auth/adapters/index.d.ts +6 -0
- package/dist/auth/adapters/index.d.ts.map +1 -0
- package/dist/auth/adapters/index.js +5 -0
- package/dist/auth/adapters/index.js.map +1 -0
- package/dist/auth/core.d.ts +73 -0
- package/dist/auth/core.d.ts.map +1 -0
- package/dist/auth/core.js +528 -0
- package/dist/auth/core.js.map +1 -0
- package/dist/auth/index.d.ts +56 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +58 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/oauth2/index.d.ts +5 -0
- package/dist/auth/oauth2/index.d.ts.map +1 -0
- package/dist/auth/oauth2/index.js +5 -0
- package/dist/auth/oauth2/index.js.map +1 -0
- package/dist/auth/oauth2/utils.d.ts +90 -0
- package/dist/auth/oauth2/utils.d.ts.map +1 -0
- package/dist/auth/oauth2/utils.js +167 -0
- package/dist/auth/oauth2/utils.js.map +1 -0
- package/dist/auth/providers/apple.d.ts +28 -0
- package/dist/auth/providers/apple.d.ts.map +1 -0
- package/dist/auth/providers/apple.js +192 -0
- package/dist/auth/providers/apple.js.map +1 -0
- package/dist/auth/providers/credential.d.ts +87 -0
- package/dist/auth/providers/credential.d.ts.map +1 -0
- package/dist/auth/providers/credential.js +162 -0
- package/dist/auth/providers/credential.js.map +1 -0
- package/dist/auth/providers/facebook.d.ts +26 -0
- package/dist/auth/providers/facebook.d.ts.map +1 -0
- package/dist/auth/providers/facebook.js +112 -0
- package/dist/auth/providers/facebook.js.map +1 -0
- package/dist/auth/providers/github.d.ts +29 -0
- package/dist/auth/providers/github.d.ts.map +1 -0
- package/dist/auth/providers/github.js +144 -0
- package/dist/auth/providers/github.js.map +1 -0
- package/dist/auth/providers/google.d.ts +32 -0
- package/dist/auth/providers/google.d.ts.map +1 -0
- package/dist/auth/providers/google.js +145 -0
- package/dist/auth/providers/google.js.map +1 -0
- package/dist/auth/providers/index.d.ts +22 -0
- package/dist/auth/providers/index.d.ts.map +1 -0
- package/dist/auth/providers/index.js +17 -0
- package/dist/auth/providers/index.js.map +1 -0
- package/dist/auth/routes.d.ts +63 -0
- package/dist/auth/routes.d.ts.map +1 -0
- package/dist/auth/routes.js +827 -0
- package/dist/auth/routes.js.map +1 -0
- package/dist/auth/services/index.d.ts +10 -0
- package/dist/auth/services/index.d.ts.map +1 -0
- package/dist/auth/services/index.js +7 -0
- package/dist/auth/services/index.js.map +1 -0
- package/dist/auth/services/session.d.ts +81 -0
- package/dist/auth/services/session.d.ts.map +1 -0
- package/dist/auth/services/session.js +186 -0
- package/dist/auth/services/session.js.map +1 -0
- package/dist/auth/services/token.d.ts +41 -0
- package/dist/auth/services/token.d.ts.map +1 -0
- package/dist/auth/services/token.js +44 -0
- package/dist/auth/services/token.js.map +1 -0
- package/dist/auth/services/verification.d.ts +77 -0
- package/dist/auth/services/verification.d.ts.map +1 -0
- package/dist/auth/services/verification.js +143 -0
- package/dist/auth/services/verification.js.map +1 -0
- package/dist/auth/types.d.ts +318 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +6 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/customTypes/arrays.d.ts +200 -0
- package/dist/customTypes/arrays.d.ts.map +1 -0
- package/dist/customTypes/arrays.js +309 -0
- package/dist/customTypes/arrays.js.map +1 -0
- package/dist/customTypes/index.d.ts +8 -0
- package/dist/customTypes/index.d.ts.map +1 -0
- package/dist/customTypes/index.js +11 -0
- package/dist/customTypes/index.js.map +1 -0
- package/dist/customTypes/postgis.d.ts +146 -0
- package/dist/customTypes/postgis.d.ts.map +1 -0
- package/dist/customTypes/postgis.js +315 -0
- package/dist/customTypes/postgis.js.map +1 -0
- package/dist/customTypes/ranges.d.ts +128 -0
- package/dist/customTypes/ranges.d.ts.map +1 -0
- package/dist/customTypes/ranges.js +257 -0
- package/dist/customTypes/ranges.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/0.1.0-alpha.0_initial_setup.d.ts +29 -0
- package/dist/migrations/0.1.0-alpha.0_initial_setup.d.ts.map +1 -0
- package/dist/migrations/0.1.0-alpha.0_initial_setup.js +72 -0
- package/dist/migrations/0.1.0-alpha.0_initial_setup.js.map +1 -0
- package/dist/migrations/_example_migration.d.ts +31 -0
- package/dist/migrations/_example_migration.d.ts.map +1 -0
- package/dist/migrations/_example_migration.js +75 -0
- package/dist/migrations/_example_migration.js.map +1 -0
- package/dist/plugins/definePlugin.d.ts +49 -0
- package/dist/plugins/definePlugin.d.ts.map +1 -0
- package/dist/plugins/definePlugin.js +131 -0
- package/dist/plugins/definePlugin.js.map +1 -0
- package/dist/plugins/softDelete.d.ts +179 -0
- package/dist/plugins/softDelete.d.ts.map +1 -0
- package/dist/plugins/softDelete.js +235 -0
- package/dist/plugins/softDelete.js.map +1 -0
- package/dist/routes/auth.route.d.ts +14 -0
- package/dist/routes/auth.route.d.ts.map +1 -0
- package/dist/routes/auth.route.js +421 -0
- package/dist/routes/auth.route.js.map +1 -0
- package/dist/routes/file.route.d.ts +7 -0
- package/dist/routes/file.route.d.ts.map +1 -0
- package/dist/routes/file.route.js +274 -0
- package/dist/routes/file.route.js.map +1 -0
- package/dist/routes/items.route.d.ts +7 -0
- package/dist/routes/items.route.d.ts.map +1 -0
- package/dist/routes/items.route.js +369 -0
- package/dist/routes/items.route.js.map +1 -0
- package/dist/routes/migration.route.d.ts +7 -0
- package/dist/routes/migration.route.d.ts.map +1 -0
- package/dist/routes/migration.route.js +225 -0
- package/dist/routes/migration.route.js.map +1 -0
- package/dist/routes/notification.route.d.ts +7 -0
- package/dist/routes/notification.route.d.ts.map +1 -0
- package/dist/routes/notification.route.js +124 -0
- package/dist/routes/notification.route.js.map +1 -0
- package/dist/routes/openapi.route.d.ts +7 -0
- package/dist/routes/openapi.route.d.ts.map +1 -0
- package/dist/routes/openapi.route.js +2169 -0
- package/dist/routes/openapi.route.js.map +1 -0
- package/dist/routes/permission.route.d.ts +7 -0
- package/dist/routes/permission.route.d.ts.map +1 -0
- package/dist/routes/permission.route.js +158 -0
- package/dist/routes/permission.route.js.map +1 -0
- package/dist/routes/realtime.route.d.ts +21 -0
- package/dist/routes/realtime.route.d.ts.map +1 -0
- package/dist/routes/realtime.route.js +243 -0
- package/dist/routes/realtime.route.js.map +1 -0
- package/dist/routes/reports.route.d.ts +7 -0
- package/dist/routes/reports.route.d.ts.map +1 -0
- package/dist/routes/reports.route.js +95 -0
- package/dist/routes/reports.route.js.map +1 -0
- package/dist/routes/schema.route.d.ts +7 -0
- package/dist/routes/schema.route.d.ts.map +1 -0
- package/dist/routes/schema.route.js +1780 -0
- package/dist/routes/schema.route.js.map +1 -0
- package/dist/routes/settings.route.d.ts +7 -0
- package/dist/routes/settings.route.d.ts.map +1 -0
- package/dist/routes/settings.route.js +154 -0
- package/dist/routes/settings.route.js.map +1 -0
- package/dist/routes/templates.route.d.ts +7 -0
- package/dist/routes/templates.route.d.ts.map +1 -0
- package/dist/routes/templates.route.js +91 -0
- package/dist/routes/templates.route.js.map +1 -0
- package/dist/routes/utils.route.d.ts +7 -0
- package/dist/routes/utils.route.d.ts.map +1 -0
- package/dist/routes/utils.route.js +33 -0
- package/dist/routes/utils.route.js.map +1 -0
- package/dist/routes/workflow.route.d.ts +7 -0
- package/dist/routes/workflow.route.d.ts.map +1 -0
- package/dist/routes/workflow.route.js +787 -0
- package/dist/routes/workflow.route.js.map +1 -0
- package/dist/services/AssetsService.d.ts +39 -0
- package/dist/services/AssetsService.d.ts.map +1 -0
- package/dist/services/AssetsService.js +255 -0
- package/dist/services/AssetsService.js.map +1 -0
- package/dist/services/CacheService.d.ts +169 -0
- package/dist/services/CacheService.d.ts.map +1 -0
- package/dist/services/CacheService.js +722 -0
- package/dist/services/CacheService.js.map +1 -0
- package/dist/services/FilesService.d.ts +30 -0
- package/dist/services/FilesService.d.ts.map +1 -0
- package/dist/services/FilesService.js +268 -0
- package/dist/services/FilesService.js.map +1 -0
- package/dist/services/HooksManager.d.ts +38 -0
- package/dist/services/HooksManager.d.ts.map +1 -0
- package/dist/services/HooksManager.js +165 -0
- package/dist/services/HooksManager.js.map +1 -0
- package/dist/services/ItemsService.d.ts +273 -0
- package/dist/services/ItemsService.d.ts.map +1 -0
- package/dist/services/ItemsService.js +2458 -0
- package/dist/services/ItemsService.js.map +1 -0
- package/dist/services/MailService.d.ts +76 -0
- package/dist/services/MailService.d.ts.map +1 -0
- package/dist/services/MailService.js +585 -0
- package/dist/services/MailService.js.map +1 -0
- package/dist/services/MigrationService.d.ts +243 -0
- package/dist/services/MigrationService.d.ts.map +1 -0
- package/dist/services/MigrationService.js +914 -0
- package/dist/services/MigrationService.js.map +1 -0
- package/dist/services/NotificationService.d.ts +35 -0
- package/dist/services/NotificationService.d.ts.map +1 -0
- package/dist/services/NotificationService.js +159 -0
- package/dist/services/NotificationService.js.map +1 -0
- package/dist/services/PermissionService.d.ts +128 -0
- package/dist/services/PermissionService.d.ts.map +1 -0
- package/dist/services/PermissionService.js +373 -0
- package/dist/services/PermissionService.js.map +1 -0
- package/dist/services/PluginManager.d.ts +138 -0
- package/dist/services/PluginManager.d.ts.map +1 -0
- package/dist/services/PluginManager.js +463 -0
- package/dist/services/PluginManager.js.map +1 -0
- package/dist/services/RealtimeService.d.ts +209 -0
- package/dist/services/RealtimeService.d.ts.map +1 -0
- package/dist/services/RealtimeService.js +978 -0
- package/dist/services/RealtimeService.js.map +1 -0
- package/dist/services/ReportService.d.ts +13 -0
- package/dist/services/ReportService.d.ts.map +1 -0
- package/dist/services/ReportService.js +91 -0
- package/dist/services/ReportService.js.map +1 -0
- package/dist/services/SettingsService.d.ts +60 -0
- package/dist/services/SettingsService.d.ts.map +1 -0
- package/dist/services/SettingsService.js +474 -0
- package/dist/services/SettingsService.js.map +1 -0
- package/dist/services/SocketService.d.ts +129 -0
- package/dist/services/SocketService.d.ts.map +1 -0
- package/dist/services/SocketService.js +600 -0
- package/dist/services/SocketService.js.map +1 -0
- package/dist/services/StatsService.d.ts +10 -0
- package/dist/services/StatsService.d.ts.map +1 -0
- package/dist/services/StatsService.js +40 -0
- package/dist/services/StatsService.js.map +1 -0
- package/dist/services/StorageService.d.ts +20 -0
- package/dist/services/StorageService.d.ts.map +1 -0
- package/dist/services/StorageService.js +164 -0
- package/dist/services/StorageService.js.map +1 -0
- package/dist/services/TasksService.d.ts +74 -0
- package/dist/services/TasksService.d.ts.map +1 -0
- package/dist/services/TasksService.js +404 -0
- package/dist/services/TasksService.js.map +1 -0
- package/dist/services/WorkflowService.d.ts +305 -0
- package/dist/services/WorkflowService.d.ts.map +1 -0
- package/dist/services/WorkflowService.js +1811 -0
- package/dist/services/WorkflowService.js.map +1 -0
- package/dist/templates/logo/logo.png +0 -0
- package/dist/templates/mails/default.liquid +23 -0
- package/dist/types/aggregation.d.ts +40 -0
- package/dist/types/aggregation.d.ts.map +1 -0
- package/dist/types/aggregation.js +6 -0
- package/dist/types/aggregation.js.map +1 -0
- package/dist/types/assets.d.ts +32 -0
- package/dist/types/assets.d.ts.map +1 -0
- package/dist/types/assets.js +6 -0
- package/dist/types/assets.js.map +1 -0
- package/dist/types/auth.d.ts +50 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +6 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/cache.d.ts +47 -0
- package/dist/types/cache.d.ts.map +1 -0
- package/dist/types/cache.js +6 -0
- package/dist/types/cache.js.map +1 -0
- package/dist/types/database.d.ts +16 -0
- package/dist/types/database.d.ts.map +1 -0
- package/dist/types/database.js +6 -0
- package/dist/types/database.js.map +1 -0
- package/dist/types/fields.d.ts +71 -0
- package/dist/types/fields.d.ts.map +1 -0
- package/dist/types/fields.js +6 -0
- package/dist/types/fields.js.map +1 -0
- package/dist/types/files.d.ts +33 -0
- package/dist/types/files.d.ts.map +1 -0
- package/dist/types/files.js +6 -0
- package/dist/types/files.js.map +1 -0
- package/dist/types/hooks.d.ts +29 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/hooks.js +6 -0
- package/dist/types/hooks.js.map +1 -0
- package/dist/types/import-export.d.ts +62 -0
- package/dist/types/import-export.d.ts.map +1 -0
- package/dist/types/import-export.js +6 -0
- package/dist/types/import-export.js.map +1 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +58 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mail.d.ts +34 -0
- package/dist/types/mail.d.ts.map +1 -0
- package/dist/types/mail.js +6 -0
- package/dist/types/mail.js.map +1 -0
- package/dist/types/notifications.d.ts +16 -0
- package/dist/types/notifications.d.ts.map +1 -0
- package/dist/types/notifications.js +6 -0
- package/dist/types/notifications.js.map +1 -0
- package/dist/types/plugin.d.ts +351 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +8 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/query.d.ts +71 -0
- package/dist/types/query.d.ts.map +1 -0
- package/dist/types/query.js +6 -0
- package/dist/types/query.js.map +1 -0
- package/dist/types/relations.d.ts +111 -0
- package/dist/types/relations.d.ts.map +1 -0
- package/dist/types/relations.js +6 -0
- package/dist/types/relations.js.map +1 -0
- package/dist/types/reports.d.ts +17 -0
- package/dist/types/reports.d.ts.map +1 -0
- package/dist/types/reports.js +6 -0
- package/dist/types/reports.js.map +1 -0
- package/dist/types/schema.d.ts +26 -0
- package/dist/types/schema.d.ts.map +1 -0
- package/dist/types/schema.js +6 -0
- package/dist/types/schema.js.map +1 -0
- package/dist/types/seed.d.ts +27 -0
- package/dist/types/seed.d.ts.map +1 -0
- package/dist/types/seed.js +6 -0
- package/dist/types/seed.js.map +1 -0
- package/dist/types/services.d.ts +68 -0
- package/dist/types/services.d.ts.map +1 -0
- package/dist/types/services.js +6 -0
- package/dist/types/services.js.map +1 -0
- package/dist/types/settings.d.ts +36 -0
- package/dist/types/settings.d.ts.map +1 -0
- package/dist/types/settings.js +6 -0
- package/dist/types/settings.js.map +1 -0
- package/dist/types/sockets.d.ts +26 -0
- package/dist/types/sockets.d.ts.map +1 -0
- package/dist/types/sockets.js +6 -0
- package/dist/types/sockets.js.map +1 -0
- package/dist/types/sort.d.ts +25 -0
- package/dist/types/sort.d.ts.map +1 -0
- package/dist/types/sort.js +6 -0
- package/dist/types/sort.js.map +1 -0
- package/dist/types/spatial.d.ts +19 -0
- package/dist/types/spatial.d.ts.map +1 -0
- package/dist/types/spatial.js +6 -0
- package/dist/types/spatial.js.map +1 -0
- package/dist/types/stats.d.ts +21 -0
- package/dist/types/stats.d.ts.map +1 -0
- package/dist/types/stats.js +6 -0
- package/dist/types/stats.js.map +1 -0
- package/dist/types/storage.d.ts +19 -0
- package/dist/types/storage.d.ts.map +1 -0
- package/dist/types/storage.js +6 -0
- package/dist/types/storage.js.map +1 -0
- package/dist/types/tasks.d.ts +14 -0
- package/dist/types/tasks.d.ts.map +1 -0
- package/dist/types/tasks.js +6 -0
- package/dist/types/tasks.js.map +1 -0
- package/dist/types/utils.d.ts +54 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +6 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types/workflow.d.ts +17 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +6 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/aggregationUtils.d.ts +192 -0
- package/dist/utils/aggregationUtils.d.ts.map +1 -0
- package/dist/utils/aggregationUtils.js +450 -0
- package/dist/utils/aggregationUtils.js.map +1 -0
- package/dist/utils/auth.d.ts +93 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +557 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/cache.d.ts +64 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +464 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/common.d.ts +53 -0
- package/dist/utils/common.d.ts.map +1 -0
- package/dist/utils/common.js +162 -0
- package/dist/utils/common.js.map +1 -0
- package/dist/utils/db.d.ts +101 -0
- package/dist/utils/db.d.ts.map +1 -0
- package/dist/utils/db.js +413 -0
- package/dist/utils/db.js.map +1 -0
- package/dist/utils/dirname.d.ts +30 -0
- package/dist/utils/dirname.d.ts.map +1 -0
- package/dist/utils/dirname.js +95 -0
- package/dist/utils/dirname.js.map +1 -0
- package/dist/utils/dynamicVariableResolver.d.ts +17 -0
- package/dist/utils/dynamicVariableResolver.d.ts.map +1 -0
- package/dist/utils/dynamicVariableResolver.js +262 -0
- package/dist/utils/dynamicVariableResolver.js.map +1 -0
- package/dist/utils/env.d.ts +38 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +80 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/errorHandler.d.ts +14 -0
- package/dist/utils/errorHandler.d.ts.map +1 -0
- package/dist/utils/errorHandler.js +79 -0
- package/dist/utils/errorHandler.js.map +1 -0
- package/dist/utils/fieldExpansion.d.ts +30 -0
- package/dist/utils/fieldExpansion.d.ts.map +1 -0
- package/dist/utils/fieldExpansion.js +145 -0
- package/dist/utils/fieldExpansion.js.map +1 -0
- package/dist/utils/fieldUtils.d.ts +179 -0
- package/dist/utils/fieldUtils.d.ts.map +1 -0
- package/dist/utils/fieldUtils.js +424 -0
- package/dist/utils/fieldUtils.js.map +1 -0
- package/dist/utils/filterOperators.d.ts +472 -0
- package/dist/utils/filterOperators.d.ts.map +1 -0
- package/dist/utils/filterOperators.js +1229 -0
- package/dist/utils/filterOperators.js.map +1 -0
- package/dist/utils/importUtils.d.ts +127 -0
- package/dist/utils/importUtils.d.ts.map +1 -0
- package/dist/utils/importUtils.js +437 -0
- package/dist/utils/importUtils.js.map +1 -0
- package/dist/utils/index.d.ts +75 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +101 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +41 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +217 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/orderUtils.d.ts +117 -0
- package/dist/utils/orderUtils.d.ts.map +1 -0
- package/dist/utils/orderUtils.js +249 -0
- package/dist/utils/orderUtils.js.map +1 -0
- package/dist/utils/queryBuilder.d.ts +118 -0
- package/dist/utils/queryBuilder.d.ts.map +1 -0
- package/dist/utils/queryBuilder.js +489 -0
- package/dist/utils/queryBuilder.js.map +1 -0
- package/dist/utils/relationLoader.d.ts +65 -0
- package/dist/utils/relationLoader.d.ts.map +1 -0
- package/dist/utils/relationLoader.js +1081 -0
- package/dist/utils/relationLoader.js.map +1 -0
- package/dist/utils/relationPathResolver.d.ts +30 -0
- package/dist/utils/relationPathResolver.d.ts.map +1 -0
- package/dist/utils/relationPathResolver.js +173 -0
- package/dist/utils/relationPathResolver.js.map +1 -0
- package/dist/utils/relationUtils.d.ts +139 -0
- package/dist/utils/relationUtils.d.ts.map +1 -0
- package/dist/utils/relationUtils.js +711 -0
- package/dist/utils/relationUtils.js.map +1 -0
- package/dist/utils/router.d.ts +6 -0
- package/dist/utils/router.d.ts.map +1 -0
- package/dist/utils/router.js +95 -0
- package/dist/utils/router.js.map +1 -0
- package/dist/utils/schema.d.ts +88 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +24 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/schemaManager.d.ts +238 -0
- package/dist/utils/schemaManager.d.ts.map +1 -0
- package/dist/utils/schemaManager.js +1992 -0
- package/dist/utils/schemaManager.js.map +1 -0
- package/dist/utils/schemaValidator.d.ts +83 -0
- package/dist/utils/schemaValidator.d.ts.map +1 -0
- package/dist/utils/schemaValidator.js +491 -0
- package/dist/utils/schemaValidator.js.map +1 -0
- package/dist/utils/seed.d.ts +45 -0
- package/dist/utils/seed.d.ts.map +1 -0
- package/dist/utils/seed.js +248 -0
- package/dist/utils/seed.js.map +1 -0
- package/dist/utils/sessionCleanup.d.ts +10 -0
- package/dist/utils/sessionCleanup.d.ts.map +1 -0
- package/dist/utils/sessionCleanup.js +49 -0
- package/dist/utils/sessionCleanup.js.map +1 -0
- package/dist/utils/sortUtils.d.ts +117 -0
- package/dist/utils/sortUtils.d.ts.map +1 -0
- package/dist/utils/sortUtils.js +232 -0
- package/dist/utils/sortUtils.js.map +1 -0
- package/dist/utils/spatialUtils.d.ts +244 -0
- package/dist/utils/spatialUtils.d.ts.map +1 -0
- package/dist/utils/spatialUtils.js +359 -0
- package/dist/utils/spatialUtils.js.map +1 -0
- package/dist/utils/systemschema.d.ts +11040 -0
- package/dist/utils/systemschema.d.ts.map +1 -0
- package/dist/utils/systemschema.js +1777 -0
- package/dist/utils/systemschema.js.map +1 -0
- package/dist/utils/tenantUtils.d.ts +34 -0
- package/dist/utils/tenantUtils.d.ts.map +1 -0
- package/dist/utils/tenantUtils.js +124 -0
- package/dist/utils/tenantUtils.js.map +1 -0
- package/dist/utils/typeMapper.d.ts +25 -0
- package/dist/utils/typeMapper.d.ts.map +1 -0
- package/dist/utils/typeMapper.js +282 -0
- package/dist/utils/typeMapper.js.map +1 -0
- package/dist/utils/valueValidator.d.ts +60 -0
- package/dist/utils/valueValidator.d.ts.map +1 -0
- package/dist/utils/valueValidator.js +303 -0
- package/dist/utils/valueValidator.js.map +1 -0
- package/dist/utils/workflow.d.ts +87 -0
- package/dist/utils/workflow.d.ts.map +1 -0
- package/dist/utils/workflow.js +205 -0
- package/dist/utils/workflow.js.map +1 -0
- package/package.json +115 -0
package/dist/app.js
ADDED
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
import env from "./utils/env.js";
|
|
2
|
+
import { initializeLogger, getLogger } from "./utils/logger.js";
|
|
3
|
+
import express from "express";
|
|
4
|
+
import bodyParser from "body-parser";
|
|
5
|
+
import { createServer } from "http";
|
|
6
|
+
import morgan from "morgan";
|
|
7
|
+
import path from "path";
|
|
8
|
+
import cookieParser from "cookie-parser";
|
|
9
|
+
import { errorHandler } from "./utils/errorHandler.js";
|
|
10
|
+
import { initializeCache, closeCache, getCache, isCacheInitialized } from "./utils/cache.js";
|
|
11
|
+
import { invalidateEntireCache, getCacheService } from "./services/CacheService.js";
|
|
12
|
+
import { loadRoutes, loadSystemRoutes } from "./utils/router.js";
|
|
13
|
+
import mailService from "./services/MailService.js";
|
|
14
|
+
import permissionService from "./services/PermissionService.js";
|
|
15
|
+
import storageService from "./services/StorageService.js";
|
|
16
|
+
import { authMiddleware } from "./utils/auth.js";
|
|
17
|
+
import { hooksManager } from "./services/HooksManager.js";
|
|
18
|
+
import { db, initializeDatabaseWithCache } from "./utils/db.js";
|
|
19
|
+
import { schemaManager } from "./utils/schemaManager.js";
|
|
20
|
+
import { startSessionCleanup } from "./utils/sessionCleanup.js";
|
|
21
|
+
import schedule from "node-schedule";
|
|
22
|
+
import { rateLimit } from "express-rate-limit";
|
|
23
|
+
import socketService from "./services/SocketService.js";
|
|
24
|
+
import realtimeService from "./services/RealtimeService.js";
|
|
25
|
+
import tasksService from "./services/TasksService.js";
|
|
26
|
+
import workflowService from "./services/WorkflowService.js";
|
|
27
|
+
import migrationService from "./services/MigrationService.js";
|
|
28
|
+
import cors from "cors";
|
|
29
|
+
import settingsService from "./services/SettingsService.js";
|
|
30
|
+
import { sql } from "drizzle-orm";
|
|
31
|
+
import { getBaasixPath } from "./utils/dirname.js";
|
|
32
|
+
import { PluginManager } from "./services/PluginManager.js";
|
|
33
|
+
// Class-based services for plugin context (instantiated per-request)
|
|
34
|
+
import FilesService from "./services/FilesService.js";
|
|
35
|
+
import AssetsService from "./services/AssetsService.js";
|
|
36
|
+
import NotificationService from "./services/NotificationService.js";
|
|
37
|
+
import ReportService from "./services/ReportService.js";
|
|
38
|
+
import StatsService from "./services/StatsService.js";
|
|
39
|
+
// Get the admin app directory path (inside the package)
|
|
40
|
+
const getAdminAppPath = () => getBaasixPath("app");
|
|
41
|
+
export const app = express();
|
|
42
|
+
// Trust proxy - important for rate limiting and getting real client IP behind reverse proxy
|
|
43
|
+
app.set("trust proxy", 1);
|
|
44
|
+
// CORS configuration
|
|
45
|
+
const getStaticAllowedOrigins = () => {
|
|
46
|
+
return env.get("AUTH_CORS_ALLOWED_ORIGINS")
|
|
47
|
+
? env
|
|
48
|
+
.get("AUTH_CORS_ALLOWED_ORIGINS")
|
|
49
|
+
.split(",")
|
|
50
|
+
.map((origin) => origin.trim())
|
|
51
|
+
: ["http://localhost:3000", "http://localhost:8056"];
|
|
52
|
+
};
|
|
53
|
+
let dynamicOriginsCache = [];
|
|
54
|
+
let lastDynamicOriginsUpdate = 0;
|
|
55
|
+
const DYNAMIC_ORIGINS_CACHE_TTL = 60000; // 1 minute
|
|
56
|
+
export const invalidateCorsCache = () => {
|
|
57
|
+
dynamicOriginsCache = [];
|
|
58
|
+
lastDynamicOriginsUpdate = 0;
|
|
59
|
+
console.info("CORS origins cache invalidated");
|
|
60
|
+
};
|
|
61
|
+
const getAllowedOrigins = async () => {
|
|
62
|
+
const staticOrigins = getStaticAllowedOrigins();
|
|
63
|
+
const now = Date.now();
|
|
64
|
+
if (now - lastDynamicOriginsUpdate > DYNAMIC_ORIGINS_CACHE_TTL) {
|
|
65
|
+
try {
|
|
66
|
+
const settingsUrls = await settingsService.getAllSettingsUrls();
|
|
67
|
+
dynamicOriginsCache = settingsUrls;
|
|
68
|
+
lastDynamicOriginsUpdate = now;
|
|
69
|
+
console.info(`Updated CORS origins cache with ${settingsUrls.length} dynamic URLs`);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error("Error fetching settings URLs for CORS:", error);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const allOrigins = [...new Set([...staticOrigins, ...dynamicOriginsCache])];
|
|
76
|
+
return allOrigins;
|
|
77
|
+
};
|
|
78
|
+
const allowAnyPort = env.get("AUTH_CORS_ALLOW_ANY_PORT") !== "false";
|
|
79
|
+
const isOriginAllowed = async (origin) => {
|
|
80
|
+
const allowedOrigins = await getAllowedOrigins();
|
|
81
|
+
if (!allowAnyPort) {
|
|
82
|
+
return allowedOrigins.includes(origin);
|
|
83
|
+
}
|
|
84
|
+
try {
|
|
85
|
+
const originUrl = new URL(origin);
|
|
86
|
+
const originHostname = originUrl.hostname;
|
|
87
|
+
const originProtocol = originUrl.protocol;
|
|
88
|
+
return allowedOrigins.some((allowedOrigin) => {
|
|
89
|
+
try {
|
|
90
|
+
const allowedUrl = new URL(allowedOrigin);
|
|
91
|
+
return allowedUrl.hostname === originHostname && allowedUrl.protocol === originProtocol;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
app.use(cors({
|
|
103
|
+
origin: function (origin, callback) {
|
|
104
|
+
if (!origin)
|
|
105
|
+
return callback(null, true);
|
|
106
|
+
isOriginAllowed(origin)
|
|
107
|
+
.then((allowed) => {
|
|
108
|
+
if (allowed) {
|
|
109
|
+
return callback(null, true);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
console.log(`CORS: Origin "${origin}" not explicitly allowed but permitted for development`);
|
|
113
|
+
return callback(null, true);
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
.catch((error) => {
|
|
117
|
+
console.error("Error checking CORS origin:", error);
|
|
118
|
+
return callback(null, true);
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
credentials: env.get("AUTH_CORS_CREDENTIALS") !== "false",
|
|
122
|
+
methods: ["GET", "POST", "PATCH", "DELETE", "OPTIONS"],
|
|
123
|
+
allowedHeaders: ["Content-Type", "Authorization", "X-Requested-With"],
|
|
124
|
+
}));
|
|
125
|
+
app.use(bodyParser.json({ limit: "20mb" }));
|
|
126
|
+
app.use(cookieParser());
|
|
127
|
+
app.use(morgan("combined"));
|
|
128
|
+
// Helper to extract userId from JWT token for rate limiting
|
|
129
|
+
const extractUserIdFromToken = (req) => {
|
|
130
|
+
try {
|
|
131
|
+
// Check Authorization header first, then cookie
|
|
132
|
+
const authHeader = req.headers.authorization;
|
|
133
|
+
let token = null;
|
|
134
|
+
if (authHeader?.startsWith("Bearer ")) {
|
|
135
|
+
token = authHeader.substring(7);
|
|
136
|
+
}
|
|
137
|
+
else if (req.cookies?.token) {
|
|
138
|
+
token = req.cookies.token;
|
|
139
|
+
}
|
|
140
|
+
if (!token)
|
|
141
|
+
return null;
|
|
142
|
+
// Decode JWT payload without verification (rate limiting doesn't need full verification)
|
|
143
|
+
const parts = token.split(".");
|
|
144
|
+
if (parts.length !== 3)
|
|
145
|
+
return null;
|
|
146
|
+
const payload = JSON.parse(Buffer.from(parts[1], "base64").toString());
|
|
147
|
+
return payload.sub || payload.userId || payload.user_id || null;
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
const limiter = rateLimit({
|
|
154
|
+
windowMs: parseInt(env.get("RATE_LIMIT_INTERVAL") || "5000"),
|
|
155
|
+
max: parseInt(env.get("RATE_LIMIT") || "100"),
|
|
156
|
+
keyGenerator: (req) => {
|
|
157
|
+
// Use userId for authenticated requests if enabled, otherwise use IP
|
|
158
|
+
if (env.get("RATE_LIMIT_BY_USER") === "true") {
|
|
159
|
+
const userId = extractUserIdFromToken(req);
|
|
160
|
+
if (userId)
|
|
161
|
+
return `user:${userId}`;
|
|
162
|
+
}
|
|
163
|
+
return req.ip || "unknown";
|
|
164
|
+
},
|
|
165
|
+
skip: (req, res) => {
|
|
166
|
+
return req.path.startsWith("/admin") || req.path === "/admin";
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
app.use(limiter);
|
|
170
|
+
// Serve static files from the React app
|
|
171
|
+
const adminAppPath = getAdminAppPath();
|
|
172
|
+
app.use("/admin", express.static(adminAppPath));
|
|
173
|
+
app.get("/admin/*", (req, res) => {
|
|
174
|
+
res.sendFile(path.join(adminAppPath, "index.html"));
|
|
175
|
+
});
|
|
176
|
+
let server = null;
|
|
177
|
+
/**
|
|
178
|
+
* Initialize the application with all services
|
|
179
|
+
*/
|
|
180
|
+
async function initializeApp() {
|
|
181
|
+
try {
|
|
182
|
+
console.info("Initializing cache...");
|
|
183
|
+
// Only use Redis URL if CACHE_ADAPTER is 'redis' or 'upstash'
|
|
184
|
+
const cacheAdapter = env.get("CACHE_ADAPTER") || "memory";
|
|
185
|
+
const cacheUri = (cacheAdapter === "redis" || cacheAdapter === "upstash")
|
|
186
|
+
? env.get("CACHE_REDIS_URL")
|
|
187
|
+
: null;
|
|
188
|
+
initializeCache({ ttl: parseInt(env.get("CACHE_TTL") || "30") * 1000, uri: cacheUri });
|
|
189
|
+
// IMPORTANT: Detect Sequelize upgrade BEFORE schema initialization
|
|
190
|
+
// because schemaManager.initialize() will create the baasix_Migration table
|
|
191
|
+
console.info("Checking for Sequelize to Drizzle upgrade...");
|
|
192
|
+
const isUpgrade = await migrationService.detectUpgradeBeforeSchemaInit();
|
|
193
|
+
console.info("Initializing schema registry...");
|
|
194
|
+
await schemaManager.initialize();
|
|
195
|
+
console.info("Initializing migration service...");
|
|
196
|
+
await migrationService.init(isUpgrade);
|
|
197
|
+
// Run pending migrations if auto-run is enabled
|
|
198
|
+
await migrationService.runStartupMigrations();
|
|
199
|
+
console.info("Initializing settings service...");
|
|
200
|
+
await settingsService.loadSettings();
|
|
201
|
+
console.info("Initializing tasks service...");
|
|
202
|
+
await tasksService.init();
|
|
203
|
+
console.info("Initializing workflow service...");
|
|
204
|
+
await workflowService.init();
|
|
205
|
+
console.info("Initializing permission service...");
|
|
206
|
+
await permissionService.loadPermissions();
|
|
207
|
+
console.info("Initializing mail service...");
|
|
208
|
+
await mailService.initialize();
|
|
209
|
+
console.info("Initializing storage service...");
|
|
210
|
+
storageService.initialize();
|
|
211
|
+
console.info("Loading routes...");
|
|
212
|
+
// Import ItemsService dynamically to avoid circular dependencies
|
|
213
|
+
const { default: ItemsService } = await import('./services/ItemsService.js');
|
|
214
|
+
const context = {
|
|
215
|
+
db,
|
|
216
|
+
permissionService,
|
|
217
|
+
mailService,
|
|
218
|
+
storageService,
|
|
219
|
+
ItemsService,
|
|
220
|
+
};
|
|
221
|
+
app.use(authMiddleware);
|
|
222
|
+
await loadSystemRoutes(app, context);
|
|
223
|
+
await loadRoutes(app, context);
|
|
224
|
+
console.info("Loading hooks...");
|
|
225
|
+
await hooksManager.loadHooksFromDirectory(context);
|
|
226
|
+
await hooksManager.loadSchedulesFromDirectory(context, schedule);
|
|
227
|
+
app.use(errorHandler);
|
|
228
|
+
console.info("App initialization complete");
|
|
229
|
+
}
|
|
230
|
+
catch (error) {
|
|
231
|
+
console.error("Error initializing app:", error);
|
|
232
|
+
throw error;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Connect to database with retry logic
|
|
237
|
+
* Uses DATABASE_MAX_RETRY and DATABASE_RETRY_INTERVAL env variables
|
|
238
|
+
*/
|
|
239
|
+
async function connectWithRetry(retries = parseInt(env.get("DATABASE_MAX_RETRY") || "3"), delay = parseInt(env.get("DATABASE_RETRY_INTERVAL") || "5000")) {
|
|
240
|
+
for (let i = 0; i < retries; i++) {
|
|
241
|
+
try {
|
|
242
|
+
// Test database connection
|
|
243
|
+
await db.execute(sql `SELECT 1`);
|
|
244
|
+
console.info("Database connected successfully");
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
catch (err) {
|
|
248
|
+
console.error(`Database connection attempt ${i + 1}/${retries} failed:`, err.message);
|
|
249
|
+
if (i === retries - 1)
|
|
250
|
+
throw err;
|
|
251
|
+
console.info(`Retrying in ${delay}ms...`);
|
|
252
|
+
await new Promise((res) => setTimeout(res, delay));
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Graceful shutdown handler
|
|
258
|
+
*/
|
|
259
|
+
async function gracefulShutdown(signal) {
|
|
260
|
+
console.info(`Received ${signal}. Shutting down...`);
|
|
261
|
+
try {
|
|
262
|
+
// Shutdown plugins first (in reverse order)
|
|
263
|
+
console.warn("Shutting down plugins...");
|
|
264
|
+
const pluginManager = PluginManager.getInstance();
|
|
265
|
+
await pluginManager.shutdownPlugins();
|
|
266
|
+
console.warn("Shutting down TasksService...");
|
|
267
|
+
const taskWaitTime = parseInt(env.get("TASK_SHUTDOWN_WAIT_TIME") || "30") * 1000;
|
|
268
|
+
await tasksService.shutdown(taskWaitTime);
|
|
269
|
+
console.warn("Shutting down WorkflowService...");
|
|
270
|
+
if (typeof workflowService.shutdown === 'function') {
|
|
271
|
+
await workflowService.shutdown();
|
|
272
|
+
}
|
|
273
|
+
console.warn("Shutting down RealtimeService...");
|
|
274
|
+
if (typeof realtimeService.shutdown === 'function') {
|
|
275
|
+
await realtimeService.shutdown();
|
|
276
|
+
}
|
|
277
|
+
console.warn("Closing cache...");
|
|
278
|
+
await closeCache();
|
|
279
|
+
console.warn("Closing database connection...");
|
|
280
|
+
// await db.close(); // Drizzle doesn't have a close method on db object
|
|
281
|
+
console.warn("Shutting down server...");
|
|
282
|
+
server?.close(() => {
|
|
283
|
+
console.warn("Server shut down successfully");
|
|
284
|
+
process.exit(0);
|
|
285
|
+
});
|
|
286
|
+
setTimeout(() => {
|
|
287
|
+
console.error("Forcefully shutting down");
|
|
288
|
+
process.exit(1);
|
|
289
|
+
}, 10000);
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
console.error("Error during shutdown:", error);
|
|
293
|
+
process.exit(1);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
// Graceful shutdown handlers
|
|
297
|
+
process.on("SIGTERM", () => gracefulShutdown("SIGTERM"));
|
|
298
|
+
process.on("SIGINT", () => gracefulShutdown("SIGINT"));
|
|
299
|
+
// For nodemon restarts
|
|
300
|
+
process.once("SIGUSR2", async () => {
|
|
301
|
+
await gracefulShutdown("SIGUSR2");
|
|
302
|
+
process.kill(process.pid, "SIGUSR2");
|
|
303
|
+
});
|
|
304
|
+
/**
|
|
305
|
+
* Start the Baasix server
|
|
306
|
+
* @param options - Server startup options including port and logger configuration
|
|
307
|
+
*/
|
|
308
|
+
export async function startServer(options) {
|
|
309
|
+
// Support legacy call signature: startServer(port)
|
|
310
|
+
const opts = typeof options === "number"
|
|
311
|
+
? { port: options }
|
|
312
|
+
: options || {};
|
|
313
|
+
const serverPort = opts.port || parseInt(env.get("PORT") || "8055");
|
|
314
|
+
const { plugins = [], pluginOptions = {} } = opts;
|
|
315
|
+
// Initialize logger first with user-provided options
|
|
316
|
+
initializeLogger(opts.logger);
|
|
317
|
+
const logger = getLogger();
|
|
318
|
+
// Initialize plugin manager
|
|
319
|
+
const pluginManager = PluginManager.getInstance();
|
|
320
|
+
pluginManager.setOptions({ verbose: pluginOptions.verbose ?? false });
|
|
321
|
+
try {
|
|
322
|
+
// Register plugins first (before database initialization)
|
|
323
|
+
if (plugins.length > 0) {
|
|
324
|
+
logger.info(`Registering ${plugins.length} plugin(s)...`);
|
|
325
|
+
pluginManager.registerPlugins(plugins);
|
|
326
|
+
// Get plugin schemas to register with schema manager
|
|
327
|
+
const pluginSchemas = pluginManager.getPluginSchemas();
|
|
328
|
+
if (pluginSchemas.length > 0) {
|
|
329
|
+
logger.info(`Found ${pluginSchemas.length} plugin schema(s) to register`);
|
|
330
|
+
schemaManager.registerPluginSchemas(pluginSchemas);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
// Initialize database with cache service FIRST
|
|
334
|
+
logger.info("Initializing database with cache service...");
|
|
335
|
+
await initializeDatabaseWithCache();
|
|
336
|
+
server = createServer(app);
|
|
337
|
+
await connectWithRetry();
|
|
338
|
+
await initializeApp();
|
|
339
|
+
// Initialize plugin services and routes after app initialization
|
|
340
|
+
if (plugins.length > 0) {
|
|
341
|
+
logger.info("Initializing plugin services...");
|
|
342
|
+
// Import ItemsService dynamically to avoid circular dependencies
|
|
343
|
+
const { default: ItemsService } = await import('./services/ItemsService.js');
|
|
344
|
+
// Set plugin context with all available services
|
|
345
|
+
pluginManager.setContext({
|
|
346
|
+
// Database
|
|
347
|
+
db,
|
|
348
|
+
// Core service class (for instantiation)
|
|
349
|
+
ItemsService,
|
|
350
|
+
// Singleton services (pre-initialized)
|
|
351
|
+
permissionService,
|
|
352
|
+
mailService,
|
|
353
|
+
storageService,
|
|
354
|
+
settingsService,
|
|
355
|
+
socketService,
|
|
356
|
+
realtimeService,
|
|
357
|
+
tasksService,
|
|
358
|
+
workflowService,
|
|
359
|
+
migrationService,
|
|
360
|
+
hooksManager,
|
|
361
|
+
// Utility functions
|
|
362
|
+
getCacheService,
|
|
363
|
+
invalidateCache: invalidateEntireCache,
|
|
364
|
+
// Class-based services (for per-request instantiation)
|
|
365
|
+
FilesService,
|
|
366
|
+
AssetsService,
|
|
367
|
+
NotificationService,
|
|
368
|
+
ReportService,
|
|
369
|
+
StatsService,
|
|
370
|
+
// Express app
|
|
371
|
+
app,
|
|
372
|
+
});
|
|
373
|
+
// Initialize plugin services
|
|
374
|
+
await pluginManager.initializeServices();
|
|
375
|
+
// Register plugin routes
|
|
376
|
+
logger.info("Registering plugin routes...");
|
|
377
|
+
pluginManager.registerRoutes(app, authMiddleware);
|
|
378
|
+
// Register plugin hooks
|
|
379
|
+
logger.info("Registering plugin hooks...");
|
|
380
|
+
pluginManager.registerHooks(hooksManager);
|
|
381
|
+
// Register plugin middleware
|
|
382
|
+
pluginManager.registerMiddleware(app);
|
|
383
|
+
// Call onInit for all plugins
|
|
384
|
+
logger.info("Calling plugin onInit hooks...");
|
|
385
|
+
await pluginManager.initPlugins();
|
|
386
|
+
}
|
|
387
|
+
// Start session cleanup (if not disabled)
|
|
388
|
+
if (env.get("DISABLE_SESSION_CLEANUP") !== "true" && env.get("TEST_MODE") !== "true") {
|
|
389
|
+
startSessionCleanup();
|
|
390
|
+
}
|
|
391
|
+
// Initialize Socket.IO if enabled
|
|
392
|
+
if (env.get("SOCKET_ENABLED") === "true") {
|
|
393
|
+
await socketService.initialize(server);
|
|
394
|
+
// Initialize Realtime Service - connects to Socket.IO for broadcasting
|
|
395
|
+
// This will gracefully handle WAL being unavailable (falls back to hook-based)
|
|
396
|
+
logger.info("Initializing Realtime Service...");
|
|
397
|
+
realtimeService.setSocketService(socketService);
|
|
398
|
+
await realtimeService.initialize();
|
|
399
|
+
// Start WAL consumer if available (non-blocking - runs in background)
|
|
400
|
+
// This is intentionally not awaited as it's a long-running subscription
|
|
401
|
+
realtimeService.startConsuming().catch((error) => {
|
|
402
|
+
logger.error(error, "Failed to start WAL consumer");
|
|
403
|
+
});
|
|
404
|
+
const status = realtimeService.getStatus();
|
|
405
|
+
if (status.walAvailable) {
|
|
406
|
+
logger.info("✅ Realtime Service started with WAL-based change capture");
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
logger.info("✅ Realtime Service started (WAL not available - no automatic broadcasting)");
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
server.listen(serverPort, async () => {
|
|
413
|
+
logger.info(`🚀 Baasix Server running on port ${serverPort}`);
|
|
414
|
+
// Call onReady for all plugins after server is listening
|
|
415
|
+
if (plugins.length > 0) {
|
|
416
|
+
logger.info("Calling plugin onReady hooks...");
|
|
417
|
+
await pluginManager.readyPlugins();
|
|
418
|
+
const summary = pluginManager.getSummary();
|
|
419
|
+
logger.info(`✅ ${summary.total} plugin(s) loaded successfully`);
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
return app;
|
|
423
|
+
}
|
|
424
|
+
catch (error) {
|
|
425
|
+
logger.error(error, "Failed to start server");
|
|
426
|
+
process.exit(1);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Start server for testing with environment overrides
|
|
431
|
+
* @param options - Testing options including environment overrides and logger configuration
|
|
432
|
+
*/
|
|
433
|
+
export async function startServerForTesting(options) {
|
|
434
|
+
const { envOverrides, logger: loggerOptions } = options || {};
|
|
435
|
+
// Initialize logger for testing (default to silent or minimal logging in tests)
|
|
436
|
+
initializeLogger(loggerOptions || { level: "warn" });
|
|
437
|
+
try {
|
|
438
|
+
// If there's an existing server instance, close it first
|
|
439
|
+
if (server) {
|
|
440
|
+
console.log("Closing existing server instance before starting new one");
|
|
441
|
+
await new Promise((resolve) => server.close(resolve));
|
|
442
|
+
server = null;
|
|
443
|
+
}
|
|
444
|
+
// Set the environment for testing
|
|
445
|
+
if (envOverrides && typeof envOverrides === "object") {
|
|
446
|
+
// Clear env cache to ensure overrides take effect
|
|
447
|
+
env.clearCache();
|
|
448
|
+
for (const [key, value] of Object.entries(envOverrides)) {
|
|
449
|
+
env.set(key, value);
|
|
450
|
+
console.info(`Environment override for testing: ${key}=${value}`);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
// Initialize database with cache service FIRST
|
|
454
|
+
console.info("Initializing database with cache service for testing...");
|
|
455
|
+
await initializeDatabaseWithCache();
|
|
456
|
+
// Create a new server instance
|
|
457
|
+
server = createServer(app);
|
|
458
|
+
// Connect to the database with retry logic
|
|
459
|
+
await connectWithRetry();
|
|
460
|
+
if (env.get("TEST_MODE") === "true") {
|
|
461
|
+
// Ensure tables are destroyed and recreated for a clean test environment
|
|
462
|
+
console.log("Destroying all tables before test");
|
|
463
|
+
await destroyAllTablesInDB();
|
|
464
|
+
}
|
|
465
|
+
// Initialize the app with fresh state
|
|
466
|
+
console.log("Initializing app for testing");
|
|
467
|
+
await initializeApp();
|
|
468
|
+
// Start session cleanup
|
|
469
|
+
if (env.get("DISABLE_SESSION_CLEANUP") !== "true" && env.get("TEST_MODE") !== "true") {
|
|
470
|
+
startSessionCleanup();
|
|
471
|
+
}
|
|
472
|
+
// Attach the server to the app for proper cleanup later
|
|
473
|
+
app.server = server;
|
|
474
|
+
console.log("Test server ready");
|
|
475
|
+
return app;
|
|
476
|
+
}
|
|
477
|
+
catch (error) {
|
|
478
|
+
console.error("Failed to start server for testing:", error);
|
|
479
|
+
throw error;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Destroy all tables in the database (for testing)
|
|
484
|
+
*/
|
|
485
|
+
export async function destroyAllTablesInDB() {
|
|
486
|
+
try {
|
|
487
|
+
console.log("Destroying all tables in database...");
|
|
488
|
+
// Clear cache first to remove stale data (permissions, settings, auth)
|
|
489
|
+
// Clear utility cache (permissions, settings, auth)
|
|
490
|
+
if (isCacheInitialized()) {
|
|
491
|
+
try {
|
|
492
|
+
const cache = getCache();
|
|
493
|
+
await cache.clear();
|
|
494
|
+
console.log("Utility cache cleared successfully");
|
|
495
|
+
}
|
|
496
|
+
catch (cacheError) {
|
|
497
|
+
console.warn("Failed to clear utility cache:", cacheError);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
// Clear CacheService (query results cache)
|
|
501
|
+
try {
|
|
502
|
+
await invalidateEntireCache();
|
|
503
|
+
console.log("CacheService cleared successfully");
|
|
504
|
+
}
|
|
505
|
+
catch (cacheError) {
|
|
506
|
+
console.warn("Failed to clear CacheService:", cacheError);
|
|
507
|
+
}
|
|
508
|
+
// Disable foreign key constraints for PostgreSQL (session-level setting)
|
|
509
|
+
await db.execute(sql.raw("SET session_replication_role = 'replica';"));
|
|
510
|
+
try {
|
|
511
|
+
// Get all table names from the database, excluding PostGIS system tables
|
|
512
|
+
const result = await db.execute(sql `
|
|
513
|
+
SELECT tablename
|
|
514
|
+
FROM pg_tables
|
|
515
|
+
WHERE schemaname = 'public'
|
|
516
|
+
AND tablename NOT IN ('spatial_ref_sys', 'geometry_columns', 'geography_columns')
|
|
517
|
+
`);
|
|
518
|
+
const tables = result.map((row) => row.tablename);
|
|
519
|
+
console.log(`Found ${tables.length} tables to drop`);
|
|
520
|
+
// Drop all tables with CASCADE
|
|
521
|
+
for (const table of tables) {
|
|
522
|
+
try {
|
|
523
|
+
console.log(`Dropping table: ${table}`);
|
|
524
|
+
await db.execute(sql.raw(`DROP TABLE IF EXISTS "${table}" CASCADE`));
|
|
525
|
+
console.log(`Successfully dropped table: ${table}`);
|
|
526
|
+
}
|
|
527
|
+
catch (error) {
|
|
528
|
+
console.error(`Error dropping table ${table}:`, error.message);
|
|
529
|
+
// Continue with other tables rather than failing entirely
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
console.log("Successfully dropped all tables");
|
|
533
|
+
}
|
|
534
|
+
finally {
|
|
535
|
+
// Always re-enable foreign key constraints
|
|
536
|
+
await db.execute(sql.raw("SET session_replication_role = 'origin';"));
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
catch (error) {
|
|
540
|
+
console.error("Failed to destroy all tables in DB:", error);
|
|
541
|
+
throw error;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
// Export app as default for testing
|
|
545
|
+
export default app;
|
|
546
|
+
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../baasix/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Baasix Adapter for Auth Module
|
|
3
|
+
* Uses ItemsService to interact with the database
|
|
4
|
+
*/
|
|
5
|
+
import type { AuthAdapter } from "../types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Create a Baasix adapter for the auth module
|
|
8
|
+
* This adapter uses ItemsService for database operations
|
|
9
|
+
*/
|
|
10
|
+
export declare function createBaasixAdapter(): AuthAdapter;
|
|
11
|
+
export default createBaasixAdapter;
|
|
12
|
+
//# sourceMappingURL=baasix-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baasix-adapter.d.ts","sourceRoot":"","sources":["../../../baasix/auth/adapters/baasix-adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,WAAW,EACZ,MAAM,aAAa,CAAC;AAYrB;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CA2VjD;AAED,eAAe,mBAAmB,CAAC"}
|