@kabyeon/nexusjs 0.6.5
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 +860 -0
- package/dist/auth/auth.controller.d.ts +175 -0
- package/dist/auth/auth.controller.d.ts.map +1 -0
- package/dist/auth/auth.d.ts +47 -0
- package/dist/auth/auth.d.ts.map +1 -0
- package/dist/auth/auth.module.d.ts +34 -0
- package/dist/auth/auth.module.d.ts.map +1 -0
- package/dist/auth/auth.service.d.ts +192 -0
- package/dist/auth/auth.service.d.ts.map +1 -0
- package/dist/auth/decorators/current-user.d.ts +58 -0
- package/dist/auth/decorators/current-user.d.ts.map +1 -0
- package/dist/auth/index.d.ts +43 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +730 -0
- package/dist/auth/index.js.map +25 -0
- package/dist/auth/middleware.d.ts +50 -0
- package/dist/auth/middleware.d.ts.map +1 -0
- package/dist/auth/types.d.ts +135 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/cache/cache.module.d.ts +22 -0
- package/dist/cache/cache.module.d.ts.map +1 -0
- package/dist/cache/cache.service.d.ts +37 -0
- package/dist/cache/cache.service.d.ts.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 +814 -0
- package/dist/cache/index.js.map +25 -0
- package/dist/cache/stores/drizzle.d.ts +76 -0
- package/dist/cache/stores/drizzle.d.ts.map +1 -0
- package/dist/cache/stores/index.d.ts +10 -0
- package/dist/cache/stores/index.d.ts.map +1 -0
- package/dist/cache/stores/memory.d.ts +34 -0
- package/dist/cache/stores/memory.d.ts.map +1 -0
- package/dist/cache/stores/redis.d.ts +46 -0
- package/dist/cache/stores/redis.d.ts.map +1 -0
- package/dist/cache/types.d.ts +88 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cli/commands/config.d.ts +44 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/db-generate.d.ts +20 -0
- package/dist/cli/commands/db-generate.d.ts.map +1 -0
- package/dist/cli/commands/db-migrate.d.ts +33 -0
- package/dist/cli/commands/db-migrate.d.ts.map +1 -0
- package/dist/cli/commands/db-seed.d.ts +43 -0
- package/dist/cli/commands/db-seed.d.ts.map +1 -0
- package/dist/cli/commands/index.d.ts +11 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/info.d.ts +11 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/init.d.ts +38 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/make-auth.d.ts +17 -0
- package/dist/cli/commands/make-auth.d.ts.map +1 -0
- package/dist/cli/commands/make-controller.d.ts +16 -0
- package/dist/cli/commands/make-controller.d.ts.map +1 -0
- package/dist/cli/commands/make-crud.d.ts +28 -0
- package/dist/cli/commands/make-crud.d.ts.map +1 -0
- package/dist/cli/commands/make-listener.d.ts +15 -0
- package/dist/cli/commands/make-listener.d.ts.map +1 -0
- package/dist/cli/commands/make-middleware.d.ts +7 -0
- package/dist/cli/commands/make-middleware.d.ts.map +1 -0
- package/dist/cli/commands/make-migration.d.ts +21 -0
- package/dist/cli/commands/make-migration.d.ts.map +1 -0
- package/dist/cli/commands/make-model.d.ts +22 -0
- package/dist/cli/commands/make-model.d.ts.map +1 -0
- package/dist/cli/commands/make-module.d.ts +11 -0
- package/dist/cli/commands/make-module.d.ts.map +1 -0
- package/dist/cli/commands/make-queue.d.ts +17 -0
- package/dist/cli/commands/make-queue.d.ts.map +1 -0
- package/dist/cli/commands/make-schedule.d.ts +17 -0
- package/dist/cli/commands/make-schedule.d.ts.map +1 -0
- package/dist/cli/commands/make-service.d.ts +7 -0
- package/dist/cli/commands/make-service.d.ts.map +1 -0
- package/dist/cli/commands/make-session.d.ts +15 -0
- package/dist/cli/commands/make-session.d.ts.map +1 -0
- package/dist/cli/commands/make-validator.d.ts +7 -0
- package/dist/cli/commands/make-validator.d.ts.map +1 -0
- package/dist/cli/commands/new.d.ts +14 -0
- package/dist/cli/commands/new.d.ts.map +1 -0
- package/dist/cli/commands/repl.d.ts +42 -0
- package/dist/cli/commands/repl.d.ts.map +1 -0
- package/dist/cli/commands/route-list.d.ts +12 -0
- package/dist/cli/commands/route-list.d.ts.map +1 -0
- package/dist/cli/core/args.d.ts +29 -0
- package/dist/cli/core/args.d.ts.map +1 -0
- package/dist/cli/core/config.d.ts +137 -0
- package/dist/cli/core/config.d.ts.map +1 -0
- package/dist/cli/core/fs.d.ts +38 -0
- package/dist/cli/core/fs.d.ts.map +1 -0
- package/dist/cli/core/index.d.ts +42 -0
- package/dist/cli/core/index.d.ts.map +1 -0
- package/dist/cli/core/logger.d.ts +46 -0
- package/dist/cli/core/logger.d.ts.map +1 -0
- package/dist/cli/core/loose-json.d.ts +26 -0
- package/dist/cli/core/loose-json.d.ts.map +1 -0
- package/dist/cli/core/prompts.d.ts +22 -0
- package/dist/cli/core/prompts.d.ts.map +1 -0
- package/dist/cli/core/template.d.ts +26 -0
- package/dist/cli/core/template.d.ts.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +6136 -0
- package/dist/cli/index.js.map +91 -0
- package/dist/cli/templates/controller/adonis.d.ts +10 -0
- package/dist/cli/templates/controller/adonis.d.ts.map +1 -0
- package/dist/cli/templates/controller/functional.d.ts +9 -0
- package/dist/cli/templates/controller/functional.d.ts.map +1 -0
- package/dist/cli/templates/controller/nest.d.ts +17 -0
- package/dist/cli/templates/controller/nest.d.ts.map +1 -0
- package/dist/cli/templates/crud/controller.d.ts +8 -0
- package/dist/cli/templates/crud/controller.d.ts.map +1 -0
- package/dist/cli/templates/crud/dto.d.ts +8 -0
- package/dist/cli/templates/crud/dto.d.ts.map +1 -0
- package/dist/cli/templates/crud/index.d.ts +33 -0
- package/dist/cli/templates/crud/index.d.ts.map +1 -0
- package/dist/cli/templates/crud/module.d.ts +6 -0
- package/dist/cli/templates/crud/module.d.ts.map +1 -0
- package/dist/cli/templates/crud/test.d.ts +10 -0
- package/dist/cli/templates/crud/test.d.ts.map +1 -0
- package/dist/cli/templates/index.d.ts +39 -0
- package/dist/cli/templates/index.d.ts.map +1 -0
- package/dist/cli/templates/middleware/middleware.d.ts +8 -0
- package/dist/cli/templates/middleware/middleware.d.ts.map +1 -0
- package/dist/cli/templates/migration/drizzle.d.ts +12 -0
- package/dist/cli/templates/migration/drizzle.d.ts.map +1 -0
- package/dist/cli/templates/migration/sql.d.ts +10 -0
- package/dist/cli/templates/migration/sql.d.ts.map +1 -0
- package/dist/cli/templates/model/drizzle-dialect.d.ts +29 -0
- package/dist/cli/templates/model/drizzle-dialect.d.ts.map +1 -0
- package/dist/cli/templates/model/drizzle.d.ts +14 -0
- package/dist/cli/templates/model/drizzle.d.ts.map +1 -0
- package/dist/cli/templates/model/kysely.d.ts +12 -0
- package/dist/cli/templates/model/kysely.d.ts.map +1 -0
- package/dist/cli/templates/model/prisma.d.ts +12 -0
- package/dist/cli/templates/model/prisma.d.ts.map +1 -0
- package/dist/cli/templates/module/module.d.ts +16 -0
- package/dist/cli/templates/module/module.d.ts.map +1 -0
- package/dist/cli/templates/project/drizzle.config.d.ts +12 -0
- package/dist/cli/templates/project/drizzle.config.d.ts.map +1 -0
- package/dist/cli/templates/project/nx.config.d.ts +7 -0
- package/dist/cli/templates/project/nx.config.d.ts.map +1 -0
- package/dist/cli/templates/repository/repository.d.ts +13 -0
- package/dist/cli/templates/repository/repository.d.ts.map +1 -0
- package/dist/cli/templates/service/service.d.ts +12 -0
- package/dist/cli/templates/service/service.d.ts.map +1 -0
- package/dist/cli/templates/validator/validator.d.ts +8 -0
- package/dist/cli/templates/validator/validator.d.ts.map +1 -0
- package/dist/config/config.module.d.ts +39 -0
- package/dist/config/config.module.d.ts.map +1 -0
- package/dist/config/config.service.d.ts +47 -0
- package/dist/config/config.service.d.ts.map +1 -0
- package/dist/config/index.d.ts +39 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +436 -0
- package/dist/config/index.js.map +21 -0
- package/dist/config/types.d.ts +78 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/core/application.d.ts +77 -0
- package/dist/core/application.d.ts.map +1 -0
- package/dist/core/constants.d.ts +48 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/decorators/controller.d.ts +21 -0
- package/dist/core/decorators/controller.d.ts.map +1 -0
- package/dist/core/decorators/http-methods.d.ts +33 -0
- package/dist/core/decorators/http-methods.d.ts.map +1 -0
- package/dist/core/decorators/index.d.ts +12 -0
- package/dist/core/decorators/index.d.ts.map +1 -0
- package/dist/core/decorators/injectable.d.ts +42 -0
- package/dist/core/decorators/injectable.d.ts.map +1 -0
- package/dist/core/decorators/metadata.d.ts +7 -0
- package/dist/core/decorators/metadata.d.ts.map +1 -0
- package/dist/core/decorators/module.d.ts +23 -0
- package/dist/core/decorators/module.d.ts.map +1 -0
- package/dist/core/decorators/params.d.ts +33 -0
- package/dist/core/decorators/params.d.ts.map +1 -0
- package/dist/core/decorators/repository.d.ts +24 -0
- package/dist/core/decorators/repository.d.ts.map +1 -0
- package/dist/core/decorators/validate.d.ts +21 -0
- package/dist/core/decorators/validate.d.ts.map +1 -0
- package/dist/core/di/container.d.ts +70 -0
- package/dist/core/di/container.d.ts.map +1 -0
- package/dist/core/di/index.d.ts +9 -0
- package/dist/core/di/index.d.ts.map +1 -0
- package/dist/core/di/request-middleware.d.ts +36 -0
- package/dist/core/di/request-middleware.d.ts.map +1 -0
- package/dist/core/di/request-scope.d.ts +45 -0
- package/dist/core/di/request-scope.d.ts.map +1 -0
- package/dist/core/di/scanner.d.ts +36 -0
- package/dist/core/di/scanner.d.ts.map +1 -0
- package/dist/core/di/tokens.d.ts +98 -0
- package/dist/core/di/tokens.d.ts.map +1 -0
- package/dist/core/http/context.d.ts +30 -0
- package/dist/core/http/context.d.ts.map +1 -0
- package/dist/core/http/index.d.ts +8 -0
- package/dist/core/http/index.d.ts.map +1 -0
- package/dist/core/http/middleware.d.ts +31 -0
- package/dist/core/http/middleware.d.ts.map +1 -0
- package/dist/core/http/router.d.ts +46 -0
- package/dist/core/http/router.d.ts.map +1 -0
- package/dist/core/http/server.d.ts +58 -0
- package/dist/core/http/server.d.ts.map +1 -0
- package/dist/core/index.d.ts +20 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/orm/drizzle-adapter.d.ts +73 -0
- package/dist/core/orm/drizzle-adapter.d.ts.map +1 -0
- package/dist/core/orm/index.d.ts +5 -0
- package/dist/core/orm/index.d.ts.map +1 -0
- package/dist/core/runtime/bun.d.ts +13 -0
- package/dist/core/runtime/bun.d.ts.map +1 -0
- package/dist/core/runtime/cloudflare.d.ts +18 -0
- package/dist/core/runtime/cloudflare.d.ts.map +1 -0
- package/dist/core/runtime/index.d.ts +11 -0
- package/dist/core/runtime/index.d.ts.map +1 -0
- package/dist/core/runtime/node.d.ts +10 -0
- package/dist/core/runtime/node.d.ts.map +1 -0
- package/dist/core/validation/index.d.ts +5 -0
- package/dist/core/validation/index.d.ts.map +1 -0
- package/dist/core/validation/validator.d.ts +46 -0
- package/dist/core/validation/validator.d.ts.map +1 -0
- package/dist/crypto/encryption.d.ts +71 -0
- package/dist/crypto/encryption.d.ts.map +1 -0
- package/dist/crypto/hash.d.ts +52 -0
- package/dist/crypto/hash.d.ts.map +1 -0
- package/dist/crypto/index.d.ts +49 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +533 -0
- package/dist/crypto/index.js.map +14 -0
- package/dist/crypto/module.d.ts +28 -0
- package/dist/crypto/module.d.ts.map +1 -0
- package/dist/crypto/types.d.ts +81 -0
- package/dist/crypto/types.d.ts.map +1 -0
- package/dist/drive/drive.module.d.ts +20 -0
- package/dist/drive/drive.module.d.ts.map +1 -0
- package/dist/drive/drive.service.d.ts +21 -0
- package/dist/drive/drive.service.d.ts.map +1 -0
- package/dist/drive/drivers/index.d.ts +9 -0
- package/dist/drive/drivers/index.d.ts.map +1 -0
- package/dist/drive/drivers/local.d.ts +24 -0
- package/dist/drive/drivers/local.d.ts.map +1 -0
- package/dist/drive/drivers/memory.d.ts +19 -0
- package/dist/drive/drivers/memory.d.ts.map +1 -0
- package/dist/drive/drivers/s3.d.ts +44 -0
- package/dist/drive/drivers/s3.d.ts.map +1 -0
- package/dist/drive/index.d.ts +9 -0
- package/dist/drive/index.d.ts.map +1 -0
- package/dist/drive/index.js +714 -0
- package/dist/drive/index.js.map +25 -0
- package/dist/drive/types.d.ts +97 -0
- package/dist/drive/types.d.ts.map +1 -0
- package/dist/drizzle/decorators/columns.d.ts +16 -0
- package/dist/drizzle/decorators/columns.d.ts.map +1 -0
- package/dist/drizzle/decorators/index.d.ts +6 -0
- package/dist/drizzle/decorators/index.d.ts.map +1 -0
- package/dist/drizzle/drivers/base.d.ts +32 -0
- package/dist/drizzle/drivers/base.d.ts.map +1 -0
- package/dist/drizzle/drivers/bun-sqlite.d.ts +6 -0
- package/dist/drizzle/drivers/bun-sqlite.d.ts.map +1 -0
- package/dist/drizzle/drivers/d1.d.ts +7 -0
- package/dist/drizzle/drivers/d1.d.ts.map +1 -0
- package/dist/drizzle/drivers/index.d.ts +14 -0
- package/dist/drizzle/drivers/index.d.ts.map +1 -0
- package/dist/drizzle/drivers/mysql.d.ts +6 -0
- package/dist/drizzle/drivers/mysql.d.ts.map +1 -0
- package/dist/drizzle/drivers/postgres.d.ts +12 -0
- package/dist/drizzle/drivers/postgres.d.ts.map +1 -0
- package/dist/drizzle/drivers/sqlite.d.ts +8 -0
- package/dist/drizzle/drivers/sqlite.d.ts.map +1 -0
- package/dist/drizzle/drizzle.module.d.ts +29 -0
- package/dist/drizzle/drizzle.module.d.ts.map +1 -0
- package/dist/drizzle/drizzle.service.d.ts +52 -0
- package/dist/drizzle/drizzle.service.d.ts.map +1 -0
- package/dist/drizzle/index.d.ts +13 -0
- package/dist/drizzle/index.d.ts.map +1 -0
- package/dist/drizzle/index.js +979 -0
- package/dist/drizzle/index.js.map +32 -0
- package/dist/drizzle/model.d.ts +26 -0
- package/dist/drizzle/model.d.ts.map +1 -0
- package/dist/drizzle/raw-query.d.ts +41 -0
- package/dist/drizzle/raw-query.d.ts.map +1 -0
- package/dist/drizzle/repository/index.d.ts +6 -0
- package/dist/drizzle/repository/index.d.ts.map +1 -0
- package/dist/drizzle/repository/repository.d.ts +60 -0
- package/dist/drizzle/repository/repository.d.ts.map +1 -0
- package/dist/drizzle/types.d.ts +160 -0
- package/dist/drizzle/types.d.ts.map +1 -0
- package/dist/events/decorators/on-event.d.ts +49 -0
- package/dist/events/decorators/on-event.d.ts.map +1 -0
- package/dist/events/emitter.d.ts +52 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/event.service.d.ts +27 -0
- package/dist/events/event.service.d.ts.map +1 -0
- package/dist/events/events.module.d.ts +35 -0
- package/dist/events/events.module.d.ts.map +1 -0
- package/dist/events/index.d.ts +43 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +646 -0
- package/dist/events/index.js.map +23 -0
- package/dist/events/types.d.ts +120 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/grpc/decorators.d.ts +34 -0
- package/dist/grpc/decorators.d.ts.map +1 -0
- package/dist/grpc/index.d.ts +70 -0
- package/dist/grpc/index.d.ts.map +1 -0
- package/dist/grpc/index.js +528 -0
- package/dist/grpc/index.js.map +22 -0
- package/dist/grpc/module.d.ts +32 -0
- package/dist/grpc/module.d.ts.map +1 -0
- package/dist/grpc/service.d.ts +60 -0
- package/dist/grpc/service.d.ts.map +1 -0
- package/dist/grpc/types.d.ts +79 -0
- package/dist/grpc/types.d.ts.map +1 -0
- package/dist/health/health.controller.d.ts +61 -0
- package/dist/health/health.controller.d.ts.map +1 -0
- package/dist/health/health.module.d.ts +29 -0
- package/dist/health/health.module.d.ts.map +1 -0
- package/dist/health/health.service.d.ts +34 -0
- package/dist/health/health.service.d.ts.map +1 -0
- package/dist/health/index.d.ts +38 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +599 -0
- package/dist/health/index.js.map +25 -0
- package/dist/health/indicators/drizzle.d.ts +18 -0
- package/dist/health/indicators/drizzle.d.ts.map +1 -0
- package/dist/health/indicators/index.d.ts +59 -0
- package/dist/health/indicators/index.d.ts.map +1 -0
- package/dist/health/types.d.ts +105 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/i18n/decorators.d.ts +14 -0
- package/dist/i18n/decorators.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +48 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +589 -0
- package/dist/i18n/index.js.map +17 -0
- package/dist/i18n/middleware.d.ts +26 -0
- package/dist/i18n/middleware.d.ts.map +1 -0
- package/dist/i18n/module.d.ts +39 -0
- package/dist/i18n/module.d.ts.map +1 -0
- package/dist/i18n/service.d.ts +130 -0
- package/dist/i18n/service.d.ts.map +1 -0
- package/dist/i18n/types.d.ts +65 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2056 -0
- package/dist/index.js.map +53 -0
- package/dist/limiter/backends/drizzle.d.ts +40 -0
- package/dist/limiter/backends/drizzle.d.ts.map +1 -0
- package/dist/limiter/backends/index.d.ts +6 -0
- package/dist/limiter/backends/index.d.ts.map +1 -0
- package/dist/limiter/backends/memory.d.ts +28 -0
- package/dist/limiter/backends/memory.d.ts.map +1 -0
- package/dist/limiter/index.d.ts +9 -0
- package/dist/limiter/index.d.ts.map +1 -0
- package/dist/limiter/index.js +640 -0
- package/dist/limiter/index.js.map +25 -0
- package/dist/limiter/limiter.middleware.d.ts +11 -0
- package/dist/limiter/limiter.middleware.d.ts.map +1 -0
- package/dist/limiter/limiter.module.d.ts +23 -0
- package/dist/limiter/limiter.module.d.ts.map +1 -0
- package/dist/limiter/limiter.service.d.ts +18 -0
- package/dist/limiter/limiter.service.d.ts.map +1 -0
- package/dist/limiter/types.d.ts +99 -0
- package/dist/limiter/types.d.ts.map +1 -0
- package/dist/logger/index.d.ts +36 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +538 -0
- package/dist/logger/index.js.map +22 -0
- package/dist/logger/logger.module.d.ts +35 -0
- package/dist/logger/logger.module.d.ts.map +1 -0
- package/dist/logger/logger.service.d.ts +55 -0
- package/dist/logger/logger.service.d.ts.map +1 -0
- package/dist/logger/transports/index.d.ts +35 -0
- package/dist/logger/transports/index.d.ts.map +1 -0
- package/dist/logger/types.d.ts +58 -0
- package/dist/logger/types.d.ts.map +1 -0
- package/dist/mail/index.d.ts +9 -0
- package/dist/mail/index.d.ts.map +1 -0
- package/dist/mail/index.js +479 -0
- package/dist/mail/index.js.map +25 -0
- package/dist/mail/mail.module.d.ts +21 -0
- package/dist/mail/mail.module.d.ts.map +1 -0
- package/dist/mail/mail.service.d.ts +18 -0
- package/dist/mail/mail.service.d.ts.map +1 -0
- package/dist/mail/transports/file.d.ts +19 -0
- package/dist/mail/transports/file.d.ts.map +1 -0
- package/dist/mail/transports/index.d.ts +9 -0
- package/dist/mail/transports/index.d.ts.map +1 -0
- package/dist/mail/transports/null.d.ts +11 -0
- package/dist/mail/transports/null.d.ts.map +1 -0
- package/dist/mail/transports/smtp.d.ts +40 -0
- package/dist/mail/transports/smtp.d.ts.map +1 -0
- package/dist/mail/types.d.ts +73 -0
- package/dist/mail/types.d.ts.map +1 -0
- package/dist/metrics/controller.d.ts +27 -0
- package/dist/metrics/controller.d.ts.map +1 -0
- package/dist/metrics/counter.d.ts +36 -0
- package/dist/metrics/counter.d.ts.map +1 -0
- package/dist/metrics/decorators/counted.d.ts +26 -0
- package/dist/metrics/decorators/counted.d.ts.map +1 -0
- package/dist/metrics/decorators/index.d.ts +3 -0
- package/dist/metrics/decorators/index.d.ts.map +1 -0
- package/dist/metrics/decorators/timed.d.ts +25 -0
- package/dist/metrics/decorators/timed.d.ts.map +1 -0
- package/dist/metrics/gauge.d.ts +38 -0
- package/dist/metrics/gauge.d.ts.map +1 -0
- package/dist/metrics/histogram.d.ts +52 -0
- package/dist/metrics/histogram.d.ts.map +1 -0
- package/dist/metrics/index.d.ts +35 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +1033 -0
- package/dist/metrics/index.js.map +21 -0
- package/dist/metrics/module.d.ts +33 -0
- package/dist/metrics/module.d.ts.map +1 -0
- package/dist/metrics/registry.d.ts +52 -0
- package/dist/metrics/registry.d.ts.map +1 -0
- package/dist/metrics/service.d.ts +42 -0
- package/dist/metrics/service.d.ts.map +1 -0
- package/dist/metrics/summary.d.ts +50 -0
- package/dist/metrics/summary.d.ts.map +1 -0
- package/dist/metrics/types.d.ts +115 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/openapi/decorators/body.d.ts +9 -0
- package/dist/openapi/decorators/body.d.ts.map +1 -0
- package/dist/openapi/decorators/index.d.ts +11 -0
- package/dist/openapi/decorators/index.d.ts.map +1 -0
- package/dist/openapi/decorators/operation.d.ts +9 -0
- package/dist/openapi/decorators/operation.d.ts.map +1 -0
- package/dist/openapi/decorators/param.d.ts +17 -0
- package/dist/openapi/decorators/param.d.ts.map +1 -0
- package/dist/openapi/decorators/property.d.ts +24 -0
- package/dist/openapi/decorators/property.d.ts.map +1 -0
- package/dist/openapi/decorators/response.d.ts +10 -0
- package/dist/openapi/decorators/response.d.ts.map +1 -0
- package/dist/openapi/decorators/security.d.ts +9 -0
- package/dist/openapi/decorators/security.d.ts.map +1 -0
- package/dist/openapi/decorators/tags.d.ts +2 -0
- package/dist/openapi/decorators/tags.d.ts.map +1 -0
- package/dist/openapi/index.d.ts +10 -0
- package/dist/openapi/index.d.ts.map +1 -0
- package/dist/openapi/index.js +974 -0
- package/dist/openapi/index.js.map +31 -0
- package/dist/openapi/openapi.module.d.ts +46 -0
- package/dist/openapi/openapi.module.d.ts.map +1 -0
- package/dist/openapi/openapi.service.d.ts +55 -0
- package/dist/openapi/openapi.service.d.ts.map +1 -0
- package/dist/openapi/scalar.d.ts +16 -0
- package/dist/openapi/scalar.d.ts.map +1 -0
- package/dist/openapi/types.d.ts +266 -0
- package/dist/openapi/types.d.ts.map +1 -0
- package/dist/openapi/zod-to-json-schema.d.ts +34 -0
- package/dist/openapi/zod-to-json-schema.d.ts.map +1 -0
- package/dist/package.json +59 -0
- package/dist/queue/backends/bullmq.d.ts +41 -0
- package/dist/queue/backends/bullmq.d.ts.map +1 -0
- package/dist/queue/backends/cloudflare.d.ts +84 -0
- package/dist/queue/backends/cloudflare.d.ts.map +1 -0
- package/dist/queue/backends/index.d.ts +7 -0
- package/dist/queue/backends/index.d.ts.map +1 -0
- package/dist/queue/backends/memory.d.ts +24 -0
- package/dist/queue/backends/memory.d.ts.map +1 -0
- package/dist/queue/decorators/on-queue-ready.d.ts +43 -0
- package/dist/queue/decorators/on-queue-ready.d.ts.map +1 -0
- package/dist/queue/index.d.ts +57 -0
- package/dist/queue/index.d.ts.map +1 -0
- package/dist/queue/index.js +961 -0
- package/dist/queue/index.js.map +25 -0
- package/dist/queue/queue.module.d.ts +46 -0
- package/dist/queue/queue.module.d.ts.map +1 -0
- package/dist/queue/queue.service.d.ts +61 -0
- package/dist/queue/queue.service.d.ts.map +1 -0
- package/dist/queue/types.d.ts +204 -0
- package/dist/queue/types.d.ts.map +1 -0
- package/dist/redis/adapters/bun.d.ts +27 -0
- package/dist/redis/adapters/bun.d.ts.map +1 -0
- package/dist/redis/adapters/cloudflare.d.ts +51 -0
- package/dist/redis/adapters/cloudflare.d.ts.map +1 -0
- package/dist/redis/adapters/index.d.ts +29 -0
- package/dist/redis/adapters/index.d.ts.map +1 -0
- package/dist/redis/adapters/memory.d.ts +28 -0
- package/dist/redis/adapters/memory.d.ts.map +1 -0
- package/dist/redis/adapters/node.d.ts +36 -0
- package/dist/redis/adapters/node.d.ts.map +1 -0
- package/dist/redis/index.d.ts +33 -0
- package/dist/redis/index.d.ts.map +1 -0
- package/dist/redis/index.js +667 -0
- package/dist/redis/index.js.map +25 -0
- package/dist/redis/module.d.ts +32 -0
- package/dist/redis/module.d.ts.map +1 -0
- package/dist/redis/types.d.ts +146 -0
- package/dist/redis/types.d.ts.map +1 -0
- package/dist/schedule/backends/cloudflare.d.ts +55 -0
- package/dist/schedule/backends/cloudflare.d.ts.map +1 -0
- package/dist/schedule/backends/index.d.ts +3 -0
- package/dist/schedule/backends/index.d.ts.map +1 -0
- package/dist/schedule/backends/memory.d.ts +39 -0
- package/dist/schedule/backends/memory.d.ts.map +1 -0
- package/dist/schedule/cron-parser.d.ts +48 -0
- package/dist/schedule/cron-parser.d.ts.map +1 -0
- package/dist/schedule/decorators/cron.d.ts +71 -0
- package/dist/schedule/decorators/cron.d.ts.map +1 -0
- package/dist/schedule/index.d.ts +51 -0
- package/dist/schedule/index.d.ts.map +1 -0
- package/dist/schedule/index.js +1108 -0
- package/dist/schedule/index.js.map +25 -0
- package/dist/schedule/schedule.module.d.ts +44 -0
- package/dist/schedule/schedule.module.d.ts.map +1 -0
- package/dist/schedule/schedule.service.d.ts +51 -0
- package/dist/schedule/schedule.service.d.ts.map +1 -0
- package/dist/schedule/types.d.ts +150 -0
- package/dist/schedule/types.d.ts.map +1 -0
- package/dist/session/backends/cookie.d.ts +56 -0
- package/dist/session/backends/cookie.d.ts.map +1 -0
- package/dist/session/backends/drizzle.d.ts +65 -0
- package/dist/session/backends/drizzle.d.ts.map +1 -0
- package/dist/session/backends/index.d.ts +6 -0
- package/dist/session/backends/index.d.ts.map +1 -0
- package/dist/session/backends/memory.d.ts +32 -0
- package/dist/session/backends/memory.d.ts.map +1 -0
- package/dist/session/backends/redis.d.ts +53 -0
- package/dist/session/backends/redis.d.ts.map +1 -0
- package/dist/session/decorators/current-session.d.ts +56 -0
- package/dist/session/decorators/current-session.d.ts.map +1 -0
- package/dist/session/index.d.ts +42 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +1498 -0
- package/dist/session/index.js.map +28 -0
- package/dist/session/session-middleware.d.ts +29 -0
- package/dist/session/session-middleware.d.ts.map +1 -0
- package/dist/session/session.module.d.ts +35 -0
- package/dist/session/session.module.d.ts.map +1 -0
- package/dist/session/session.service.d.ts +49 -0
- package/dist/session/session.service.d.ts.map +1 -0
- package/dist/session/types.d.ts +201 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/shield/guards/csrf.d.ts +33 -0
- package/dist/shield/guards/csrf.d.ts.map +1 -0
- package/dist/shield/guards/headers.d.ts +22 -0
- package/dist/shield/guards/headers.d.ts.map +1 -0
- package/dist/shield/guards/index.d.ts +6 -0
- package/dist/shield/guards/index.d.ts.map +1 -0
- package/dist/shield/index.d.ts +8 -0
- package/dist/shield/index.d.ts.map +1 -0
- package/dist/shield/index.js +728 -0
- package/dist/shield/index.js.map +25 -0
- package/dist/shield/shield.module.d.ts +25 -0
- package/dist/shield/shield.module.d.ts.map +1 -0
- package/dist/shield/shield.service.d.ts +21 -0
- package/dist/shield/shield.service.d.ts.map +1 -0
- package/dist/shield/types.d.ts +95 -0
- package/dist/shield/types.d.ts.map +1 -0
- package/dist/sse/index.d.ts +7 -0
- package/dist/sse/index.d.ts.map +1 -0
- package/dist/sse/index.js +214 -0
- package/dist/sse/index.js.map +13 -0
- package/dist/sse/sse-stream.d.ts +46 -0
- package/dist/sse/sse-stream.d.ts.map +1 -0
- package/dist/sse/sse.d.ts +24 -0
- package/dist/sse/sse.d.ts.map +1 -0
- package/dist/sse/types.d.ts +84 -0
- package/dist/sse/types.d.ts.map +1 -0
- package/dist/static/index.d.ts +41 -0
- package/dist/static/index.d.ts.map +1 -0
- package/dist/static/index.js +313 -0
- package/dist/static/index.js.map +13 -0
- package/dist/static/static.module.d.ts +41 -0
- package/dist/static/static.module.d.ts.map +1 -0
- package/dist/static/static.service.d.ts +38 -0
- package/dist/static/static.service.d.ts.map +1 -0
- package/dist/tracing/decorators/index.d.ts +2 -0
- package/dist/tracing/decorators/index.d.ts.map +1 -0
- package/dist/tracing/decorators/trace.d.ts +37 -0
- package/dist/tracing/decorators/trace.d.ts.map +1 -0
- package/dist/tracing/hono-instrumentation.d.ts +21 -0
- package/dist/tracing/hono-instrumentation.d.ts.map +1 -0
- package/dist/tracing/index.d.ts +29 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +782 -0
- package/dist/tracing/index.js.map +24 -0
- package/dist/tracing/module.d.ts +45 -0
- package/dist/tracing/module.d.ts.map +1 -0
- package/dist/tracing/propagation.d.ts +53 -0
- package/dist/tracing/propagation.d.ts.map +1 -0
- package/dist/tracing/service.d.ts +95 -0
- package/dist/tracing/service.d.ts.map +1 -0
- package/dist/tracing/types.d.ts +90 -0
- package/dist/tracing/types.d.ts.map +1 -0
- package/dist/upload/decorators/index.d.ts +6 -0
- package/dist/upload/decorators/index.d.ts.map +1 -0
- package/dist/upload/decorators/upload.d.ts +16 -0
- package/dist/upload/decorators/upload.d.ts.map +1 -0
- package/dist/upload/decorators/uploaded-file.d.ts +10 -0
- package/dist/upload/decorators/uploaded-file.d.ts.map +1 -0
- package/dist/upload/index.d.ts +9 -0
- package/dist/upload/index.d.ts.map +1 -0
- package/dist/upload/index.js +553 -0
- package/dist/upload/index.js.map +25 -0
- package/dist/upload/types.d.ts +103 -0
- package/dist/upload/types.d.ts.map +1 -0
- package/dist/upload/upload.middleware.d.ts +15 -0
- package/dist/upload/upload.middleware.d.ts.map +1 -0
- package/dist/upload/upload.module.d.ts +33 -0
- package/dist/upload/upload.module.d.ts.map +1 -0
- package/dist/upload/upload.service.d.ts +29 -0
- package/dist/upload/upload.service.d.ts.map +1 -0
- package/dist/view/edge.d.ts +23 -0
- package/dist/view/edge.d.ts.map +1 -0
- package/dist/view/eta.d.ts +30 -0
- package/dist/view/eta.d.ts.map +1 -0
- package/dist/view/index.d.ts +34 -0
- package/dist/view/index.d.ts.map +1 -0
- package/dist/view/index.js +240 -0
- package/dist/view/index.js.map +14 -0
- package/dist/view/inertia/default-ssr.d.ts +15 -0
- package/dist/view/inertia/default-ssr.d.ts.map +1 -0
- package/dist/view/inertia/form-helper.d.ts +102 -0
- package/dist/view/inertia/form-helper.d.ts.map +1 -0
- package/dist/view/inertia/form-middleware.d.ts +53 -0
- package/dist/view/inertia/form-middleware.d.ts.map +1 -0
- package/dist/view/inertia/helpers.d.ts +149 -0
- package/dist/view/inertia/helpers.d.ts.map +1 -0
- package/dist/view/inertia/index.d.ts +18 -0
- package/dist/view/inertia/index.d.ts.map +1 -0
- package/dist/view/inertia/inertia-adapter.d.ts +93 -0
- package/dist/view/inertia/inertia-adapter.d.ts.map +1 -0
- package/dist/view/inertia/inertia-response.d.ts +51 -0
- package/dist/view/inertia/inertia-response.d.ts.map +1 -0
- package/dist/view/inertia/ssr/index.d.ts +13 -0
- package/dist/view/inertia/ssr/index.d.ts.map +1 -0
- package/dist/view/inertia/ssr/react-adapter.d.ts +33 -0
- package/dist/view/inertia/ssr/react-adapter.d.ts.map +1 -0
- package/dist/view/inertia/ssr/registry.d.ts +42 -0
- package/dist/view/inertia/ssr/registry.d.ts.map +1 -0
- package/dist/view/inertia/ssr/solid-adapter.d.ts +31 -0
- package/dist/view/inertia/ssr/solid-adapter.d.ts.map +1 -0
- package/dist/view/inertia/ssr/svelte-adapter.d.ts +31 -0
- package/dist/view/inertia/ssr/svelte-adapter.d.ts.map +1 -0
- package/dist/view/inertia/ssr/vue-adapter.d.ts +26 -0
- package/dist/view/inertia/ssr/vue-adapter.d.ts.map +1 -0
- package/dist/view/inertia/types.d.ts +131 -0
- package/dist/view/inertia/types.d.ts.map +1 -0
- package/dist/view/rendu.d.ts +11 -0
- package/dist/view/rendu.d.ts.map +1 -0
- package/dist/view/types.d.ts +52 -0
- package/dist/view/types.d.ts.map +1 -0
- package/dist/view/view-engine.d.ts +28 -0
- package/dist/view/view-engine.d.ts.map +1 -0
- package/dist/ws/client.d.ts +42 -0
- package/dist/ws/client.d.ts.map +1 -0
- package/dist/ws/decorators.d.ts +44 -0
- package/dist/ws/decorators.d.ts.map +1 -0
- package/dist/ws/index.d.ts +57 -0
- package/dist/ws/index.d.ts.map +1 -0
- package/dist/ws/index.js +796 -0
- package/dist/ws/index.js.map +26 -0
- package/dist/ws/module.d.ts +48 -0
- package/dist/ws/module.d.ts.map +1 -0
- package/dist/ws/runtime/bun.d.ts +41 -0
- package/dist/ws/runtime/bun.d.ts.map +1 -0
- package/dist/ws/runtime/index.d.ts +14 -0
- package/dist/ws/runtime/index.d.ts.map +1 -0
- package/dist/ws/runtime/node.d.ts +46 -0
- package/dist/ws/runtime/node.d.ts.map +1 -0
- package/dist/ws/runtime/types.d.ts +18 -0
- package/dist/ws/runtime/types.d.ts.map +1 -0
- package/dist/ws/service.d.ts +65 -0
- package/dist/ws/service.d.ts.map +1 -0
- package/dist/ws/types.d.ts +77 -0
- package/dist/ws/types.d.ts.map +1 -0
- package/package.json +262 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AuthController` — built-in controller exposing common auth endpoints.
|
|
3
|
+
*
|
|
4
|
+
* Mount it in any `@Module` to get a working auth API:
|
|
5
|
+
*
|
|
6
|
+
* @Module({
|
|
7
|
+
* controllers: [AuthController],
|
|
8
|
+
* providers: [AuthService],
|
|
9
|
+
* })
|
|
10
|
+
* export class AuthModule {}
|
|
11
|
+
*
|
|
12
|
+
* Endpoints (all prefixed with `config.basePath`, default `/api/auth`):
|
|
13
|
+
* - GET /session → current session
|
|
14
|
+
* - POST /sign-up/email → email/password registration
|
|
15
|
+
* - POST /sign-in/email → email/password login
|
|
16
|
+
* - POST /sign-out → invalidate session
|
|
17
|
+
* - GET /sign-in/:provider → start OAuth flow
|
|
18
|
+
* - GET /callback/:provider → OAuth callback
|
|
19
|
+
* - POST /jwt → issue JWT (JWT plugin only)
|
|
20
|
+
* - POST /passkey/register → start passkey registration
|
|
21
|
+
* - POST /passkey/authenticate → complete passkey auth
|
|
22
|
+
*
|
|
23
|
+
* Most of the actual logic is delegated to `auth.handler` from
|
|
24
|
+
* better-auth. The controller exists to make the routes visible to
|
|
25
|
+
* `nx route:list` and to add NexusJS-style DI.
|
|
26
|
+
*/
|
|
27
|
+
import type { Context } from "hono";
|
|
28
|
+
import { AuthService } from "./auth.service.js";
|
|
29
|
+
export declare class AuthController {
|
|
30
|
+
private readonly auth;
|
|
31
|
+
constructor(auth: AuthService);
|
|
32
|
+
/**
|
|
33
|
+
* GET /api/auth/session
|
|
34
|
+
* Returns the current session (or null if unauthenticated).
|
|
35
|
+
*/
|
|
36
|
+
session(c: Context): Promise<Response & import("hono").TypedResponse<{
|
|
37
|
+
user: {
|
|
38
|
+
[x: string]: import("hono/utils/types").JSONValue;
|
|
39
|
+
id: string;
|
|
40
|
+
email: string;
|
|
41
|
+
emailVerified: boolean;
|
|
42
|
+
name: string;
|
|
43
|
+
image?: string | null | undefined;
|
|
44
|
+
createdAt: string;
|
|
45
|
+
updatedAt: string;
|
|
46
|
+
};
|
|
47
|
+
session: {
|
|
48
|
+
[x: string]: import("hono/utils/types").JSONValue;
|
|
49
|
+
id: string;
|
|
50
|
+
userId: string;
|
|
51
|
+
token: string;
|
|
52
|
+
expiresAt: string;
|
|
53
|
+
ipAddress?: string | null | undefined;
|
|
54
|
+
userAgent?: string | null | undefined;
|
|
55
|
+
createdAt: string;
|
|
56
|
+
updatedAt: string;
|
|
57
|
+
};
|
|
58
|
+
} | {
|
|
59
|
+
user: null;
|
|
60
|
+
session: null;
|
|
61
|
+
}, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
62
|
+
/**
|
|
63
|
+
* POST /api/auth/sign-up/email
|
|
64
|
+
* Body: { email, password, name, callbackURL? }
|
|
65
|
+
*/
|
|
66
|
+
signUpEmail(c: Context, body: any): Promise<Response & import("hono").TypedResponse<{
|
|
67
|
+
token: null;
|
|
68
|
+
user: {
|
|
69
|
+
id: string;
|
|
70
|
+
createdAt: string;
|
|
71
|
+
updatedAt: string;
|
|
72
|
+
email: string;
|
|
73
|
+
emailVerified: boolean;
|
|
74
|
+
name: string;
|
|
75
|
+
image?: string | null | undefined | undefined;
|
|
76
|
+
};
|
|
77
|
+
} | {
|
|
78
|
+
token: string;
|
|
79
|
+
user: {
|
|
80
|
+
id: string;
|
|
81
|
+
createdAt: string;
|
|
82
|
+
updatedAt: string;
|
|
83
|
+
email: string;
|
|
84
|
+
emailVerified: boolean;
|
|
85
|
+
name: string;
|
|
86
|
+
image?: string | null | undefined | undefined;
|
|
87
|
+
};
|
|
88
|
+
}, 201, "json">>;
|
|
89
|
+
/**
|
|
90
|
+
* POST /api/auth/sign-in/email
|
|
91
|
+
* Body: { email, password, callbackURL? }
|
|
92
|
+
*/
|
|
93
|
+
signInEmail(c: Context, body: any): Promise<Response & import("hono").TypedResponse<{
|
|
94
|
+
redirect: boolean;
|
|
95
|
+
token: string;
|
|
96
|
+
url?: string | undefined | undefined;
|
|
97
|
+
user: {
|
|
98
|
+
id: string;
|
|
99
|
+
createdAt: string;
|
|
100
|
+
updatedAt: string;
|
|
101
|
+
email: string;
|
|
102
|
+
emailVerified: boolean;
|
|
103
|
+
name: string;
|
|
104
|
+
image?: string | null | undefined | undefined;
|
|
105
|
+
};
|
|
106
|
+
}, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
107
|
+
/**
|
|
108
|
+
* POST /api/auth/sign-out
|
|
109
|
+
*/
|
|
110
|
+
signOut(c: Context, _res: Response): Promise<Response & import("hono").TypedResponse<{
|
|
111
|
+
ok: true;
|
|
112
|
+
}, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
113
|
+
/**
|
|
114
|
+
* GET /api/auth/sign-in/:provider
|
|
115
|
+
* Returns a redirect to the social provider's auth page.
|
|
116
|
+
*/
|
|
117
|
+
socialSignIn(c: Context, _body: never): Promise<Response & import("hono").TypedResponse<{
|
|
118
|
+
redirect: boolean;
|
|
119
|
+
url: string;
|
|
120
|
+
} | {
|
|
121
|
+
redirect: boolean;
|
|
122
|
+
token: string;
|
|
123
|
+
user: {
|
|
124
|
+
id: string;
|
|
125
|
+
createdAt: string;
|
|
126
|
+
updatedAt: string;
|
|
127
|
+
email: string;
|
|
128
|
+
emailVerified: boolean;
|
|
129
|
+
name: string;
|
|
130
|
+
image?: string | null | undefined | undefined;
|
|
131
|
+
};
|
|
132
|
+
}, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
133
|
+
/**
|
|
134
|
+
* GET /api/auth/callback/:provider
|
|
135
|
+
* Social provider redirect target. The better-auth handler does the
|
|
136
|
+
* real work; this is a passthrough for `route:list` visibility.
|
|
137
|
+
*/
|
|
138
|
+
oauthCallback(c: Context): Promise<Response & import("hono").TypedResponse<{
|
|
139
|
+
redirect: boolean;
|
|
140
|
+
url: string;
|
|
141
|
+
} | {
|
|
142
|
+
redirect: boolean;
|
|
143
|
+
token: string;
|
|
144
|
+
user: {
|
|
145
|
+
id: string;
|
|
146
|
+
createdAt: string;
|
|
147
|
+
updatedAt: string;
|
|
148
|
+
email: string;
|
|
149
|
+
emailVerified: boolean;
|
|
150
|
+
name: string;
|
|
151
|
+
image?: string | null | undefined | undefined;
|
|
152
|
+
};
|
|
153
|
+
}, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
154
|
+
/**
|
|
155
|
+
* POST /api/auth/jwt
|
|
156
|
+
* Issues a JWT for the current user. Requires the JWT plugin.
|
|
157
|
+
*/
|
|
158
|
+
issueJwt(c: Context): Promise<(Response & import("hono").TypedResponse<{
|
|
159
|
+
error: string;
|
|
160
|
+
}, 401, "json">) | (Response & import("hono").TypedResponse<{
|
|
161
|
+
token: string;
|
|
162
|
+
expiresAt: string;
|
|
163
|
+
}, import("hono/utils/http-status").ContentfulStatusCode, "json">)>;
|
|
164
|
+
/**
|
|
165
|
+
* POST /api/auth/passkey/register
|
|
166
|
+
* Start passkey registration. Requires the passkey plugin.
|
|
167
|
+
*/
|
|
168
|
+
passkeyRegister(c: Context): Promise<Response & import("hono").TypedResponse<import("hono/utils/types").JSONValue, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
169
|
+
/**
|
|
170
|
+
* POST /api/auth/passkey/authenticate
|
|
171
|
+
* Body: passkey assertion
|
|
172
|
+
*/
|
|
173
|
+
passkeyAuthenticate(c: Context, body: any): Promise<Response & import("hono").TypedResponse<import("hono/utils/types").JSONValue, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=auth.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../src/auth/auth.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAWH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBACa,cAAc;IACa,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAEzE;;;OAGG;IAEG,OAAO,CAAQ,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;IAO/B;;;OAGG;IAEG,WAAW,CAAQ,CAAC,EAAE,OAAO,EAAU,IAAI,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;IAKtD;;;OAGG;IAEG,WAAW,CAAQ,CAAC,EAAE,OAAO,EAAU,IAAI,EAAE,GAAG;;;;;;;;;;;;;;IAKtD;;OAEG;IAEG,OAAO,CAAQ,CAAC,EAAE,OAAO,EAAS,IAAI,EAAE,QAAQ;;;IAKtD;;;OAGG;IAEG,YAAY,CACV,CAAC,EAAE,OAAO,EACT,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;IAQrB;;;;OAIG;IAEG,aAAa,CAAQ,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;IAQrC;;;OAGG;IAEG,QAAQ,CAAQ,CAAC,EAAE,OAAO;;;;;;IAShC;;;OAGG;IAEG,eAAe,CAAQ,CAAC,EAAE,OAAO;IAOvC;;;OAGG;IAEG,mBAAmB,CAAQ,CAAC,EAAE,OAAO,EAAU,IAAI,EAAE,GAAG;CAO9D"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `createAuth()` — wrap better-auth's `betterAuth()` factory with
|
|
3
|
+
* NexusJS-friendly defaults.
|
|
4
|
+
*
|
|
5
|
+
* This is the **only** place that talks to better-auth directly. Every
|
|
6
|
+
* other NexusJS auth module consumes the resulting `Auth` instance via
|
|
7
|
+
* DI or the registered token.
|
|
8
|
+
*
|
|
9
|
+
* Why an adapter layer instead of calling `betterAuth()` directly?
|
|
10
|
+
* 1. NexusJS users write `auth.config.ts`, not raw better-auth options.
|
|
11
|
+
* The adapter translates between the two.
|
|
12
|
+
* 2. Plugin selection (jwt, passkey) is toggled by boolean flags,
|
|
13
|
+
* not by importing plugin objects.
|
|
14
|
+
* 3. Cookie / CORS / cross-subdomain defaults match Hono's `cors()`
|
|
15
|
+
* middleware so the two never conflict.
|
|
16
|
+
*
|
|
17
|
+
* Usage:
|
|
18
|
+
* // src/auth/auth.ts
|
|
19
|
+
* import { createAuth } from 'nexusjs/auth';
|
|
20
|
+
* export const auth = createAuth({
|
|
21
|
+
* basePath: '/api/auth',
|
|
22
|
+
* emailAndPassword: { enabled: true },
|
|
23
|
+
* socialProviders: {
|
|
24
|
+
* github: {
|
|
25
|
+
* clientId: process.env.GITHUB_CLIENT_ID!,
|
|
26
|
+
* clientSecret: process.env.GITHUB_CLIENT_SECRET!,
|
|
27
|
+
* },
|
|
28
|
+
* },
|
|
29
|
+
* });
|
|
30
|
+
*/
|
|
31
|
+
import { betterAuth } from "better-auth";
|
|
32
|
+
import type { AuthConfig } from "./types.js";
|
|
33
|
+
type BetterAuthInstance = ReturnType<typeof betterAuth>;
|
|
34
|
+
/**
|
|
35
|
+
* Create a better-auth instance with NexusJS-friendly defaults.
|
|
36
|
+
*
|
|
37
|
+
* @param config NexusJS-shaped config (see types.ts).
|
|
38
|
+
* @returns A `better-auth` Auth instance.
|
|
39
|
+
*/
|
|
40
|
+
export declare function createAuth(config?: AuthConfig): BetterAuthInstance;
|
|
41
|
+
/**
|
|
42
|
+
* Type alias for the returned auth instance — convenient for DI token
|
|
43
|
+
* typings.
|
|
44
|
+
*/
|
|
45
|
+
export type NexusAuth = ReturnType<typeof createAuth>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,GAAE,UAAe,GAAG,kBAAkB,CAuFtE;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AuthModule` — drop-in module for adding auth to any NexusJS app.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* // src/app/app.module.ts
|
|
6
|
+
* @Module({
|
|
7
|
+
* imports: [AuthModule.forRoot({ ... })],
|
|
8
|
+
* })
|
|
9
|
+
* export class AppModule {}
|
|
10
|
+
*
|
|
11
|
+
* The `forRoot` static factory builds a one-off `AuthModule` subclass
|
|
12
|
+
* pre-configured with the user's `auth` config. The provider token
|
|
13
|
+
* `'AUTH_CONFIG'` carries the config to the `AuthService` constructor.
|
|
14
|
+
*
|
|
15
|
+
* AuthService is registered under **both** its class token and
|
|
16
|
+
* `AuthService.TOKEN` (a Symbol). The class token is what the
|
|
17
|
+
* container scans; the Symbol is what `@Inject(AuthService.TOKEN)`
|
|
18
|
+
* looks up. Both resolve to the same instance via `useExisting`.
|
|
19
|
+
*/
|
|
20
|
+
import "reflect-metadata";
|
|
21
|
+
import type { AuthConfig } from "./types.js";
|
|
22
|
+
export declare class AuthModule {
|
|
23
|
+
/**
|
|
24
|
+
* Build a configured `AuthModule` class with the given config.
|
|
25
|
+
*
|
|
26
|
+
* The returned class can be `imports`-ed by any other module and
|
|
27
|
+
* will provide the `AuthService` (and a `AUTH_CONFIG` value
|
|
28
|
+
* provider) to its container.
|
|
29
|
+
*/
|
|
30
|
+
static forRoot(config: AuthConfig): {
|
|
31
|
+
new (): {};
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=auth.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,qBAQa,UAAU;IACtB;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU;;;CAmBjC"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AuthService` — DI-friendly wrapper around a better-auth instance.
|
|
3
|
+
*
|
|
4
|
+
* Why a service wrapper?
|
|
5
|
+
* - Hides the raw better-auth object behind a stable NexusJS API.
|
|
6
|
+
* - Exposes the high-level operations controllers need:
|
|
7
|
+
* signUp, signIn, signOut, getSession, oauthUrl, jwt, passkey.
|
|
8
|
+
* - Allows tests to swap the implementation via DI.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* constructor(@Inject(AuthService.TOKEN) private auth: AuthService) {}
|
|
12
|
+
*
|
|
13
|
+
* await this.auth.signUp.email({ email, password, name });
|
|
14
|
+
* const session = await this.auth.getSession({ headers: c.req.raw.headers });
|
|
15
|
+
* return this.auth.redirect('/dashboard'); // 302
|
|
16
|
+
*/
|
|
17
|
+
import type { AuthUser, AuthSessionRecord, AuthSession, AuthConfig } from "./types.js";
|
|
18
|
+
import { type NexusAuth } from "./auth.js";
|
|
19
|
+
import type { SessionService } from "../session/index.js";
|
|
20
|
+
export declare class AuthService {
|
|
21
|
+
#private;
|
|
22
|
+
private readonly config;
|
|
23
|
+
/** DI token — use with `@Inject(AuthService.TOKEN)`. */
|
|
24
|
+
static readonly TOKEN: unique symbol;
|
|
25
|
+
/** The underlying better-auth instance. */
|
|
26
|
+
readonly instance: NexusAuth;
|
|
27
|
+
constructor(config: AuthConfig);
|
|
28
|
+
/**
|
|
29
|
+
* Bind a SessionService. When bound, `getSession()` consults the
|
|
30
|
+
* SessionService first and falls back to better-auth. Returns `this`
|
|
31
|
+
* for chaining.
|
|
32
|
+
*/
|
|
33
|
+
bindSession(sessionService: SessionService): this;
|
|
34
|
+
/**
|
|
35
|
+
* Returns true when a SessionService has been bound.
|
|
36
|
+
*/
|
|
37
|
+
hasSessionBinding(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get the current session from a request. Returns `null` if not
|
|
40
|
+
* authenticated.
|
|
41
|
+
*
|
|
42
|
+
* When a SessionService is bound, we try it first (cookie-based,
|
|
43
|
+
* stateless, edge-friendly); better-auth remains the source of
|
|
44
|
+
* truth for `user` / `session` records. The cookie value carries
|
|
45
|
+
* `userId` which lets you cross-reference both systems.
|
|
46
|
+
*/
|
|
47
|
+
getSession(input: {
|
|
48
|
+
headers: Headers;
|
|
49
|
+
}): Promise<AuthSession>;
|
|
50
|
+
/**
|
|
51
|
+
* Read the raw SessionService record from a request (no better-auth
|
|
52
|
+
* lookup). Returns null when no SessionService is bound or no
|
|
53
|
+
* session is found.
|
|
54
|
+
*/
|
|
55
|
+
getRawSession(input: {
|
|
56
|
+
headers: Headers;
|
|
57
|
+
}): Promise<import("../session/types.js").SessionRecord<Record<string, unknown>> | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Email + password sign-up. Throws if email/password is disabled
|
|
60
|
+
* in the auth config.
|
|
61
|
+
*/
|
|
62
|
+
signUp(input: {
|
|
63
|
+
email: string;
|
|
64
|
+
password: string;
|
|
65
|
+
name: string;
|
|
66
|
+
image?: string;
|
|
67
|
+
callbackURL?: string;
|
|
68
|
+
}): Promise<{
|
|
69
|
+
token: null;
|
|
70
|
+
user: {
|
|
71
|
+
id: string;
|
|
72
|
+
createdAt: Date;
|
|
73
|
+
updatedAt: Date;
|
|
74
|
+
email: string;
|
|
75
|
+
emailVerified: boolean;
|
|
76
|
+
name: string;
|
|
77
|
+
image?: string | null | undefined | undefined;
|
|
78
|
+
};
|
|
79
|
+
} | {
|
|
80
|
+
token: string;
|
|
81
|
+
user: {
|
|
82
|
+
id: string;
|
|
83
|
+
createdAt: Date;
|
|
84
|
+
updatedAt: Date;
|
|
85
|
+
email: string;
|
|
86
|
+
emailVerified: boolean;
|
|
87
|
+
name: string;
|
|
88
|
+
image?: string | null | undefined | undefined;
|
|
89
|
+
};
|
|
90
|
+
}>;
|
|
91
|
+
/** Email + password sign-in. */
|
|
92
|
+
signIn(input: {
|
|
93
|
+
email: string;
|
|
94
|
+
password: string;
|
|
95
|
+
callbackURL?: string;
|
|
96
|
+
}): Promise<{
|
|
97
|
+
redirect: boolean;
|
|
98
|
+
token: string;
|
|
99
|
+
url?: string | undefined;
|
|
100
|
+
user: {
|
|
101
|
+
id: string;
|
|
102
|
+
createdAt: Date;
|
|
103
|
+
updatedAt: Date;
|
|
104
|
+
email: string;
|
|
105
|
+
emailVerified: boolean;
|
|
106
|
+
name: string;
|
|
107
|
+
image?: string | null | undefined | undefined;
|
|
108
|
+
};
|
|
109
|
+
}>;
|
|
110
|
+
/** Sign out — invalidates the current session. */
|
|
111
|
+
signOut(input: {
|
|
112
|
+
headers: Headers;
|
|
113
|
+
}): Promise<{
|
|
114
|
+
success: boolean;
|
|
115
|
+
}>;
|
|
116
|
+
/**
|
|
117
|
+
* Get the URL the client should redirect to for a social sign-in.
|
|
118
|
+
*/
|
|
119
|
+
getOAuthUrl(input: {
|
|
120
|
+
provider: string;
|
|
121
|
+
callbackURL?: string;
|
|
122
|
+
}): Promise<{
|
|
123
|
+
redirect: boolean;
|
|
124
|
+
url: string;
|
|
125
|
+
} | {
|
|
126
|
+
redirect: boolean;
|
|
127
|
+
token: string;
|
|
128
|
+
url: undefined;
|
|
129
|
+
user: {
|
|
130
|
+
id: string;
|
|
131
|
+
createdAt: Date;
|
|
132
|
+
updatedAt: Date;
|
|
133
|
+
email: string;
|
|
134
|
+
emailVerified: boolean;
|
|
135
|
+
name: string;
|
|
136
|
+
image?: string | null | undefined | undefined;
|
|
137
|
+
};
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* Sign in / link a social account and return the user.
|
|
141
|
+
*/
|
|
142
|
+
handleOAuthCallback(input: {
|
|
143
|
+
headers: Headers;
|
|
144
|
+
query: Record<string, string>;
|
|
145
|
+
}): Promise<{
|
|
146
|
+
redirect: boolean;
|
|
147
|
+
url: string;
|
|
148
|
+
} | {
|
|
149
|
+
redirect: boolean;
|
|
150
|
+
token: string;
|
|
151
|
+
url: undefined;
|
|
152
|
+
user: {
|
|
153
|
+
id: string;
|
|
154
|
+
createdAt: Date;
|
|
155
|
+
updatedAt: Date;
|
|
156
|
+
email: string;
|
|
157
|
+
emailVerified: boolean;
|
|
158
|
+
name: string;
|
|
159
|
+
image?: string | null | undefined | undefined;
|
|
160
|
+
};
|
|
161
|
+
}>;
|
|
162
|
+
/**
|
|
163
|
+
* Issue a JWT for the currently-authenticated user. Returns
|
|
164
|
+
* `{ token, expiresAt }`. Requires the JWT plugin (`config.jwt.enabled`).
|
|
165
|
+
*/
|
|
166
|
+
issueJwt(input: {
|
|
167
|
+
userId: string;
|
|
168
|
+
}): Promise<{
|
|
169
|
+
token: string;
|
|
170
|
+
expiresAt: Date;
|
|
171
|
+
}>;
|
|
172
|
+
registerPasskey(input: {
|
|
173
|
+
headers: Headers;
|
|
174
|
+
}): Promise<unknown>;
|
|
175
|
+
authenticatePasskey(input: {
|
|
176
|
+
headers: Headers;
|
|
177
|
+
body: unknown;
|
|
178
|
+
}): Promise<unknown>;
|
|
179
|
+
/**
|
|
180
|
+
* Build a redirect Response. Used by controllers that need to send
|
|
181
|
+
* the user to a different page after sign-in / sign-up.
|
|
182
|
+
*/
|
|
183
|
+
redirect(to: string, status?: 302 | 303 | 307 | 308): Response;
|
|
184
|
+
/**
|
|
185
|
+
* Convert a session into the `AuthVariables` shape Hono expects.
|
|
186
|
+
*/
|
|
187
|
+
toContextVariables(session: AuthSession): {
|
|
188
|
+
user: AuthUser | null;
|
|
189
|
+
session: AuthSessionRecord | null;
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=auth.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/auth/auth.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EACX,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qBACa,WAAW;;IAmBC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAlB/C,wDAAwD;IACxD,MAAM,CAAC,QAAQ,CAAC,KAAK,gBAAmC;IAExD,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAcY,MAAM,EAAE,UAAU;IAW3D;;;;OAIG;IACH,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAKjD;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAQ5B;;;;;;;;OAQG;IACG,UAAU,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IA8BnE;;;;OAIG;IACG,aAAa,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;IAc/C;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB;;;;;;;;;;;;;;;;;;;;;;;IAMD,gCAAgC;IAC1B,MAAM,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;IAM7E,kDAAkD;IAC5C,OAAO,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;;;IAUzC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB;;;;;;;;;;;;;;;;;IAMD;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;;;;;;;;;;;;;;;;;IAYpF;;;OAGG;IACG,QAAQ,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;eAG9B,MAAM;mBACF,IAAI;;IAeZ,eAAe,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE;IAc3C,mBAAmB,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE;IAgBpE;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAS,GAAG,QAAQ;IAInE;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG;QACzC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;KAClC;CAID"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@CurrentUser()` — controller parameter decorator that injects the
|
|
3
|
+
* authenticated user (and optionally the session) into a handler.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* @Get('/me')
|
|
7
|
+
* me(@CurrentUser() user: AuthUser) {
|
|
8
|
+
* return user;
|
|
9
|
+
* }
|
|
10
|
+
*
|
|
11
|
+
* @Get('/profile')
|
|
12
|
+
* profile(@CurrentUser({ session: true }) ctx: { user: AuthUser; session: AuthSessionRecord }) {
|
|
13
|
+
* return ctx;
|
|
14
|
+
* }
|
|
15
|
+
*
|
|
16
|
+
* @Get('/dashboard')
|
|
17
|
+
* dashboard(@CurrentUser({ required: true }) user: AuthUser) {
|
|
18
|
+
* // 401 is thrown before the handler if no user is present.
|
|
19
|
+
* return this.dashboardService.forUser(user.id);
|
|
20
|
+
* }
|
|
21
|
+
*/
|
|
22
|
+
import "reflect-metadata";
|
|
23
|
+
import type { AuthUser, AuthSessionRecord } from "../types.js";
|
|
24
|
+
export interface CurrentUserOptions {
|
|
25
|
+
/**
|
|
26
|
+
* Include the session in the injected value. Default: `false`.
|
|
27
|
+
* When true, the value is `{ user, session }` instead of just the user.
|
|
28
|
+
*/
|
|
29
|
+
session?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Throw 401 if no user is present. Default: `false`.
|
|
32
|
+
* When true, the framework returns a 401 response without invoking
|
|
33
|
+
* the handler.
|
|
34
|
+
*/
|
|
35
|
+
required?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Throw 403 if the user does not satisfy the predicate.
|
|
38
|
+
*/
|
|
39
|
+
assert?: (user: AuthUser) => boolean | Promise<boolean>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Inject the authenticated user (or `{ user, session }` if `session: true`).
|
|
43
|
+
*/
|
|
44
|
+
export declare function CurrentUser(options?: CurrentUserOptions): ParameterDecorator;
|
|
45
|
+
/**
|
|
46
|
+
* Convenience: throw 401 with a JSON body when no user is present.
|
|
47
|
+
* Exposed for users who want to enforce auth inside the handler.
|
|
48
|
+
*/
|
|
49
|
+
export declare class UnauthenticatedError extends Error {
|
|
50
|
+
readonly status = 401;
|
|
51
|
+
constructor(message?: string);
|
|
52
|
+
}
|
|
53
|
+
export declare class ForbiddenError extends Error {
|
|
54
|
+
readonly status = 403;
|
|
55
|
+
constructor(message?: string);
|
|
56
|
+
}
|
|
57
|
+
export type { AuthSessionRecord as AuthSession };
|
|
58
|
+
//# sourceMappingURL=current-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"current-user.d.ts","sourceRoot":"","sources":["../../../src/auth/decorators/current-user.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAC1B,OAAO,GAAE,kBAAuB,GAC9B,kBAAkB,CAEpB;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,OAAO;gBACV,OAAO,SAA6B;CAIhD;AAED,qBAAa,cAAe,SAAQ,KAAK;IACxC,QAAQ,CAAC,MAAM,OAAO;gBACV,OAAO,SAA8B;CAIjD;AAGD,YAAY,EAAE,iBAAiB,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API for the NexusJS auth module.
|
|
3
|
+
*
|
|
4
|
+
* This is a thin layer over `better-auth` — it does not re-implement
|
|
5
|
+
* any auth primitives. It adapts better-auth's surface to NexusJS's
|
|
6
|
+
* DI / decorator model.
|
|
7
|
+
*
|
|
8
|
+
* Quick start:
|
|
9
|
+
*
|
|
10
|
+
* // src/auth/auth.ts
|
|
11
|
+
* import { createAuth } from 'nexusjs/auth';
|
|
12
|
+
* export const auth = createAuth({
|
|
13
|
+
* emailAndPassword: { enabled: true },
|
|
14
|
+
* socialProviders: { github: { clientId: '...', clientSecret: '...' } },
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* // src/app/app.module.ts
|
|
18
|
+
* import { Module } from 'nexusjs';
|
|
19
|
+
* import { AuthModule } from 'nexusjs/auth';
|
|
20
|
+
*
|
|
21
|
+
* @Module({ imports: [AuthModule.forRoot({ ... })] })
|
|
22
|
+
* export class AppModule {}
|
|
23
|
+
*
|
|
24
|
+
* // any controller
|
|
25
|
+
* import { CurrentUser } from 'nexusjs/auth';
|
|
26
|
+
*
|
|
27
|
+
* @Controller('/profile')
|
|
28
|
+
* class ProfileController {
|
|
29
|
+
* @Get('/')
|
|
30
|
+
* me(@CurrentUser({ required: true }) user) {
|
|
31
|
+
* return user;
|
|
32
|
+
* }
|
|
33
|
+
* }
|
|
34
|
+
*/
|
|
35
|
+
export * from "./types.js";
|
|
36
|
+
export { createAuth } from "./auth.js";
|
|
37
|
+
export type { NexusAuth } from "./auth.js";
|
|
38
|
+
export { AuthService } from "./auth.service.js";
|
|
39
|
+
export { AuthController } from "./auth.controller.js";
|
|
40
|
+
export { AuthModule } from "./auth.module.js";
|
|
41
|
+
export { authMiddleware, authHandler, type AuthMiddlewareMode, type AuthMiddlewareOptions, } from "./middleware.js";
|
|
42
|
+
export { CurrentUser, UnauthenticatedError, ForbiddenError, type CurrentUserOptions, } from "./decorators/current-user.js";
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACN,cAAc,EACd,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,KAAK,kBAAkB,GACvB,MAAM,8BAA8B,CAAC"}
|