@nest-boot/auth 7.9.3 → 7.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { EntityClass, MikroORM } from "@mikro-orm/core";
2
- import { type DBAdapterDebugLogOption } from "better-auth/adapters";
2
+ import { type DBAdapterDebugLogOption, Where } from "better-auth/adapters";
3
3
  import { BaseAccount, BaseSession, BaseUser, BaseVerification } from "../entities";
4
4
  export interface MikroOrmAdapterConfig {
5
5
  /**
@@ -24,4 +24,5 @@ export interface MikroOrmAdapterConfig {
24
24
  */
25
25
  debugLogs?: DBAdapterDebugLogOption;
26
26
  }
27
+ export declare function convertWhereToMikroOrm(where: Required<Where>[]): Record<string, unknown>;
27
28
  export declare const mikroOrmAdapter: ({ orm, entities, ...config }: MikroOrmAdapterConfig) => import("better-auth/adapters").AdapterFactory;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mikroOrmAdapter = void 0;
4
+ exports.convertWhereToMikroOrm = convertWhereToMikroOrm;
4
5
  const adapters_1 = require("better-auth/adapters");
5
6
  function convertWhereToMikroOrm(where) {
6
- return where.map(({ field, operator, value }) => {
7
+ const conditions = where.map(({ field, operator, value }) => {
7
8
  switch (operator) {
8
9
  case "eq":
9
10
  return {
@@ -80,8 +81,23 @@ function convertWhereToMikroOrm(where) {
80
81
  $like: `%${value}`,
81
82
  },
82
83
  };
84
+ default:
85
+ throw new Error(`Unsupported operator: ${String(operator)}`);
83
86
  }
84
87
  });
88
+ const hasOr = where.some((w) => w.connector === "OR");
89
+ if (!hasOr) {
90
+ return { $and: conditions };
91
+ }
92
+ const groups = [[]];
93
+ for (let i = 0; i < conditions.length; i++) {
94
+ if (i > 0 && where[i].connector === "OR") {
95
+ groups.push([]);
96
+ }
97
+ groups[groups.length - 1].push(conditions[i]);
98
+ }
99
+ const orBranches = groups.map((group) => group.length === 1 ? group[0] : { $and: group });
100
+ return orBranches.length === 1 ? orBranches[0] : { $or: orBranches };
85
101
  }
86
102
  const mikroOrmAdapter = ({ orm, entities, ...config }) => {
87
103
  const getEntityClass = (model) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mikro-orm-adapter.js","sourceRoot":"","sources":["../../src/adapters/mikro-orm-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mikro-orm-adapter.js","sourceRoot":"","sources":["../../src/adapters/mikro-orm-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Unit tests for convertWhereToMikroOrm
3
+ *
4
+ * Locks down AND/OR connector semantics to prevent returning raw arrays
5
+ * that MikroORM interprets as OR (which caused an OIDC login identity
6
+ * collision bug in production).
7
+ */
8
+ export {};
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ /**
3
+ * Unit tests for convertWhereToMikroOrm
4
+ *
5
+ * Locks down AND/OR connector semantics to prevent returning raw arrays
6
+ * that MikroORM interprets as OR (which caused an OIDC login identity
7
+ * collision bug in production).
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ // Mock better-auth/adapters to avoid ESM compatibility issues (types only)
11
+ jest.mock("better-auth/adapters", () => ({}));
12
+ // Import the function under test
13
+ const mikro_orm_adapter_1 = require("./mikro-orm-adapter");
14
+ /** Helper to construct a Where condition */
15
+ function makeWhere(field, operator, value, connector = "AND") {
16
+ return { field, operator, value, connector };
17
+ }
18
+ describe("convertWhereToMikroOrm", () => {
19
+ describe("AND connector", () => {
20
+ it("should merge multiple AND conditions into a $and object (OIDC login reproduction)", () => {
21
+ const where = [
22
+ makeWhere("accountId", "eq", "w9mj34kow1sc", "AND"),
23
+ makeWhere("providerId", "eq", "oidc", "AND"),
24
+ ];
25
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
26
+ // Must be a $and object, not an array (arrays are interpreted as $or by MikroORM)
27
+ expect(result).toEqual({
28
+ $and: [
29
+ { accountId: { $eq: "w9mj34kow1sc" } },
30
+ { providerId: { $eq: "oidc" } },
31
+ ],
32
+ });
33
+ expect(Array.isArray(result)).toBe(false);
34
+ });
35
+ it("should default to AND when connector is omitted", () => {
36
+ const where = [
37
+ { field: "name", operator: "eq", value: "test" },
38
+ { field: "age", operator: "gt", value: 18 },
39
+ ];
40
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
41
+ expect(result).toEqual({
42
+ $and: [{ name: { $eq: "test" } }, { age: { $gt: 18 } }],
43
+ });
44
+ });
45
+ it("should handle duplicate fields correctly (range query, no key override)", () => {
46
+ const where = [
47
+ makeWhere("createdAt", "gte", "2024-01-01"),
48
+ makeWhere("createdAt", "lt", "2025-01-01"),
49
+ ];
50
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
51
+ expect(result).toEqual({
52
+ $and: [
53
+ { createdAt: { $gte: "2024-01-01" } },
54
+ { createdAt: { $lt: "2025-01-01" } },
55
+ ],
56
+ });
57
+ });
58
+ });
59
+ describe("OR connector", () => {
60
+ it("should wrap all OR conditions in a $or object", () => {
61
+ const where = [
62
+ makeWhere("email", "eq", "a@test.com", "OR"),
63
+ makeWhere("email", "eq", "b@test.com", "OR"),
64
+ ];
65
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
66
+ expect(result).toEqual({
67
+ $or: [
68
+ { email: { $eq: "a@test.com" } },
69
+ { email: { $eq: "b@test.com" } },
70
+ ],
71
+ });
72
+ });
73
+ });
74
+ describe("mixed AND/OR", () => {
75
+ it("A AND B OR C → (A AND B) OR C", () => {
76
+ const where = [
77
+ makeWhere("accountId", "eq", "xxx", "AND"),
78
+ makeWhere("providerId", "eq", "oidc", "AND"),
79
+ makeWhere("status", "eq", "active", "OR"),
80
+ ];
81
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
82
+ expect(result).toEqual({
83
+ $or: [
84
+ {
85
+ $and: [
86
+ { accountId: { $eq: "xxx" } },
87
+ { providerId: { $eq: "oidc" } },
88
+ ],
89
+ },
90
+ { status: { $eq: "active" } },
91
+ ],
92
+ });
93
+ });
94
+ it("A AND B OR C AND D → (A AND B) OR (C AND D)", () => {
95
+ const where = [
96
+ makeWhere("a", "eq", "1", "AND"),
97
+ makeWhere("b", "eq", "2", "AND"),
98
+ makeWhere("c", "eq", "3", "OR"),
99
+ makeWhere("d", "eq", "4", "AND"),
100
+ ];
101
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
102
+ expect(result).toEqual({
103
+ $or: [
104
+ { $and: [{ a: { $eq: "1" } }, { b: { $eq: "2" } }] },
105
+ { $and: [{ c: { $eq: "3" } }, { d: { $eq: "4" } }] },
106
+ ],
107
+ });
108
+ });
109
+ it("should flatten when only one branch exists", () => {
110
+ const where = [makeWhere("a", "eq", "1", "OR")];
111
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
112
+ expect(result).toEqual({ a: { $eq: "1" } });
113
+ });
114
+ });
115
+ describe("operator mapping", () => {
116
+ const testOperator = (operator, mikroOp, value = "test") => {
117
+ const where = [makeWhere("f", operator, value)];
118
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)(where);
119
+ expect(result).toEqual({ $and: [{ f: { [mikroOp]: value } }] });
120
+ };
121
+ it("eq → $eq", () => testOperator("eq", "$eq"));
122
+ it("ne → $ne", () => testOperator("ne", "$ne"));
123
+ it("lt → $lt", () => testOperator("lt", "$lt", 10));
124
+ it("lte → $lte", () => testOperator("lte", "$lte", 10));
125
+ it("gt → $gt", () => testOperator("gt", "$gt", 10));
126
+ it("gte → $gte", () => testOperator("gte", "$gte", 10));
127
+ it("in → $in", () => testOperator("in", "$in", [1, 2]));
128
+ it("not_in → $nin", () => testOperator("not_in", "$nin", [1, 2]));
129
+ it("contains → $like %value%", () => {
130
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)([
131
+ makeWhere("name", "contains", "test"),
132
+ ]);
133
+ expect(result).toEqual({ $and: [{ name: { $like: "%test%" } }] });
134
+ });
135
+ it("starts_with → $like value%", () => {
136
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)([
137
+ makeWhere("name", "starts_with", "test"),
138
+ ]);
139
+ expect(result).toEqual({ $and: [{ name: { $like: "test%" } }] });
140
+ });
141
+ it("ends_with → $like %value", () => {
142
+ const result = (0, mikro_orm_adapter_1.convertWhereToMikroOrm)([
143
+ makeWhere("name", "ends_with", "test"),
144
+ ]);
145
+ expect(result).toEqual({ $and: [{ name: { $like: "%test" } }] });
146
+ });
147
+ });
148
+ describe("string type validation", () => {
149
+ it("should throw when contains receives a non-string value", () => {
150
+ expect(() => (0, mikro_orm_adapter_1.convertWhereToMikroOrm)([makeWhere("f", "contains", 123)])).toThrow("Value must be a string");
151
+ });
152
+ it("should throw when starts_with receives a non-string value", () => {
153
+ expect(() => (0, mikro_orm_adapter_1.convertWhereToMikroOrm)([makeWhere("f", "starts_with", 123)])).toThrow("Value must be a string");
154
+ });
155
+ it("should throw when ends_with receives a non-string value", () => {
156
+ expect(() => (0, mikro_orm_adapter_1.convertWhereToMikroOrm)([makeWhere("f", "ends_with", 123)])).toThrow("Value must be a string");
157
+ });
158
+ });
159
+ describe("unsupported operator", () => {
160
+ it("should throw on unknown operator", () => {
161
+ expect(() => (0, mikro_orm_adapter_1.convertWhereToMikroOrm)([makeWhere("f", "unknown_op", "x")])).toThrow("Unsupported operator: unknown_op");
162
+ });
163
+ });
164
+ });
165
+ //# sourceMappingURL=mikro-orm-adapter.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mikro-orm-adapter.spec.js","sourceRoot":"","sources":["../../src/adapters/mikro-orm-adapter.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CanActivate, ExecutionContext } from "@nestjs/common";
1
+ import { type CanActivate, type ExecutionContext } from "@nestjs/common";
2
2
  import { Reflector } from "@nestjs/core";
3
3
  /**
4
4
  * Guard that enforces authentication on routes.
@@ -16,7 +16,7 @@ export declare class AuthGuard implements CanActivate {
16
16
  /**
17
17
  * Determines whether the current request is allowed to proceed.
18
18
  * @param context - The execution context of the current request
19
- * @returns `true` if the route is public or the user has a valid session
19
+ * @returns A NestJS guard activation result
20
20
  */
21
- canActivate(context: ExecutionContext): boolean;
21
+ canActivate(context: ExecutionContext): ReturnType<CanActivate["canActivate"]>;
22
22
  }
@@ -32,7 +32,7 @@ let AuthGuard = class AuthGuard {
32
32
  /**
33
33
  * Determines whether the current request is allowed to proceed.
34
34
  * @param context - The execution context of the current request
35
- * @returns `true` if the route is public or the user has a valid session
35
+ * @returns A NestJS guard activation result
36
36
  */
37
37
  canActivate(context) {
38
38
  if (this.reflector.getAllAndOverride(auth_constants_1.IS_PUBLIC_KEY, [
@@ -1 +1 @@
1
- {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../src/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA4D;AAC5D,2CAA2E;AAC3E,uCAAyC;AAEzC,qDAAiD;AACjD,8DAAwD;AAExD;;;;;;GAMG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB;;OAEG;IACH,YAA+B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CAAC,OAAyB;QACnC,IACE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,8BAAa,EAAE;YACvD,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,EACF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,CAAC,gCAAc,CAAC,GAAG,CAAC,4BAAW,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAvBY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;qCAK+B,gBAAS;GAJxC,SAAS,CAuBrB"}
1
+ {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../src/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAA4D;AAC5D,2CAIwB;AACxB,uCAAyC;AAEzC,qDAAiD;AACjD,8DAAwD;AAExD;;;;;;GAMG;AAEI,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB;;OAEG;IACH,YAA+B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CACT,OAAyB;QAEzB,IACE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAU,8BAAa,EAAE;YACvD,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,QAAQ,EAAE;SACnB,CAAC,EACF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,CAAC,gCAAc,CAAC,GAAG,CAAC,4BAAW,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAzBY,8BAAS;oBAAT,SAAS;IADrB,IAAA,mBAAU,GAAE;qCAK+B,gBAAS;GAJxC,SAAS,CAyBrB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rxjs_1 = require("rxjs");
4
+ const auth_guard_1 = require("./auth.guard");
5
+ class PromiseAuthGuard extends auth_guard_1.AuthGuard {
6
+ canActivate(_context) {
7
+ return Promise.resolve(true);
8
+ }
9
+ }
10
+ class ObservableAuthGuard extends auth_guard_1.AuthGuard {
11
+ canActivate(_context) {
12
+ return (0, rxjs_1.of)(true);
13
+ }
14
+ }
15
+ describe("AuthGuard", () => {
16
+ it("allows subclasses to return the full CanActivate result type", () => {
17
+ expect(PromiseAuthGuard).toBeDefined();
18
+ expect(ObservableAuthGuard).toBeDefined();
19
+ });
20
+ });
21
+ //# sourceMappingURL=auth.guard.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.guard.spec.js","sourceRoot":"","sources":["../src/auth.guard.spec.ts"],"names":[],"mappings":";;AACA,+BAA0B;AAE1B,6CAAyC;AAEzC,MAAM,gBAAiB,SAAQ,sBAAS;IAC7B,WAAW,CAClB,QAA0B;QAE1B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,mBAAoB,SAAQ,sBAAS;IAChC,WAAW,CAClB,QAA0B;QAE1B,OAAO,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF;AAED,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,CAAC,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}