@darraghor/nest-backend-libs 6.0.1 → 7.0.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.
Files changed (45) hide show
  1. package/README.md +28 -1
  2. package/dist/authorization/authz.module.js +1 -0
  3. package/dist/authorization/authz.module.js.map +1 -1
  4. package/dist/authorization/better-authz.module.d.ts +10 -0
  5. package/dist/authorization/better-authz.module.js +54 -0
  6. package/dist/authorization/better-authz.module.js.map +1 -0
  7. package/dist/authorization/better-authz.options.d.ts +12 -0
  8. package/dist/authorization/better-authz.options.js +2 -0
  9. package/dist/authorization/better-authz.options.js.map +1 -0
  10. package/dist/authorization/config/BetterAuthConfigurationService.d.ts +8 -0
  11. package/dist/authorization/config/BetterAuthConfigurationService.js +33 -0
  12. package/dist/authorization/config/BetterAuthConfigurationService.js.map +1 -0
  13. package/dist/authorization/models/AuthenticatedUserProfile.d.ts +17 -0
  14. package/dist/authorization/models/AuthenticatedUserProfile.js +2 -0
  15. package/dist/authorization/models/AuthenticatedUserProfile.js.map +1 -0
  16. package/dist/authorization/services/BetterAuthUserValidation.service.d.ts +23 -0
  17. package/dist/authorization/services/BetterAuthUserValidation.service.js +197 -0
  18. package/dist/authorization/services/BetterAuthUserValidation.service.js.map +1 -0
  19. package/dist/authorization/strategies/better-auth-apikey.strategy.d.ts +15 -0
  20. package/dist/authorization/strategies/better-auth-apikey.strategy.js +44 -0
  21. package/dist/authorization/strategies/better-auth-apikey.strategy.js.map +1 -0
  22. package/dist/authorization/strategies/better-auth.strategy.d.ts +15 -0
  23. package/dist/authorization/strategies/better-auth.strategy.js +55 -0
  24. package/dist/authorization/strategies/better-auth.strategy.js.map +1 -0
  25. package/dist/authzclient/authz-client.module.js +1 -0
  26. package/dist/authzclient/authz-client.module.js.map +1 -1
  27. package/dist/exports/authorization.d.ts +4 -0
  28. package/dist/exports/authorization.js +2 -0
  29. package/dist/exports/authorization.js.map +1 -1
  30. package/dist/index.d.ts +4 -0
  31. package/dist/index.js +2 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/root-app/core-app.module.d.ts +4 -0
  34. package/dist/root-app/core-app.module.js +2 -2
  35. package/dist/root-app/core-app.module.js.map +1 -1
  36. package/dist/user/dto/userResponseDto.d.ts +1 -0
  37. package/dist/user/dto/userResponseDto.js +5 -0
  38. package/dist/user/dto/userResponseDto.js.map +1 -1
  39. package/dist/user/entities/user.entity.d.ts +2 -0
  40. package/dist/user/entities/user.entity.js +11 -1
  41. package/dist/user/entities/user.entity.js.map +1 -1
  42. package/dist/user/user.service.d.ts +1 -0
  43. package/dist/user/user.service.js +12 -0
  44. package/dist/user/user.service.js.map +1 -1
  45. package/package.json +4 -7
package/README.md CHANGED
@@ -11,7 +11,7 @@ You can see how this library is used in a NestJS application on GitHub as [use-m
11
11
  The library includes the following modules that can be imported into your NestJS application. They are mostly dependant on each other so you should import them all. But they are things that are common to most applications so it makes sense to have them together in this library if you use this stack.
12
12
 
13
13
  - Authorization
14
- - Auth0 for authentication
14
+ - Better Auth session and bearer-token authorization
15
15
  - Configuration
16
16
  - Postgres + typeorm
17
17
  - SQLite + typeorm
@@ -41,6 +41,33 @@ import {
41
41
  import {NEST_BACKEND_LIB_ENTITIES} from "@darraghor/nest-backend-libs/database";
42
42
  ```
43
43
 
44
+ ## Authentication and authorization
45
+
46
+ `BetterAuthzModule` is the opinionated integration for new applications. Host Better Auth
47
+ in the NestJS application (or another backend service) and provide a resolver that converts
48
+ its session into `AuthenticatedUserProfile`. The module keeps `DefaultAuthGuard`, application
49
+ users, organisations, invitations, claims, and API-key auth consistent without importing a
50
+ frontend framework or the Better Auth SDK into this library.
51
+
52
+ ```ts
53
+ BetterAuthzModule.forRootAsync({
54
+ imports: [ConfigModule],
55
+ inject: [ConfigService],
56
+ useFactory: () => ({
57
+ resolveUser: async (request) => resolveApplicationAuthSession(request),
58
+ }),
59
+ });
60
+ ```
61
+
62
+ The resolver may accept secure session cookies, signed bearer tokens, or both. This supports
63
+ server-rendered frontends and independent browser SPAs—including SSE clients—through the same
64
+ backend authorization contract.
65
+
66
+ Add `authProviderUserId` to the consuming application's migration. On first login, a verified
67
+ identity is linked to exactly one existing application user with the same email, preserving
68
+ memberships and subscriptions. Duplicate matches fail closed. `AuthzModule` and
69
+ `auth0UserId` remain available for staged upgrades but are deprecated.
70
+
44
71
  ## Stripe payments
45
72
 
46
73
  `StripePaymentsModule` is the opinionated Stripe integration for new applications. It
@@ -45,6 +45,7 @@ let AuthzModule = AuthzModule_1 = class AuthzModule {
45
45
  };
46
46
  AuthzModule = AuthzModule_1 = __decorate([
47
47
  Module({})
48
+ /** @deprecated Use BetterAuthzModule for new applications. */
48
49
  ], AuthzModule);
49
50
  export { AuthzModule };
50
51
  //# sourceMappingURL=authz.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz.module.js","sourceRoot":"","sources":["../../src/authorization/authz.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAgB,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,8CAA8C,CAAC;AACxE,OAAO,EACH,oBAAoB,GAEvB,MAAM,oBAAoB,CAAC;AAGrB,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACpB,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACX,qEAAqE,CACxE,CAAC;IACN,CAAC;IAEM,AAAP,MAAM,CAAC,YAAY,CAAC,OAAgC;QAChD,OAAO;YACH,MAAM,eAAa;YACnB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACjC,OAAO,EAAE;gBACL,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,cAAc,CAAC,QAAQ,CAAC,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC;gBACjD,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC/C;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,oBAAoB;oBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC/B;gBACD,cAAc;gBACd,wBAAwB;gBACxB,WAAW;gBACX,qBAAqB;aACxB;YACD,OAAO,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC;SACtD,CAAC;IACN,CAAC;CACJ,CAAA;AA9BY,WAAW;IADvB,MAAM,CAAC,EAAE,CAAC;GACE,WAAW,CA8BvB"}
1
+ {"version":3,"file":"authz.module.js","sourceRoot":"","sources":["../../src/authorization/authz.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAgB,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,8CAA8C,CAAC;AACxE,OAAO,EACH,oBAAoB,GAEvB,MAAM,oBAAoB,CAAC;AAIrB,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACpB,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACX,qEAAqE,CACxE,CAAC;IACN,CAAC;IAEM,AAAP,MAAM,CAAC,YAAY,CAAC,OAAgC;QAChD,OAAO;YACH,MAAM,eAAa;YACnB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACjC,OAAO,EAAE;gBACL,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,cAAc,CAAC,QAAQ,CAAC,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC;gBACjD,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC/C;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,oBAAoB;oBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC/B;gBACD,cAAc;gBACd,wBAAwB;gBACxB,WAAW;gBACX,qBAAqB;aACxB;YACD,OAAO,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC;SACtD,CAAC;IACN,CAAC;CACJ,CAAA;AA9BY,WAAW;IAFvB,MAAM,CAAC,EAAE,CAAC;IACX,8DAA8D;GACjD,WAAW,CA8BvB"}
@@ -0,0 +1,10 @@
1
+ import { DynamicModule } from "@nestjs/common";
2
+ import { type BetterAuthzModuleAsyncOptions } from "./better-authz.options.js";
3
+ /**
4
+ * Provider-neutral session authorization module designed for Better Auth.
5
+ * It preserves the existing `DefaultAuthGuard` contract used by controllers.
6
+ */
7
+ export declare class BetterAuthzModule {
8
+ static forRoot(): never;
9
+ static forRootAsync(options: BetterAuthzModuleAsyncOptions): DynamicModule;
10
+ }
@@ -0,0 +1,54 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var BetterAuthzModule_1;
8
+ import { Module } from "@nestjs/common";
9
+ import { PassportModule } from "@nestjs/passport";
10
+ import { TypeOrmModule } from "@nestjs/typeorm";
11
+ import { Invitation } from "../invitations/entities/invitation.entity.js";
12
+ import { User } from "../user/entities/user.entity.js";
13
+ import { BETTER_AUTHZ_MODULE_OPTIONS, } from "./better-authz.options.js";
14
+ import { BetterAuthConfigurationService } from "./config/BetterAuthConfigurationService.js";
15
+ import { BetterAuthApiKeyStrategy } from "./strategies/better-auth-apikey.strategy.js";
16
+ import { BetterAuthStrategy } from "./strategies/better-auth.strategy.js";
17
+ import { BetterAuthUserValidationService } from "./services/BetterAuthUserValidation.service.js";
18
+ /**
19
+ * Provider-neutral session authorization module designed for Better Auth.
20
+ * It preserves the existing `DefaultAuthGuard` contract used by controllers.
21
+ */
22
+ let BetterAuthzModule = BetterAuthzModule_1 = class BetterAuthzModule {
23
+ static forRoot() {
24
+ throw new Error("BetterAuthzModule.forRoot() is not supported. Use forRootAsync() instead.");
25
+ }
26
+ static forRootAsync(options) {
27
+ return {
28
+ module: BetterAuthzModule_1,
29
+ global: options.isGlobal ?? false,
30
+ imports: [
31
+ ...(options.imports ?? []),
32
+ PassportModule.register({ defaultStrategy: "jwt" }),
33
+ TypeOrmModule.forFeature([User, Invitation]),
34
+ ],
35
+ providers: [
36
+ {
37
+ provide: BETTER_AUTHZ_MODULE_OPTIONS,
38
+ useFactory: options.useFactory,
39
+ inject: options.inject ?? [],
40
+ },
41
+ BetterAuthApiKeyStrategy,
42
+ BetterAuthConfigurationService,
43
+ BetterAuthStrategy,
44
+ BetterAuthUserValidationService,
45
+ ],
46
+ exports: [BetterAuthConfigurationService, PassportModule],
47
+ };
48
+ }
49
+ };
50
+ BetterAuthzModule = BetterAuthzModule_1 = __decorate([
51
+ Module({})
52
+ ], BetterAuthzModule);
53
+ export { BetterAuthzModule };
54
+ //# sourceMappingURL=better-authz.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-authz.module.js","sourceRoot":"","sources":["../../src/authorization/better-authz.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAgB,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,8CAA8C,CAAC;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AACrD,OAAO,EACH,2BAA2B,GAE9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,8BAA8B,EAAC,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,+BAA+B,EAAC,MAAM,gDAAgD,CAAC;AAE/F;;;GAGG;AAEI,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC1B,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACX,2EAA2E,CAC9E,CAAC;IACN,CAAC;IAEM,AAAP,MAAM,CAAC,YAAY,CAAC,OAAsC;QACtD,OAAO;YACH,MAAM,qBAAmB;YACzB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACjC,OAAO,EAAE;gBACL,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,cAAc,CAAC,QAAQ,CAAC,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC;gBACjD,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC/C;YACD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC/B;gBACD,wBAAwB;gBACxB,8BAA8B;gBAC9B,kBAAkB;gBAClB,+BAA+B;aAClC;YACD,OAAO,EAAE,CAAC,8BAA8B,EAAE,cAAc,CAAC;SAC5D,CAAC;IACN,CAAC;CACJ,CAAA;AA9BY,iBAAiB;IAD7B,MAAM,CAAC,EAAE,CAAC;GACE,iBAAiB,CA8B7B"}
@@ -0,0 +1,12 @@
1
+ import type { ModuleMetadata } from "@nestjs/common";
2
+ import type { AuthenticatedUserProfileResolver } from "./models/AuthenticatedUserProfile.js";
3
+ export declare const BETTER_AUTHZ_MODULE_OPTIONS: unique symbol;
4
+ export interface BetterAuthzModuleOptions {
5
+ resolveUser: AuthenticatedUserProfileResolver;
6
+ superUserIds?: string[];
7
+ }
8
+ export interface BetterAuthzModuleAsyncOptions extends Pick<ModuleMetadata, "imports"> {
9
+ useFactory: (...arguments_: any[]) => Promise<BetterAuthzModuleOptions> | BetterAuthzModuleOptions;
10
+ inject?: any[];
11
+ isGlobal?: boolean;
12
+ }
@@ -0,0 +1,2 @@
1
+ export const BETTER_AUTHZ_MODULE_OPTIONS = Symbol("BETTER_AUTHZ_MODULE_OPTIONS");
2
+ //# sourceMappingURL=better-authz.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-authz.options.js","sourceRoot":"","sources":["../../src/authorization/better-authz.options.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAC7C,6BAA6B,CAChC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type BetterAuthzModuleOptions } from "../better-authz.options.js";
2
+ import type { AuthenticatedUserProfileResolver } from "../models/AuthenticatedUserProfile.js";
3
+ export declare class BetterAuthConfigurationService {
4
+ private readonly options;
5
+ constructor(options: BetterAuthzModuleOptions);
6
+ get resolveUser(): AuthenticatedUserProfileResolver;
7
+ get superUserIds(): string[];
8
+ }
@@ -0,0 +1,33 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Inject, Injectable } from "@nestjs/common";
14
+ import { BETTER_AUTHZ_MODULE_OPTIONS, } from "../better-authz.options.js";
15
+ let BetterAuthConfigurationService = class BetterAuthConfigurationService {
16
+ options;
17
+ constructor(options) {
18
+ this.options = options;
19
+ }
20
+ get resolveUser() {
21
+ return this.options.resolveUser;
22
+ }
23
+ get superUserIds() {
24
+ return this.options.superUserIds ?? [];
25
+ }
26
+ };
27
+ BetterAuthConfigurationService = __decorate([
28
+ Injectable(),
29
+ __param(0, Inject(BETTER_AUTHZ_MODULE_OPTIONS)),
30
+ __metadata("design:paramtypes", [Object])
31
+ ], BetterAuthConfigurationService);
32
+ export { BetterAuthConfigurationService };
33
+ //# sourceMappingURL=BetterAuthConfigurationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BetterAuthConfigurationService.js","sourceRoot":"","sources":["../../../src/authorization/config/BetterAuthConfigurationService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACH,2BAA2B,GAE9B,MAAM,4BAA4B,CAAC;AAI7B,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGlB,OAAO;IAF5B,YAEqB,OAAiC;uBAAjC,OAAO;IACzB,CAAC;IAEJ,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IACpC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IAC3C,CAAC;CACJ,CAAA;AAbY,8BAA8B;IAD1C,UAAU,EAAE;IAGJ,WAAA,MAAM,CAAC,2BAA2B,CAAC,CAAA;;GAF/B,8BAA8B,CAa1C"}
@@ -0,0 +1,17 @@
1
+ import type { Request } from "express";
2
+ /**
3
+ * Provider-neutral identity returned after an authentication session is
4
+ * validated. Application authorization remains owned by the Nest backend.
5
+ */
6
+ export interface AuthenticatedUserProfile {
7
+ id: string;
8
+ email: string;
9
+ emailVerified: boolean;
10
+ name?: string;
11
+ familyName?: string;
12
+ givenName?: string;
13
+ picture?: string;
14
+ username?: string;
15
+ permissions?: string[];
16
+ }
17
+ export type AuthenticatedUserProfileResolver = (request: Request) => Promise<AuthenticatedUserProfile | null>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AuthenticatedUserProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticatedUserProfile.js","sourceRoot":"","sources":["../../../src/authorization/models/AuthenticatedUserProfile.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { Repository } from "typeorm";
2
+ import { Invitation } from "../../invitations/entities/invitation.entity.js";
3
+ import { User } from "../../user/entities/user.entity.js";
4
+ import { BetterAuthConfigurationService } from "../config/BetterAuthConfigurationService.js";
5
+ import type { AuthenticatedUserProfile } from "../models/AuthenticatedUserProfile.js";
6
+ import type { RequestUser } from "../models/RequestWithUser.js";
7
+ export declare class BetterAuthUserValidationService {
8
+ private readonly userRepository;
9
+ private readonly invitationRepository;
10
+ private readonly config;
11
+ private readonly logger;
12
+ constructor(userRepository: Repository<User>, invitationRepository: Repository<Invitation>, config: BetterAuthConfigurationService);
13
+ validateUser(profile: AuthenticatedUserProfile, invitationId?: string): Promise<RequestUser>;
14
+ findUserByApiKey(apiKey: string): Promise<User | null>;
15
+ private addPermissionsToUser;
16
+ private findUserById;
17
+ private findUserByAuthProviderId;
18
+ private findAndLinkExistingUser;
19
+ private get userRelations();
20
+ private handleInvitedUser;
21
+ private handleNewIndependentUser;
22
+ private mapProfileToEntity;
23
+ }
@@ -0,0 +1,197 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var BetterAuthUserValidationService_1;
14
+ import { BadRequestException, Injectable, Logger, NotFoundException, } from "@nestjs/common";
15
+ import { InjectRepository } from "@nestjs/typeorm";
16
+ import { ILike, IsNull, MoreThan, Repository } from "typeorm";
17
+ import { Invitation } from "../../invitations/entities/invitation.entity.js";
18
+ import { OrganisationMembership } from "../../organisation-memberships/entities/organisation-membership.entity.js";
19
+ import { Roles } from "../../organisation/dto/RolesEnum.js";
20
+ import { MembershipRole } from "../../organisation/entities/member-role.entity.js";
21
+ import { Organisation } from "../../organisation/entities/organisation.entity.js";
22
+ import { User } from "../../user/entities/user.entity.js";
23
+ import { BetterAuthConfigurationService } from "../config/BetterAuthConfigurationService.js";
24
+ let BetterAuthUserValidationService = BetterAuthUserValidationService_1 = class BetterAuthUserValidationService {
25
+ userRepository;
26
+ invitationRepository;
27
+ config;
28
+ logger = new Logger(BetterAuthUserValidationService_1.name);
29
+ constructor(userRepository, invitationRepository, config) {
30
+ this.userRepository = userRepository;
31
+ this.invitationRepository = invitationRepository;
32
+ this.config = config;
33
+ }
34
+ async validateUser(profile, invitationId) {
35
+ if (invitationId) {
36
+ return this.addPermissionsToUser(await this.handleInvitedUser(profile, invitationId), profile.permissions);
37
+ }
38
+ let foundUser = await this.findUserByAuthProviderId(profile.id);
39
+ if (!foundUser && profile.emailVerified) {
40
+ foundUser = await this.findAndLinkExistingUser(profile);
41
+ }
42
+ if (foundUser?.memberships && foundUser.memberships.length > 0) {
43
+ return this.addPermissionsToUser(foundUser, profile.permissions);
44
+ }
45
+ return this.addPermissionsToUser(await this.handleNewIndependentUser(foundUser, profile), profile.permissions);
46
+ }
47
+ async findUserByApiKey(apiKey) {
48
+ return this.userRepository.findOne({
49
+ where: { apiKeys: { apiKey } },
50
+ relations: this.userRelations,
51
+ });
52
+ }
53
+ addPermissionsToUser(user, authProviderPermissions) {
54
+ if (!user.id) {
55
+ throw new Error("Unable to authenticate a valid application user");
56
+ }
57
+ const permissions = new Set(authProviderPermissions ?? []);
58
+ if (user.authProviderUserId &&
59
+ this.config.superUserIds.includes(user.authProviderUserId)) {
60
+ permissions.add("read:all");
61
+ permissions.add("modify:all");
62
+ }
63
+ const activeSubscriptionProductKeys = new Set(user.memberships
64
+ ?.flatMap((membership) => membership.organisation.subscriptionRecords ?? [])
65
+ .filter((subscription) => subscription.validUntil > new Date())
66
+ .map((subscription) => subscription.internalSku) ?? []);
67
+ return {
68
+ // RequestUser deliberately serializes the persisted user into a request principal.
69
+ // eslint-disable-next-line @typescript-eslint/no-misused-spread
70
+ ...user,
71
+ permissions: [...permissions],
72
+ activeSubscriptionProductKeys: [...activeSubscriptionProductKeys],
73
+ };
74
+ }
75
+ async findUserById(id) {
76
+ return this.userRepository.findOne({
77
+ where: { id },
78
+ relations: this.userRelations,
79
+ });
80
+ }
81
+ async findUserByAuthProviderId(authProviderUserId) {
82
+ return this.userRepository.findOne({
83
+ where: { authProviderUserId },
84
+ relations: this.userRelations,
85
+ });
86
+ }
87
+ async findAndLinkExistingUser(profile) {
88
+ const matches = await this.userRepository.find({
89
+ where: { email: ILike(profile.email) },
90
+ relations: this.userRelations,
91
+ take: 2,
92
+ });
93
+ if (matches.length > 1) {
94
+ this.logger.warn(`Cannot automatically link auth identity ${profile.id}: multiple application users share its verified email`);
95
+ throw new BadRequestException("This identity cannot be linked automatically. Contact support.");
96
+ }
97
+ if (matches.length === 0) {
98
+ return null;
99
+ }
100
+ const user = matches[0];
101
+ this.mapProfileToEntity(user, profile);
102
+ await this.userRepository.save(user);
103
+ this.logger.log(`Linked auth identity ${profile.id} to existing application user ${String(user.id)}`);
104
+ return user;
105
+ }
106
+ get userRelations() {
107
+ return {
108
+ memberships: {
109
+ roles: true,
110
+ user: false,
111
+ organisation: { subscriptionRecords: true },
112
+ },
113
+ };
114
+ }
115
+ async handleInvitedUser(profile, invitationCode) {
116
+ const now = new Date();
117
+ const invitation = await this.invitationRepository.findOne({
118
+ where: {
119
+ uuid: invitationCode,
120
+ acceptedOn: IsNull(),
121
+ expiresOn: MoreThan(now),
122
+ },
123
+ relations: {
124
+ organisationMembership: {
125
+ user: true,
126
+ organisation: true,
127
+ },
128
+ },
129
+ });
130
+ if (!invitation) {
131
+ throw new NotFoundException("Valid invitation not found with provided code");
132
+ }
133
+ invitation.acceptedOn = new Date();
134
+ const memberRole = invitation.organisationMembership.roles?.find((role) => role.name === Roles.invited.toString());
135
+ if (!memberRole) {
136
+ throw new Error("Invited role not found for member");
137
+ }
138
+ memberRole.name = Roles.member;
139
+ this.mapProfileToEntity(invitation.organisationMembership.user, profile);
140
+ try {
141
+ await this.invitationRepository.save(invitation);
142
+ }
143
+ catch (error) {
144
+ if (error.message?.includes("duplicate key")) {
145
+ throw new BadRequestException("User is already a member of this organisation");
146
+ }
147
+ throw error;
148
+ }
149
+ const user = await this.findUserById(invitation.organisationMembership.user.id);
150
+ if (!user) {
151
+ throw new Error("User not found after accepting invitation");
152
+ }
153
+ return user;
154
+ }
155
+ async handleNewIndependentUser(foundUser, profile) {
156
+ this.logger.log(`Provisioning application user ${profile.id}`);
157
+ const ownerRole = new MembershipRole();
158
+ ownerRole.name = Roles.owner;
159
+ const organisation = new Organisation();
160
+ organisation.name = profile.givenName
161
+ ? `${profile.givenName}'s Organisation`
162
+ : "My Organisation";
163
+ const membership = new OrganisationMembership();
164
+ membership.organisation = organisation;
165
+ membership.roles = [ownerRole];
166
+ const user = foundUser ?? this.userRepository.create();
167
+ user.memberships = [membership];
168
+ this.mapProfileToEntity(user, profile);
169
+ const savedUser = await this.userRepository.save(user);
170
+ const loadedUser = await this.findUserById(savedUser.id);
171
+ if (!loadedUser) {
172
+ throw new Error("User not found after provisioning");
173
+ }
174
+ return loadedUser;
175
+ }
176
+ mapProfileToEntity(user, profile) {
177
+ user.authProviderUserId = profile.id;
178
+ user.blocked = false;
179
+ user.email = profile.email;
180
+ user.emailVerified = profile.emailVerified;
181
+ user.familyName = profile.familyName;
182
+ user.givenName = profile.givenName;
183
+ user.name = profile.name;
184
+ user.picture = profile.picture;
185
+ user.username = profile.username;
186
+ }
187
+ };
188
+ BetterAuthUserValidationService = BetterAuthUserValidationService_1 = __decorate([
189
+ Injectable(),
190
+ __param(0, InjectRepository(User)),
191
+ __param(1, InjectRepository(Invitation)),
192
+ __metadata("design:paramtypes", [Repository,
193
+ Repository,
194
+ BetterAuthConfigurationService])
195
+ ], BetterAuthUserValidationService);
196
+ export { BetterAuthUserValidationService };
197
+ //# sourceMappingURL=BetterAuthUserValidation.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BetterAuthUserValidation.service.js","sourceRoot":"","sources":["../../../src/authorization/services/BetterAuthUserValidation.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { HeaderAPIKeyStrategy } from "passport-headerapikey";
2
+ import type { User } from "../../user/entities/user.entity.js";
3
+ import { BetterAuthUserValidationService } from "../services/BetterAuthUserValidation.service.js";
4
+ declare const BetterAuthApiKeyStrategy_base: new (header: {
5
+ header: string;
6
+ prefix: string;
7
+ }, passReqToCallback: boolean) => HeaderAPIKeyStrategy & {
8
+ validate(...args: any[]): unknown;
9
+ };
10
+ export declare class BetterAuthApiKeyStrategy extends BetterAuthApiKeyStrategy_base {
11
+ private readonly userValidationService;
12
+ constructor(userValidationService: BetterAuthUserValidationService);
13
+ validate(apiKey: string, done: (error?: Error, user?: User) => void): Promise<void>;
14
+ }
15
+ export {};
@@ -0,0 +1,44 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Injectable } from "@nestjs/common";
11
+ import { PassportStrategy } from "@nestjs/passport";
12
+ import { HeaderAPIKeyStrategy } from "passport-headerapikey";
13
+ import { BetterAuthUserValidationService } from "../services/BetterAuthUserValidation.service.js";
14
+ let BetterAuthApiKeyStrategy = class BetterAuthApiKeyStrategy extends PassportStrategy(HeaderAPIKeyStrategy) {
15
+ userValidationService;
16
+ constructor(userValidationService) {
17
+ super({ header: "Authorization", prefix: "Api-Key " }, true,
18
+ // passport-headerapikey's callback overload is missing from its types.
19
+ // @ts-expect-error -- callback mode is supported by the runtime strategy.
20
+ async (apiKey, done) => {
21
+ await this.validate(apiKey, done);
22
+ });
23
+ this.userValidationService = userValidationService;
24
+ }
25
+ async validate(apiKey, done) {
26
+ try {
27
+ const user = await this.userValidationService.findUserByApiKey(apiKey);
28
+ if (!user) {
29
+ done(new Error("Invalid API key"));
30
+ return;
31
+ }
32
+ done(undefined, user);
33
+ }
34
+ catch (error) {
35
+ done(error);
36
+ }
37
+ }
38
+ };
39
+ BetterAuthApiKeyStrategy = __decorate([
40
+ Injectable(),
41
+ __metadata("design:paramtypes", [BetterAuthUserValidationService])
42
+ ], BetterAuthApiKeyStrategy);
43
+ export { BetterAuthApiKeyStrategy };
44
+ //# sourceMappingURL=better-auth-apikey.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth-apikey.strategy.js","sourceRoot":"","sources":["../../../src/authorization/strategies/better-auth-apikey.strategy.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,+BAA+B,EAAC,MAAM,iDAAiD,CAAC;AAGzF,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,gBAAgB,CAC1D,oBAAoB,CACvB;IAEwB,qBAAqB;IAD1C,YACqB,qBAAsD;QAEvE,KAAK,CACD,EAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAC,EAC7C,IAAI;QACJ,uEAAuE;QACvE,0EAA0E;QAC1E,KAAK,EACD,MAAc,EACd,IAA0C,EAC5C,EAAE;YACA,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CACJ,CAAC;qCAbe,qBAAqB;IAc1C,CAAC;IAED,KAAK,CAAC,QAAQ,CACV,MAAc,EACd,IAA0C;QAE1C,IAAI,CAAC;YACD,MAAM,IAAI,GACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACnC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAc,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;CACJ,CAAA;AApCY,wBAAwB;IADpC,UAAU,EAAE;qCAKmC,+BAA+B;GAJlE,wBAAwB,CAoCpC"}
@@ -0,0 +1,15 @@
1
+ import type { Request } from "express";
2
+ import { BetterAuthConfigurationService } from "../config/BetterAuthConfigurationService.js";
3
+ import { BetterAuthUserValidationService } from "../services/BetterAuthUserValidation.service.js";
4
+ declare const BetterAuthStrategy_base: new () => import("passport").Strategy & import("passport").StrategyCreatedStatic & {
5
+ validate(...args: any[]): unknown;
6
+ };
7
+ export declare class BetterAuthStrategy extends BetterAuthStrategy_base {
8
+ private readonly config;
9
+ private readonly userValidation;
10
+ private readonly logger;
11
+ constructor(config: BetterAuthConfigurationService, userValidation: BetterAuthUserValidationService);
12
+ validate(): never;
13
+ authenticate(request: Request): Promise<void>;
14
+ }
15
+ export {};
@@ -0,0 +1,55 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var BetterAuthStrategy_1;
11
+ import { Injectable, Logger, UnauthorizedException } from "@nestjs/common";
12
+ import { PassportStrategy } from "@nestjs/passport";
13
+ import { Strategy } from "passport";
14
+ import { BetterAuthConfigurationService } from "../config/BetterAuthConfigurationService.js";
15
+ import { BetterAuthUserValidationService } from "../services/BetterAuthUserValidation.service.js";
16
+ let BetterAuthStrategy = BetterAuthStrategy_1 = class BetterAuthStrategy extends PassportStrategy(Strategy, "jwt") {
17
+ config;
18
+ userValidation;
19
+ logger = new Logger(BetterAuthStrategy_1.name);
20
+ constructor(config, userValidation) {
21
+ super();
22
+ this.config = config;
23
+ this.userValidation = userValidation;
24
+ }
25
+ validate() {
26
+ throw new Error("BetterAuthStrategy validates sessions in authenticate()");
27
+ }
28
+ async authenticate(request) {
29
+ try {
30
+ const profile = await this.config.resolveUser(request);
31
+ if (!profile) {
32
+ this.fail(new UnauthorizedException("Authentication required"));
33
+ return;
34
+ }
35
+ const invitationId = typeof request.query.invitationId === "string"
36
+ ? request.query.invitationId
37
+ : undefined;
38
+ const user = await this.userValidation.validateUser(profile, invitationId);
39
+ this.success(user);
40
+ }
41
+ catch (error) {
42
+ this.logger.warn("Better Auth session validation failed");
43
+ this.error(error instanceof Error
44
+ ? error
45
+ : new UnauthorizedException("Authentication failed"));
46
+ }
47
+ }
48
+ };
49
+ BetterAuthStrategy = BetterAuthStrategy_1 = __decorate([
50
+ Injectable(),
51
+ __metadata("design:paramtypes", [BetterAuthConfigurationService,
52
+ BetterAuthUserValidationService])
53
+ ], BetterAuthStrategy);
54
+ export { BetterAuthStrategy };
55
+ //# sourceMappingURL=better-auth.strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth.strategy.js","sourceRoot":"","sources":["../../../src/authorization/strategies/better-auth.strategy.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElC,OAAO,EAAC,8BAA8B,EAAC,MAAM,6CAA6C,CAAC;AAE3F,OAAO,EAAC,+BAA+B,EAAC,MAAM,iDAAiD,CAAC;AAGzF,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAIhD,MAAM;IACN,cAAc;IAJlB,MAAM,GAAG,IAAI,MAAM,CAAC,qBAAmB,IAAI,CAAC,CAAC;IAE9D,YACqB,MAAsC,EACtC,cAA+C;QAEhE,KAAK,EAAE,CAAC;sBAHS,MAAM;8BACN,cAAc;IAGnC,CAAC;IAED,QAAQ;QACJ,MAAM,IAAI,KAAK,CACX,yDAAyD,CAC5D,CAAC;IACN,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,OAAgB;QACxC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAChE,OAAO;YACX,CAAC;YAED,MAAM,YAAY,GACd,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ;gBAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY;gBAC5B,CAAC,CAAC,SAAS,CAAC;YACpB,MAAM,IAAI,GAAgB,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAC5D,OAAO,EACP,YAAY,CACf,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CACN,KAAK,YAAY,KAAK;gBAClB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,qBAAqB,CAAC,uBAAuB,CAAC,CAC3D,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAA;AA1CY,kBAAkB;IAD9B,UAAU,EAAE;qCAKoB,8BAA8B;QACtB,+BAA+B;GAL3D,kBAAkB,CA0C9B"}
@@ -37,6 +37,7 @@ let AuthzClientModule = AuthzClientModule_1 = class AuthzClientModule {
37
37
  };
38
38
  AuthzClientModule = AuthzClientModule_1 = __decorate([
39
39
  Module({})
40
+ /** @deprecated Better Auth does not require an Auth0 user-info client. */
40
41
  ], AuthzClientModule);
41
42
  export { AuthzClientModule };
42
43
  //# sourceMappingURL=authz-client.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authz-client.module.js","sourceRoot":"","sources":["../../src/authzclient/authz-client.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAgB,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,8BAA8B,EAAC,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,mBAAmB,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACH,2BAA2B,GAE9B,MAAM,2BAA2B,CAAC;AAG5B,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC1B,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACX,2EAA2E,CAC9E,CAAC;IACN,CAAC;IAEM,AAAP,MAAM,CAAC,YAAY,CAAC,OAAsC;QACtD,OAAO;YACH,MAAM,qBAAmB;YACzB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACjC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACrC,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC/B;gBACD,8BAA8B;gBAC9B,mBAAmB;gBACnB,kBAAkB;gBAClB,qBAAqB;aACxB;YACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC;IACN,CAAC;CACJ,CAAA;AA1BY,iBAAiB;IAD7B,MAAM,CAAC,EAAE,CAAC;GACE,iBAAiB,CA0B7B"}
1
+ {"version":3,"file":"authz-client.module.js","sourceRoot":"","sources":["../../src/authzclient/authz-client.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAgB,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAC,8BAA8B,EAAC,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,mBAAmB,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACH,2BAA2B,GAE9B,MAAM,2BAA2B,CAAC;AAI5B,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC1B,MAAM,CAAC,OAAO;QACV,MAAM,IAAI,KAAK,CACX,2EAA2E,CAC9E,CAAC;IACN,CAAC;IAEM,AAAP,MAAM,CAAC,YAAY,CAAC,OAAsC;QACtD,OAAO;YACH,MAAM,qBAAmB;YACzB,MAAM,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;YACjC,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACrC,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;iBAC/B;gBACD,8BAA8B;gBAC9B,mBAAmB;gBACnB,kBAAkB;gBAClB,qBAAqB;aACxB;YACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC;IACN,CAAC;CACJ,CAAA;AA1BY,iBAAiB;IAF7B,MAAM,CAAC,EAAE,CAAC;IACX,0EAA0E;GAC7D,iBAAiB,CA0B7B"}
@@ -1,6 +1,8 @@
1
1
  export { AuthzModule } from "../authorization/authz.module.js";
2
+ export { BetterAuthzModule } from "../authorization/better-authz.module.js";
2
3
  export { JwtStrategy } from "../authorization/strategies/authzstrategy.js";
3
4
  export { ApiKeyStrategy } from "../authorization/strategies/apikeystrategy.js";
5
+ export { BetterAuthApiKeyStrategy } from "../authorization/strategies/better-auth-apikey.strategy.js";
4
6
  export { DefaultAuthGuard } from "../authorization/guards/DefaultAuthGuard.js";
5
7
  export { ApiKeyAuthGuard } from "../authorization/guards/ApiKeyAuthGuard.js";
6
8
  export { ClaimsAuthorisationGuard } from "../authorization/guards/ClaimsAuthorisationGuard.js";
@@ -8,6 +10,8 @@ export { MandatoryUserClaims } from "../authorization/guards/MandatoryUserClaims
8
10
  export { isOwnerOrThrow } from "../authorization/isOwnerOrThrow.js";
9
11
  export type { RequestUser, RequestWithUser, } from "../authorization/models/RequestWithUser.js";
10
12
  export type { AuthzModuleOptions, AuthzModuleAsyncOptions, } from "../authorization/authz.options.js";
13
+ export type { BetterAuthzModuleOptions, BetterAuthzModuleAsyncOptions, } from "../authorization/better-authz.options.js";
14
+ export type { AuthenticatedUserProfile, AuthenticatedUserProfileResolver, } from "../authorization/models/AuthenticatedUserProfile.js";
11
15
  export { AUTHZ_MODULE_OPTIONS } from "../authorization/authz.options.js";
12
16
  export { AuthzClientModule } from "../authzclient/authz-client.module.js";
13
17
  export type { AuthzClientModuleOptions, AuthzClientModuleAsyncOptions, } from "../authzclient/authz-client.options.js";
@@ -1,6 +1,8 @@
1
1
  export { AuthzModule } from "../authorization/authz.module.js";
2
+ export { BetterAuthzModule } from "../authorization/better-authz.module.js";
2
3
  export { JwtStrategy } from "../authorization/strategies/authzstrategy.js";
3
4
  export { ApiKeyStrategy } from "../authorization/strategies/apikeystrategy.js";
5
+ export { BetterAuthApiKeyStrategy } from "../authorization/strategies/better-auth-apikey.strategy.js";
4
6
  export { DefaultAuthGuard } from "../authorization/guards/DefaultAuthGuard.js";
5
7
  export { ApiKeyAuthGuard } from "../authorization/guards/ApiKeyAuthGuard.js";
6
8
  export { ClaimsAuthorisationGuard } from "../authorization/guards/ClaimsAuthorisationGuard.js";
@@ -1 +1 @@
1
- {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/exports/authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAC,WAAW,EAAC,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAC,cAAc,EAAC,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAC,wBAAwB,EAAC,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAC,mBAAmB,EAAC,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AASlE,OAAO,EAAC,oBAAoB,EAAC,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAKxE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../src/exports/authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAC,WAAW,EAAC,MAAM,8CAA8C,CAAC;AACzE,OAAO,EAAC,cAAc,EAAC,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAC,wBAAwB,EAAC,MAAM,4DAA4D,CAAC;AACpG,OAAO,EAAC,gBAAgB,EAAC,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAC,eAAe,EAAC,MAAM,4CAA4C,CAAC;AAC3E,OAAO,EAAC,wBAAwB,EAAC,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAC,mBAAmB,EAAC,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAiBlE,OAAO,EAAC,oBAAoB,EAAC,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAKxE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ export { StripePaymentsTelemetryService } from "./stripe-payments/services/strip
44
44
  export { DefaultStripePaymentsEntitlementStore } from "./stripe-payments/services/default-stripe-payments-entitlement-store.js";
45
45
  export { NEST_BACKEND_LIB_ENTITIES, STRIPE_PAYMENTS_ENTITIES, } from "./typeorm/entities.js";
46
46
  export { AuthzModule } from "./authorization/authz.module.js";
47
+ export { BetterAuthzModule } from "./authorization/better-authz.module.js";
47
48
  export { JwtStrategy } from "./authorization/strategies/authzstrategy.js";
48
49
  export { DefaultAuthGuard } from "./authorization/guards/DefaultAuthGuard.js";
49
50
  export { RequestWithUser } from "./authorization/models/RequestWithUser.js";
@@ -53,6 +54,7 @@ export { SuperUserClaims } from "./authorization/models/SuperUserClaims.js";
53
54
  export { isOwnerOrThrow } from "./authorization/isOwnerOrThrow.js";
54
55
  export { ApiKeyAuthGuard } from "./authorization/guards/ApiKeyAuthGuard.js";
55
56
  export { ApiKeyStrategy } from "./authorization/strategies/apikeystrategy.js";
57
+ export { BetterAuthApiKeyStrategy } from "./authorization/strategies/better-auth-apikey.strategy.js";
56
58
  export { InvitationModule } from "./invitations/invitation.module.js";
57
59
  export { InvitationService } from "./invitations/invitation.service.js";
58
60
  export { Invitation } from "./invitations/entities/invitation.entity.js";
@@ -78,6 +80,8 @@ export { CORE_MODULE_OPTIONS } from "./core-config/core-config.options.js";
78
80
  export type { LoggerModuleOptions, LoggerModuleAsyncOptions, } from "./logger/logger.options.js";
79
81
  export { LOGGER_MODULE_OPTIONS } from "./logger/logger.options.js";
80
82
  export type { AuthzModuleOptions, AuthzModuleAsyncOptions, } from "./authorization/authz.options.js";
83
+ export type { BetterAuthzModuleOptions, BetterAuthzModuleAsyncOptions, } from "./authorization/better-authz.options.js";
84
+ export type { AuthenticatedUserProfile, AuthenticatedUserProfileResolver, } from "./authorization/models/AuthenticatedUserProfile.js";
81
85
  export { AUTHZ_MODULE_OPTIONS } from "./authorization/authz.options.js";
82
86
  export type { AuthzClientModuleOptions, AuthzClientModuleAsyncOptions, } from "./authzclient/authz-client.options.js";
83
87
  export { AUTHZ_CLIENT_MODULE_OPTIONS } from "./authzclient/authz-client.options.js";
package/dist/index.js CHANGED
@@ -46,6 +46,7 @@ export { DefaultStripePaymentsEntitlementStore } from "./stripe-payments/service
46
46
  export { NEST_BACKEND_LIB_ENTITIES, STRIPE_PAYMENTS_ENTITIES, } from "./typeorm/entities.js";
47
47
  // authorization module
48
48
  export { AuthzModule } from "./authorization/authz.module.js";
49
+ export { BetterAuthzModule } from "./authorization/better-authz.module.js";
49
50
  export { JwtStrategy } from "./authorization/strategies/authzstrategy.js";
50
51
  export { DefaultAuthGuard } from "./authorization/guards/DefaultAuthGuard.js";
51
52
  export { ClaimsAuthorisationGuard } from "./authorization/guards/ClaimsAuthorisationGuard.js";
@@ -54,6 +55,7 @@ export { SuperUserClaims } from "./authorization/models/SuperUserClaims.js";
54
55
  export { isOwnerOrThrow } from "./authorization/isOwnerOrThrow.js";
55
56
  export { ApiKeyAuthGuard } from "./authorization/guards/ApiKeyAuthGuard.js";
56
57
  export { ApiKeyStrategy } from "./authorization/strategies/apikeystrategy.js";
58
+ export { BetterAuthApiKeyStrategy } from "./authorization/strategies/better-auth-apikey.strategy.js";
57
59
  // invitations
58
60
  export { InvitationModule } from "./invitations/invitation.module.js";
59
61
  export { InvitationService } from "./invitations/invitation.service.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export declare class CoreModule {
21
21
  * requests before ServeStaticModule.
22
22
  */
23
23
  static initApplication(rootModule: any, callback: (appModule: INestApplication) => void | Promise<void>, options?: {
24
+ /** Disable Nest's parser when an integration (such as Better Auth)
25
+ * must receive the untouched request stream and will re-register
26
+ * parsers for the remaining routes. */
27
+ bodyParser?: boolean;
24
28
  preMiddleware?: (appModule: INestApplication) => void | Promise<void>;
25
29
  }): void;
26
30
  }
@@ -136,8 +136,8 @@ let CoreModule = CoreModule_1 = class CoreModule {
136
136
  try {
137
137
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
138
138
  const app = await NestFactory.create(rootModule, {
139
- bodyParser: true,
140
- rawBody: true,
139
+ bodyParser: options?.bodyParser ?? true,
140
+ rawBody: options?.bodyParser ?? true,
141
141
  bufferLogs: true,
142
142
  });
143
143
  const loggerService = app.get(Logger);
@@ -1 +1 @@
1
- {"version":3,"file":"core-app.module.js","sourceRoot":"","sources":["../../src/root-app/core-app.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-app.module.js","sourceRoot":"","sources":["../../src/root-app/core-app.module.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare class UserDto {
11
11
  givenName?: string;
12
12
  picture?: string;
13
13
  auth0UserId?: string;
14
+ authProviderUserId?: string;
14
15
  username?: string;
15
16
  memberships: UserOrganisationMembershipDto[];
16
17
  activeSubscriptionProductKeys: string[];
@@ -21,6 +21,7 @@ export class UserDto {
21
21
  givenName;
22
22
  picture;
23
23
  auth0UserId;
24
+ authProviderUserId;
24
25
  username;
25
26
  memberships;
26
27
  activeSubscriptionProductKeys;
@@ -74,6 +75,10 @@ __decorate([
74
75
  ApiPropertyOptional(),
75
76
  __metadata("design:type", String)
76
77
  ], UserDto.prototype, "auth0UserId", void 0);
78
+ __decorate([
79
+ ApiPropertyOptional(),
80
+ __metadata("design:type", String)
81
+ ], UserDto.prototype, "authProviderUserId", void 0);
77
82
  __decorate([
78
83
  ApiPropertyOptional(),
79
84
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"userResponseDto.js","sourceRoot":"","sources":["../../../src/user/dto/userResponseDto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,6BAA6B,EAAC,MAAM,uCAAuC,CAAC;AAEpF,MAAM,OAAO,OAAO;IAKhB,OAAO,CAAW;IAGlB,EAAE,CAAU;IAGZ,KAAK,CAAU;IAGR,IAAI,CAAU;IAGrB,aAAa,CAAW;IAGxB,OAAO,CAAW;IAGlB,IAAI,CAAU;IAGd,UAAU,CAAU;IAGpB,SAAS,CAAU;IAGnB,OAAO,CAAU;IAGjB,WAAW,CAAU;IAGrB,QAAQ,CAAU;IAGlB,WAAW,CAAmC;IAG9C,6BAA6B,CAAY;IAGzC,WAAW,CAAQ;IAGnB,UAAU,CAAQ;IAGlB,WAAW,CAAQ;CACtB;AAjDG;IAJC,mBAAmB,CAAC;QACjB,WAAW,EACP,yGAAyG;KAChH,CAAC;;wCACgB;AAGlB;IADC,WAAW,EAAE;;mCACF;AAGZ;IADC,WAAW,EAAE;;sCACC;AAGR;IADN,WAAW,EAAE;;qCACO;AAGrB;IADC,WAAW,EAAE;;8CACU;AAGxB;IADC,WAAW,EAAE;;wCACI;AAGlB;IADC,mBAAmB,EAAE;;qCACR;AAGd;IADC,mBAAmB,EAAE;;2CACF;AAGpB;IADC,mBAAmB,EAAE;;0CACH;AAGnB;IADC,mBAAmB,EAAE;;wCACL;AAGjB;IADC,mBAAmB,EAAE;;4CACD;AAGrB;IADC,mBAAmB,EAAE;;yCACJ;AAGlB;IADC,WAAW,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,6BAA6B,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;4CAC1B;AAG9C;IADC,WAAW,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;8DACF;AAGzC;IADC,WAAW,EAAE;8BACA,IAAI;4CAAC;AAGnB;IADC,WAAW,EAAE;8BACD,IAAI;2CAAC;AAGlB;IADC,mBAAmB,EAAE;8BACR,IAAI;4CAAC"}
1
+ {"version":3,"file":"userResponseDto.js","sourceRoot":"","sources":["../../../src/user/dto/userResponseDto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,6BAA6B,EAAC,MAAM,uCAAuC,CAAC;AAEpF,MAAM,OAAO,OAAO;IAKhB,OAAO,CAAW;IAGlB,EAAE,CAAU;IAGZ,KAAK,CAAU;IAGR,IAAI,CAAU;IAGrB,aAAa,CAAW;IAGxB,OAAO,CAAW;IAGlB,IAAI,CAAU;IAGd,UAAU,CAAU;IAGpB,SAAS,CAAU;IAGnB,OAAO,CAAU;IAGjB,WAAW,CAAU;IAGrB,kBAAkB,CAAU;IAG5B,QAAQ,CAAU;IAGlB,WAAW,CAAmC;IAG9C,6BAA6B,CAAY;IAGzC,WAAW,CAAQ;IAGnB,UAAU,CAAQ;IAGlB,WAAW,CAAQ;CACtB;AApDG;IAJC,mBAAmB,CAAC;QACjB,WAAW,EACP,yGAAyG;KAChH,CAAC;;wCACgB;AAGlB;IADC,WAAW,EAAE;;mCACF;AAGZ;IADC,WAAW,EAAE;;sCACC;AAGR;IADN,WAAW,EAAE;;qCACO;AAGrB;IADC,WAAW,EAAE;;8CACU;AAGxB;IADC,WAAW,EAAE;;wCACI;AAGlB;IADC,mBAAmB,EAAE;;qCACR;AAGd;IADC,mBAAmB,EAAE;;2CACF;AAGpB;IADC,mBAAmB,EAAE;;0CACH;AAGnB;IADC,mBAAmB,EAAE;;wCACL;AAGjB;IADC,mBAAmB,EAAE;;4CACD;AAGrB;IADC,mBAAmB,EAAE;;mDACM;AAG5B;IADC,mBAAmB,EAAE;;yCACJ;AAGlB;IADC,WAAW,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,6BAA6B,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;4CAC1B;AAG9C;IADC,WAAW,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;;8DACF;AAGzC;IADC,WAAW,EAAE;8BACA,IAAI;4CAAC;AAGnB;IADC,WAAW,EAAE;8BACD,IAAI;2CAAC;AAGlB;IADC,mBAAmB,EAAE;8BACR,IAAI;4CAAC"}
@@ -11,7 +11,9 @@ export declare class User {
11
11
  familyName?: string;
12
12
  givenName?: string;
13
13
  picture?: string;
14
+ /** @deprecated Use authProviderUserId for new authentication providers. */
14
15
  auth0UserId?: string;
16
+ authProviderUserId?: string;
15
17
  username?: string;
16
18
  memberships?: Relation<OrganisationMembership[]>;
17
19
  apiKeys?: Relation<UserApiKey[]>;
@@ -22,7 +22,9 @@ let User = class User {
22
22
  familyName;
23
23
  givenName;
24
24
  picture;
25
+ /** @deprecated Use authProviderUserId for new authentication providers. */
25
26
  auth0UserId;
27
+ authProviderUserId;
26
28
  username;
27
29
  memberships;
28
30
  // We don't want to expose the api keys to the user
@@ -85,9 +87,17 @@ __decorate([
85
87
  __decorate([
86
88
  ApiPropertyOptional(),
87
89
  Column({ nullable: true }),
88
- Index({ unique: true }),
90
+ Index({ unique: true })
91
+ /** @deprecated Use authProviderUserId for new authentication providers. */
92
+ ,
89
93
  __metadata("design:type", String)
90
94
  ], User.prototype, "auth0UserId", void 0);
95
+ __decorate([
96
+ ApiPropertyOptional(),
97
+ Column({ nullable: true }),
98
+ Index("IDX_user_auth_provider_user_id", { unique: true }),
99
+ __metadata("design:type", String)
100
+ ], User.prototype, "authProviderUserId", void 0);
91
101
  __decorate([
92
102
  ApiPropertyOptional(),
93
103
  Column({ nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/user/entities/user.entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/user/entities/user.entity.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class UserService {
8
8
  constructor(repository: Repository<User>);
9
9
  findAll(): Promise<User[]>;
10
10
  findOneByAuth0Id(auth0Id: string): Promise<User | undefined>;
11
+ findOneByAuthProviderId(authProviderUserId: string): Promise<User | undefined>;
11
12
  findOneIfSameOrganisation(uuid: string, currentUser: RequestUser): Promise<User>;
12
13
  findOne(id: number): Promise<User>;
13
14
  findOneByUuid(uuid: string): Promise<User>;
@@ -49,6 +49,18 @@ let UserService = UserService_1 = class UserService {
49
49
  },
50
50
  });
51
51
  }
52
+ async findOneByAuthProviderId(authProviderUserId) {
53
+ return this.repository.findOneOrFail({
54
+ where: { authProviderUserId },
55
+ relations: {
56
+ memberships: {
57
+ roles: true,
58
+ user: false,
59
+ organisation: { subscriptionRecords: true },
60
+ },
61
+ },
62
+ });
63
+ }
52
64
  // can change this to querybuilder to reduce the
53
65
  // loops later
54
66
  async findOneIfSameOrganisation(uuid, currentUser) {
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EACH,iBAAiB,EACjB,UAAU,EACV,MAAM,EACN,iBAAiB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAC,KAAK,EAAC,MAAM,kCAAkC,CAAC;AAEvD,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAGxC,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAIR,UAAU;IAHL,MAAM,GAAG,IAAI,MAAM,CAAC,cAAY,IAAI,CAAC,CAAC;IACvD,YAEY,UAA4B;0BAA5B,UAAU;IACnB,CAAC;IAEJ,KAAK,CAAC,OAAO;QACT,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,SAAS,EAAE;gBACP,WAAW,EAAE;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAC;iBAC5C;aACJ;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE,iBAAiB,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE;gBACH,WAAW,EAAE,OAAO;aACvB;YACD,SAAS,EAAE;gBACP,WAAW,EAAE;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAC;iBAC5C;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IACD,gDAAgD;IAChD,cAAc;IACd,KAAK,CAAC,yBAAyB,CAC3B,IAAY,EACZ,WAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC7C,KAAK,EAAE;gBACH,IAAI;aACP;YACD,SAAS,EAAE;gBACP,WAAW,EAAE;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAC;iBAC5C;aACJ;SACJ,CAAC,CAAC;QACH,IACI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,WAAW,CAAC,WAAW,EAAE,IAAI,CACzB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,KAAK,CAAC,CAAC,cAAc,CACjD,CACJ,EACH,CAAC;YACC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,iBAAiB,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,EAAC,EAAE,EAAC;YACX,SAAS,EAAE;gBACP,WAAW,EAAE;oBACT,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI;oBACX,YAAY,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAC;iBAC5C;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACjC,SAAS,EAAE;gBACP,WAAW,EAAE;oBACT,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,KAAK;oBACX,YAAY,EAAE,EAAC,mBAAmB,EAAE,IAAI,EAAC;iBAC5C;aACJ;YACD,KAAK,EAAE,EAAC,IAAI,EAAC;SAChB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CACR,IAAY,EACZ,aAA4B,EAC5B,WAAwB;QAExB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAC,IAAI,EAAC,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,WAAwB;QAC/C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC7C,KAAK,EAAE;gBACH,IAAI;aACP;YACD,SAAS,EAAE;gBACP,WAAW,EAAE;oBACT,KAAK,EAAE,IAAI;iBACd;aACJ;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1D,IACI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAC1D,EACH,CAAC;gBACC,MAAM,IAAI,iBAAiB,CACvB,sEAAsE,CACzE,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,kBAAkB,CACtB,IAAY,EACZ,eAAuB,EAEvB,eAAuB;QAEvB,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,EAAC,IAAI,EAAE,eAAe,EAAE,eAAe,EAAC,EACxC,yDAAyD,CAC5D,CAAC;YACF,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAClC,CAAC;IACL,CAAC;CACJ,CAAA;AAjJY,WAAW;IADvB,UAAU,EAAE;IAIJ,WAAA,gBAAgB,CAAC,IAAI,CAAC,CAAA;qCACH,UAAU;GAJzB,WAAW,CAiJvB"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darraghor/nest-backend-libs",
3
- "version": "6.0.1",
3
+ "version": "7.0.0",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "description": "Some helpers for personal projects in nestjs",
6
6
  "homepage": "https://github.com/darraghoriordan/nest-backend-libs",
@@ -10,8 +10,9 @@
10
10
  "url": "https://github.com/darraghoriordan/nest-backend-libs"
11
11
  },
12
12
  "engines": {
13
- "node": ">=22.21.1"
13
+ "node": ">=24.0.0"
14
14
  },
15
+ "packageManager": "pnpm@11.17.0",
15
16
  "files": [
16
17
  "dist",
17
18
  "package.json",
@@ -77,11 +78,6 @@
77
78
  "access": "public",
78
79
  "provenance": true
79
80
  },
80
- "pnpm": {
81
- "overrides": {
82
- "conventional-changelog-conventionalcommits": "7.0.2"
83
- }
84
- },
85
81
  "bin": {
86
82
  "miller": "dist/cli/cli.js",
87
83
  "generate-client": "dist/open-api-generation/generate.sh"
@@ -176,6 +172,7 @@
176
172
  "@types/express": "5.0.6",
177
173
  "@types/node": "26.1.1",
178
174
  "@types/nodemailer": "8.0.1",
175
+ "@types/passport": "1.0.17",
179
176
  "@types/passport-jwt": "4.0.1",
180
177
  "@types/supertest": "7.2.1",
181
178
  "@types/yargs": "17.0.35",