@simple-auth-kit/cli 1.4.3 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/registry/combos/express-drizzle/shared/src/{auth-core-error.middleware.ts → middleware/auth-core-error.middleware.ts} +17 -4
- package/registry/combos/express-drizzle/shared/src/{auth.middleware.ts → middleware/auth.middleware.ts} +23 -7
- package/registry/combos/{express-prisma/shared/src → express-drizzle/shared/src/middleware}/response-envelope.middleware.ts +15 -3
- package/registry/combos/express-drizzle/shared/src/{oauth.repository.ts → repositories/oauth.repository.ts} +32 -9
- package/registry/combos/express-drizzle/shared/src/repositories/password-reset.repository.ts +59 -0
- package/registry/combos/express-drizzle/shared/src/{session.repository.ts → repositories/session.repository.ts} +52 -14
- package/registry/combos/express-drizzle/shared/src/{two-factor.repository.ts → repositories/two-factor.repository.ts} +20 -6
- package/registry/combos/express-drizzle/shared/src/request-context.ts +1 -1
- package/registry/combos/express-drizzle/shared/src/routers/auth.router.ts +395 -0
- package/registry/combos/express-drizzle/variants/base/src/create-auth-app.ts +52 -19
- package/registry/combos/express-drizzle/variants/base/src/{authz.middleware.ts → middleware/authz.middleware.ts} +15 -7
- package/registry/combos/express-drizzle/variants/base/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +28 -10
- package/registry/combos/express-drizzle/variants/base/src/{rbac.repository.ts → repositories/rbac.repository.ts} +239 -48
- package/registry/combos/express-drizzle/variants/base/src/routers/admin.router.ts +497 -0
- package/registry/combos/express-drizzle/variants/base/src/{auth.service.ts → services/auth.service.ts} +480 -109
- package/registry/combos/express-drizzle/variants/workspaces/src/create-auth-app.ts +69 -23
- package/registry/combos/express-drizzle/variants/workspaces/src/{authz.middleware.ts → middleware/authz.middleware.ts} +32 -12
- package/registry/combos/express-drizzle/variants/workspaces/src/openapi-workspace.ts +147 -28
- package/registry/combos/express-drizzle/variants/workspaces/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +30 -11
- package/registry/combos/express-drizzle/variants/workspaces/src/{rbac.repository.ts → repositories/rbac.repository.ts} +319 -70
- package/registry/combos/express-drizzle/variants/workspaces/src/{workspace.repository.ts → repositories/workspace.repository.ts} +127 -30
- package/registry/combos/express-drizzle/variants/workspaces/src/routers/admin.router.ts +534 -0
- package/registry/combos/express-drizzle/variants/workspaces/src/routers/workspace.router.ts +194 -0
- package/registry/combos/express-drizzle/variants/workspaces/src/{auth.service.ts → services/auth.service.ts} +544 -122
- package/registry/combos/express-prisma/shared/src/{auth-core-error.middleware.ts → middleware/auth-core-error.middleware.ts} +17 -4
- package/registry/combos/express-prisma/shared/src/{auth.middleware.ts → middleware/auth.middleware.ts} +19 -6
- package/registry/combos/{express-drizzle/shared/src → express-prisma/shared/src/middleware}/response-envelope.middleware.ts +15 -3
- package/registry/combos/express-prisma/shared/src/{oauth.repository.ts → repositories/oauth.repository.ts} +27 -9
- package/registry/combos/express-prisma/shared/src/repositories/password-reset.repository.ts +55 -0
- package/registry/combos/express-prisma/shared/src/{session.repository.ts → repositories/session.repository.ts} +30 -9
- package/registry/combos/express-prisma/shared/src/{two-factor.repository.ts → repositories/two-factor.repository.ts} +11 -4
- package/registry/combos/express-prisma/shared/src/request-context.ts +1 -1
- package/registry/combos/express-prisma/shared/src/routers/auth.router.ts +398 -0
- package/registry/combos/express-prisma/variants/base/src/create-auth-app.ts +57 -22
- package/registry/combos/express-prisma/variants/base/src/{authz.middleware.ts → middleware/authz.middleware.ts} +15 -7
- package/registry/combos/express-prisma/variants/base/src/rbac.defaults.ts +67 -19
- package/registry/combos/express-prisma/variants/base/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +16 -5
- package/registry/combos/express-prisma/variants/base/src/{rbac.repository.ts → repositories/rbac.repository.ts} +199 -48
- package/registry/combos/express-prisma/variants/base/src/routers/admin.router.ts +508 -0
- package/registry/combos/express-prisma/variants/base/src/seed.ts +78 -20
- package/registry/combos/express-prisma/variants/base/src/{auth.service.ts → services/auth.service.ts} +454 -105
- package/registry/combos/express-prisma/variants/workspaces/src/create-auth-app.ts +81 -26
- package/registry/combos/express-prisma/variants/workspaces/src/{authz.middleware.ts → middleware/authz.middleware.ts} +32 -12
- package/registry/combos/express-prisma/variants/workspaces/src/openapi-workspace.ts +147 -28
- package/registry/combos/express-prisma/variants/workspaces/src/rbac.defaults.ts +73 -21
- package/registry/combos/express-prisma/variants/workspaces/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +16 -5
- package/registry/combos/express-prisma/variants/workspaces/src/{rbac.repository.ts → repositories/rbac.repository.ts} +272 -64
- package/registry/combos/express-prisma/variants/workspaces/src/{workspace.repository.ts → repositories/workspace.repository.ts} +86 -23
- package/registry/combos/express-prisma/variants/workspaces/src/routers/admin.router.ts +545 -0
- package/registry/combos/express-prisma/variants/workspaces/src/routers/workspace.router.ts +194 -0
- package/registry/combos/express-prisma/variants/workspaces/src/seed.ts +109 -29
- package/registry/combos/express-prisma/variants/workspaces/src/{auth.service.ts → services/auth.service.ts} +518 -119
- package/registry/combos/nestjs-drizzle/shared/src/{auth.controller.ts → controllers/auth.controller.ts} +6 -6
- package/registry/combos/nestjs-drizzle/shared/src/{auth-core-error.filter.ts → filters/auth-core-error.filter.ts} +29 -5
- package/registry/combos/nestjs-drizzle/shared/src/{ability.guard.ts → guards/ability.guard.ts} +20 -7
- package/registry/combos/nestjs-drizzle/shared/src/{auth.guard.ts → guards/auth.guard.ts} +19 -7
- package/registry/combos/{nestjs-prisma/shared/src → nestjs-drizzle/shared/src/interceptors}/response.interceptor.ts +10 -2
- package/registry/combos/nestjs-drizzle/shared/src/repositories/oauth.repository.ts +63 -0
- package/registry/combos/nestjs-drizzle/shared/src/repositories/password-reset.repository.ts +59 -0
- package/registry/combos/nestjs-drizzle/shared/src/{session.repository.ts → repositories/session.repository.ts} +52 -14
- package/registry/combos/nestjs-drizzle/shared/src/{two-factor.repository.ts → repositories/two-factor.repository.ts} +21 -7
- package/registry/combos/nestjs-drizzle/shared/src/request-context.ts +1 -1
- package/registry/combos/nestjs-drizzle/test/prove-cycle.ts +1097 -307
- package/registry/combos/nestjs-drizzle/variants/base/src/auth.module.ts +44 -20
- package/registry/combos/nestjs-drizzle/variants/base/src/{admin.controller.ts → controllers/admin.controller.ts} +228 -62
- package/registry/combos/nestjs-drizzle/variants/base/src/{authz.guard.ts → guards/authz.guard.ts} +12 -5
- package/registry/combos/nestjs-drizzle/variants/base/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +27 -10
- package/registry/combos/nestjs-drizzle/variants/base/src/{rbac.repository.ts → repositories/rbac.repository.ts} +249 -51
- package/registry/combos/nestjs-drizzle/variants/base/src/{auth.service.ts → services/auth.service.ts} +499 -116
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/auth.module.ts +48 -22
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/{admin.controller.ts → controllers/admin.controller.ts} +269 -70
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/{workspace.controller.ts → controllers/workspace.controller.ts} +93 -26
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/{authz.guard.ts → guards/authz.guard.ts} +26 -8
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +29 -11
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/{rbac.repository.ts → repositories/rbac.repository.ts} +323 -71
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/{workspace.repository.ts → repositories/workspace.repository.ts} +131 -30
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/services/auth.service.ts +988 -0
- package/registry/combos/nestjs-prisma/shared/src/{auth.controller.ts → controllers/auth.controller.ts} +6 -6
- package/registry/combos/nestjs-prisma/shared/src/{auth-core-error.filter.ts → filters/auth-core-error.filter.ts} +29 -5
- package/registry/combos/nestjs-prisma/shared/src/{ability.guard.ts → guards/ability.guard.ts} +20 -7
- package/registry/combos/nestjs-prisma/shared/src/{auth.guard.ts → guards/auth.guard.ts} +19 -7
- package/registry/combos/{nestjs-drizzle/shared/src → nestjs-prisma/shared/src/interceptors}/response.interceptor.ts +10 -2
- package/registry/combos/nestjs-prisma/shared/src/{oauth.repository.ts → repositories/oauth.repository.ts} +25 -8
- package/registry/combos/nestjs-prisma/shared/src/repositories/password-reset.repository.ts +55 -0
- package/registry/combos/nestjs-prisma/shared/src/{session.repository.ts → repositories/session.repository.ts} +30 -9
- package/registry/combos/nestjs-prisma/shared/src/{two-factor.repository.ts → repositories/two-factor.repository.ts} +11 -4
- package/registry/combos/nestjs-prisma/shared/src/request-context.ts +1 -1
- package/registry/combos/nestjs-prisma/test/prove-cycle.ts +1097 -307
- package/registry/combos/nestjs-prisma/variants/base/src/auth.module.ts +59 -28
- package/registry/combos/nestjs-prisma/variants/base/src/{admin.controller.ts → controllers/admin.controller.ts} +469 -110
- package/registry/combos/nestjs-prisma/variants/base/src/{audit-log.gateway.ts → gateways/audit-log.gateway.ts} +22 -6
- package/registry/combos/nestjs-prisma/variants/base/src/{authz.guard.ts → guards/authz.guard.ts} +12 -5
- package/registry/combos/nestjs-prisma/variants/base/src/rbac.defaults.ts +98 -27
- package/registry/combos/nestjs-prisma/variants/base/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +16 -5
- package/registry/combos/nestjs-prisma/variants/base/src/{country.repository.ts → repositories/country.repository.ts} +98 -25
- package/registry/combos/nestjs-prisma/variants/base/src/{customer.repository.ts → repositories/customer.repository.ts} +106 -27
- package/registry/combos/nestjs-prisma/variants/base/src/{language.repository.ts → repositories/language.repository.ts} +93 -25
- package/registry/combos/nestjs-prisma/variants/base/src/{rbac.repository.ts → repositories/rbac.repository.ts} +229 -55
- package/registry/combos/nestjs-prisma/variants/base/src/seed.ts +78 -20
- package/registry/combos/nestjs-prisma/variants/base/src/services/auth.service.ts +1064 -0
- package/registry/combos/nestjs-prisma/variants/workspaces/src/auth.module.ts +55 -27
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{admin.controller.ts → controllers/admin.controller.ts} +544 -128
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{workspace.controller.ts → controllers/workspace.controller.ts} +93 -26
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{authz.guard.ts → guards/authz.guard.ts} +26 -8
- package/registry/combos/nestjs-prisma/variants/workspaces/src/rbac.defaults.ts +104 -29
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{audit-log.repository.ts → repositories/audit-log.repository.ts} +16 -5
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{country.repository.ts → repositories/country.repository.ts} +127 -26
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{customer.repository.ts → repositories/customer.repository.ts} +137 -28
- package/registry/combos/nestjs-prisma/variants/workspaces/src/repositories/language.repository.ts +243 -0
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{rbac.repository.ts → repositories/rbac.repository.ts} +314 -74
- package/registry/combos/nestjs-prisma/variants/workspaces/src/{workspace.repository.ts → repositories/workspace.repository.ts} +94 -24
- package/registry/combos/nestjs-prisma/variants/workspaces/src/seed.ts +109 -29
- package/registry/combos/nestjs-prisma/variants/workspaces/src/services/auth.service.ts +961 -0
- package/registry.json +4 -4
- package/simple-auth-kit.ts +29 -2
- package/registry/combos/express-drizzle/shared/src/auth.router.ts +0 -266
- package/registry/combos/express-drizzle/shared/src/password-reset.repository.ts +0 -35
- package/registry/combos/express-drizzle/variants/base/src/admin.router.ts +0 -307
- package/registry/combos/express-drizzle/variants/workspaces/src/admin.router.ts +0 -323
- package/registry/combos/express-drizzle/variants/workspaces/src/workspace.router.ts +0 -123
- package/registry/combos/express-prisma/shared/src/auth.router.ts +0 -269
- package/registry/combos/express-prisma/shared/src/password-reset.repository.ts +0 -29
- package/registry/combos/express-prisma/variants/base/src/admin.router.ts +0 -314
- package/registry/combos/express-prisma/variants/workspaces/src/admin.router.ts +0 -330
- package/registry/combos/express-prisma/variants/workspaces/src/workspace.router.ts +0 -123
- package/registry/combos/nestjs-drizzle/shared/src/oauth.repository.ts +0 -36
- package/registry/combos/nestjs-drizzle/shared/src/password-reset.repository.ts +0 -29
- package/registry/combos/nestjs-drizzle/variants/workspaces/src/auth.service.ts +0 -553
- package/registry/combos/nestjs-prisma/shared/src/password-reset.repository.ts +0 -29
- package/registry/combos/nestjs-prisma/variants/base/src/auth.service.ts +0 -618
- package/registry/combos/nestjs-prisma/variants/workspaces/src/auth.service.ts +0 -509
- package/registry/combos/nestjs-prisma/variants/workspaces/src/language.repository.ts +0 -143
|
@@ -1,31 +1,38 @@
|
|
|
1
1
|
import { PrismaPg } from "@prisma/adapter-pg";
|
|
2
2
|
import { DynamicModule, Module } from "@nestjs/common";
|
|
3
3
|
import { APP_FILTER, APP_INTERCEPTOR } from "@nestjs/core";
|
|
4
|
-
import { AbilityGuard } from "./ability.guard.js";
|
|
5
|
-
import { AdminController } from "./admin.controller.js";
|
|
6
|
-
import { AuditLogRepository } from "./audit-log.repository.js";
|
|
7
|
-
import { AuthCoreErrorFilter } from "./auth-core-error.filter.js";
|
|
4
|
+
import { AbilityGuard } from "./guards/ability.guard.js";
|
|
5
|
+
import { AdminController } from "./controllers/admin.controller.js";
|
|
6
|
+
import { AuditLogRepository } from "./repositories/audit-log.repository.js";
|
|
7
|
+
import { AuthCoreErrorFilter } from "./filters/auth-core-error.filter.js";
|
|
8
8
|
import { AUTH_CONFIG, AuthConfig, defaultAuthConfig } from "./auth.config.js";
|
|
9
|
-
import { AuthController } from "./auth.controller.js";
|
|
10
|
-
import { AuthGuard } from "./auth.guard.js";
|
|
11
|
-
import { AuthService } from "./auth.service.js";
|
|
12
|
-
import { AuthzGuard, WorkspaceGuard } from "./authz.guard.js";
|
|
13
|
-
import { PrismaClient } from "
|
|
14
|
-
import { CountryRepository } from "./country.repository.js";
|
|
15
|
-
import { CustomerRepository } from "./customer.repository.js";
|
|
9
|
+
import { AuthController } from "./controllers/auth.controller.js";
|
|
10
|
+
import { AuthGuard } from "./guards/auth.guard.js";
|
|
11
|
+
import { AuthService } from "./services/auth.service.js";
|
|
12
|
+
import { AuthzGuard, WorkspaceGuard } from "./guards/authz.guard.js";
|
|
13
|
+
import { PrismaClient } from "./../generated/prisma/client.js";
|
|
14
|
+
import { CountryRepository } from "./repositories/country.repository.js";
|
|
15
|
+
import { CustomerRepository } from "./repositories/customer.repository.js";
|
|
16
16
|
import { KeyProviderService } from "./key-provider.js";
|
|
17
|
-
import { LanguageRepository } from "./language.repository.js";
|
|
18
|
-
import { OAuthRepository } from "./oauth.repository.js";
|
|
19
|
-
import { PasswordResetRepository } from "./password-reset.repository.js";
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
import { LanguageRepository } from "./repositories/language.repository.js";
|
|
18
|
+
import { OAuthRepository } from "./repositories/oauth.repository.js";
|
|
19
|
+
import { PasswordResetRepository } from "./repositories/password-reset.repository.js";
|
|
20
|
+
import {
|
|
21
|
+
InMemoryPermissionCacheStore,
|
|
22
|
+
PERMISSION_CACHE_STORE,
|
|
23
|
+
PermissionCache,
|
|
24
|
+
} from "./permission-cache.js";
|
|
25
|
+
import {
|
|
26
|
+
InMemoryRateLimitStore,
|
|
27
|
+
RATE_LIMIT_STORE,
|
|
28
|
+
} from "./rate-limit.store.js";
|
|
29
|
+
import { RbacRepository } from "./repositories/rbac.repository.js";
|
|
30
|
+
import { ResponseInterceptor } from "./interceptors/response.interceptor.js";
|
|
24
31
|
import { assertEveryRouteDeclaresATier } from "./route-tiers.js";
|
|
25
|
-
import { SessionRepository } from "./session.repository.js";
|
|
26
|
-
import { TwoFactorRepository } from "./two-factor.repository.js";
|
|
27
|
-
import { WorkspaceController } from "./workspace.controller.js";
|
|
28
|
-
import { WorkspaceRepository } from "./workspace.repository.js";
|
|
32
|
+
import { SessionRepository } from "./repositories/session.repository.js";
|
|
33
|
+
import { TwoFactorRepository } from "./repositories/two-factor.repository.js";
|
|
34
|
+
import { WorkspaceController } from "./controllers/workspace.controller.js";
|
|
35
|
+
import { WorkspaceRepository } from "./repositories/workspace.repository.js";
|
|
29
36
|
|
|
30
37
|
// Both what the module registers and what the startup tier check walks — one list, so a
|
|
31
38
|
// controller can't be added and left out of the check.
|
|
@@ -36,9 +43,14 @@ export class AuthModule {
|
|
|
36
43
|
static forRoot(config: Partial<AuthConfig> = {}): DynamicModule {
|
|
37
44
|
// Fail-closed before anything else exists — nothing above this line allocates a database
|
|
38
45
|
// client or a port, so a failed boot leaves nothing behind.
|
|
39
|
-
assertEveryRouteDeclaresATier(AUTH_CONTROLLERS, {
|
|
46
|
+
assertEveryRouteDeclaresATier(AUTH_CONTROLLERS, {
|
|
47
|
+
authentication: AuthGuard,
|
|
48
|
+
ability: AbilityGuard,
|
|
49
|
+
});
|
|
40
50
|
|
|
41
|
-
const adapter = new PrismaPg({
|
|
51
|
+
const adapter = new PrismaPg({
|
|
52
|
+
connectionString: process.env["DATABASE_URL"],
|
|
53
|
+
});
|
|
42
54
|
|
|
43
55
|
if (!config.permissionCacheStore || !config.rateLimitStore) {
|
|
44
56
|
console.warn(
|
|
@@ -55,14 +67,21 @@ export class AuthModule {
|
|
|
55
67
|
{ provide: AUTH_CONFIG, useValue: { ...defaultAuthConfig, ...config } },
|
|
56
68
|
{ provide: PrismaClient, useValue: new PrismaClient({ adapter }) },
|
|
57
69
|
// Swap for a Redis-backed store by passing `permissionCacheStore` to forRoot.
|
|
58
|
-
{
|
|
70
|
+
{
|
|
71
|
+
provide: PERMISSION_CACHE_STORE,
|
|
72
|
+
useValue:
|
|
73
|
+
config.permissionCacheStore ?? new InMemoryPermissionCacheStore(),
|
|
74
|
+
},
|
|
59
75
|
PermissionCache,
|
|
60
76
|
{ provide: APP_FILTER, useClass: AuthCoreErrorFilter },
|
|
61
77
|
{ provide: APP_INTERCEPTOR, useClass: ResponseInterceptor },
|
|
62
78
|
AuditLogRepository,
|
|
63
79
|
SessionRepository,
|
|
64
80
|
KeyProviderService,
|
|
65
|
-
{
|
|
81
|
+
{
|
|
82
|
+
provide: RATE_LIMIT_STORE,
|
|
83
|
+
useValue: config.rateLimitStore ?? new InMemoryRateLimitStore(),
|
|
84
|
+
},
|
|
66
85
|
RbacRepository,
|
|
67
86
|
WorkspaceRepository,
|
|
68
87
|
TwoFactorRepository,
|
|
@@ -77,7 +96,16 @@ export class AuthModule {
|
|
|
77
96
|
WorkspaceGuard,
|
|
78
97
|
AbilityGuard,
|
|
79
98
|
],
|
|
80
|
-
exports: [
|
|
99
|
+
exports: [
|
|
100
|
+
AuthService,
|
|
101
|
+
AuthGuard,
|
|
102
|
+
AuthzGuard,
|
|
103
|
+
WorkspaceGuard,
|
|
104
|
+
AbilityGuard,
|
|
105
|
+
PermissionCache,
|
|
106
|
+
WorkspaceRepository,
|
|
107
|
+
PrismaClient,
|
|
108
|
+
],
|
|
81
109
|
};
|
|
82
110
|
}
|
|
83
111
|
}
|