@anarchitects/auth-nest 0.5.1 → 0.6.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.
Files changed (127) hide show
  1. package/README.md +102 -61
  2. package/package.json +25 -5
  3. package/src/application/application.module.js +61 -36
  4. package/src/application/application.module.js.map +1 -1
  5. package/src/application/index.d.ts +0 -2
  6. package/src/application/index.js +0 -2
  7. package/src/application/index.js.map +1 -1
  8. package/src/application/ports/auth-account.repository.d.ts +18 -0
  9. package/src/application/ports/auth-account.repository.js +12 -0
  10. package/src/application/ports/auth-account.repository.js.map +1 -0
  11. package/src/{infrastructure-persistence/repositories → application/ports}/auth-user.repository.d.ts +1 -2
  12. package/src/application/ports/auth-user.repository.js.map +1 -0
  13. package/src/application/resource-authorization.types.d.ts +1 -16
  14. package/src/application/services/auth-engine.port.d.ts +22 -17
  15. package/src/application/services/auth-engine.port.js.map +1 -1
  16. package/src/application/services/auth-orchestration.service.d.ts +15 -10
  17. package/src/application/services/auth-orchestration.service.js +78 -61
  18. package/src/application/services/auth-orchestration.service.js.map +1 -1
  19. package/src/application/services/auth.service.d.ts +10 -7
  20. package/src/application/services/auth.service.js.map +1 -1
  21. package/src/application/services/better-auth-database.port.d.ts +3 -0
  22. package/src/application/services/better-auth-database.port.js +12 -0
  23. package/src/application/services/better-auth-database.port.js.map +1 -0
  24. package/src/application/services/policies.service.d.ts +1 -1
  25. package/src/application/services/policies.service.js +1 -1
  26. package/src/application/services/policies.service.js.map +1 -1
  27. package/src/application/services/resource-authorization.d.ts +1 -1
  28. package/src/auth.module.js +29 -3
  29. package/src/auth.module.js.map +1 -1
  30. package/src/config/auth.config.d.ts +62 -48
  31. package/src/config/auth.config.js +82 -76
  32. package/src/config/auth.config.js.map +1 -1
  33. package/src/config/index.d.ts +1 -0
  34. package/src/config/index.js +1 -0
  35. package/src/config/index.js.map +1 -1
  36. package/src/config/module-options.d.ts +69 -49
  37. package/src/config/module-options.js +79 -50
  38. package/src/config/module-options.js.map +1 -1
  39. package/src/config/resource-authorization.types.d.ts +16 -0
  40. package/src/config/resource-authorization.types.js +3 -0
  41. package/src/config/resource-authorization.types.js.map +1 -0
  42. package/src/infrastructure-engine/better-auth/better-auth-auth-engine.adapter.d.ts +32 -10
  43. package/src/infrastructure-engine/better-auth/better-auth-auth-engine.adapter.js +190 -90
  44. package/src/infrastructure-engine/better-auth/better-auth-auth-engine.adapter.js.map +1 -1
  45. package/src/infrastructure-engine/better-auth/better-auth-options.d.ts +21 -0
  46. package/src/infrastructure-engine/better-auth/better-auth-options.js +94 -0
  47. package/src/infrastructure-engine/better-auth/better-auth-options.js.map +1 -0
  48. package/src/infrastructure-engine/better-auth/better-auth-typeorm-adapter-persistence.adapter.d.ts +14 -0
  49. package/src/infrastructure-engine/better-auth/better-auth-typeorm-adapter-persistence.adapter.js +62 -0
  50. package/src/infrastructure-engine/better-auth/better-auth-typeorm-adapter-persistence.adapter.js.map +1 -0
  51. package/src/infrastructure-engine/better-auth/better-auth.module-loader.d.ts +6 -0
  52. package/src/infrastructure-engine/better-auth/better-auth.module-loader.js +9 -1
  53. package/src/infrastructure-engine/better-auth/better-auth.module-loader.js.map +1 -1
  54. package/src/infrastructure-engine/better-auth/plugins/jwt/better-auth-jwt-plugin.service.d.ts +21 -0
  55. package/src/infrastructure-engine/{legacy-jwt-auth-engine.adapter.js → better-auth/plugins/jwt/better-auth-jwt-plugin.service.js} +31 -63
  56. package/src/infrastructure-engine/better-auth/plugins/jwt/better-auth-jwt-plugin.service.js.map +1 -0
  57. package/src/infrastructure-engine/better-auth/plugins/jwt/better-auth-jwt-typeorm-support.module.d.ts +2 -0
  58. package/src/infrastructure-engine/better-auth/plugins/jwt/better-auth-jwt-typeorm-support.module.js +26 -0
  59. package/src/infrastructure-engine/better-auth/plugins/jwt/better-auth-jwt-typeorm-support.module.js.map +1 -0
  60. package/src/{infrastructure-persistence/entities → infrastructure-engine/better-auth/plugins/jwt}/invalidated-token.entity.js +1 -1
  61. package/src/infrastructure-engine/better-auth/plugins/jwt/invalidated-token.entity.js.map +1 -0
  62. package/src/infrastructure-engine/better-auth/plugins/jwt/jwt-auth-plugin.controller.d.ts +10 -0
  63. package/src/infrastructure-engine/better-auth/plugins/jwt/jwt-auth-plugin.controller.js +65 -0
  64. package/src/infrastructure-engine/better-auth/plugins/jwt/jwt-auth-plugin.controller.js.map +1 -0
  65. package/src/infrastructure-engine/better-auth/plugins/jwt/jwt-token-invalidation.repository.d.ts +4 -0
  66. package/src/infrastructure-engine/better-auth/plugins/jwt/jwt-token-invalidation.repository.js +12 -0
  67. package/src/infrastructure-engine/better-auth/plugins/jwt/jwt-token-invalidation.repository.js.map +1 -0
  68. package/src/infrastructure-engine/better-auth/plugins/jwt/typeorm-jwt-token-invalidation.repository.d.ts +9 -0
  69. package/src/infrastructure-engine/better-auth/plugins/jwt/typeorm-jwt-token-invalidation.repository.js +33 -0
  70. package/src/infrastructure-engine/better-auth/plugins/jwt/typeorm-jwt-token-invalidation.repository.js.map +1 -0
  71. package/src/infrastructure-engine/better-auth/plugins/passkeys/better-auth-passkeys-typeorm-support.module.d.ts +2 -0
  72. package/src/infrastructure-engine/better-auth/plugins/passkeys/better-auth-passkeys-typeorm-support.module.js +17 -0
  73. package/src/infrastructure-engine/better-auth/plugins/passkeys/better-auth-passkeys-typeorm-support.module.js.map +1 -0
  74. package/src/infrastructure-engine/better-auth/plugins/passkeys/migrations/1760200001000-create-better-auth-passkeys-table.d.ts +6 -0
  75. package/src/infrastructure-engine/better-auth/plugins/passkeys/migrations/1760200001000-create-better-auth-passkeys-table.js +83 -0
  76. package/src/infrastructure-engine/better-auth/plugins/passkeys/migrations/1760200001000-create-better-auth-passkeys-table.js.map +1 -0
  77. package/src/infrastructure-engine/better-auth/plugins/passkeys/passkey.entity.d.ts +14 -0
  78. package/src/infrastructure-engine/better-auth/plugins/passkeys/passkey.entity.js +71 -0
  79. package/src/infrastructure-engine/better-auth/plugins/passkeys/passkey.entity.js.map +1 -0
  80. package/src/infrastructure-persistence/entities/account.entity.d.ts +16 -0
  81. package/src/infrastructure-persistence/entities/account.entity.js +81 -0
  82. package/src/infrastructure-persistence/entities/account.entity.js.map +1 -0
  83. package/src/infrastructure-persistence/entities/session.entity.d.ts +11 -0
  84. package/src/infrastructure-persistence/entities/session.entity.js +58 -0
  85. package/src/infrastructure-persistence/entities/session.entity.js.map +1 -0
  86. package/src/infrastructure-persistence/entities/user.entity.d.ts +3 -4
  87. package/src/infrastructure-persistence/entities/user.entity.js +5 -9
  88. package/src/infrastructure-persistence/entities/user.entity.js.map +1 -1
  89. package/src/infrastructure-persistence/entities/verification.entity.d.ts +9 -0
  90. package/src/infrastructure-persistence/entities/verification.entity.js +50 -0
  91. package/src/infrastructure-persistence/entities/verification.entity.js.map +1 -0
  92. package/src/infrastructure-persistence/index.d.ts +1 -2
  93. package/src/infrastructure-persistence/index.js +1 -2
  94. package/src/infrastructure-persistence/index.js.map +1 -1
  95. package/src/infrastructure-persistence/migrations/1720200000000-create-auth-schema.js +189 -93
  96. package/src/infrastructure-persistence/migrations/1720200000000-create-auth-schema.js.map +1 -1
  97. package/src/infrastructure-persistence/persistence.module-definition.d.ts +1 -1
  98. package/src/infrastructure-persistence/persistence.module-definition.js +2 -2
  99. package/src/infrastructure-persistence/persistence.module-definition.js.map +1 -1
  100. package/src/infrastructure-persistence/persistence.module.js +34 -26
  101. package/src/infrastructure-persistence/persistence.module.js.map +1 -1
  102. package/src/infrastructure-persistence/repositories/typeorm-auth-account.repository.d.ts +14 -0
  103. package/src/infrastructure-persistence/repositories/typeorm-auth-account.repository.js +64 -0
  104. package/src/infrastructure-persistence/repositories/typeorm-auth-account.repository.js.map +1 -0
  105. package/src/infrastructure-persistence/repositories/typeorm-auth-user.repository.d.ts +6 -7
  106. package/src/infrastructure-persistence/repositories/typeorm-auth-user.repository.js +27 -17
  107. package/src/infrastructure-persistence/repositories/typeorm-auth-user.repository.js.map +1 -1
  108. package/src/presentation/controllers/auth.controller.d.ts +12 -7
  109. package/src/presentation/controllers/auth.controller.js +46 -26
  110. package/src/presentation/controllers/auth.controller.js.map +1 -1
  111. package/src/presentation/presentation.module.js +32 -3
  112. package/src/presentation/presentation.module.js.map +1 -1
  113. package/src/application/services/jwt-auth.service.d.ts +0 -11
  114. package/src/application/services/jwt-auth.service.js +0 -27
  115. package/src/application/services/jwt-auth.service.js.map +0 -1
  116. package/src/application/strategies/jwt-strategy.d.ts +0 -17
  117. package/src/application/strategies/jwt-strategy.js +0 -27
  118. package/src/application/strategies/jwt-strategy.js.map +0 -1
  119. package/src/infrastructure-engine/better-auth/better-auth-spike.harness.d.ts +0 -17
  120. package/src/infrastructure-engine/better-auth/better-auth-spike.harness.js +0 -32
  121. package/src/infrastructure-engine/better-auth/better-auth-spike.harness.js.map +0 -1
  122. package/src/infrastructure-engine/legacy-jwt-auth-engine.adapter.d.ts +0 -22
  123. package/src/infrastructure-engine/legacy-jwt-auth-engine.adapter.js.map +0 -1
  124. package/src/infrastructure-persistence/entities/invalidated-token.entity.js.map +0 -1
  125. package/src/infrastructure-persistence/repositories/auth-user.repository.js.map +0 -1
  126. /package/src/{infrastructure-persistence/repositories → application/ports}/auth-user.repository.js +0 -0
  127. /package/src/{infrastructure-persistence/entities → infrastructure-engine/better-auth/plugins/jwt}/invalidated-token.entity.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"better-auth-auth-engine.adapter.js","sourceRoot":"","sources":["../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/better-auth-auth-engine.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"better-auth-auth-engine.adapter.js","sourceRoot":"","sources":["../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/better-auth-auth-engine.adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { BetterAuthOptions } from 'better-auth';
2
+ import type { ResolvedAuthApplicationModuleOptions } from '../../config';
3
+ import type { BetterAuthRuntimeModules } from './better-auth.module-loader';
4
+ export type BetterAuthLifecycleOptions = {
5
+ hashPassword: (password: string) => Promise<string>;
6
+ verifyPassword: (input: {
7
+ hash: string;
8
+ password: string;
9
+ }) => Promise<boolean>;
10
+ sendVerificationEmail: (input: {
11
+ email: string;
12
+ url: string;
13
+ token: string;
14
+ }) => Promise<void>;
15
+ sendResetPassword: (input: {
16
+ email: string;
17
+ url: string;
18
+ token: string;
19
+ }) => Promise<void>;
20
+ };
21
+ export declare function createBetterAuthOptions(options: ResolvedAuthApplicationModuleOptions, database: BetterAuthOptions['database'], runtimeModules: BetterAuthRuntimeModules, lifecycle: BetterAuthLifecycleOptions): BetterAuthOptions;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createBetterAuthOptions = createBetterAuthOptions;
4
+ function createBetterAuthOptions(options, database, runtimeModules, lifecycle) {
5
+ return {
6
+ secret: options.betterAuth.secret,
7
+ baseURL: options.betterAuth.baseUrl,
8
+ trustedOrigins: collectTrustedOrigins(options),
9
+ database,
10
+ advanced: {
11
+ database: {
12
+ generateId: 'uuid',
13
+ },
14
+ },
15
+ user: {
16
+ modelName: 'users',
17
+ },
18
+ session: {
19
+ modelName: 'sessions',
20
+ },
21
+ account: {
22
+ modelName: 'accounts',
23
+ },
24
+ verification: {
25
+ modelName: 'verifications',
26
+ },
27
+ emailVerification: {
28
+ sendOnSignUp: true,
29
+ autoSignInAfterVerification: false,
30
+ sendVerificationEmail: async ({ user, url, token }) => {
31
+ await lifecycle.sendVerificationEmail({
32
+ email: user.email,
33
+ url,
34
+ token,
35
+ });
36
+ },
37
+ },
38
+ emailAndPassword: {
39
+ enabled: true,
40
+ autoSignIn: false,
41
+ sendResetPassword: async ({ user, url, token }) => {
42
+ await lifecycle.sendResetPassword({
43
+ email: user.email,
44
+ url,
45
+ token,
46
+ });
47
+ },
48
+ password: {
49
+ hash: lifecycle.hashPassword,
50
+ verify: lifecycle.verifyPassword,
51
+ },
52
+ },
53
+ socialProviders: options.plugins.social.enabled
54
+ ? {
55
+ github: {
56
+ clientId: options.plugins.social.github.clientId,
57
+ clientSecret: options.plugins.social.github.clientSecret,
58
+ },
59
+ }
60
+ : {},
61
+ plugins: options.plugins.passkeys.enabled
62
+ ? [
63
+ runtimeModules.betterAuthPasskey.passkey({
64
+ rpID: options.plugins.passkeys.rpID,
65
+ rpName: options.plugins.passkeys.rpName,
66
+ origin: options.plugins.passkeys.origin,
67
+ schema: {
68
+ passkey: {
69
+ modelName: 'passkeys',
70
+ },
71
+ },
72
+ }),
73
+ ]
74
+ : [],
75
+ };
76
+ }
77
+ function collectTrustedOrigins(options) {
78
+ const origins = [
79
+ options.betterAuth.baseUrl,
80
+ options.betterAuth.callbackUrls.verifyEmail,
81
+ options.betterAuth.callbackUrls.resetPassword,
82
+ ]
83
+ .map((value) => {
84
+ try {
85
+ return new URL(value).origin;
86
+ }
87
+ catch {
88
+ return null;
89
+ }
90
+ })
91
+ .filter((value) => Boolean(value));
92
+ return [...new Set(origins)];
93
+ }
94
+ //# sourceMappingURL=better-auth-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth-options.js","sourceRoot":"","sources":["../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/better-auth-options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { DataSource, EntityTarget, ObjectLiteral } from 'typeorm';
2
+ import { BetterAuthDatabasePort } from '../../application/services/better-auth-database.port';
3
+ import type { ResolvedAuthApplicationModuleOptions } from '../../config';
4
+ type BetterAuthTypeormModelMap = Record<string, EntityTarget<ObjectLiteral>>;
5
+ export declare class BetterAuthTypeormDatabaseAdapter implements BetterAuthDatabasePort {
6
+ private readonly options;
7
+ private readonly dataSource?;
8
+ private resolvedDatabasePromise;
9
+ constructor(options: ResolvedAuthApplicationModuleOptions, dataSource?: DataSource | undefined);
10
+ resolveDatabase(): Promise<unknown>;
11
+ private createDatabaseAdapter;
12
+ }
13
+ export declare function createBetterAuthTypeormModels(options: Pick<ResolvedAuthApplicationModuleOptions, 'plugins'>): BetterAuthTypeormModelMap;
14
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BetterAuthTypeormDatabaseAdapter = void 0;
4
+ exports.createBetterAuthTypeormModels = createBetterAuthTypeormModels;
5
+ const tslib_1 = require("tslib");
6
+ const common_1 = require("@nestjs/common");
7
+ const typeorm_1 = require("@nestjs/typeorm");
8
+ const application_module_definition_1 = require("../../application/application.module-definition");
9
+ const account_entity_1 = require("../../infrastructure-persistence/entities/account.entity");
10
+ const session_entity_1 = require("../../infrastructure-persistence/entities/session.entity");
11
+ const user_entity_1 = require("../../infrastructure-persistence/entities/user.entity");
12
+ const verification_entity_1 = require("../../infrastructure-persistence/entities/verification.entity");
13
+ const better_auth_module_loader_1 = require("./better-auth.module-loader");
14
+ const passkey_entity_1 = require("./plugins/passkeys/passkey.entity");
15
+ const ADAPTER_ID = 'anarchitects-typeorm';
16
+ const ADAPTER_NAME = 'Anarchitects TypeORM Adapter';
17
+ let BetterAuthTypeormDatabaseAdapter = class BetterAuthTypeormDatabaseAdapter {
18
+ constructor(options, dataSource) {
19
+ this.options = options;
20
+ this.dataSource = dataSource;
21
+ this.resolvedDatabasePromise = null;
22
+ }
23
+ resolveDatabase() {
24
+ if (!this.resolvedDatabasePromise) {
25
+ this.resolvedDatabasePromise = this.createDatabaseAdapter();
26
+ }
27
+ return this.resolvedDatabasePromise;
28
+ }
29
+ async createDatabaseAdapter() {
30
+ if (!this.dataSource) {
31
+ throw new Error('Better Auth TypeORM adapter persistence requires an active TypeORM DataSource.');
32
+ }
33
+ const adapterModule = await (0, better_auth_module_loader_1.loadBetterAuthTypeormAdapterModule)();
34
+ return adapterModule.createBetterAuthTypeormAdapter({
35
+ dataSource: this.dataSource,
36
+ models: createBetterAuthTypeormModels(this.options),
37
+ adapterId: ADAPTER_ID,
38
+ adapterName: ADAPTER_NAME,
39
+ });
40
+ }
41
+ };
42
+ exports.BetterAuthTypeormDatabaseAdapter = BetterAuthTypeormDatabaseAdapter;
43
+ exports.BetterAuthTypeormDatabaseAdapter = BetterAuthTypeormDatabaseAdapter = tslib_1.__decorate([
44
+ (0, common_1.Injectable)(),
45
+ tslib_1.__param(0, (0, common_1.Inject)(application_module_definition_1.AUTH_APPLICATION_MODULE_OPTIONS)),
46
+ tslib_1.__param(1, (0, common_1.Optional)()),
47
+ tslib_1.__param(1, (0, common_1.Inject)((0, typeorm_1.getDataSourceToken)())),
48
+ tslib_1.__metadata("design:paramtypes", [Object, Function])
49
+ ], BetterAuthTypeormDatabaseAdapter);
50
+ function createBetterAuthTypeormModels(options) {
51
+ const models = {
52
+ users: user_entity_1.UserEntity,
53
+ accounts: account_entity_1.AccountEntity,
54
+ sessions: session_entity_1.SessionEntity,
55
+ verifications: verification_entity_1.VerificationEntity,
56
+ };
57
+ if (options.plugins.passkeys.enabled) {
58
+ models['passkeys'] = passkey_entity_1.PasskeyEntity;
59
+ }
60
+ return models;
61
+ }
62
+ //# sourceMappingURL=better-auth-typeorm-adapter-persistence.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth-typeorm-adapter-persistence.adapter.js","sourceRoot":"","sources":["../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/better-auth-typeorm-adapter-persistence.adapter.ts"],"names":[],"mappings":";;;AA6DA,sEAeC;;AA5ED,2CAA8D;AAC9D,6CAAqD;AAGrD,mGAAkG;AAGlG,6FAAyF;AACzF,6FAAyF;AACzF,uFAAmF;AACnF,uGAAmG;AACnG,2EAAiF;AACjF,sEAAkE;AAElE,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC1C,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAK7C,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IAK3C,YAEE,OAA8D,EAG9D,UAAwC;QAHvB,YAAO,GAAP,OAAO,CAAsC;QAG7C,eAAU,GAAV,UAAU,CAAa;QAPlC,4BAAuB,GAA4B,IAAI,CAAC;IAQ7D,CAAC;IAEJ,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAGjC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAA,8DAAkC,GAAE,CAAC;QAEjE,OAAO,aAAa,CAAC,8BAA8B,CAAC;YAClD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;YACnD,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE,YAAY;SAC1B,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAvCY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,mBAAU,GAAE;IAOR,mBAAA,IAAA,eAAM,EAAC,+DAA+B,CAAC,CAAA;IAEvC,mBAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,mBAAA,IAAA,eAAM,EAAC,IAAA,4BAAkB,GAAE,CAAC,CAAA;;GATpB,gCAAgC,CAuC5C;AAED,SAAgB,6BAA6B,CAC3C,OAA8D;IAE9D,MAAM,MAAM,GAA8B;QACxC,KAAK,EAAE,wBAAU;QACjB,QAAQ,EAAE,8BAAa;QACvB,QAAQ,EAAE,8BAAa;QACvB,aAAa,EAAE,wCAAkB;KAClC,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,UAAU,CAAC,GAAG,8BAAa,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,7 +1,13 @@
1
1
  export type BetterAuthModule = typeof import('better-auth');
2
+ export type BetterAuthAdaptersModule = typeof import('better-auth/adapters');
2
3
  export type BetterAuthPasskeyModule = typeof import('@better-auth/passkey');
4
+ export type BetterAuthMigrationModule = typeof import('better-auth/db/migration');
5
+ export type BetterAuthTypeormAdapterModule = typeof import('@anarchitects/better-auth-typeorm-adapter');
3
6
  export type BetterAuthRuntimeModules = {
4
7
  betterAuth: BetterAuthModule;
8
+ betterAuthAdapters: BetterAuthAdaptersModule;
5
9
  betterAuthPasskey: BetterAuthPasskeyModule;
10
+ betterAuthMigration: BetterAuthMigrationModule;
6
11
  };
7
12
  export declare function loadBetterAuthRuntimeModules(): Promise<BetterAuthRuntimeModules>;
13
+ export declare function loadBetterAuthTypeormAdapterModule(): Promise<BetterAuthTypeormAdapterModule>;
@@ -1,15 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadBetterAuthRuntimeModules = loadBetterAuthRuntimeModules;
4
+ exports.loadBetterAuthTypeormAdapterModule = loadBetterAuthTypeormAdapterModule;
4
5
  const dynamic_import_1 = require("./dynamic-import");
5
6
  async function loadBetterAuthRuntimeModules() {
6
- const [betterAuth, betterAuthPasskey] = await Promise.all([
7
+ const [betterAuth, betterAuthAdapters, betterAuthPasskey, betterAuthMigration,] = await Promise.all([
7
8
  (0, dynamic_import_1.importEsmModule)('better-auth'),
9
+ (0, dynamic_import_1.importEsmModule)('better-auth/adapters'),
8
10
  (0, dynamic_import_1.importEsmModule)('@better-auth/passkey'),
11
+ (0, dynamic_import_1.importEsmModule)('better-auth/db/migration'),
9
12
  ]);
10
13
  return {
11
14
  betterAuth,
15
+ betterAuthAdapters,
12
16
  betterAuthPasskey,
17
+ betterAuthMigration,
13
18
  };
14
19
  }
20
+ function loadBetterAuthTypeormAdapterModule() {
21
+ return (0, dynamic_import_1.importEsmModule)('@anarchitects/better-auth-typeorm-adapter');
22
+ }
15
23
  //# sourceMappingURL=better-auth.module-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"better-auth.module-loader.js","sourceRoot":"","sources":["../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/better-auth.module-loader.ts"],"names":[],"mappings":";;AAUA,oEAUC;AApBD,qDAAmD;AAU5C,KAAK,UAAU,4BAA4B;IAChD,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,IAAA,gCAAe,EAAmB,aAAa,CAAC;QAChD,IAAA,gCAAe,EAA0B,sBAAsB,CAAC;KACjE,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"better-auth.module-loader.js","sourceRoot":"","sources":["../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/better-auth.module-loader.ts"],"names":[],"mappings":";;AAiBA,oEAmBC;AAED,gFAIC;AA1CD,qDAAmD;AAiB5C,KAAK,UAAU,4BAA4B;IAChD,MAAM,CACJ,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACpB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpB,IAAA,gCAAe,EAAmB,aAAa,CAAC;QAChD,IAAA,gCAAe,EAA2B,sBAAsB,CAAC;QACjE,IAAA,gCAAe,EAA0B,sBAAsB,CAAC;QAChE,IAAA,gCAAe,EAA4B,0BAA0B,CAAC;KACvE,CAAC,CAAC;IAEH,OAAO;QACL,UAAU;QACV,kBAAkB;QAClB,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;AACJ,CAAC;AAED,SAAgB,kCAAkC;IAChD,OAAO,IAAA,gCAAe,EACpB,2CAA2C,CAC5C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { JwtService } from '@nestjs/jwt';
2
+ import { JwtLogoutRequestDTO, LoginResponseDTO, RefreshTokenRequestDTO, RefreshTokenResponseDTO } from '@anarchitects/auth-ts/dtos/jwt';
3
+ import { LoginRequestDTO } from '@anarchitects/auth-ts/dtos';
4
+ import { AuthAccountRepository } from '../../../../application/ports/auth-account.repository';
5
+ import { AuthUserRepository } from '../../../../application/ports/auth-user.repository';
6
+ import { HashService } from '../../../../application/services/hash.service';
7
+ import { JwtTokenInvalidationRepository } from './jwt-token-invalidation.repository';
8
+ export declare class BetterAuthJwtPluginService {
9
+ private readonly hashService;
10
+ private readonly authAccountRepository;
11
+ private readonly authUserRepository;
12
+ private readonly jwtTokenInvalidationRepository;
13
+ private readonly jwtService;
14
+ constructor(hashService: HashService, authAccountRepository: AuthAccountRepository, authUserRepository: AuthUserRepository, jwtTokenInvalidationRepository: JwtTokenInvalidationRepository, jwtService: JwtService);
15
+ login(dto: LoginRequestDTO): Promise<LoginResponseDTO>;
16
+ logout(dto: JwtLogoutRequestDTO): Promise<{
17
+ success: boolean;
18
+ }>;
19
+ refreshTokens(dto: RefreshTokenRequestDTO): Promise<RefreshTokenResponseDTO>;
20
+ private generateTokens;
21
+ }
@@ -1,26 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LegacyJwtAuthEngineAdapter = void 0;
3
+ exports.BetterAuthJwtPluginService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const jwt_1 = require("@nestjs/jwt");
7
- const hash_service_1 = require("../application/services/hash.service");
8
- const auth_user_repository_1 = require("../infrastructure-persistence/repositories/auth-user.repository");
9
- let LegacyJwtAuthEngineAdapter = class LegacyJwtAuthEngineAdapter {
10
- constructor(hashService, authUserRepository, jwtService) {
7
+ const auth_account_repository_1 = require("../../../../application/ports/auth-account.repository");
8
+ const auth_user_repository_1 = require("../../../../application/ports/auth-user.repository");
9
+ const hash_service_1 = require("../../../../application/services/hash.service");
10
+ const jwt_token_invalidation_repository_1 = require("./jwt-token-invalidation.repository");
11
+ let BetterAuthJwtPluginService = class BetterAuthJwtPluginService {
12
+ constructor(hashService, authAccountRepository, authUserRepository, jwtTokenInvalidationRepository, jwtService) {
11
13
  this.hashService = hashService;
14
+ this.authAccountRepository = authAccountRepository;
12
15
  this.authUserRepository = authUserRepository;
16
+ this.jwtTokenInvalidationRepository = jwtTokenInvalidationRepository;
13
17
  this.jwtService = jwtService;
14
18
  }
15
19
  async login(dto) {
16
20
  const { credential, password } = dto;
17
21
  const user = await this.authUserRepository.findOne({
18
- where: [{ email: credential }, { userName: credential }],
22
+ where: [{ email: credential }, { name: credential }],
19
23
  });
20
24
  if (!user) {
21
25
  throw new common_1.BadRequestException('Invalid credentials');
22
26
  }
23
- const isPasswordValid = await this.hashService.compare(password, user.passwordHash);
27
+ const credentialAccount = await this.authAccountRepository.findCredentialAccountByUserId(user.id);
28
+ if (!credentialAccount?.password) {
29
+ throw new common_1.BadRequestException('Invalid credentials');
30
+ }
31
+ const isPasswordValid = await this.hashService.compare(password, credentialAccount.password);
24
32
  if (!isPasswordValid) {
25
33
  throw new common_1.BadRequestException('Invalid credentials');
26
34
  }
@@ -28,9 +36,6 @@ let LegacyJwtAuthEngineAdapter = class LegacyJwtAuthEngineAdapter {
28
36
  }
29
37
  async logout(dto) {
30
38
  const { accessToken, refreshToken } = dto;
31
- if (!refreshToken) {
32
- throw new common_1.BadRequestException('Refresh token is required');
33
- }
34
39
  const payload = await this.jwtService.verifyAsync(refreshToken).catch(() => {
35
40
  throw new common_1.BadRequestException('Invalid refresh token');
36
41
  });
@@ -40,77 +45,35 @@ let LegacyJwtAuthEngineAdapter = class LegacyJwtAuthEngineAdapter {
40
45
  const user = await this.authUserRepository.findOne({
41
46
  where: { id: payload.sub },
42
47
  });
43
- if (!user?.id) {
48
+ if (!user) {
44
49
  throw new common_1.BadRequestException('Invalid refresh token');
45
50
  }
46
51
  const tokenHashes = await Promise.all([accessToken, refreshToken]
47
52
  .filter((token) => Boolean(token))
48
53
  .map((token) => this.hashService.hash(token)));
49
- await this.authUserRepository.invalidateTokens(tokenHashes, user.id);
54
+ await this.jwtTokenInvalidationRepository.invalidateTokens(tokenHashes, user.id);
50
55
  return { success: true };
51
56
  }
52
- async refreshTokens(userId, dto) {
57
+ async refreshTokens(dto) {
53
58
  const { refreshToken } = dto;
54
59
  const payload = await this.jwtService.verifyAsync(refreshToken).catch(() => {
55
60
  throw new common_1.BadRequestException('Invalid refresh token');
56
61
  });
57
- if (!payload?.sub || payload.sub !== userId) {
62
+ if (!payload?.sub) {
58
63
  throw new common_1.BadRequestException('Invalid refresh token');
59
64
  }
60
65
  const user = await this.authUserRepository.findOne({
61
- where: { id: userId },
66
+ where: { id: payload.sub },
62
67
  });
63
68
  if (!user) {
64
69
  throw new common_1.BadRequestException('User not found');
65
70
  }
66
- const isTokenInvalidated = await this.authUserRepository.isTokenInvalidated(await this.hashService.hash(refreshToken));
71
+ const isTokenInvalidated = await this.jwtTokenInvalidationRepository.isTokenInvalidated(await this.hashService.hash(refreshToken));
67
72
  if (isTokenInvalidated) {
68
73
  throw new common_1.BadRequestException('Refresh token has been invalidated');
69
74
  }
70
75
  return this.generateTokens(user);
71
76
  }
72
- async describeCapabilities() {
73
- return {
74
- engine: 'legacy-jwt',
75
- flows: [
76
- {
77
- flow: 'password-sign-in',
78
- status: 'supported',
79
- notes: 'Existing JwtAuthService email-or-username login path.',
80
- },
81
- {
82
- flow: 'passkey-sign-in',
83
- status: 'unsupported',
84
- notes: 'Legacy JWT engine does not implement WebAuthn.',
85
- },
86
- {
87
- flow: 'social-sign-in',
88
- status: 'unsupported',
89
- notes: 'Legacy JWT engine does not implement social provider sign-in.',
90
- },
91
- {
92
- flow: 'sign-out-or-refresh',
93
- status: 'supported',
94
- notes: 'Existing refresh-token flow remains available on the legacy engine.',
95
- },
96
- ],
97
- };
98
- }
99
- passwordSignIn(dto) {
100
- return this.login(dto);
101
- }
102
- passkeySignIn(_input) {
103
- return Promise.reject(new Error('Passkey sign-in is unavailable on the legacy JWT engine.'));
104
- }
105
- socialSignIn(_input) {
106
- return Promise.reject(new Error('Social sign-in is unavailable on the legacy JWT engine.'));
107
- }
108
- signOutOrRefresh(input) {
109
- if (input.mode === 'refresh') {
110
- return this.refreshTokens(input.userId, input.dto);
111
- }
112
- return Promise.reject(new Error('Legacy JWT proof path only supports refresh for the spike.'));
113
- }
114
77
  async generateTokens(user) {
115
78
  const payload = {
116
79
  sub: user.id,
@@ -118,14 +81,19 @@ let LegacyJwtAuthEngineAdapter = class LegacyJwtAuthEngineAdapter {
118
81
  };
119
82
  const accessToken = await this.jwtService.signAsync(payload);
120
83
  const refreshToken = await this.jwtService.signAsync(payload);
121
- return { accessToken, refreshToken };
84
+ return {
85
+ accessToken,
86
+ refreshToken,
87
+ };
122
88
  }
123
89
  };
124
- exports.LegacyJwtAuthEngineAdapter = LegacyJwtAuthEngineAdapter;
125
- exports.LegacyJwtAuthEngineAdapter = LegacyJwtAuthEngineAdapter = tslib_1.__decorate([
90
+ exports.BetterAuthJwtPluginService = BetterAuthJwtPluginService;
91
+ exports.BetterAuthJwtPluginService = BetterAuthJwtPluginService = tslib_1.__decorate([
126
92
  (0, common_1.Injectable)(),
127
93
  tslib_1.__metadata("design:paramtypes", [hash_service_1.HashService,
94
+ auth_account_repository_1.AuthAccountRepository,
128
95
  auth_user_repository_1.AuthUserRepository,
96
+ jwt_token_invalidation_repository_1.JwtTokenInvalidationRepository,
129
97
  jwt_1.JwtService])
130
- ], LegacyJwtAuthEngineAdapter);
131
- //# sourceMappingURL=legacy-jwt-auth-engine.adapter.js.map
98
+ ], BetterAuthJwtPluginService);
99
+ //# sourceMappingURL=better-auth-jwt-plugin.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth-jwt-plugin.service.js","sourceRoot":"","sources":["../../../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/plugins/jwt/better-auth-jwt-plugin.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare class BetterAuthJwtTypeormSupportModule {
2
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BetterAuthJwtTypeormSupportModule = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const typeorm_1 = require("@nestjs/typeorm");
7
+ const jwt_token_invalidation_repository_1 = require("./jwt-token-invalidation.repository");
8
+ const invalidated_token_entity_1 = require("./invalidated-token.entity");
9
+ const typeorm_jwt_token_invalidation_repository_1 = require("./typeorm-jwt-token-invalidation.repository");
10
+ let BetterAuthJwtTypeormSupportModule = class BetterAuthJwtTypeormSupportModule {
11
+ };
12
+ exports.BetterAuthJwtTypeormSupportModule = BetterAuthJwtTypeormSupportModule;
13
+ exports.BetterAuthJwtTypeormSupportModule = BetterAuthJwtTypeormSupportModule = tslib_1.__decorate([
14
+ (0, common_1.Module)({
15
+ imports: [typeorm_1.TypeOrmModule.forFeature([invalidated_token_entity_1.InvalidatedTokenEntity])],
16
+ providers: [
17
+ typeorm_jwt_token_invalidation_repository_1.TypeormJwtTokenInvalidationRepository,
18
+ {
19
+ provide: jwt_token_invalidation_repository_1.JwtTokenInvalidationRepository,
20
+ useExisting: typeorm_jwt_token_invalidation_repository_1.TypeormJwtTokenInvalidationRepository,
21
+ },
22
+ ],
23
+ exports: [jwt_token_invalidation_repository_1.JwtTokenInvalidationRepository],
24
+ })
25
+ ], BetterAuthJwtTypeormSupportModule);
26
+ //# sourceMappingURL=better-auth-jwt-typeorm-support.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth-jwt-typeorm-support.module.js","sourceRoot":"","sources":["../../../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/plugins/jwt/better-auth-jwt-typeorm-support.module.ts"],"names":[],"mappings":";;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,2FAAqF;AACrF,yEAAoE;AACpE,2GAAoG;AAa7F,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;CAAG,CAAA;AAApC,8EAAiC;4CAAjC,iCAAiC;IAX7C,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,iDAAsB,CAAC,CAAC,CAAC;QAC7D,SAAS,EAAE;YACT,iFAAqC;YACrC;gBACE,OAAO,EAAE,kEAA8B;gBACvC,WAAW,EAAE,iFAAqC;aACnD;SACF;QACD,OAAO,EAAE,CAAC,kEAA8B,CAAC;KAC1C,CAAC;GACW,iCAAiC,CAAG"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InvalidatedTokenEntity = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const typeorm_1 = require("typeorm");
6
- const schema_1 = require("../schema");
6
+ const schema_1 = require("../../../../infrastructure-persistence/schema");
7
7
  let InvalidatedTokenEntity = class InvalidatedTokenEntity {
8
8
  constructor(partial = {}) {
9
9
  Object.assign(this, partial);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidated-token.entity.js","sourceRoot":"","sources":["../../../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/plugins/jwt/invalidated-token.entity.ts"],"names":[],"mappings":";;;;AAAA,qCAA+D;AAC/D,0EAA4E;AAQrE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAiBjC,YAAY,UAA2C,EAAE;QACvD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF,CAAA;AApBY,wDAAsB;AAEjC;IADC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;uDAC/B;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAClB;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;sCACxC,IAAI;yDAAC;AAOjB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB;KACnC,CAAC;sCACc,IAAI;6DAAC;iCAfV,sBAAsB;IANlC,IAAA,gBAAM,EAAC;QACN,MAAM,EAAE,oBAAW;QACnB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,KAAK;KACnB,CAAC;IACD,IAAA,eAAK,EAAC,mCAAmC,EAAE,CAAC,WAAW,CAAC,CAAC;;GAC7C,sBAAsB,CAoBlC"}
@@ -0,0 +1,10 @@
1
+ import { JwtLogoutRequestDTO, LoginResponseDTO, RefreshTokenRequestDTO, RefreshTokenResponseDTO } from '@anarchitects/auth-ts/dtos/jwt';
2
+ import { LoginRequestDTO, SuccessResponseDTO } from '@anarchitects/auth-ts/dtos';
3
+ import { BetterAuthJwtPluginService } from './better-auth-jwt-plugin.service';
4
+ export declare class JwtAuthPluginController {
5
+ private readonly jwtPluginService;
6
+ constructor(jwtPluginService: BetterAuthJwtPluginService);
7
+ login(dto: LoginRequestDTO): Promise<LoginResponseDTO>;
8
+ logout(dto: JwtLogoutRequestDTO): Promise<SuccessResponseDTO>;
9
+ refresh(dto: RefreshTokenRequestDTO): Promise<RefreshTokenResponseDTO>;
10
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JwtAuthPluginController = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jwt_1 = require("@anarchitects/auth-ts/dtos/jwt");
6
+ const dtos_1 = require("@anarchitects/auth-ts/dtos");
7
+ const common_1 = require("@nestjs/common");
8
+ const platform_fastify_1 = require("@nestjs/platform-fastify");
9
+ const better_auth_jwt_plugin_service_1 = require("./better-auth-jwt-plugin.service");
10
+ let JwtAuthPluginController = class JwtAuthPluginController {
11
+ constructor(jwtPluginService) {
12
+ this.jwtPluginService = jwtPluginService;
13
+ }
14
+ login(dto) {
15
+ return this.jwtPluginService.login(dto);
16
+ }
17
+ logout(dto) {
18
+ return this.jwtPluginService.logout(dto);
19
+ }
20
+ refresh(dto) {
21
+ return this.jwtPluginService.refreshTokens(dto);
22
+ }
23
+ };
24
+ exports.JwtAuthPluginController = JwtAuthPluginController;
25
+ tslib_1.__decorate([
26
+ (0, common_1.HttpCode)(200),
27
+ (0, common_1.Post)('/login'),
28
+ (0, platform_fastify_1.RouteSchema)({
29
+ body: dtos_1.LoginRequestSchema,
30
+ response: { 200: jwt_1.LoginResponseSchema },
31
+ }),
32
+ tslib_1.__param(0, (0, common_1.Body)()),
33
+ tslib_1.__metadata("design:type", Function),
34
+ tslib_1.__metadata("design:paramtypes", [Object]),
35
+ tslib_1.__metadata("design:returntype", Promise)
36
+ ], JwtAuthPluginController.prototype, "login", null);
37
+ tslib_1.__decorate([
38
+ (0, common_1.HttpCode)(200),
39
+ (0, common_1.Post)('/logout'),
40
+ (0, platform_fastify_1.RouteSchema)({
41
+ body: jwt_1.JwtLogoutRequestSchema,
42
+ response: { 200: dtos_1.SuccessResponseSchema },
43
+ }),
44
+ tslib_1.__param(0, (0, common_1.Body)()),
45
+ tslib_1.__metadata("design:type", Function),
46
+ tslib_1.__metadata("design:paramtypes", [Object]),
47
+ tslib_1.__metadata("design:returntype", Promise)
48
+ ], JwtAuthPluginController.prototype, "logout", null);
49
+ tslib_1.__decorate([
50
+ (0, common_1.HttpCode)(200),
51
+ (0, common_1.Post)('/refresh'),
52
+ (0, platform_fastify_1.RouteSchema)({
53
+ body: jwt_1.RefreshTokenRequestSchema,
54
+ response: { 200: jwt_1.RefreshTokenResponseSchema },
55
+ }),
56
+ tslib_1.__param(0, (0, common_1.Body)()),
57
+ tslib_1.__metadata("design:type", Function),
58
+ tslib_1.__metadata("design:paramtypes", [Object]),
59
+ tslib_1.__metadata("design:returntype", Promise)
60
+ ], JwtAuthPluginController.prototype, "refresh", null);
61
+ exports.JwtAuthPluginController = JwtAuthPluginController = tslib_1.__decorate([
62
+ (0, common_1.Controller)('auth/jwt'),
63
+ tslib_1.__metadata("design:paramtypes", [better_auth_jwt_plugin_service_1.BetterAuthJwtPluginService])
64
+ ], JwtAuthPluginController);
65
+ //# sourceMappingURL=jwt-auth-plugin.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-auth-plugin.controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/auth/nest/src/infrastructure-engine/better-auth/plugins/jwt/jwt-auth-plugin.controller.ts"],"names":[],"mappings":";;;;AAAA,wDASwC;AACxC,qDAKoC;AACpC,2CAAkE;AAClE,+DAAuD;AACvD,qFAA8E;AAGvE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YACmB,gBAA4C;QAA5C,qBAAgB,GAAhB,gBAAgB,CAA4B;IAC5D,CAAC;IAQJ,KAAK,CAAS,GAAoB;QAChC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAQD,MAAM,CAAS,GAAwB;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAQD,OAAO,CACG,GAA2B;QAEnC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AApCY,0DAAuB;AAWlC;IANC,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACb,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,8BAAW,EAAC;QACX,IAAI,EAAE,yBAAkB;QACxB,QAAQ,EAAE,EAAE,GAAG,EAAE,yBAAmB,EAAE;KACvC,CAAC;IACK,mBAAA,IAAA,aAAI,GAAE,CAAA;;;;oDAEZ;AAQD;IANC,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACb,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,8BAAW,EAAC;QACX,IAAI,EAAE,4BAAsB;QAC5B,QAAQ,EAAE,EAAE,GAAG,EAAE,4BAAqB,EAAE;KACzC,CAAC;IACM,mBAAA,IAAA,aAAI,GAAE,CAAA;;;;qDAEb;AAQD;IANC,IAAA,iBAAQ,EAAC,GAAG,CAAC;IACb,IAAA,aAAI,EAAC,UAAU,CAAC;IAChB,IAAA,8BAAW,EAAC;QACX,IAAI,EAAE,+BAAyB;QAC/B,QAAQ,EAAE,EAAE,GAAG,EAAE,gCAA0B,EAAE;KAC9C,CAAC;IAEC,mBAAA,IAAA,aAAI,GAAE,CAAA;;;;sDAGR;kCAnCU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,UAAU,CAAC;6CAGgB,2DAA0B;GAFpD,uBAAuB,CAoCnC"}