@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
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Aggregation Utilities Module for Drizzle ORM
|
|
3
|
+
*
|
|
4
|
+
* This module provides aggregation functions (count, sum, avg, min, max)
|
|
5
|
+
* for Drizzle ORM, matching Sequelize aggregation capabilities.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Standard aggregations (COUNT, SUM, AVG, MIN, MAX)
|
|
9
|
+
* - DISTINCT count
|
|
10
|
+
* - ARRAY_AGG for array aggregation
|
|
11
|
+
* - Date part extraction (YEAR, MONTH, DAY, etc.)
|
|
12
|
+
* - GROUP BY support
|
|
13
|
+
* - Aggregate with relations
|
|
14
|
+
*/
|
|
15
|
+
import { sql, count, min, max } from 'drizzle-orm';
|
|
16
|
+
/**
|
|
17
|
+
* Simple API Error class
|
|
18
|
+
*/
|
|
19
|
+
class APIError extends Error {
|
|
20
|
+
statusCode;
|
|
21
|
+
constructor(message, statusCode = 500) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.statusCode = statusCode;
|
|
24
|
+
this.name = 'APIError';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create aggregate function SQL
|
|
29
|
+
* Uses built-in aggregate functions and sql<type> template tags
|
|
30
|
+
*/
|
|
31
|
+
export function createAggregateFunction(func, column, ctx) {
|
|
32
|
+
switch (func.toLowerCase()) {
|
|
33
|
+
case 'max':
|
|
34
|
+
return max(column);
|
|
35
|
+
case 'min':
|
|
36
|
+
return min(column);
|
|
37
|
+
case 'avg':
|
|
38
|
+
// avg() returns string by default in PostgreSQL, use mapWith for number
|
|
39
|
+
return sql `avg(${column})`.mapWith(Number);
|
|
40
|
+
case 'sum':
|
|
41
|
+
// sum() returns string by default in PostgreSQL, use mapWith for number
|
|
42
|
+
return sql `sum(${column})`.mapWith(Number);
|
|
43
|
+
case 'count':
|
|
44
|
+
return count(column);
|
|
45
|
+
case 'distinct':
|
|
46
|
+
return sql `count(distinct ${column})`.mapWith(Number);
|
|
47
|
+
case 'array_agg':
|
|
48
|
+
// Type depends on the column being aggregated
|
|
49
|
+
return sql `array_agg(${column})`;
|
|
50
|
+
default:
|
|
51
|
+
throw new APIError(`Unsupported aggregate function: ${func}`, 400);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Process date extraction for GROUP BY
|
|
56
|
+
* Format: "date:year:column" -> EXTRACT(YEAR FROM column)
|
|
57
|
+
*/
|
|
58
|
+
export function processDateExtraction(field, column) {
|
|
59
|
+
const parts = field.split(':');
|
|
60
|
+
if (parts[0] === 'date' && parts.length >= 2) {
|
|
61
|
+
const dateFunction = parts[1];
|
|
62
|
+
const datePart = dateFunction.toUpperCase();
|
|
63
|
+
// If column is provided, use it directly
|
|
64
|
+
let extractExpression;
|
|
65
|
+
if (column) {
|
|
66
|
+
extractExpression = sql `extract(${sql.raw(datePart)} from ${column})`.mapWith(Number);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Quote the column name to preserve case sensitivity
|
|
70
|
+
const columnName = parts[2];
|
|
71
|
+
const quotedColumn = sql.raw(`"${columnName}"`);
|
|
72
|
+
extractExpression = sql `extract(${sql.raw(datePart)} from ${quotedColumn})`.mapWith(Number);
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
expression: extractExpression,
|
|
76
|
+
alias: `${dateFunction}_${parts[2] || 'date'}`
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build aggregate attributes for SELECT clause
|
|
83
|
+
*
|
|
84
|
+
* @param aggregate - Aggregate mapping (alias -> config)
|
|
85
|
+
* @param groupBy - Array of fields to group by
|
|
86
|
+
* @param ctx - Aggregate context
|
|
87
|
+
* @returns Array of [SQL expression, alias] tuples
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const aggregate = {
|
|
92
|
+
* totalUsers: { function: 'count', field: 'id' },
|
|
93
|
+
* avgAge: { function: 'avg', field: 'age' }
|
|
94
|
+
* };
|
|
95
|
+
*
|
|
96
|
+
* const groupBy = ['status', 'date:year:createdAt'];
|
|
97
|
+
*
|
|
98
|
+
* const attributes = buildAggregateAttributes(aggregate, groupBy, {
|
|
99
|
+
* tableName: 'users'
|
|
100
|
+
* });
|
|
101
|
+
*
|
|
102
|
+
* // Use in query:
|
|
103
|
+
* const results = await db
|
|
104
|
+
* .select({
|
|
105
|
+
* ...Object.fromEntries(attributes.map(([expr, alias]) => [alias, expr]))
|
|
106
|
+
* })
|
|
107
|
+
* .from(usersTable)
|
|
108
|
+
* .groupBy(...groupByExprs);
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export function buildAggregateAttributes(aggregate, groupBy = [], ctx) {
|
|
112
|
+
const attributes = [];
|
|
113
|
+
// Add aggregate functions
|
|
114
|
+
for (const [alias, aggregateInfo] of Object.entries(aggregate)) {
|
|
115
|
+
const { function: func, field } = aggregateInfo;
|
|
116
|
+
// Convert field string to SQL reference
|
|
117
|
+
let fieldRef;
|
|
118
|
+
const parts = field.split('.');
|
|
119
|
+
if (parts.length > 1) {
|
|
120
|
+
// Handle relation fields (e.g., "user.type" or "author.posts.price")
|
|
121
|
+
// Check if this is a relation that has been joined
|
|
122
|
+
// First check for exact field match (e.g., "user.id" in map)
|
|
123
|
+
if (ctx.pathToAliasMap && ctx.pathToAliasMap.has(field)) {
|
|
124
|
+
const joinAlias = ctx.pathToAliasMap.get(field);
|
|
125
|
+
// The alias is the table alias, append the column name
|
|
126
|
+
const columnName = parts[parts.length - 1];
|
|
127
|
+
fieldRef = sql.raw(`"${joinAlias}"."${columnName}"`);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// Check if just the relation name is in the map (e.g., "user" in map)
|
|
131
|
+
const relationPath = parts[0];
|
|
132
|
+
if (ctx.pathToAliasMap && ctx.pathToAliasMap.has(relationPath)) {
|
|
133
|
+
const joinAlias = ctx.pathToAliasMap.get(relationPath);
|
|
134
|
+
// Replace relation name with JOIN alias
|
|
135
|
+
const remainingPath = parts.slice(1);
|
|
136
|
+
const quotedPath = `"${joinAlias}"` + (remainingPath.length > 0 ? '.' + remainingPath.map(p => `"${p}"`).join('.') : '');
|
|
137
|
+
fieldRef = sql.raw(quotedPath);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// No JOIN alias, use field path as-is
|
|
141
|
+
const quotedPath = parts.map(p => `"${p}"`).join('.');
|
|
142
|
+
fieldRef = sql.raw(quotedPath);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
// Simple field - add table qualification and quoting
|
|
148
|
+
if (field === '*') {
|
|
149
|
+
// For COUNT(*), don't qualify with table name
|
|
150
|
+
fieldRef = sql.raw('*');
|
|
151
|
+
}
|
|
152
|
+
else if (ctx.tableName) {
|
|
153
|
+
fieldRef = sql.raw(`"${ctx.tableName}"."${field}"`);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
fieldRef = sql.raw(`"${field}"`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const expr = createAggregateFunction(func, fieldRef, ctx);
|
|
160
|
+
attributes.push([expr, alias]);
|
|
161
|
+
}
|
|
162
|
+
// Add GROUP BY fields
|
|
163
|
+
if (groupBy && groupBy.length > 0) {
|
|
164
|
+
for (const field of groupBy) {
|
|
165
|
+
// Check for date extractions like "date:year:fieldname"
|
|
166
|
+
const dateExtraction = processDateExtraction(field);
|
|
167
|
+
if (dateExtraction) {
|
|
168
|
+
attributes.push([dateExtraction.expression, dateExtraction.alias]);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
const parts = field.split('.');
|
|
172
|
+
if (parts.length > 1) {
|
|
173
|
+
// Handle relation fields - use pathToAliasMap for proper JOIN alias
|
|
174
|
+
let fieldRef;
|
|
175
|
+
// Check if this is a relation that has been joined
|
|
176
|
+
// First check for exact field match (e.g., "user.id" in map)
|
|
177
|
+
if (ctx.pathToAliasMap && ctx.pathToAliasMap.has(field)) {
|
|
178
|
+
const joinAlias = ctx.pathToAliasMap.get(field);
|
|
179
|
+
// The alias is the table alias, append the column name
|
|
180
|
+
const columnName = parts[parts.length - 1];
|
|
181
|
+
fieldRef = sql.raw(`"${joinAlias}"."${columnName}"`);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
// Check if just the relation name is in the map (e.g., "user" in map)
|
|
185
|
+
const relationPath = parts[0];
|
|
186
|
+
if (ctx.pathToAliasMap && ctx.pathToAliasMap.has(relationPath)) {
|
|
187
|
+
const joinAlias = ctx.pathToAliasMap.get(relationPath);
|
|
188
|
+
// Replace relation name with JOIN alias
|
|
189
|
+
const remainingPath = parts.slice(1);
|
|
190
|
+
const quotedPath = `"${joinAlias}"` + (remainingPath.length > 0 ? '.' + remainingPath.map(p => `"${p}"`).join('.') : '');
|
|
191
|
+
fieldRef = sql.raw(quotedPath);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
// No JOIN alias, use field path as-is
|
|
195
|
+
fieldRef = sql.raw(`"${parts.join('"."')}"`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const alias = field.replace(/\./g, '_');
|
|
199
|
+
attributes.push([fieldRef, alias]);
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
// Simple field
|
|
203
|
+
const fieldRef = sql.raw(`"${field}"`);
|
|
204
|
+
attributes.push([fieldRef, field]);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return attributes;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Build GROUP BY expressions using
|
|
213
|
+
*
|
|
214
|
+
* @param groupBy - Array of fields to group by
|
|
215
|
+
* @param columns - Optional map of column objects to use instead of strings
|
|
216
|
+
* @param pathToAliasMap - Optional map of relation paths to JOIN aliases
|
|
217
|
+
* @returns Array of SQL expressions for GROUP BY clause
|
|
218
|
+
*/
|
|
219
|
+
export function buildGroupByExpressions(groupBy, columns, pathToAliasMap) {
|
|
220
|
+
return groupBy.map(field => {
|
|
221
|
+
// Check for date extractions
|
|
222
|
+
const dateExtraction = processDateExtraction(field, columns?.[field]);
|
|
223
|
+
if (dateExtraction) {
|
|
224
|
+
return dateExtraction.expression;
|
|
225
|
+
}
|
|
226
|
+
// If we have a column object, use it directly
|
|
227
|
+
if (columns?.[field]) {
|
|
228
|
+
return columns[field];
|
|
229
|
+
}
|
|
230
|
+
// Handle relation fields - use sql template for identifiers
|
|
231
|
+
const parts = field.split('.');
|
|
232
|
+
if (parts.length > 1) {
|
|
233
|
+
// Check if this is a relation that has been joined
|
|
234
|
+
// First check for exact field match (e.g., "user.id" in map)
|
|
235
|
+
if (pathToAliasMap && pathToAliasMap.has(field)) {
|
|
236
|
+
const joinAlias = pathToAliasMap.get(field);
|
|
237
|
+
// The alias is the table alias, append the column name
|
|
238
|
+
const columnName = parts[parts.length - 1];
|
|
239
|
+
return sql.raw(`"${joinAlias}"."${columnName}"`);
|
|
240
|
+
}
|
|
241
|
+
// Check if just the relation name is in the map (e.g., "user" in map)
|
|
242
|
+
const relationPath = parts[0];
|
|
243
|
+
if (pathToAliasMap && pathToAliasMap.has(relationPath)) {
|
|
244
|
+
const joinAlias = pathToAliasMap.get(relationPath);
|
|
245
|
+
// Replace relation name with JOIN alias
|
|
246
|
+
const remainingPath = parts.slice(1);
|
|
247
|
+
const quotedPath = `"${joinAlias}"` + (remainingPath.length > 0 ? '.' + remainingPath.map(p => `"${p}"`).join('.') : '');
|
|
248
|
+
return sql.raw(quotedPath);
|
|
249
|
+
}
|
|
250
|
+
// No JOIN alias, use field path as-is
|
|
251
|
+
const quotedPath = parts.map(p => `"${p}"`).join('.');
|
|
252
|
+
return sql.raw(quotedPath);
|
|
253
|
+
}
|
|
254
|
+
// Simple field - use sql template
|
|
255
|
+
return sql.raw(`"${field}"`);
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Count records with optional distinct
|
|
260
|
+
*
|
|
261
|
+
* @param column - Column to count (or '*' for all)
|
|
262
|
+
* @param distinct - Whether to count distinct values only
|
|
263
|
+
*/
|
|
264
|
+
export function countRecords(column, distinct = false) {
|
|
265
|
+
if (!column) {
|
|
266
|
+
return sql `COUNT(*)`;
|
|
267
|
+
}
|
|
268
|
+
if (distinct) {
|
|
269
|
+
return sql `COUNT(DISTINCT ${column})`;
|
|
270
|
+
}
|
|
271
|
+
return sql `COUNT(${column})`;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Sum column values
|
|
275
|
+
*/
|
|
276
|
+
export function sumColumn(column) {
|
|
277
|
+
return sql `SUM(${column})`;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Average column values
|
|
281
|
+
*/
|
|
282
|
+
export function avgColumn(column) {
|
|
283
|
+
return sql `AVG(${column})`;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Minimum column value
|
|
287
|
+
*/
|
|
288
|
+
export function minColumn(column) {
|
|
289
|
+
return sql `MIN(${column})`;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Maximum column value
|
|
293
|
+
*/
|
|
294
|
+
export function maxColumn(column) {
|
|
295
|
+
return sql `MAX(${column})`;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Array aggregation (collect values into array)
|
|
299
|
+
*/
|
|
300
|
+
export function arrayAgg(column, distinct = false) {
|
|
301
|
+
if (distinct) {
|
|
302
|
+
return sql `ARRAY_AGG(DISTINCT ${column})`;
|
|
303
|
+
}
|
|
304
|
+
return sql `ARRAY_AGG(${column})`;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* String aggregation (concatenate values)
|
|
308
|
+
*/
|
|
309
|
+
export function stringAgg(column, delimiter = ', ') {
|
|
310
|
+
return sql `STRING_AGG(${column}, ${delimiter})`;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* JSON aggregation (collect rows as JSON array)
|
|
314
|
+
*/
|
|
315
|
+
export function jsonAgg(rowExpression) {
|
|
316
|
+
return sql `JSON_AGG(${rowExpression})`;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Date part extraction using
|
|
320
|
+
*
|
|
321
|
+
* @param part - Date part to extract (year, month, day, hour, minute, week, dow, isodow)
|
|
322
|
+
* @param column - Date/timestamp column
|
|
323
|
+
* @example
|
|
324
|
+
* const yearCol = extractDatePart('year', users.createdAt);
|
|
325
|
+
* // Equivalent to: EXTRACT(YEAR FROM users.createdAt)
|
|
326
|
+
*/
|
|
327
|
+
export function extractDatePart(part, column) {
|
|
328
|
+
const partUpper = part.toUpperCase();
|
|
329
|
+
// Use sql<number> for type safety and .mapWith(Number) for runtime conversion
|
|
330
|
+
return sql `extract(${sql.raw(partUpper)} from ${column})`.mapWith(Number);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Date truncation
|
|
334
|
+
*
|
|
335
|
+
* @param precision - Time precision (day, week, month, year, hour, minute)
|
|
336
|
+
* @param column - Date/timestamp column
|
|
337
|
+
* @example
|
|
338
|
+
* const dailyGroups = truncateDate('day', orders.createdAt);
|
|
339
|
+
* // Equivalent to: DATE_TRUNC('day', orders.createdAt)
|
|
340
|
+
*/
|
|
341
|
+
export function truncateDate(precision, column) {
|
|
342
|
+
// Use sql<Date> for type safety - returns timestamp
|
|
343
|
+
return sql `date_trunc(${precision}, ${column})`;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Conditional count (COUNT with CASE WHEN)
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* ```typescript
|
|
350
|
+
* // Count active users
|
|
351
|
+
* const activeCount = conditionalCount(
|
|
352
|
+
* eq(usersTable.status, 'active')
|
|
353
|
+
* );
|
|
354
|
+
* ```
|
|
355
|
+
*/
|
|
356
|
+
export function conditionalCount(condition) {
|
|
357
|
+
return sql `COUNT(CASE WHEN ${condition} THEN 1 END)`;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Conditional sum (SUM with CASE WHEN)
|
|
361
|
+
*/
|
|
362
|
+
export function conditionalSum(column, condition) {
|
|
363
|
+
return sql `SUM(CASE WHEN ${condition} THEN ${column} ELSE 0 END)`;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Percentile calculation
|
|
367
|
+
*
|
|
368
|
+
* @param column - Numeric column
|
|
369
|
+
* @param percentile - Percentile value (0.0 to 1.0)
|
|
370
|
+
* @param discrete - Use discrete (percentile_disc) vs continuous (percentile_cont)
|
|
371
|
+
* @example
|
|
372
|
+
* const median = calculatePercentile(sales.amount, 0.5);
|
|
373
|
+
* // Equivalent to: PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY sales.amount)
|
|
374
|
+
*/
|
|
375
|
+
export function calculatePercentile(column, percentile, discrete = false) {
|
|
376
|
+
const func = discrete ? 'percentile_disc' : 'percentile_cont';
|
|
377
|
+
return sql `${sql.raw(func)}(${percentile}) within group (order by ${column})`.mapWith(Number);
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Standard deviation
|
|
381
|
+
*/
|
|
382
|
+
export function stddev(column, population = false) {
|
|
383
|
+
const func = population ? 'stddev_pop' : 'stddev_samp';
|
|
384
|
+
return sql `${sql.raw(func)}(${column})`.mapWith(Number);
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Variance
|
|
388
|
+
*/
|
|
389
|
+
export function variance(column, population = false) {
|
|
390
|
+
const func = population ? 'var_pop' : 'var_samp';
|
|
391
|
+
return sql `${sql.raw(func)}(${column})`.mapWith(Number);
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Coalesce (return first non-null value)
|
|
395
|
+
*/
|
|
396
|
+
export function coalesce(...values) {
|
|
397
|
+
const valueParts = values.map(v => v && typeof v === 'object' && 'queryChunks' in v ? v : sql.raw(String(v)));
|
|
398
|
+
return sql `COALESCE(${sql.join(valueParts, sql `, `)})`;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Full-text search matching
|
|
402
|
+
* @param columns - Array of column objects to search
|
|
403
|
+
* @param searchQuery - Search query string
|
|
404
|
+
* @returns SQL condition for full-text matching
|
|
405
|
+
*/
|
|
406
|
+
export function applyFullTextSearch(columns, searchQuery) {
|
|
407
|
+
// Prepare the full-text search query
|
|
408
|
+
const tsQuery = searchQuery.trim().replace(/\s+/g, ":* & ") + ":*";
|
|
409
|
+
const escapedTsQuery = tsQuery.replace(/'/g, "''");
|
|
410
|
+
// Build concatenated fields using sql template
|
|
411
|
+
const concatParts = columns.map(col => sql `coalesce(${col}::text, '')`);
|
|
412
|
+
const concatFields = sql.join(concatParts, sql ` || ' ' || `);
|
|
413
|
+
// Use sql<boolean> for the comparison result
|
|
414
|
+
return sql `to_tsvector('english', ${concatFields}) @@ to_tsquery('english', ${escapedTsQuery})`;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Geographic distance calculation
|
|
418
|
+
*
|
|
419
|
+
* @param column - Geography/geometry column
|
|
420
|
+
* @param targetPoint - GeoJSON point
|
|
421
|
+
* @returns SQL for distance in meters
|
|
422
|
+
*/
|
|
423
|
+
export function calculateDistance(column, targetPoint) {
|
|
424
|
+
const geoJSON = JSON.stringify(targetPoint);
|
|
425
|
+
// Use ST_DistanceSpheroid for accurate earth-surface distance in meters
|
|
426
|
+
// This is more reliable than ::geography casting across different PostGIS versions
|
|
427
|
+
return sql `ST_DistanceSpheroid(
|
|
428
|
+
${column},
|
|
429
|
+
ST_SetSRID(ST_GeomFromGeoJSON(${geoJSON}), 4326),
|
|
430
|
+
'SPHEROID["WGS 84",6378137,298.257223563]'
|
|
431
|
+
)`.mapWith(Number);
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Build HAVING clause from filter
|
|
435
|
+
* Similar to WHERE but for aggregate results
|
|
436
|
+
*
|
|
437
|
+
* Note: HAVING clause is not currently used in the application.
|
|
438
|
+
* This is a placeholder for future implementation if aggregate filtering is needed.
|
|
439
|
+
*/
|
|
440
|
+
export function buildHavingClause(filter) {
|
|
441
|
+
// HAVING clause would use similar logic to drizzleWhere but for aggregate columns
|
|
442
|
+
// Currently not implemented as no use cases require it
|
|
443
|
+
if (!filter || Object.keys(filter).length === 0) {
|
|
444
|
+
return undefined;
|
|
445
|
+
}
|
|
446
|
+
// Not implemented - would require building conditions for aggregate expressions
|
|
447
|
+
// Example: HAVING COUNT(*) > 5, HAVING SUM(amount) >= 100
|
|
448
|
+
return undefined;
|
|
449
|
+
}
|
|
450
|
+
//# sourceMappingURL=aggregationUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregationUtils.js","sourceRoot":"","sources":["../../baasix/utils/aggregationUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAO,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAqBxD;;GAEG;AACH,MAAM,QAAS,SAAQ,KAAK;IAC1B,UAAU,CAAS;IAEnB,YAAY,OAAe,EAAE,aAAqB,GAAG;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAuB,EACvB,MAAsB,EACtB,GAAsB;IAEtB,QAAQ,IAAI,CAAC,WAAW,EAAuB,EAAE,CAAC;QAChD,KAAK,KAAK;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;QAErB,KAAK,KAAK;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;QAErB,KAAK,KAAK;YACR,wEAAwE;YACxE,OAAO,GAAG,CAAQ,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAErD,KAAK,KAAK;YACR,wEAAwE;YACxE,OAAO,GAAG,CAAQ,OAAO,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAErD,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;QAEvB,KAAK,UAAU;YACb,OAAO,GAAG,CAAQ,kBAAkB,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhE,KAAK,WAAW;YACd,8CAA8C;YAC9C,OAAO,GAAG,CAAA,aAAa,MAAM,GAAG,CAAC;QAEnC;YACE,MAAM,IAAI,QAAQ,CAAC,mCAAmC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,MAAuB;IAKvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAE5C,0CAA0C;QAC1C,IAAI,iBAA8B,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,iBAAiB,GAAG,GAAG,CAAQ,WAAW,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;YAChD,iBAAiB,GAAG,GAAG,CAAQ,WAAW,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,YAAY,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtG,CAAC;QAED,OAAO;YACL,UAAU,EAAE,iBAAiB;YAC7B,KAAK,EAAE,GAAG,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;SAC/C,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAA2B,EAC3B,UAAoB,EAAE,EACtB,GAAqB;IAErB,MAAM,UAAU,GAAyB,EAAE,CAAC;IAE5C,0BAA0B;IAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/D,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;QAEhD,wCAAwC;QACxC,IAAI,QAAa,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,qEAAqE;YAErE,mDAAmD;YACnD,6DAA6D;YAC7D,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;gBACjD,uDAAuD;gBACvD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3C,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,MAAM,UAAU,GAAG,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;oBACxD,wCAAwC;oBACxC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,UAAU,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzH,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,sCAAsC;oBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,8CAA8C;gBAC9C,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACzB,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,MAAM,KAAK,GAAG,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC1D,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,wDAAwD;YACxD,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAEpD,IAAI,cAAc,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,oEAAoE;oBACpE,IAAI,QAAa,CAAC;oBAElB,mDAAmD;oBACnD,6DAA6D;oBAC7D,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBACxD,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;wBACjD,uDAAuD;wBACvD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC3C,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,MAAM,UAAU,GAAG,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,sEAAsE;wBACtE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9B,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;4BAC/D,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;4BACxD,wCAAwC;4BACxC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACrC,MAAM,UAAU,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACzH,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACjC,CAAC;6BAAM,CAAC;4BACN,sCAAsC;4BACtC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC/C,CAAC;oBACH,CAAC;oBAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACxC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,eAAe;oBACf,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;oBACvC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAiB,EACjB,OAAwC,EACxC,cAAoC;IAEpC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACzB,6BAA6B;QAC7B,MAAM,cAAc,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,cAAc,CAAC,UAAU,CAAC;QACnC,CAAC;QAED,+CAA+C;QAC/C,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,OAAO,CAAC,KAAK,CAAQ,CAAC;QAC/B,CAAC;QAED,4DAA4D;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,mDAAmD;YACnD,6DAA6D;YAC7D,IAAI,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;gBAC7C,uDAAuD;gBACvD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC3C,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,MAAM,UAAU,GAAG,CAAC,CAAC;YACnD,CAAC;YAED,sEAAsE;YACtE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;gBACpD,wCAAwC;gBACxC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,IAAI,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzH,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YAED,sCAAsC;YACtC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,kCAAkC;QAClC,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB,EAAE,WAAoB,KAAK;IAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,GAAG,CAAA,UAAU,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,CAAA,kBAAkB,MAAM,GAAG,CAAC;IACxC,CAAC;IAED,OAAO,GAAG,CAAA,SAAS,MAAM,GAAG,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,OAAO,GAAG,CAAA,OAAO,MAAM,GAAG,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,OAAO,GAAG,CAAA,OAAO,MAAM,GAAG,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,OAAO,GAAG,CAAA,OAAO,MAAM,GAAG,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAsB;IAC9C,OAAO,GAAG,CAAA,OAAO,MAAM,GAAG,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAsB,EAAE,WAAoB,KAAK;IACxE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,CAAA,sBAAsB,MAAM,GAAG,CAAC;IAC5C,CAAC;IAED,OAAO,GAAG,CAAA,aAAa,MAAM,GAAG,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAsB,EAAE,YAAoB,IAAI;IACxE,OAAO,GAAG,CAAA,cAAc,MAAM,KAAK,SAAS,GAAG,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,aAAkB;IACxC,OAAO,GAAG,CAAA,YAAY,aAAa,GAAG,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc,EAAE,MAAsB;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,8EAA8E;IAC9E,OAAO,GAAG,CAAQ,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,SAA6B,EAAE,MAAsB;IAChF,oDAAoD;IACpD,OAAO,GAAG,CAAM,cAAc,SAAS,KAAK,MAAM,GAAG,CAAC;AACxD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAc;IAC7C,OAAO,GAAG,CAAA,mBAAmB,SAAS,cAAc,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB,EAAE,SAAc;IACnE,OAAO,GAAG,CAAA,iBAAiB,SAAS,SAAS,MAAM,cAAc,CAAC;AACpE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAsB,EACtB,UAAkB,EAClB,WAAoB,KAAK;IAEzB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC9D,OAAO,GAAG,CAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,4BAA4B,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,MAAsB,EAAE,aAAsB,KAAK;IACxE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IACvD,OAAO,GAAG,CAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAsB,EAAE,aAAsB,KAAK;IAC1E,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACjD,OAAO,GAAG,CAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,MAAmC;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC1E,CAAC;IAEF,OAAO,GAAG,CAAA,YAAY,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,IAAI,CAAC,GAAG,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA8B,EAC9B,WAAmB;IAEnB,qCAAqC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACnE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAA,YAAY,GAAG,aAAa,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAA,aAAa,CAAC,CAAC;IAE7D,6CAA6C;IAC7C,OAAO,GAAG,CAAS,0BAA0B,YAAY,8BAA8B,cAAc,GAAG,CAAC;AAC3G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,WAA4D;IAE5D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC5C,wEAAwE;IACxE,mFAAmF;IACnF,OAAO,GAAG,CAAQ;MACd,MAAM;oCACwB,OAAO;;IAEvC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA2B;IAC3D,kFAAkF;IAClF,uDAAuD;IACvD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,gFAAgF;IAChF,0DAA0D;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication utilities for Baasix
|
|
3
|
+
* New implementation using the adapter-based auth module
|
|
4
|
+
* Provides backward compatibility with existing exports
|
|
5
|
+
*/
|
|
6
|
+
import type { JWTPayload, UserWithRolesAndPermissions } from '../types/index.js';
|
|
7
|
+
export type { JWTPayload, UserWithRolesAndPermissions };
|
|
8
|
+
/**
|
|
9
|
+
* Helper function to get and cache roles and permissions
|
|
10
|
+
* Uses PermissionService for role data (cached in memory) and Redis cache for permissions
|
|
11
|
+
*/
|
|
12
|
+
export declare function getRolesAndPermissions(roleId: string | number): Promise<{
|
|
13
|
+
id: string | number;
|
|
14
|
+
name: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
isTenantSpecific?: boolean;
|
|
17
|
+
permissions: Record<string, {
|
|
18
|
+
action: string;
|
|
19
|
+
collection: string;
|
|
20
|
+
fields?: any;
|
|
21
|
+
conditions?: any;
|
|
22
|
+
}>;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Verify JWT token and return decoded payload
|
|
26
|
+
*/
|
|
27
|
+
export declare function verifyJWT(token: string): any;
|
|
28
|
+
/**
|
|
29
|
+
* Get user with roles, permissions, and tenant information
|
|
30
|
+
*/
|
|
31
|
+
export declare function getUserRolesPermissionsAndTenant(userId: string | number, tenantId?: string | number | null): Promise<{
|
|
32
|
+
role: {
|
|
33
|
+
id: string | number;
|
|
34
|
+
name: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
isTenantSpecific?: boolean;
|
|
37
|
+
};
|
|
38
|
+
permissions: any;
|
|
39
|
+
tenant?: any;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Generate JWT token for user
|
|
43
|
+
*/
|
|
44
|
+
export declare function generateJWT(payload: Record<string, any>, expiresIn?: string | number): string;
|
|
45
|
+
/**
|
|
46
|
+
* Extract token from Authorization header
|
|
47
|
+
*/
|
|
48
|
+
export declare function extractTokenFromHeader(authHeader: string | undefined): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Get the public role (from PermissionService hybrid cache)
|
|
51
|
+
* Returns the public role with its ID, or a fallback if not found
|
|
52
|
+
*/
|
|
53
|
+
export declare function getPublicRole(): Promise<{
|
|
54
|
+
id: string | number | null;
|
|
55
|
+
name: string;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Authentication middleware for Express
|
|
59
|
+
* Verifies JWT token and sets req.accountability
|
|
60
|
+
*/
|
|
61
|
+
export declare const authMiddleware: (req: any, res: any, next: any) => Promise<any>;
|
|
62
|
+
/**
|
|
63
|
+
* Helper function to check if user is an administrator
|
|
64
|
+
*/
|
|
65
|
+
export declare const isAdmin: (req: any) => boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Middleware to check for admin access
|
|
68
|
+
*/
|
|
69
|
+
export declare const adminOnly: (req: any, res: any, next: any) => any;
|
|
70
|
+
/**
|
|
71
|
+
* Create a session in the database
|
|
72
|
+
*/
|
|
73
|
+
export declare function createSession(user: any, expiresInSeconds: number, sessionType?: string, tenantId?: string | null): Promise<string>;
|
|
74
|
+
/**
|
|
75
|
+
* Validate a session token
|
|
76
|
+
*/
|
|
77
|
+
export declare function validateSession(token: string, expectedTenantId?: string | null): Promise<any>;
|
|
78
|
+
/**
|
|
79
|
+
* Validate session limits for a user
|
|
80
|
+
*/
|
|
81
|
+
export declare function validateSessionLimits(userId: string, sessionType: string, tenantId?: string | null, role?: {
|
|
82
|
+
id: string | number;
|
|
83
|
+
name: string;
|
|
84
|
+
} | null): Promise<{
|
|
85
|
+
isValid: boolean;
|
|
86
|
+
error?: string;
|
|
87
|
+
}>;
|
|
88
|
+
/**
|
|
89
|
+
* Generate token with session creation
|
|
90
|
+
*/
|
|
91
|
+
export declare function generateToken(user: any, role: any, tenant?: any, ip?: string | null, sessionType?: string): Promise<string>;
|
|
92
|
+
export default authMiddleware;
|
|
93
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../baasix/utils/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAGjF,YAAY,EAAE,UAAU,EAAE,2BAA2B,EAAE,CAAC;AAwBxD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC7E,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC;QAAC,UAAU,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CACrG,CAAC,CAgDD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAW5C;AAED;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,GAAE,MAAM,GAAG,MAAM,GAAG,IAAW,GACtC,OAAO,CAAC;IACT,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,WAAW,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,CAAC,CA6GD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,GAAE,MAAM,GAAG,MAAa,GAAG,MAAM,CAOnG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAWpF;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAU3F;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAU,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,iBAwKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,GAAG,KAAG,OAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,QAKtD,CAAC;AAEF;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,GAAG,EACT,gBAAgB,EAAE,MAAM,EACxB,WAAW,GAAE,MAAkB,EAC/B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,gBAAgB,GAAE,MAAM,GAAG,IAAW,GACrC,OAAO,CAAC,GAAG,CAAC,CA4Bd;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,IAAI,GAAE;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAW,GACxD,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8E/C;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,GAAG,EACT,MAAM,GAAE,GAAU,EAClB,EAAE,GAAE,MAAM,GAAG,IAAW,EACxB,WAAW,GAAE,MAAkB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,eAAe,cAAc,CAAC"}
|