@archlast/server 0.0.1
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 +21 -0
- package/README.md +32 -0
- package/dist/admin/auth.d.ts +79 -0
- package/dist/admin/auth.d.ts.map +1 -0
- package/dist/admin/auth.js +487 -0
- package/dist/admin/auth.js.map +1 -0
- package/dist/admin/schema.d.ts +240 -0
- package/dist/admin/schema.d.ts.map +1 -0
- package/dist/admin/schema.js +521 -0
- package/dist/admin/schema.js.map +1 -0
- package/dist/admin/seed.d.ts +9 -0
- package/dist/admin/seed.d.ts.map +1 -0
- package/dist/admin/seed.js +276 -0
- package/dist/admin/seed.js.map +1 -0
- package/dist/auth/api-key-resolver.d.ts +12 -0
- package/dist/auth/api-key-resolver.d.ts.map +1 -0
- package/dist/auth/api-key-resolver.js +24 -0
- package/dist/auth/api-key-resolver.js.map +1 -0
- package/dist/auth/archlast-auth-adapter.d.ts +22 -0
- package/dist/auth/archlast-auth-adapter.d.ts.map +1 -0
- package/dist/auth/archlast-auth-adapter.js +32 -0
- package/dist/auth/archlast-auth-adapter.js.map +1 -0
- package/dist/auth/audit.d.ts +65 -0
- package/dist/auth/audit.d.ts.map +1 -0
- package/dist/auth/audit.js +138 -0
- package/dist/auth/audit.js.map +1 -0
- package/dist/auth/better-auth-adapter.d.ts +35 -0
- package/dist/auth/better-auth-adapter.d.ts.map +1 -0
- package/dist/auth/better-auth-adapter.js +460 -0
- package/dist/auth/better-auth-adapter.js.map +1 -0
- package/dist/auth/better-auth-admin.d.ts +40 -0
- package/dist/auth/better-auth-admin.d.ts.map +1 -0
- package/dist/auth/better-auth-admin.js +80 -0
- package/dist/auth/better-auth-admin.js.map +1 -0
- package/dist/auth/better-auth-api-key-resolver.d.ts +39 -0
- package/dist/auth/better-auth-api-key-resolver.d.ts.map +1 -0
- package/dist/auth/better-auth-api-key-resolver.js +184 -0
- package/dist/auth/better-auth-api-key-resolver.js.map +1 -0
- package/dist/auth/better-auth-instance.d.ts +2464 -0
- package/dist/auth/better-auth-instance.d.ts.map +1 -0
- package/dist/auth/better-auth-instance.js +251 -0
- package/dist/auth/better-auth-instance.js.map +1 -0
- package/dist/auth/better-auth-seed.d.ts +23 -0
- package/dist/auth/better-auth-seed.d.ts.map +1 -0
- package/dist/auth/better-auth-seed.js +316 -0
- package/dist/auth/better-auth-seed.js.map +1 -0
- package/dist/auth/better-auth-session-adapter.d.ts +49 -0
- package/dist/auth/better-auth-session-adapter.d.ts.map +1 -0
- package/dist/auth/better-auth-session-adapter.js +254 -0
- package/dist/auth/better-auth-session-adapter.js.map +1 -0
- package/dist/auth/errors.d.ts +18 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +27 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/http/handlers.d.ts +17 -0
- package/dist/auth/http/handlers.d.ts.map +1 -0
- package/dist/auth/http/handlers.js +19 -0
- package/dist/auth/http/handlers.js.map +1 -0
- package/dist/auth/interfaces.d.ts +138 -0
- package/dist/auth/interfaces.d.ts.map +1 -0
- package/dist/auth/interfaces.js +105 -0
- package/dist/auth/interfaces.js.map +1 -0
- package/dist/auth/mfa/index.d.ts +6 -0
- package/dist/auth/mfa/index.d.ts.map +1 -0
- package/dist/auth/mfa/index.js +13 -0
- package/dist/auth/mfa/index.js.map +1 -0
- package/dist/auth/mfa/schema.d.ts +32 -0
- package/dist/auth/mfa/schema.d.ts.map +1 -0
- package/dist/auth/mfa/schema.js +35 -0
- package/dist/auth/mfa/schema.js.map +1 -0
- package/dist/auth/mfa/service.d.ts +65 -0
- package/dist/auth/mfa/service.d.ts.map +1 -0
- package/dist/auth/mfa/service.js +255 -0
- package/dist/auth/mfa/service.js.map +1 -0
- package/dist/auth/oauth-proxy.d.ts +58 -0
- package/dist/auth/oauth-proxy.d.ts.map +1 -0
- package/dist/auth/oauth-proxy.js +298 -0
- package/dist/auth/oauth-proxy.js.map +1 -0
- package/dist/auth/otp/index.d.ts +6 -0
- package/dist/auth/otp/index.d.ts.map +1 -0
- package/dist/auth/otp/index.js +13 -0
- package/dist/auth/otp/index.js.map +1 -0
- package/dist/auth/otp/schema.d.ts +32 -0
- package/dist/auth/otp/schema.d.ts.map +1 -0
- package/dist/auth/otp/schema.js +38 -0
- package/dist/auth/otp/schema.js.map +1 -0
- package/dist/auth/otp/service.d.ts +59 -0
- package/dist/auth/otp/service.d.ts.map +1 -0
- package/dist/auth/otp/service.js +183 -0
- package/dist/auth/otp/service.js.map +1 -0
- package/dist/auth/password-recovery.d.ts +61 -0
- package/dist/auth/password-recovery.d.ts.map +1 -0
- package/dist/auth/password-recovery.js +173 -0
- package/dist/auth/password-recovery.js.map +1 -0
- package/dist/auth/resolver.d.ts +29 -0
- package/dist/auth/resolver.d.ts.map +1 -0
- package/dist/auth/resolver.js +78 -0
- package/dist/auth/resolver.js.map +1 -0
- package/dist/auth/role-helpers.d.ts +56 -0
- package/dist/auth/role-helpers.d.ts.map +1 -0
- package/dist/auth/role-helpers.js +103 -0
- package/dist/auth/role-helpers.js.map +1 -0
- package/dist/auth/session-manager.d.ts +21 -0
- package/dist/auth/session-manager.d.ts.map +1 -0
- package/dist/auth/session-manager.js +30 -0
- package/dist/auth/session-manager.js.map +1 -0
- package/dist/auth/session-security.d.ts +14 -0
- package/dist/auth/session-security.d.ts.map +1 -0
- package/dist/auth/session-security.js +26 -0
- package/dist/auth/session-security.js.map +1 -0
- package/dist/auth/system/better-auth-schema.d.ts +144 -0
- package/dist/auth/system/better-auth-schema.d.ts.map +1 -0
- package/dist/auth/system/better-auth-schema.js +250 -0
- package/dist/auth/system/better-auth-schema.js.map +1 -0
- package/dist/auth/system/constants.d.ts +114 -0
- package/dist/auth/system/constants.d.ts.map +1 -0
- package/dist/auth/system/constants.js +205 -0
- package/dist/auth/system/constants.js.map +1 -0
- package/dist/auth/system/cookies.d.ts +83 -0
- package/dist/auth/system/cookies.d.ts.map +1 -0
- package/dist/auth/system/cookies.js +148 -0
- package/dist/auth/system/cookies.js.map +1 -0
- package/dist/auth/system/crypto.d.ts +53 -0
- package/dist/auth/system/crypto.d.ts.map +1 -0
- package/dist/auth/system/crypto.js +188 -0
- package/dist/auth/system/crypto.js.map +1 -0
- package/dist/auth/system/extended-schema.d.ts +145 -0
- package/dist/auth/system/extended-schema.d.ts.map +1 -0
- package/dist/auth/system/extended-schema.js +86 -0
- package/dist/auth/system/extended-schema.js.map +1 -0
- package/dist/auth/system/schema.d.ts +538 -0
- package/dist/auth/system/schema.d.ts.map +1 -0
- package/dist/auth/system/schema.js +306 -0
- package/dist/auth/system/schema.js.map +1 -0
- package/dist/cache/client.d.ts +77 -0
- package/dist/cache/client.d.ts.map +1 -0
- package/dist/cache/client.js +279 -0
- package/dist/cache/client.js.map +1 -0
- package/dist/cache/index.d.ts +9 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +14 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/layers.d.ts +125 -0
- package/dist/cache/layers.d.ts.map +1 -0
- package/dist/cache/layers.js +354 -0
- package/dist/cache/layers.js.map +1 -0
- package/dist/cache/manager.d.ts +101 -0
- package/dist/cache/manager.d.ts.map +1 -0
- package/dist/cache/manager.js +423 -0
- package/dist/cache/manager.js.map +1 -0
- package/dist/cache/protocol.d.ts +115 -0
- package/dist/cache/protocol.d.ts.map +1 -0
- package/dist/cache/protocol.js +36 -0
- package/dist/cache/protocol.js.map +1 -0
- package/dist/cache/run-sidecar.d.ts +8 -0
- package/dist/cache/run-sidecar.d.ts.map +1 -0
- package/dist/cache/run-sidecar.js +71 -0
- package/dist/cache/run-sidecar.js.map +1 -0
- package/dist/cache/sidecar-client.d.ts +90 -0
- package/dist/cache/sidecar-client.d.ts.map +1 -0
- package/dist/cache/sidecar-client.js +437 -0
- package/dist/cache/sidecar-client.js.map +1 -0
- package/dist/cache/sidecar-server.d.ts +18 -0
- package/dist/cache/sidecar-server.d.ts.map +1 -0
- package/dist/cache/sidecar-server.js +90 -0
- package/dist/cache/sidecar-server.js.map +1 -0
- package/dist/cache/store.d.ts +90 -0
- package/dist/cache/store.d.ts.map +1 -0
- package/dist/cache/store.js +357 -0
- package/dist/cache/store.js.map +1 -0
- package/dist/cache/strategies.d.ts +52 -0
- package/dist/cache/strategies.d.ts.map +1 -0
- package/dist/cache/strategies.js +13 -0
- package/dist/cache/strategies.js.map +1 -0
- package/dist/cache/utils.d.ts +16 -0
- package/dist/cache/utils.d.ts.map +1 -0
- package/dist/cache/utils.js +101 -0
- package/dist/cache/utils.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +20 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/paths.d.ts +16 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +29 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/schema.d.ts +42 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +62 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/service.d.ts +56 -0
- package/dist/config/service.d.ts.map +1 -0
- package/dist/config/service.js +108 -0
- package/dist/config/service.js.map +1 -0
- package/dist/context.d.ts +48 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +6 -0
- package/dist/context.js.map +1 -0
- package/dist/controllers/admin/admin-tokens.controller.d.ts +159 -0
- package/dist/controllers/admin/admin-tokens.controller.d.ts.map +1 -0
- package/dist/controllers/admin/admin-tokens.controller.js +138 -0
- package/dist/controllers/admin/admin-tokens.controller.js.map +1 -0
- package/dist/controllers/admin/api-keys.controller.d.ts +187 -0
- package/dist/controllers/admin/api-keys.controller.d.ts.map +1 -0
- package/dist/controllers/admin/api-keys.controller.js +124 -0
- package/dist/controllers/admin/api-keys.controller.js.map +1 -0
- package/dist/controllers/admin/app-users.controller.d.ts +376 -0
- package/dist/controllers/admin/app-users.controller.d.ts.map +1 -0
- package/dist/controllers/admin/app-users.controller.js +348 -0
- package/dist/controllers/admin/app-users.controller.js.map +1 -0
- package/dist/controllers/admin/auth.controller.d.ts +285 -0
- package/dist/controllers/admin/auth.controller.d.ts.map +1 -0
- package/dist/controllers/admin/auth.controller.js +221 -0
- package/dist/controllers/admin/auth.controller.js.map +1 -0
- package/dist/controllers/admin/backup.controller.d.ts +250 -0
- package/dist/controllers/admin/backup.controller.d.ts.map +1 -0
- package/dist/controllers/admin/backup.controller.js +316 -0
- package/dist/controllers/admin/backup.controller.js.map +1 -0
- package/dist/controllers/admin/data.controller.d.ts +250 -0
- package/dist/controllers/admin/data.controller.d.ts.map +1 -0
- package/dist/controllers/admin/data.controller.js +240 -0
- package/dist/controllers/admin/data.controller.js.map +1 -0
- package/dist/controllers/admin/provisioning.controller.d.ts +77 -0
- package/dist/controllers/admin/provisioning.controller.d.ts.map +1 -0
- package/dist/controllers/admin/provisioning.controller.js +141 -0
- package/dist/controllers/admin/provisioning.controller.js.map +1 -0
- package/dist/controllers/admin/settings.controller.d.ts +153 -0
- package/dist/controllers/admin/settings.controller.d.ts.map +1 -0
- package/dist/controllers/admin/settings.controller.js +120 -0
- package/dist/controllers/admin/settings.controller.js.map +1 -0
- package/dist/controllers/admin/setup.controller.d.ts +104 -0
- package/dist/controllers/admin/setup.controller.d.ts.map +1 -0
- package/dist/controllers/admin/setup.controller.js +113 -0
- package/dist/controllers/admin/setup.controller.js.map +1 -0
- package/dist/controllers/admin/tenants.controller.d.ts +275 -0
- package/dist/controllers/admin/tenants.controller.d.ts.map +1 -0
- package/dist/controllers/admin/tenants.controller.js +206 -0
- package/dist/controllers/admin/tenants.controller.js.map +1 -0
- package/dist/controllers/admin/users.controller.d.ts +253 -0
- package/dist/controllers/admin/users.controller.d.ts.map +1 -0
- package/dist/controllers/admin/users.controller.js +186 -0
- package/dist/controllers/admin/users.controller.js.map +1 -0
- package/dist/controllers/auth.controller.d.ts +308 -0
- package/dist/controllers/auth.controller.d.ts.map +1 -0
- package/dist/controllers/auth.controller.js +305 -0
- package/dist/controllers/auth.controller.js.map +1 -0
- package/dist/controllers/crud-generator.controller.d.ts +83 -0
- package/dist/controllers/crud-generator.controller.d.ts.map +1 -0
- package/dist/controllers/crud-generator.controller.js +201 -0
- package/dist/controllers/crud-generator.controller.js.map +1 -0
- package/dist/controllers/deployment-events.controller.d.ts +74 -0
- package/dist/controllers/deployment-events.controller.d.ts.map +1 -0
- package/dist/controllers/deployment-events.controller.js +143 -0
- package/dist/controllers/deployment-events.controller.js.map +1 -0
- package/dist/controllers/index.d.ts +18 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +42 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/introspection.controller.d.ts +430 -0
- package/dist/controllers/introspection.controller.d.ts.map +1 -0
- package/dist/controllers/introspection.controller.js +358 -0
- package/dist/controllers/introspection.controller.js.map +1 -0
- package/dist/controllers/invite.controller.d.ts +218 -0
- package/dist/controllers/invite.controller.d.ts.map +1 -0
- package/dist/controllers/invite.controller.js +218 -0
- package/dist/controllers/invite.controller.js.map +1 -0
- package/dist/controllers/mfa.controller.d.ts +211 -0
- package/dist/controllers/mfa.controller.d.ts.map +1 -0
- package/dist/controllers/mfa.controller.js +155 -0
- package/dist/controllers/mfa.controller.js.map +1 -0
- package/dist/controllers/otp.controller.d.ts +220 -0
- package/dist/controllers/otp.controller.d.ts.map +1 -0
- package/dist/controllers/otp.controller.js +223 -0
- package/dist/controllers/otp.controller.js.map +1 -0
- package/dist/controllers/storage.controller.d.ts +297 -0
- package/dist/controllers/storage.controller.d.ts.map +1 -0
- package/dist/controllers/storage.controller.js +304 -0
- package/dist/controllers/storage.controller.js.map +1 -0
- package/dist/controllers/system.controller.d.ts +176 -0
- package/dist/controllers/system.controller.d.ts.map +1 -0
- package/dist/controllers/system.controller.js +222 -0
- package/dist/controllers/system.controller.js.map +1 -0
- package/dist/controllers/tenant.controller.d.ts +316 -0
- package/dist/controllers/tenant.controller.d.ts.map +1 -0
- package/dist/controllers/tenant.controller.js +269 -0
- package/dist/controllers/tenant.controller.js.map +1 -0
- package/dist/db/cachedclient.d.ts +69 -0
- package/dist/db/cachedclient.d.ts.map +1 -0
- package/dist/db/cachedclient.js +331 -0
- package/dist/db/cachedclient.js.map +1 -0
- package/dist/db/distributed-client.d.ts +82 -0
- package/dist/db/distributed-client.d.ts.map +1 -0
- package/dist/db/distributed-client.js +477 -0
- package/dist/db/distributed-client.js.map +1 -0
- package/dist/db/factory.d.ts +19 -0
- package/dist/db/factory.d.ts.map +1 -0
- package/dist/db/factory.js +44 -0
- package/dist/db/factory.js.map +1 -0
- package/dist/db/interfaces.d.ts +67 -0
- package/dist/db/interfaces.d.ts.map +1 -0
- package/dist/db/interfaces.js +3 -0
- package/dist/db/interfaces.js.map +1 -0
- package/dist/db/socket-client.d.ts +122 -0
- package/dist/db/socket-client.d.ts.map +1 -0
- package/dist/db/socket-client.js +1092 -0
- package/dist/db/socket-client.js.map +1 -0
- package/dist/db/store-config.d.ts +19 -0
- package/dist/db/store-config.d.ts.map +1 -0
- package/dist/db/store-config.js +65 -0
- package/dist/db/store-config.js.map +1 -0
- package/dist/deployment/function-extractor.d.ts +11 -0
- package/dist/deployment/function-extractor.d.ts.map +1 -0
- package/dist/deployment/function-extractor.js +101 -0
- package/dist/deployment/function-extractor.js.map +1 -0
- package/dist/deployment/handler.d.ts +174 -0
- package/dist/deployment/handler.d.ts.map +1 -0
- package/dist/deployment/handler.js +1437 -0
- package/dist/deployment/handler.js.map +1 -0
- package/dist/deployment/persistence.d.ts +97 -0
- package/dist/deployment/persistence.d.ts.map +1 -0
- package/dist/deployment/persistence.js +238 -0
- package/dist/deployment/persistence.js.map +1 -0
- package/dist/deployment/protocol.d.ts +34 -0
- package/dist/deployment/protocol.d.ts.map +1 -0
- package/dist/deployment/protocol.js +7 -0
- package/dist/deployment/protocol.js.map +1 -0
- package/dist/di/container.d.ts +58 -0
- package/dist/di/container.d.ts.map +1 -0
- package/dist/di/container.js +121 -0
- package/dist/di/container.js.map +1 -0
- package/dist/di/decorators.d.ts +57 -0
- package/dist/di/decorators.d.ts.map +1 -0
- package/dist/di/decorators.js +80 -0
- package/dist/di/decorators.js.map +1 -0
- package/dist/di/index.d.ts +10 -0
- package/dist/di/index.d.ts.map +1 -0
- package/dist/di/index.js +21 -0
- package/dist/di/index.js.map +1 -0
- package/dist/di/resolver.d.ts +26 -0
- package/dist/di/resolver.d.ts.map +1 -0
- package/dist/di/resolver.js +32 -0
- package/dist/di/resolver.js.map +1 -0
- package/dist/docker/compose.d.ts +3 -0
- package/dist/docker/compose.d.ts.map +1 -0
- package/dist/docker/compose.js +106 -0
- package/dist/docker/compose.js.map +1 -0
- package/dist/docker/index.d.ts +4 -0
- package/dist/docker/index.d.ts.map +1 -0
- package/dist/docker/index.js +8 -0
- package/dist/docker/index.js.map +1 -0
- package/dist/docker/manager.d.ts +14 -0
- package/dist/docker/manager.d.ts.map +1 -0
- package/dist/docker/manager.js +76 -0
- package/dist/docker/manager.js.map +1 -0
- package/dist/docker/types.d.ts +18 -0
- package/dist/docker/types.d.ts.map +1 -0
- package/dist/docker/types.js +3 -0
- package/dist/docker/types.js.map +1 -0
- package/dist/email/index.d.ts +6 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +25 -0
- package/dist/email/index.js.map +1 -0
- package/dist/email/service.d.ts +89 -0
- package/dist/email/service.d.ts.map +1 -0
- package/dist/email/service.js +215 -0
- package/dist/email/service.js.map +1 -0
- package/dist/email/templates/MagicLinkEmail.d.ts +8 -0
- package/dist/email/templates/MagicLinkEmail.d.ts.map +1 -0
- package/dist/email/templates/MagicLinkEmail.js +84 -0
- package/dist/email/templates/MagicLinkEmail.js.map +1 -0
- package/dist/email/templates/OtpEmail.d.ts +8 -0
- package/dist/email/templates/OtpEmail.d.ts.map +1 -0
- package/dist/email/templates/OtpEmail.js +72 -0
- package/dist/email/templates/OtpEmail.js.map +1 -0
- package/dist/email/templates/PasswordResetEmail.d.ts +9 -0
- package/dist/email/templates/PasswordResetEmail.d.ts.map +1 -0
- package/dist/email/templates/PasswordResetEmail.js +103 -0
- package/dist/email/templates/PasswordResetEmail.js.map +1 -0
- package/dist/email/templates/WelcomeEmail.d.ts +8 -0
- package/dist/email/templates/WelcomeEmail.d.ts.map +1 -0
- package/dist/email/templates/WelcomeEmail.js +94 -0
- package/dist/email/templates/WelcomeEmail.js.map +1 -0
- package/dist/email/templates/index.d.ts +9 -0
- package/dist/email/templates/index.d.ts.map +1 -0
- package/dist/email/templates/index.js +16 -0
- package/dist/email/templates/index.js.map +1 -0
- package/dist/engine/context.d.ts +9 -0
- package/dist/engine/context.d.ts.map +1 -0
- package/dist/engine/context.js +9 -0
- package/dist/engine/context.js.map +1 -0
- package/dist/engine/runner.d.ts +115 -0
- package/dist/engine/runner.d.ts.map +1 -0
- package/dist/engine/runner.js +617 -0
- package/dist/engine/runner.js.map +1 -0
- package/dist/functions/built-in/auth-apikey.d.ts +21 -0
- package/dist/functions/built-in/auth-apikey.d.ts.map +1 -0
- package/dist/functions/built-in/auth-apikey.js +344 -0
- package/dist/functions/built-in/auth-apikey.js.map +1 -0
- package/dist/functions/built-in/auth-email.d.ts +3 -0
- package/dist/functions/built-in/auth-email.d.ts.map +1 -0
- package/dist/functions/built-in/auth-email.js +63 -0
- package/dist/functions/built-in/auth-email.js.map +1 -0
- package/dist/functions/built-in/auth-invite.d.ts +5 -0
- package/dist/functions/built-in/auth-invite.d.ts.map +1 -0
- package/dist/functions/built-in/auth-invite.js +105 -0
- package/dist/functions/built-in/auth-invite.js.map +1 -0
- package/dist/functions/built-in/auth-password.d.ts +4 -0
- package/dist/functions/built-in/auth-password.d.ts.map +1 -0
- package/dist/functions/built-in/auth-password.js +107 -0
- package/dist/functions/built-in/auth-password.js.map +1 -0
- package/dist/functions/built-in/auth-session.d.ts +18 -0
- package/dist/functions/built-in/auth-session.d.ts.map +1 -0
- package/dist/functions/built-in/auth-session.js +221 -0
- package/dist/functions/built-in/auth-session.js.map +1 -0
- package/dist/functions/built-in/auth-signin.d.ts +20 -0
- package/dist/functions/built-in/auth-signin.d.ts.map +1 -0
- package/dist/functions/built-in/auth-signin.js +198 -0
- package/dist/functions/built-in/auth-signin.js.map +1 -0
- package/dist/functions/built-in/auth-signout.d.ts +18 -0
- package/dist/functions/built-in/auth-signout.d.ts.map +1 -0
- package/dist/functions/built-in/auth-signout.js +78 -0
- package/dist/functions/built-in/auth-signout.js.map +1 -0
- package/dist/functions/built-in/auth-signup.d.ts +21 -0
- package/dist/functions/built-in/auth-signup.d.ts.map +1 -0
- package/dist/functions/built-in/auth-signup.js +147 -0
- package/dist/functions/built-in/auth-signup.js.map +1 -0
- package/dist/functions/built-in/auth-tenant.d.ts +3 -0
- package/dist/functions/built-in/auth-tenant.d.ts.map +1 -0
- package/dist/functions/built-in/auth-tenant.js +86 -0
- package/dist/functions/built-in/auth-tenant.js.map +1 -0
- package/dist/functions/built-in/index.d.ts +55 -0
- package/dist/functions/built-in/index.d.ts.map +1 -0
- package/dist/functions/built-in/index.js +181 -0
- package/dist/functions/built-in/index.js.map +1 -0
- package/dist/functions/built-in/system-cache.d.ts +10 -0
- package/dist/functions/built-in/system-cache.d.ts.map +1 -0
- package/dist/functions/built-in/system-cache.js +98 -0
- package/dist/functions/built-in/system-cache.js.map +1 -0
- package/dist/functions/built-in/system-data.d.ts +13 -0
- package/dist/functions/built-in/system-data.d.ts.map +1 -0
- package/dist/functions/built-in/system-data.js +133 -0
- package/dist/functions/built-in/system-data.js.map +1 -0
- package/dist/functions/built-in/system-jobs.d.ts +22 -0
- package/dist/functions/built-in/system-jobs.d.ts.map +1 -0
- package/dist/functions/built-in/system-jobs.js +82 -0
- package/dist/functions/built-in/system-jobs.js.map +1 -0
- package/dist/functions/built-in/system-notifications.d.ts +41 -0
- package/dist/functions/built-in/system-notifications.d.ts.map +1 -0
- package/dist/functions/built-in/system-notifications.js +72 -0
- package/dist/functions/built-in/system-notifications.js.map +1 -0
- package/dist/functions/built-in/system-performance.d.ts +25 -0
- package/dist/functions/built-in/system-performance.d.ts.map +1 -0
- package/dist/functions/built-in/system-performance.js +83 -0
- package/dist/functions/built-in/system-performance.js.map +1 -0
- package/dist/functions/built-in-registry.d.ts +101 -0
- package/dist/functions/built-in-registry.d.ts.map +1 -0
- package/dist/functions/built-in-registry.js +165 -0
- package/dist/functions/built-in-registry.js.map +1 -0
- package/dist/functions/definition.d.ts +206 -0
- package/dist/functions/definition.d.ts.map +1 -0
- package/dist/functions/definition.js +178 -0
- package/dist/functions/definition.js.map +1 -0
- package/dist/functions/types.d.ts +151 -0
- package/dist/functions/types.d.ts.map +1 -0
- package/dist/functions/types.js +3 -0
- package/dist/functions/types.js.map +1 -0
- package/dist/http/context-helper.d.ts +60 -0
- package/dist/http/context-helper.d.ts.map +1 -0
- package/dist/http/context-helper.js +161 -0
- package/dist/http/context-helper.js.map +1 -0
- package/dist/http/definition.d.ts +76 -0
- package/dist/http/definition.d.ts.map +1 -0
- package/dist/http/definition.js +46 -0
- package/dist/http/definition.js.map +1 -0
- package/dist/http/index.d.ts +7 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +12 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/plugins/auth.d.ts +71 -0
- package/dist/http/plugins/auth.d.ts.map +1 -0
- package/dist/http/plugins/auth.js +67 -0
- package/dist/http/plugins/auth.js.map +1 -0
- package/dist/http/plugins/better-auth.d.ts +67 -0
- package/dist/http/plugins/better-auth.d.ts.map +1 -0
- package/dist/http/plugins/better-auth.js +48 -0
- package/dist/http/plugins/better-auth.js.map +1 -0
- package/dist/http/router.d.ts +59 -0
- package/dist/http/router.d.ts.map +1 -0
- package/dist/http/router.js +371 -0
- package/dist/http/router.js.map +1 -0
- package/dist/http/server.d.ts +15 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +217 -0
- package/dist/http/server.js.map +1 -0
- package/dist/http/types.d.ts +142 -0
- package/dist/http/types.d.ts.map +1 -0
- package/dist/http/types.js +7 -0
- package/dist/http/types.js.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +116 -0
- package/dist/index.mjs.map +1 -0
- package/dist/ipc/run-sidecar.d.ts +8 -0
- package/dist/ipc/run-sidecar.d.ts.map +1 -0
- package/dist/ipc/run-sidecar.js +127 -0
- package/dist/ipc/run-sidecar.js.map +1 -0
- package/dist/ipc/socket-bridge.d.ts +114 -0
- package/dist/ipc/socket-bridge.d.ts.map +1 -0
- package/dist/ipc/socket-bridge.js +724 -0
- package/dist/ipc/socket-bridge.js.map +1 -0
- package/dist/jobs/index.d.ts +7 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +10 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/queue.d.ts +62 -0
- package/dist/jobs/queue.d.ts.map +1 -0
- package/dist/jobs/queue.js +192 -0
- package/dist/jobs/queue.js.map +1 -0
- package/dist/jobs/run-scheduler.d.ts +2 -0
- package/dist/jobs/run-scheduler.d.ts.map +1 -0
- package/dist/jobs/run-scheduler.js +245 -0
- package/dist/jobs/run-scheduler.js.map +1 -0
- package/dist/jobs/run-worker.d.ts +2 -0
- package/dist/jobs/run-worker.d.ts.map +1 -0
- package/dist/jobs/run-worker.js +123 -0
- package/dist/jobs/run-worker.js.map +1 -0
- package/dist/jobs/runtime-loader.d.ts +14 -0
- package/dist/jobs/runtime-loader.d.ts.map +1 -0
- package/dist/jobs/runtime-loader.js +122 -0
- package/dist/jobs/runtime-loader.js.map +1 -0
- package/dist/jobs/scheduler-client.d.ts +33 -0
- package/dist/jobs/scheduler-client.d.ts.map +1 -0
- package/dist/jobs/scheduler-client.js +69 -0
- package/dist/jobs/scheduler-client.js.map +1 -0
- package/dist/jobs/scheduler.d.ts +73 -0
- package/dist/jobs/scheduler.d.ts.map +1 -0
- package/dist/jobs/scheduler.js +297 -0
- package/dist/jobs/scheduler.js.map +1 -0
- package/dist/jobs/worker-thread.d.ts +27 -0
- package/dist/jobs/worker-thread.d.ts.map +1 -0
- package/dist/jobs/worker-thread.js +173 -0
- package/dist/jobs/worker-thread.js.map +1 -0
- package/dist/jobs/worker.d.ts +30 -0
- package/dist/jobs/worker.d.ts.map +1 -0
- package/dist/jobs/worker.js +262 -0
- package/dist/jobs/worker.js.map +1 -0
- package/dist/jobs/ws-client.d.ts +23 -0
- package/dist/jobs/ws-client.d.ts.map +1 -0
- package/dist/jobs/ws-client.js +105 -0
- package/dist/jobs/ws-client.js.map +1 -0
- package/dist/linq/async-enumerable.d.ts +91 -0
- package/dist/linq/async-enumerable.d.ts.map +1 -0
- package/dist/linq/async-enumerable.js +176 -0
- package/dist/linq/async-enumerable.js.map +1 -0
- package/dist/linq/enumerable.d.ts +94 -0
- package/dist/linq/enumerable.d.ts.map +1 -0
- package/dist/linq/enumerable.js +210 -0
- package/dist/linq/enumerable.js.map +1 -0
- package/dist/linq/index.d.ts +25 -0
- package/dist/linq/index.d.ts.map +1 -0
- package/dist/linq/index.js +27 -0
- package/dist/linq/index.js.map +1 -0
- package/dist/linq/interfaces.d.ts +23 -0
- package/dist/linq/interfaces.d.ts.map +1 -0
- package/dist/linq/interfaces.js +3 -0
- package/dist/linq/interfaces.js.map +1 -0
- package/dist/logging/logger.d.ts +85 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +217 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/query/builder.d.ts +91 -0
- package/dist/query/builder.d.ts.map +1 -0
- package/dist/query/builder.js +103 -0
- package/dist/query/builder.js.map +1 -0
- package/dist/query/types.d.ts +112 -0
- package/dist/query/types.d.ts.map +1 -0
- package/dist/query/types.js +3 -0
- package/dist/query/types.js.map +1 -0
- package/dist/reactivity/graph.d.ts +8 -0
- package/dist/reactivity/graph.d.ts.map +1 -0
- package/dist/reactivity/graph.js +51 -0
- package/dist/reactivity/graph.js.map +1 -0
- package/dist/repository/db-set.d.ts +220 -0
- package/dist/repository/db-set.d.ts.map +1 -0
- package/dist/repository/db-set.js +515 -0
- package/dist/repository/db-set.js.map +1 -0
- package/dist/repository/ef-core.d.ts +177 -0
- package/dist/repository/ef-core.d.ts.map +1 -0
- package/dist/repository/ef-core.js +404 -0
- package/dist/repository/ef-core.js.map +1 -0
- package/dist/repository/factory.d.ts +117 -0
- package/dist/repository/factory.d.ts.map +1 -0
- package/dist/repository/factory.js +183 -0
- package/dist/repository/factory.js.map +1 -0
- package/dist/repository/interfaces.d.ts +449 -0
- package/dist/repository/interfaces.d.ts.map +1 -0
- package/dist/repository/interfaces.js +21 -0
- package/dist/repository/interfaces.js.map +1 -0
- package/dist/repository/provider.d.ts +16 -0
- package/dist/repository/provider.d.ts.map +1 -0
- package/dist/repository/provider.js +674 -0
- package/dist/repository/provider.js.map +1 -0
- package/dist/repository/queryable.d.ts +111 -0
- package/dist/repository/queryable.d.ts.map +1 -0
- package/dist/repository/queryable.js +566 -0
- package/dist/repository/queryable.js.map +1 -0
- package/dist/rpc/adapter.d.ts +18 -0
- package/dist/rpc/adapter.d.ts.map +1 -0
- package/dist/rpc/adapter.js +101 -0
- package/dist/rpc/adapter.js.map +1 -0
- package/dist/rpc/router.d.ts +82 -0
- package/dist/rpc/router.d.ts.map +1 -0
- package/dist/rpc/router.js +177 -0
- package/dist/rpc/router.js.map +1 -0
- package/dist/schema/definition.d.ts +51 -0
- package/dist/schema/definition.d.ts.map +1 -0
- package/dist/schema/definition.js +79 -0
- package/dist/schema/definition.js.map +1 -0
- package/dist/schema/input-types.d.ts +88 -0
- package/dist/schema/input-types.d.ts.map +1 -0
- package/dist/schema/input-types.js +81 -0
- package/dist/schema/input-types.js.map +1 -0
- package/dist/schema/modifiers.d.ts +173 -0
- package/dist/schema/modifiers.d.ts.map +1 -0
- package/dist/schema/modifiers.js +218 -0
- package/dist/schema/modifiers.js.map +1 -0
- package/dist/schema/relationship-types.d.ts +109 -0
- package/dist/schema/relationship-types.d.ts.map +1 -0
- package/dist/schema/relationship-types.js +11 -0
- package/dist/schema/relationship-types.js.map +1 -0
- package/dist/schema/type-helpers.d.ts +105 -0
- package/dist/schema/type-helpers.d.ts.map +1 -0
- package/dist/schema/type-helpers.js +215 -0
- package/dist/schema/type-helpers.js.map +1 -0
- package/dist/schema/types.d.ts +144 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +12 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/schema/validators.d.ts +127 -0
- package/dist/schema/validators.d.ts.map +1 -0
- package/dist/schema/validators.js +164 -0
- package/dist/schema/validators.js.map +1 -0
- package/dist/services/admin/app-users.service.d.ts +138 -0
- package/dist/services/admin/app-users.service.d.ts.map +1 -0
- package/dist/services/admin/app-users.service.js +435 -0
- package/dist/services/admin/app-users.service.js.map +1 -0
- package/dist/services/admin/auth.service.d.ts +104 -0
- package/dist/services/admin/auth.service.d.ts.map +1 -0
- package/dist/services/admin/auth.service.js +208 -0
- package/dist/services/admin/auth.service.js.map +1 -0
- package/dist/services/admin/backup/BackupOrchestrator.d.ts +38 -0
- package/dist/services/admin/backup/BackupOrchestrator.d.ts.map +1 -0
- package/dist/services/admin/backup/BackupOrchestrator.js +350 -0
- package/dist/services/admin/backup/BackupOrchestrator.js.map +1 -0
- package/dist/services/admin/backup/DataStreamer.d.ts +11 -0
- package/dist/services/admin/backup/DataStreamer.d.ts.map +1 -0
- package/dist/services/admin/backup/DataStreamer.js +85 -0
- package/dist/services/admin/backup/DataStreamer.js.map +1 -0
- package/dist/services/admin/backup/LegacyAdapter.d.ts +28 -0
- package/dist/services/admin/backup/LegacyAdapter.d.ts.map +1 -0
- package/dist/services/admin/backup/LegacyAdapter.js +35 -0
- package/dist/services/admin/backup/LegacyAdapter.js.map +1 -0
- package/dist/services/admin/backup/SqliteGenerator.d.ts +15 -0
- package/dist/services/admin/backup/SqliteGenerator.d.ts.map +1 -0
- package/dist/services/admin/backup/SqliteGenerator.js +152 -0
- package/dist/services/admin/backup/SqliteGenerator.js.map +1 -0
- package/dist/services/admin/backup/StorageStreamer.d.ts +17 -0
- package/dist/services/admin/backup/StorageStreamer.d.ts.map +1 -0
- package/dist/services/admin/backup/StorageStreamer.js +117 -0
- package/dist/services/admin/backup/StorageStreamer.js.map +1 -0
- package/dist/services/admin/backup/ZipComposer.d.ts +17 -0
- package/dist/services/admin/backup/ZipComposer.d.ts.map +1 -0
- package/dist/services/admin/backup/ZipComposer.js +95 -0
- package/dist/services/admin/backup/ZipComposer.js.map +1 -0
- package/dist/services/admin/backup/ZipExtractor.d.ts +24 -0
- package/dist/services/admin/backup/ZipExtractor.d.ts.map +1 -0
- package/dist/services/admin/backup/ZipExtractor.js +135 -0
- package/dist/services/admin/backup/ZipExtractor.js.map +1 -0
- package/dist/services/admin/backup/index.d.ts +9 -0
- package/dist/services/admin/backup/index.d.ts.map +1 -0
- package/dist/services/admin/backup/index.js +18 -0
- package/dist/services/admin/backup/index.js.map +1 -0
- package/dist/services/admin/backup/types.d.ts +48 -0
- package/dist/services/admin/backup/types.d.ts.map +1 -0
- package/dist/services/admin/backup/types.js +3 -0
- package/dist/services/admin/backup/types.js.map +1 -0
- package/dist/services/admin/backup.service.d.ts +117 -0
- package/dist/services/admin/backup.service.d.ts.map +1 -0
- package/dist/services/admin/backup.service.js +709 -0
- package/dist/services/admin/backup.service.js.map +1 -0
- package/dist/services/admin/data.service.d.ts +109 -0
- package/dist/services/admin/data.service.d.ts.map +1 -0
- package/dist/services/admin/data.service.js +734 -0
- package/dist/services/admin/data.service.js.map +1 -0
- package/dist/services/admin/tenants.service.d.ts +99 -0
- package/dist/services/admin/tenants.service.d.ts.map +1 -0
- package/dist/services/admin/tenants.service.js +173 -0
- package/dist/services/admin/tenants.service.js.map +1 -0
- package/dist/services/auth.service.d.ts +155 -0
- package/dist/services/auth.service.d.ts.map +1 -0
- package/dist/services/auth.service.js +401 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/introspection.service.d.ts +262 -0
- package/dist/services/introspection.service.d.ts.map +1 -0
- package/dist/services/introspection.service.js +400 -0
- package/dist/services/introspection.service.js.map +1 -0
- package/dist/services/invite.service.d.ts +87 -0
- package/dist/services/invite.service.d.ts.map +1 -0
- package/dist/services/invite.service.js +216 -0
- package/dist/services/invite.service.js.map +1 -0
- package/dist/services/storage.service.d.ts +79 -0
- package/dist/services/storage.service.d.ts.map +1 -0
- package/dist/services/storage.service.js +209 -0
- package/dist/services/storage.service.js.map +1 -0
- package/dist/services/system.service.d.ts +60 -0
- package/dist/services/system.service.d.ts.map +1 -0
- package/dist/services/system.service.js +176 -0
- package/dist/services/system.service.js.map +1 -0
- package/dist/services/tenant.service.d.ts +112 -0
- package/dist/services/tenant.service.d.ts.map +1 -0
- package/dist/services/tenant.service.js +359 -0
- package/dist/services/tenant.service.js.map +1 -0
- package/dist/settings/index.d.ts +6 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +13 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/schema.d.ts +39 -0
- package/dist/settings/schema.d.ts.map +1 -0
- package/dist/settings/schema.js +41 -0
- package/dist/settings/schema.js.map +1 -0
- package/dist/settings/service.d.ts +28 -0
- package/dist/settings/service.d.ts.map +1 -0
- package/dist/settings/service.js +133 -0
- package/dist/settings/service.js.map +1 -0
- package/dist/startup/bootstrap.d.ts +13 -0
- package/dist/startup/bootstrap.d.ts.map +1 -0
- package/dist/startup/bootstrap.js +262 -0
- package/dist/startup/bootstrap.js.map +1 -0
- package/dist/startup/cluster-manager.d.ts +59 -0
- package/dist/startup/cluster-manager.d.ts.map +1 -0
- package/dist/startup/cluster-manager.js +238 -0
- package/dist/startup/cluster-manager.js.map +1 -0
- package/dist/startup/process-manager.d.ts +46 -0
- package/dist/startup/process-manager.d.ts.map +1 -0
- package/dist/startup/process-manager.js +288 -0
- package/dist/startup/process-manager.js.map +1 -0
- package/dist/startup/processes.d.mts +15 -0
- package/dist/startup/processes.d.mts.map +1 -0
- package/dist/startup/processes.mjs +162 -0
- package/dist/startup/processes.mjs.map +1 -0
- package/dist/startup.js +42 -0
- package/dist/storage/fs-backend.d.ts +38 -0
- package/dist/storage/fs-backend.d.ts.map +1 -0
- package/dist/storage/fs-backend.js +129 -0
- package/dist/storage/fs-backend.js.map +1 -0
- package/dist/storage/manager.d.ts +88 -0
- package/dist/storage/manager.d.ts.map +1 -0
- package/dist/storage/manager.js +416 -0
- package/dist/storage/manager.js.map +1 -0
- package/dist/storage/s3-backend.d.ts +30 -0
- package/dist/storage/s3-backend.d.ts.map +1 -0
- package/dist/storage/s3-backend.js +65 -0
- package/dist/storage/s3-backend.js.map +1 -0
- package/dist/storage/types.d.ts +56 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +3 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/utils/http.d.ts +16 -0
- package/dist/utils/http.d.ts.map +1 -0
- package/dist/utils/http.js +61 -0
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/introspection-helpers.d.ts +35 -0
- package/dist/utils/introspection-helpers.d.ts.map +1 -0
- package/dist/utils/introspection-helpers.js +246 -0
- package/dist/utils/introspection-helpers.js.map +1 -0
- package/dist/webhook/definition.d.ts +79 -0
- package/dist/webhook/definition.d.ts.map +1 -0
- package/dist/webhook/definition.js +33 -0
- package/dist/webhook/definition.js.map +1 -0
- package/dist/webhook/guard.d.ts +34 -0
- package/dist/webhook/guard.d.ts.map +1 -0
- package/dist/webhook/guard.js +86 -0
- package/dist/webhook/guard.js.map +1 -0
- package/dist/webhook/index.d.ts +9 -0
- package/dist/webhook/index.d.ts.map +1 -0
- package/dist/webhook/index.js +19 -0
- package/dist/webhook/index.js.map +1 -0
- package/dist/webhook/verifier.d.ts +24 -0
- package/dist/webhook/verifier.d.ts.map +1 -0
- package/dist/webhook/verifier.js +107 -0
- package/dist/webhook/verifier.js.map +1 -0
- package/dist/websocket/server.d.ts +74 -0
- package/dist/websocket/server.d.ts.map +1 -0
- package/dist/websocket/server.js +693 -0
- package/dist/websocket/server.js.map +1 -0
- package/dist/websocket/types.d.ts +53 -0
- package/dist/websocket/types.d.ts.map +1 -0
- package/dist/websocket/types.js +3 -0
- package/dist/websocket/types.js.map +1 -0
- package/dist/websocket/ws-compat.d.ts +26 -0
- package/dist/websocket/ws-compat.d.ts.map +1 -0
- package/dist/websocket/ws-compat.js +35 -0
- package/dist/websocket/ws-compat.js.map +1 -0
- package/docker/README.md +5 -0
- package/package.json +210 -0
- package/scripts/postinstall.js +31 -0
- package/templates/.env.example +55 -0
- package/templates/archlast.config.js +36 -0
- package/templates/docker-compose.dev.yml +8 -0
- package/templates/docker-compose.prod.yml +15 -0
- package/templates/docker-compose.yml +33 -0
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Better-Auth Database Adapter for Archlast
|
|
4
|
+
*
|
|
5
|
+
* This adapter maps Better-Auth operations to Archlast's IDatabaseClient.
|
|
6
|
+
* It handles:
|
|
7
|
+
* - Key mapping: id <-> _id (Better-Auth uses id, Archlast uses _id)
|
|
8
|
+
* - Table name mapping: user <-> system_auth_user, session <-> system_auth_session, etc.
|
|
9
|
+
* - Where clause transformation
|
|
10
|
+
* - Transaction support
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.createArchlastBetterAuthAdapter = createArchlastBetterAuthAdapter;
|
|
14
|
+
exports.archlastBetterAuthAdapter = archlastBetterAuthAdapter;
|
|
15
|
+
const adapters_1 = require("better-auth/adapters");
|
|
16
|
+
/**
|
|
17
|
+
* Mapping from Better-Auth model names to Archlast collection names
|
|
18
|
+
*/
|
|
19
|
+
const MODEL_TO_COLLECTION = {
|
|
20
|
+
user: "system_auth_user",
|
|
21
|
+
session: "system_auth_session",
|
|
22
|
+
account: "system_auth_account",
|
|
23
|
+
verification: "system_auth_verification",
|
|
24
|
+
// Organization plugin tables
|
|
25
|
+
organization: "system_auth_organization",
|
|
26
|
+
member: "system_auth_member",
|
|
27
|
+
invitation: "system_auth_invitation",
|
|
28
|
+
// API Key plugin table
|
|
29
|
+
apiKey: "system_auth_api_key",
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Mapping from Archlast collection names to Better-Auth model names
|
|
33
|
+
*/
|
|
34
|
+
const COLLECTION_TO_MODEL = {
|
|
35
|
+
"system_auth_user": "user",
|
|
36
|
+
"system_auth_session": "session",
|
|
37
|
+
"system_auth_account": "account",
|
|
38
|
+
"system_auth_verification": "verification",
|
|
39
|
+
// Organization plugin tables
|
|
40
|
+
"system_auth_organization": "organization",
|
|
41
|
+
"system_auth_member": "member",
|
|
42
|
+
"system_auth_invitation": "invitation",
|
|
43
|
+
// API Key plugin table
|
|
44
|
+
"system_auth_api_key": "apiKey",
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Field name mappings for Better-Auth
|
|
48
|
+
* Maps Better-Auth field names to Archlast field names
|
|
49
|
+
*/
|
|
50
|
+
const FIELD_MAPPINGS = {
|
|
51
|
+
// Better-Auth uses 'id', Archlast uses '_id'
|
|
52
|
+
id: "_id",
|
|
53
|
+
userId: "userId",
|
|
54
|
+
sessionId: "sessionId",
|
|
55
|
+
accountId: "accountId",
|
|
56
|
+
// Organization plugin fields
|
|
57
|
+
organizationId: "organizationId",
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Reverse field name mappings
|
|
61
|
+
*/
|
|
62
|
+
const REVERSE_FIELD_MAPPINGS = {
|
|
63
|
+
_id: "id",
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Convert Better-Auth where clause to Archlast query builder format
|
|
67
|
+
*
|
|
68
|
+
* Better-Auth can pass where clauses in two formats:
|
|
69
|
+
* 1. Array format: [{ field: "email", value: "..." }, { field: "id", value: "...", operator: "gt" }]
|
|
70
|
+
* 2. Object format (already transformed by factory): { email: "test@example.com", _id: "123" }
|
|
71
|
+
*
|
|
72
|
+
* Archlast format: { email: "...", _id: "...", age: { gt: 18 } }
|
|
73
|
+
*/
|
|
74
|
+
function whereClauseToQueryFormat(where) {
|
|
75
|
+
if (!where) {
|
|
76
|
+
return {};
|
|
77
|
+
}
|
|
78
|
+
// If where is already an object (not an array), it's been transformed by the factory
|
|
79
|
+
// Just map the id -> _id field if present
|
|
80
|
+
if (!Array.isArray(where)) {
|
|
81
|
+
const result = {};
|
|
82
|
+
for (const [key, value] of Object.entries(where)) {
|
|
83
|
+
// Map field names (e.g., "id" -> "_id")
|
|
84
|
+
const field = key in FIELD_MAPPINGS
|
|
85
|
+
? FIELD_MAPPINGS[key]
|
|
86
|
+
: key;
|
|
87
|
+
result[field] = value;
|
|
88
|
+
}
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
// Handle array format (original Better-Auth format)
|
|
92
|
+
if (where.length === 0) {
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
const result = {};
|
|
96
|
+
for (const clause of where) {
|
|
97
|
+
if (!clause.field || clause.value === undefined) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
// Map field names (e.g., "id" -> "_id")
|
|
101
|
+
const field = clause.field in FIELD_MAPPINGS
|
|
102
|
+
? FIELD_MAPPINGS[clause.field]
|
|
103
|
+
: clause.field;
|
|
104
|
+
const operator = clause.operator;
|
|
105
|
+
if (operator === "in") {
|
|
106
|
+
result[field] = { in: clause.value };
|
|
107
|
+
}
|
|
108
|
+
else if (operator === "ne") {
|
|
109
|
+
result[field] = { ne: clause.value };
|
|
110
|
+
}
|
|
111
|
+
else if (operator === "gt") {
|
|
112
|
+
result[field] = { gt: clause.value };
|
|
113
|
+
}
|
|
114
|
+
else if (operator === "gte") {
|
|
115
|
+
result[field] = { gte: clause.value };
|
|
116
|
+
}
|
|
117
|
+
else if (operator === "lt") {
|
|
118
|
+
result[field] = { lt: clause.value };
|
|
119
|
+
}
|
|
120
|
+
else if (operator === "lte") {
|
|
121
|
+
result[field] = { lte: clause.value };
|
|
122
|
+
}
|
|
123
|
+
else if (operator === "contains") {
|
|
124
|
+
result[field] = { contains: clause.value };
|
|
125
|
+
}
|
|
126
|
+
else if (operator === "starts") {
|
|
127
|
+
result[field] = { startsWith: clause.value };
|
|
128
|
+
}
|
|
129
|
+
else if (operator === "ends") {
|
|
130
|
+
result[field] = { endsWith: clause.value };
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
// Default: equality (no operator or "eq")
|
|
134
|
+
result[field] = clause.value;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return result;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Transform data object from Better-Auth format to Archlast format
|
|
141
|
+
*
|
|
142
|
+
* NOTE: Better-Auth's createAdapterFactory applies mapKeysTransformInput and
|
|
143
|
+
* mapKeysTransformOutput BEFORE calling our adapter methods. So the data we
|
|
144
|
+
* receive already has 'id' → '_id' mapping applied. We don't need to do it again.
|
|
145
|
+
*
|
|
146
|
+
* We preserve Date objects - v.datetime() returns z.date() which handles Date objects.
|
|
147
|
+
*/
|
|
148
|
+
function transformInputData(data) {
|
|
149
|
+
// Better-Auth factory already applies key mapping via mapKeysTransformInput
|
|
150
|
+
// So we just pass through the data as-is
|
|
151
|
+
return data;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Transform data object from Archlast format to Better-Auth format
|
|
155
|
+
*
|
|
156
|
+
* NOTE: Better-Auth's createAdapterFactory applies mapKeysTransformOutput
|
|
157
|
+
* AFTER our adapter methods return. So we should return data with '_id' key
|
|
158
|
+
* and let the factory convert it to 'id'.
|
|
159
|
+
*
|
|
160
|
+
* We preserve Date objects - v.datetime() returns z.date() which handles Date objects.
|
|
161
|
+
*/
|
|
162
|
+
function transformOutputData(data) {
|
|
163
|
+
// Better-Auth factory applies mapKeysTransformOutput: { _id: "id" }
|
|
164
|
+
// So we just return the data as-is with '_id' key
|
|
165
|
+
// The factory will convert '_id' → 'id' for us
|
|
166
|
+
return data;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Transform array of records from Archlast format to Better-Auth format
|
|
170
|
+
*/
|
|
171
|
+
function transformOutputArray(records) {
|
|
172
|
+
if (!records || !Array.isArray(records)) {
|
|
173
|
+
return records;
|
|
174
|
+
}
|
|
175
|
+
return records.map(transformOutputData);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Convert Better-Auth sort clause to Archlast orderBy format
|
|
179
|
+
*/
|
|
180
|
+
function transformSortClause(sortBy) {
|
|
181
|
+
if (!sortBy)
|
|
182
|
+
return undefined;
|
|
183
|
+
const field = sortBy.field in FIELD_MAPPINGS
|
|
184
|
+
? FIELD_MAPPINGS[sortBy.field]
|
|
185
|
+
: sortBy.field;
|
|
186
|
+
return {
|
|
187
|
+
[field]: sortBy.direction === "desc" ? "desc" : "asc",
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get Archlast collection name from Better-Auth model name
|
|
192
|
+
*/
|
|
193
|
+
function getCollectionName(model) {
|
|
194
|
+
return MODEL_TO_COLLECTION[model] || model;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Debug logger for adapter operations
|
|
198
|
+
*/
|
|
199
|
+
function debugLog(enabled, operation, data) {
|
|
200
|
+
if (enabled) {
|
|
201
|
+
console.error(`[Better-Auth Adapter] ${operation}:`, JSON.stringify(data, null, 2));
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Wrap an adapter method with error handling and debug logging
|
|
206
|
+
*/
|
|
207
|
+
function withErrorHandling(operation, debugEnabled, fn) {
|
|
208
|
+
return (async function (...args) {
|
|
209
|
+
try {
|
|
210
|
+
if (debugEnabled) {
|
|
211
|
+
debugLog(debugEnabled, `${operation} - start`, { args });
|
|
212
|
+
}
|
|
213
|
+
const result = await fn(...args);
|
|
214
|
+
if (debugEnabled) {
|
|
215
|
+
debugLog(debugEnabled, `${operation} - success`, { result });
|
|
216
|
+
}
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
debugLog(debugEnabled, `${operation} - error`, {
|
|
221
|
+
error: error instanceof Error ? error.message : String(error),
|
|
222
|
+
args,
|
|
223
|
+
});
|
|
224
|
+
throw new Error(`Better-Auth adapter error in ${operation}: ${error instanceof Error ? error.message : String(error)}`);
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Create a Better-Auth adapter factory for Archlast
|
|
230
|
+
* @param db The database client instance
|
|
231
|
+
* @param config Optional configuration
|
|
232
|
+
*/
|
|
233
|
+
function createArchlastBetterAuthAdapter(db, config = {}) {
|
|
234
|
+
return (0, adapters_1.createAdapterFactory)({
|
|
235
|
+
config: {
|
|
236
|
+
adapterId: "archlast",
|
|
237
|
+
adapterName: "Archlast Better-Auth Adapter",
|
|
238
|
+
usePlural: false,
|
|
239
|
+
debugLogs: config.debugLogs ?? false,
|
|
240
|
+
// Key mapping for input (Better-Auth -> Archlast)
|
|
241
|
+
mapKeysTransformInput: {
|
|
242
|
+
id: "_id",
|
|
243
|
+
},
|
|
244
|
+
// Key mapping for output (Archlast -> Better-Auth)
|
|
245
|
+
mapKeysTransformOutput: {
|
|
246
|
+
_id: "id",
|
|
247
|
+
},
|
|
248
|
+
// Archlast supports JSON in SQLite (stored as strings, parsed on read)
|
|
249
|
+
supportsJSON: true,
|
|
250
|
+
// Archlast uses v.datetime() which returns z.date() - Date objects
|
|
251
|
+
supportsDates: true,
|
|
252
|
+
// Archlast supports booleans (stored as 0/1 in SQLite, converted)
|
|
253
|
+
supportsBooleans: true,
|
|
254
|
+
// Transaction support - disabled for now.
|
|
255
|
+
// When set to false, Better Auth runs operations sequentially.
|
|
256
|
+
// Setting this to a function would require passing a TransactionAdapter
|
|
257
|
+
// with all adapter methods, which getCurrentAdapter expects.
|
|
258
|
+
transaction: false,
|
|
259
|
+
},
|
|
260
|
+
adapter: ({ options, getFieldName, getModelName, transformWhereClause }) => {
|
|
261
|
+
const debugEnabled = config.debugLogs ?? false;
|
|
262
|
+
// Use factory's transformWhereClause if available, otherwise use our own
|
|
263
|
+
const transformWhere = (where) => {
|
|
264
|
+
// Better-Auth factory provides transformWhereClause to handle where clause transformation
|
|
265
|
+
if (transformWhereClause && typeof transformWhereClause === 'function') {
|
|
266
|
+
try {
|
|
267
|
+
const transformed = transformWhereClause(where);
|
|
268
|
+
if (debugEnabled) {
|
|
269
|
+
debugLog(true, "transformWhereClause (factory)", { input: where, output: transformed });
|
|
270
|
+
}
|
|
271
|
+
if (transformed)
|
|
272
|
+
return transformed;
|
|
273
|
+
}
|
|
274
|
+
catch (e) {
|
|
275
|
+
// Fall through to our implementation
|
|
276
|
+
if (debugEnabled) {
|
|
277
|
+
debugLog(true, "transformWhereClause failed, using fallback", { error: String(e) });
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// Fallback to our own implementation
|
|
282
|
+
return whereClauseToQueryFormat(where) || {};
|
|
283
|
+
};
|
|
284
|
+
return {
|
|
285
|
+
options: config,
|
|
286
|
+
/**
|
|
287
|
+
* Create a new record
|
|
288
|
+
*/
|
|
289
|
+
create: withErrorHandling("create", debugEnabled, async ({ model, data }) => {
|
|
290
|
+
const collection = getCollectionName(getModelName(model));
|
|
291
|
+
const inputData = transformInputData(data);
|
|
292
|
+
const id = await db.insert(collection, inputData);
|
|
293
|
+
// Fetch and return the created record
|
|
294
|
+
const record = await db.query(collection)
|
|
295
|
+
.where({ _id: id })
|
|
296
|
+
.findFirst();
|
|
297
|
+
return transformOutputData(record);
|
|
298
|
+
}),
|
|
299
|
+
/**
|
|
300
|
+
* Find a single record
|
|
301
|
+
*/
|
|
302
|
+
findOne: withErrorHandling("findOne", debugEnabled, async ({ model, where, join }) => {
|
|
303
|
+
const collection = getCollectionName(getModelName(model));
|
|
304
|
+
// Debug: log raw where clause format
|
|
305
|
+
if (debugEnabled) {
|
|
306
|
+
debugLog(true, "findOne - raw where", { model, collection, where, whereType: Array.isArray(where) ? 'array' : typeof where });
|
|
307
|
+
}
|
|
308
|
+
const queryWhere = transformWhere(where);
|
|
309
|
+
if (debugEnabled) {
|
|
310
|
+
debugLog(true, "findOne - transformed where", { queryWhere });
|
|
311
|
+
}
|
|
312
|
+
// For now, we don't support native joins
|
|
313
|
+
// Better-Auth will handle joins if we return false for supportsJoin
|
|
314
|
+
// STRATEGY: Try findFirst first, if it returns null and we have a where clause,
|
|
315
|
+
// fall back to findMany + filter in memory (more reliable)
|
|
316
|
+
let record = await db.query(collection)
|
|
317
|
+
.where(queryWhere)
|
|
318
|
+
.findFirst();
|
|
319
|
+
// If findFirst returned null but we have a where clause, try findMany as fallback
|
|
320
|
+
if (!record && queryWhere && Object.keys(queryWhere).length > 0) {
|
|
321
|
+
if (debugEnabled) {
|
|
322
|
+
debugLog(true, "findOne - findFirst returned null, trying findMany fallback", { queryWhere });
|
|
323
|
+
}
|
|
324
|
+
const allRecords = await db.query(collection).findMany();
|
|
325
|
+
if (debugEnabled) {
|
|
326
|
+
debugLog(true, "findOne - findMany result", {
|
|
327
|
+
recordCount: allRecords?.length || 0,
|
|
328
|
+
hasRecords: !!allRecords,
|
|
329
|
+
sample: allRecords?.slice(0, 2).map((r) => ({
|
|
330
|
+
id: r._id || r.id,
|
|
331
|
+
username: r.username,
|
|
332
|
+
email: r.email
|
|
333
|
+
}))
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
// Filter in memory
|
|
337
|
+
record = allRecords?.find((r) => {
|
|
338
|
+
// Simple equality check for each field in queryWhere
|
|
339
|
+
for (const [key, value] of Object.entries(queryWhere)) {
|
|
340
|
+
if (r[key] !== value) {
|
|
341
|
+
return false;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
return true;
|
|
345
|
+
});
|
|
346
|
+
if (debugEnabled && record) {
|
|
347
|
+
debugLog(true, "findOne - found record via findMany fallback", { record });
|
|
348
|
+
}
|
|
349
|
+
else if (debugEnabled) {
|
|
350
|
+
debugLog(true, "findOne - no matching record found in findMany result", {
|
|
351
|
+
queryWhere,
|
|
352
|
+
totalRecords: allRecords?.length || 0
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
return transformOutputData(record);
|
|
357
|
+
}),
|
|
358
|
+
/**
|
|
359
|
+
* Find multiple records
|
|
360
|
+
*/
|
|
361
|
+
findMany: withErrorHandling("findMany", debugEnabled, async ({ model, where, limit, offset, sortBy }) => {
|
|
362
|
+
const collection = getCollectionName(getModelName(model));
|
|
363
|
+
const queryWhere = transformWhere(where || []);
|
|
364
|
+
let query = db.query(collection);
|
|
365
|
+
if (Object.keys(queryWhere).length > 0) {
|
|
366
|
+
query = query.where(queryWhere);
|
|
367
|
+
}
|
|
368
|
+
if (sortBy) {
|
|
369
|
+
const sort = transformSortClause(sortBy);
|
|
370
|
+
query = query.orderBy(sort);
|
|
371
|
+
}
|
|
372
|
+
if (offset !== undefined) {
|
|
373
|
+
query = query.skip(offset);
|
|
374
|
+
}
|
|
375
|
+
if (limit !== undefined) {
|
|
376
|
+
query = query.take(limit);
|
|
377
|
+
}
|
|
378
|
+
const records = await query.findMany();
|
|
379
|
+
return transformOutputArray(records);
|
|
380
|
+
}),
|
|
381
|
+
/**
|
|
382
|
+
* Count records
|
|
383
|
+
*/
|
|
384
|
+
count: withErrorHandling("count", debugEnabled, async ({ model, where }) => {
|
|
385
|
+
const collection = getCollectionName(getModelName(model));
|
|
386
|
+
const queryWhere = transformWhere(where || []);
|
|
387
|
+
if (Object.keys(queryWhere).length === 0) {
|
|
388
|
+
return db.query(collection).count();
|
|
389
|
+
}
|
|
390
|
+
return db.query(collection)
|
|
391
|
+
.where(queryWhere)
|
|
392
|
+
.count();
|
|
393
|
+
}),
|
|
394
|
+
/**
|
|
395
|
+
* Update a single record (returns the updated record)
|
|
396
|
+
*/
|
|
397
|
+
update: withErrorHandling("update", debugEnabled, async ({ model, where, update }) => {
|
|
398
|
+
const collection = getCollectionName(getModelName(model));
|
|
399
|
+
const queryWhere = transformWhere(where || []);
|
|
400
|
+
const updateData = transformInputData(update);
|
|
401
|
+
// First find the record
|
|
402
|
+
const record = await db.query(collection)
|
|
403
|
+
.where(queryWhere)
|
|
404
|
+
.findFirst();
|
|
405
|
+
if (!record) {
|
|
406
|
+
return null;
|
|
407
|
+
}
|
|
408
|
+
// Update it
|
|
409
|
+
await db.update(collection, record._id, updateData);
|
|
410
|
+
// Fetch and return updated record
|
|
411
|
+
const updated = await db.query(collection)
|
|
412
|
+
.where({ _id: record._id })
|
|
413
|
+
.findFirst();
|
|
414
|
+
return transformOutputData(updated);
|
|
415
|
+
}),
|
|
416
|
+
/**
|
|
417
|
+
* Update multiple records (returns the count)
|
|
418
|
+
*/
|
|
419
|
+
updateMany: withErrorHandling("updateMany", debugEnabled, async ({ model, where, update }) => {
|
|
420
|
+
const collection = getCollectionName(getModelName(model));
|
|
421
|
+
const queryWhere = transformWhere(where || []);
|
|
422
|
+
const updateData = transformInputData(update);
|
|
423
|
+
const affected = await db.updateMany(collection, queryWhere, updateData);
|
|
424
|
+
return affected;
|
|
425
|
+
}),
|
|
426
|
+
/**
|
|
427
|
+
* Delete a single record
|
|
428
|
+
* Optimized: Uses deleteMany directly with where clause (1 DB call instead of 2)
|
|
429
|
+
*/
|
|
430
|
+
delete: withErrorHandling("delete", debugEnabled, async ({ model, where }) => {
|
|
431
|
+
const collection = getCollectionName(getModelName(model));
|
|
432
|
+
const queryWhere = transformWhere(where || []);
|
|
433
|
+
// Use deleteMany directly - more efficient than find + delete
|
|
434
|
+
// The where clause should uniquely identify the record (usually by id or email)
|
|
435
|
+
await db.deleteMany(collection, queryWhere);
|
|
436
|
+
}),
|
|
437
|
+
/**
|
|
438
|
+
* Delete multiple records
|
|
439
|
+
*/
|
|
440
|
+
deleteMany: withErrorHandling("deleteMany", debugEnabled, async ({ model, where }) => {
|
|
441
|
+
const collection = getCollectionName(getModelName(model));
|
|
442
|
+
const queryWhere = transformWhere(where || []);
|
|
443
|
+
return db.deleteMany(collection, queryWhere);
|
|
444
|
+
}),
|
|
445
|
+
};
|
|
446
|
+
},
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Create the Better-Auth adapter with a database instance
|
|
451
|
+
*
|
|
452
|
+
* Returns the adapter factory directly - Better-Auth knows how to handle this.
|
|
453
|
+
* Do NOT wrap or modify the factory result, as this breaks Better-Auth's
|
|
454
|
+
* internal getCurrentAdapter function.
|
|
455
|
+
*/
|
|
456
|
+
function archlastBetterAuthAdapter(db, config = {}) {
|
|
457
|
+
// Return the factory directly - Better-Auth expects this format
|
|
458
|
+
return createArchlastBetterAuthAdapter(db, config);
|
|
459
|
+
}
|
|
460
|
+
//# sourceMappingURL=better-auth-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"better-auth-adapter.js","sourceRoot":"","sources":["../../src/auth/better-auth-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Better-Auth Admin Helpers
|
|
3
|
+
*
|
|
4
|
+
* NOTE: Most functionality has moved to role-helpers.ts
|
|
5
|
+
* - Use `requireAdmin` from role-helpers.ts for admin authentication
|
|
6
|
+
* - Use `isAdminRole` from role-helpers.ts for role checking
|
|
7
|
+
*
|
|
8
|
+
* This file now only contains setupFirstAdmin for initial admin setup.
|
|
9
|
+
*/
|
|
10
|
+
import type { BetterAuthInstance } from "./better-auth-instance.js";
|
|
11
|
+
/**
|
|
12
|
+
* Create the first admin user (setup flow)
|
|
13
|
+
*
|
|
14
|
+
* This is used by the /setup endpoint when initializing the system.
|
|
15
|
+
* After the first user is created, the databaseHooks in better-auth-instance.ts
|
|
16
|
+
* will automatically promote subsequent first users to super-admin.
|
|
17
|
+
*
|
|
18
|
+
* Uses Better-Auth's admin plugin API instead of direct database access.
|
|
19
|
+
*/
|
|
20
|
+
export declare function setupFirstAdmin(auth: BetterAuthInstance, email: string, password: string, name?: string): Promise<{
|
|
21
|
+
success: boolean;
|
|
22
|
+
user?: any;
|
|
23
|
+
error?: string;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Use `requireAdmin` from `role-helpers.ts` instead
|
|
27
|
+
*/
|
|
28
|
+
export declare function requireBetterAuthAdmin(auth: BetterAuthInstance, request: Request): Promise<{
|
|
29
|
+
user: any;
|
|
30
|
+
session: any;
|
|
31
|
+
role: import("./role-helpers.js").Role;
|
|
32
|
+
} | null>;
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated Use `isAdminRole` from `role-helpers.ts` instead
|
|
35
|
+
*/
|
|
36
|
+
export declare function isAdminUser(user: {
|
|
37
|
+
role?: string;
|
|
38
|
+
}): boolean;
|
|
39
|
+
export declare const ADMIN_ROLES: readonly ["admin", "super-admin"];
|
|
40
|
+
//# sourceMappingURL=better-auth-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"better-auth-admin.d.ts","sourceRoot":"","sources":["../../src/auth/better-auth-admin.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACjC,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2C3D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CACxC,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,OAAO;;;;UAInB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAG5D;AAED,eAAO,MAAM,WAAW,mCAAoC,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Better-Auth Admin Helpers
|
|
4
|
+
*
|
|
5
|
+
* NOTE: Most functionality has moved to role-helpers.ts
|
|
6
|
+
* - Use `requireAdmin` from role-helpers.ts for admin authentication
|
|
7
|
+
* - Use `isAdminRole` from role-helpers.ts for role checking
|
|
8
|
+
*
|
|
9
|
+
* This file now only contains setupFirstAdmin for initial admin setup.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ADMIN_ROLES = void 0;
|
|
13
|
+
exports.setupFirstAdmin = setupFirstAdmin;
|
|
14
|
+
exports.requireBetterAuthAdmin = requireBetterAuthAdmin;
|
|
15
|
+
exports.isAdminUser = isAdminUser;
|
|
16
|
+
/**
|
|
17
|
+
* Create the first admin user (setup flow)
|
|
18
|
+
*
|
|
19
|
+
* This is used by the /setup endpoint when initializing the system.
|
|
20
|
+
* After the first user is created, the databaseHooks in better-auth-instance.ts
|
|
21
|
+
* will automatically promote subsequent first users to super-admin.
|
|
22
|
+
*
|
|
23
|
+
* Uses Better-Auth's admin plugin API instead of direct database access.
|
|
24
|
+
*/
|
|
25
|
+
async function setupFirstAdmin(auth, email, password, name) {
|
|
26
|
+
try {
|
|
27
|
+
// Check if any admin users exist using Better-Auth's listUsers API
|
|
28
|
+
const listResult = await auth.api.admin.listUsers({
|
|
29
|
+
query: { limit: 1, offset: 0 }
|
|
30
|
+
});
|
|
31
|
+
if (listResult?.users && listResult.users.length > 0) {
|
|
32
|
+
// Check if any user has admin role
|
|
33
|
+
const hasAdmin = listResult.users.some((u) => u.role === "admin" || u.role === "super-admin");
|
|
34
|
+
if (hasAdmin) {
|
|
35
|
+
return { success: false, error: "Admin already exists" };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Create user with admin role using Better-Auth signUpEmail
|
|
39
|
+
const result = await auth.api.signUpEmail({
|
|
40
|
+
body: {
|
|
41
|
+
email,
|
|
42
|
+
password,
|
|
43
|
+
name: name || email.split("@")[0],
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
if (!result?.user) {
|
|
47
|
+
return { success: false, error: "Failed to create user" };
|
|
48
|
+
}
|
|
49
|
+
// Set admin role using Better-Auth's admin plugin API
|
|
50
|
+
await auth.api.admin.setRole({
|
|
51
|
+
body: {
|
|
52
|
+
userId: result.user.id,
|
|
53
|
+
role: "admin",
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
return { success: true, user: result.user };
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return {
|
|
60
|
+
success: false,
|
|
61
|
+
error: error instanceof Error ? error.message : String(error),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* @deprecated Use `requireAdmin` from `role-helpers.ts` instead
|
|
67
|
+
*/
|
|
68
|
+
async function requireBetterAuthAdmin(auth, request) {
|
|
69
|
+
const { requireAdmin } = await import("./role-helpers.js");
|
|
70
|
+
return requireAdmin(auth, request);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @deprecated Use `isAdminRole` from `role-helpers.ts` instead
|
|
74
|
+
*/
|
|
75
|
+
function isAdminUser(user) {
|
|
76
|
+
const { isAdminRole } = require("./role-helpers.js");
|
|
77
|
+
return isAdminRole(user.role);
|
|
78
|
+
}
|
|
79
|
+
exports.ADMIN_ROLES = ["admin", "super-admin"];
|
|
80
|
+
//# sourceMappingURL=better-auth-admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"better-auth-admin.js","sourceRoot":"","sources":["../../src/auth/better-auth-admin.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAaH,0CAgDC;AAKD,wDAMC;AAKD,kCAGC;AA5ED;;;;;;;;GAQG;AACI,KAAK,UAAU,eAAe,CACjC,IAAwB,EACxB,KAAa,EACb,QAAgB,EAChB,IAAa;IAEb,IAAI,CAAC;QACD,mEAAmE;QACnE,MAAM,UAAU,GAAG,MAAO,IAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YACvD,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;SACjC,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnD,mCAAmC;YACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YACnG,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;YAC7D,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,MAAM,MAAM,GAAG,MAAO,IAAY,CAAC,GAAG,CAAC,WAAW,CAAC;YAC/C,IAAI,EAAE;gBACF,KAAK;gBACL,QAAQ;gBACR,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACpC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC;QAC9D,CAAC;QAED,sDAAsD;QACtD,MAAO,IAAY,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAClC,IAAI,EAAE;gBACF,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBACtB,IAAI,EAAE,OAAO;aAChB;SACJ,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE,CAAC;IACN,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CACxC,IAAwB,EACxB,OAAgB;IAEhB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAuB;IAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAEY,QAAA,WAAW,GAAG,CAAC,OAAO,EAAE,aAAa,CAAU,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Better-Auth API Key Resolver
|
|
3
|
+
*
|
|
4
|
+
* Validates API keys from Better-Auth's apiKey plugin.
|
|
5
|
+
*
|
|
6
|
+
* Better-Auth API key format:
|
|
7
|
+
* - Prefix: arch_ (configurable, defaults to arch_)
|
|
8
|
+
* - Headers: x-api-key or Authorization: Bearer <key>
|
|
9
|
+
* - Storage: system_auth_api_key collection
|
|
10
|
+
* - Features: Rate limiting, expiration, metadata, permissions
|
|
11
|
+
*
|
|
12
|
+
* This resolver takes precedence over the legacy arc_key_* system.
|
|
13
|
+
*/
|
|
14
|
+
import type { AuthInput, AuthContext } from "./interfaces.js";
|
|
15
|
+
import type { BetterAuthInstance } from "./better-auth-instance.js";
|
|
16
|
+
export interface BetterAuthApiKeyResolverOptions {
|
|
17
|
+
auth: BetterAuthInstance;
|
|
18
|
+
}
|
|
19
|
+
export declare class BetterAuthApiKeyResolver {
|
|
20
|
+
private auth;
|
|
21
|
+
constructor(options: BetterAuthApiKeyResolverOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Extract API key from request headers
|
|
24
|
+
* Checks both x-api-key and Authorization: Bearer header
|
|
25
|
+
*/
|
|
26
|
+
private extractApiKey;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve Better-Auth API key to AuthContext
|
|
29
|
+
*
|
|
30
|
+
* Steps:
|
|
31
|
+
* 1. Extract API key from headers
|
|
32
|
+
* 2. Verify using Better-Auth's verifyApiKey API
|
|
33
|
+
* 3. Check if key is enabled and not expired
|
|
34
|
+
* 4. Use user data from response (Better-Auth includes user in verifyApiKey response)
|
|
35
|
+
* 5. Build AuthContext with user context and permissions
|
|
36
|
+
*/
|
|
37
|
+
resolve(input: AuthInput): Promise<AuthContext | null>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=better-auth-api-key-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"better-auth-api-key-resolver.d.ts","sourceRoot":"","sources":["../../src/auth/better-auth-api-key-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,MAAM,WAAW,+BAA+B;IAC5C,IAAI,EAAE,kBAAkB,CAAC;CAC5B;AAED,qBAAa,wBAAwB;IACjC,OAAO,CAAC,IAAI,CAAqB;gBAErB,OAAO,EAAE,+BAA+B;IAIpD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAyBrB;;;;;;;;;OASG;IACG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;CA2I/D"}
|