@nest-boot/mikro-orm-hash 7.1.0 → 7.1.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.
@@ -6,13 +6,13 @@ import { PropertyOptions } from "@mikro-orm/core";
6
6
  * @example
7
7
  * ```typescript
8
8
  * import { Entity } from '@mikro-orm/core';
9
- * import { HashProperty } from '@nest-boot/mikro-orm-hash';
9
+ * import { HashedProperty } from '@nest-boot/mikro-orm-hash';
10
10
  *
11
11
  * @Entity()
12
12
  * export class User {
13
- * @HashProperty({ type: t.string })
13
+ * @HashedProperty({ type: t.string })
14
14
  * password!: string;
15
15
  * }
16
16
  * ```
17
17
  */
18
- export declare function HashProperty<T extends object>(options?: Partial<PropertyOptions<T>>): PropertyDecorator;
18
+ export declare function HashedProperty<T extends object>(options?: Partial<PropertyOptions<T>>): PropertyDecorator;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HashProperty = HashProperty;
3
+ exports.HashedProperty = HashedProperty;
4
4
  const core_1 = require("@mikro-orm/core");
5
5
  const hash_1 = require("@nest-boot/hash");
6
6
  const HASH_PROPERTIES_KEY = Symbol("hashProperties");
@@ -11,21 +11,21 @@ const HASH_PROPERTIES_KEY = Symbol("hashProperties");
11
11
  * @example
12
12
  * ```typescript
13
13
  * import { Entity } from '@mikro-orm/core';
14
- * import { HashProperty } from '@nest-boot/mikro-orm-hash';
14
+ * import { HashedProperty } from '@nest-boot/mikro-orm-hash';
15
15
  *
16
16
  * @Entity()
17
17
  * export class User {
18
- * @HashProperty({ type: t.string })
18
+ * @HashedProperty({ type: t.string })
19
19
  * password!: string;
20
20
  * }
21
21
  * ```
22
22
  */
23
- function HashProperty(options) {
23
+ function HashedProperty(options) {
24
24
  return function (target, propertyKey) {
25
25
  if (typeof propertyKey !== "string") {
26
- throw new Error("HashProperty decorator can only be used on string properties.");
26
+ throw new Error("HashedProperty decorator can only be used on string properties.");
27
27
  }
28
- (0, core_1.Property)({ ...options, hidden: true, lazy: true })(target, propertyKey);
28
+ (0, core_1.Property)({ hidden: true, lazy: true, ...options })(target, propertyKey);
29
29
  // Collect all properties that need to be hashed (create a copy to avoid sharing array during inheritance)
30
30
  const existingProperties = [
31
31
  ...(Reflect.getMetadata(HASH_PROPERTIES_KEY, target) ?? []),
@@ -41,10 +41,12 @@ function HashProperty(options) {
41
41
  const payload = args.changeSet?.payload;
42
42
  for (const key of properties) {
43
43
  const value = payload?.[key];
44
- if (typeof value === "string") {
45
- this[key] =
46
- await hash_1.HashService.hash(value);
44
+ // Skip if value is not a string or is already an Argon2 hash
45
+ if (typeof value !== "string" || value.startsWith("$argon2")) {
46
+ continue;
47
47
  }
48
+ this[key] =
49
+ await hash_1.HashService.hash(value);
48
50
  }
49
51
  };
50
52
  Object.defineProperty(target, "__hashProperties__", {
@@ -57,4 +59,4 @@ function HashProperty(options) {
57
59
  }
58
60
  };
59
61
  }
60
- //# sourceMappingURL=hash-property.decorator.js.map
62
+ //# sourceMappingURL=hashed-property.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashed-property.decorator.js","sourceRoot":"","sources":["../src/hashed-property.decorator.ts"],"names":[],"mappings":";;AA2BA,wCA2DC;AAtFD,0CAMyB;AACzB,0CAA8C;AAE9C,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,cAAc,CAC5B,OAAqC;IAErC,OAAO,UAAU,MAAc,EAAE,WAA4B;QAC3D,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,IAAA,eAAQ,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAExE,0GAA0G;QAC1G,MAAM,kBAAkB,GAAa;YACnC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;SAC5D,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrC,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACxE,MAAM,cAAc,GAAG,KAAK,WAE1B,IAAkB;gBAElB,MAAM,UAAU,GACd,OAAO,CAAC,WAAW,CACjB,mBAAmB,EACnB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAC5B,IAAI,EAAE,CAAC;gBAEV,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,OAAkC,CAAC;gBAEnE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBAE7B,6DAA6D;oBAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBAEA,IAAgC,CAAC,GAAG,CAAC;wBACpC,MAAM,kBAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE;gBAClD,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAA,mBAAY,GAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAC7C,IAAA,mBAAY,GAAE,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -16,12 +16,12 @@ const _1 = require(".");
16
16
  let User = class User {
17
17
  };
18
18
  __decorate([
19
- (0, better_sqlite_1.PrimaryKey)(),
19
+ (0, better_sqlite_1.PrimaryKey)({ type: better_sqlite_1.t.integer }),
20
20
  __metadata("design:type", Number)
21
21
  ], User.prototype, "id", void 0);
22
22
  __decorate([
23
23
  (0, better_sqlite_1.Property)({ type: better_sqlite_1.t.string }),
24
- (0, _1.HashProperty)(),
24
+ (0, _1.HashedProperty)(),
25
25
  __metadata("design:type", String)
26
26
  ], User.prototype, "password", void 0);
27
27
  User = __decorate([
@@ -30,17 +30,17 @@ User = __decorate([
30
30
  let UserWithMultipleHashFields = class UserWithMultipleHashFields {
31
31
  };
32
32
  __decorate([
33
- (0, better_sqlite_1.PrimaryKey)(),
33
+ (0, better_sqlite_1.PrimaryKey)({ type: better_sqlite_1.t.integer }),
34
34
  __metadata("design:type", Number)
35
35
  ], UserWithMultipleHashFields.prototype, "id", void 0);
36
36
  __decorate([
37
37
  (0, better_sqlite_1.Property)({ type: better_sqlite_1.t.string }),
38
- (0, _1.HashProperty)(),
38
+ (0, _1.HashedProperty)(),
39
39
  __metadata("design:type", String)
40
40
  ], UserWithMultipleHashFields.prototype, "password", void 0);
41
41
  __decorate([
42
42
  (0, better_sqlite_1.Property)({ type: better_sqlite_1.t.string }),
43
- (0, _1.HashProperty)(),
43
+ (0, _1.HashedProperty)(),
44
44
  __metadata("design:type", String)
45
45
  ], UserWithMultipleHashFields.prototype, "apiKey", void 0);
46
46
  UserWithMultipleHashFields = __decorate([
@@ -49,12 +49,12 @@ UserWithMultipleHashFields = __decorate([
49
49
  let ParentEntity = class ParentEntity {
50
50
  };
51
51
  __decorate([
52
- (0, better_sqlite_1.PrimaryKey)(),
52
+ (0, better_sqlite_1.PrimaryKey)({ type: better_sqlite_1.t.integer }),
53
53
  __metadata("design:type", Number)
54
54
  ], ParentEntity.prototype, "id", void 0);
55
55
  __decorate([
56
56
  (0, better_sqlite_1.Property)({ type: better_sqlite_1.t.string }),
57
- (0, _1.HashProperty)(),
57
+ (0, _1.HashedProperty)(),
58
58
  __metadata("design:type", String)
59
59
  ], ParentEntity.prototype, "parentPassword", void 0);
60
60
  ParentEntity = __decorate([
@@ -64,13 +64,13 @@ let ChildEntity = class ChildEntity extends ParentEntity {
64
64
  };
65
65
  __decorate([
66
66
  (0, better_sqlite_1.Property)({ type: better_sqlite_1.t.string }),
67
- (0, _1.HashProperty)(),
67
+ (0, _1.HashedProperty)(),
68
68
  __metadata("design:type", String)
69
69
  ], ChildEntity.prototype, "childPassword", void 0);
70
70
  ChildEntity = __decorate([
71
71
  (0, better_sqlite_1.Entity)()
72
72
  ], ChildEntity);
73
- describe("HashProperty", () => {
73
+ describe("HashedProperty", () => {
74
74
  let orm;
75
75
  beforeAll(async () => {
76
76
  hash_1.HashService.init();
@@ -92,21 +92,21 @@ describe("HashProperty", () => {
92
92
  expect(() => {
93
93
  // Manually apply the decorator to a symbol property
94
94
  const target = {};
95
- (0, _1.HashProperty)()(target, symbolKey);
96
- }).toThrow("HashProperty decorator can only be used on string properties.");
95
+ (0, _1.HashedProperty)()(target, symbolKey);
96
+ }).toThrow("HashedProperty decorator can only be used on string properties.");
97
97
  });
98
98
  it("should not add duplicate properties when decorator is applied twice", async () => {
99
99
  // This tests the deduplication logic at lines 45-48
100
100
  let DuplicateDecoratorEntity = class DuplicateDecoratorEntity {
101
101
  };
102
102
  __decorate([
103
- (0, better_sqlite_1.PrimaryKey)(),
103
+ (0, better_sqlite_1.PrimaryKey)({ type: better_sqlite_1.t.integer }),
104
104
  __metadata("design:type", Number)
105
105
  ], DuplicateDecoratorEntity.prototype, "id", void 0);
106
106
  __decorate([
107
107
  (0, better_sqlite_1.Property)({ type: better_sqlite_1.t.string }),
108
- (0, _1.HashProperty)(),
109
- (0, _1.HashProperty)() // Applied twice
108
+ (0, _1.HashedProperty)(),
109
+ (0, _1.HashedProperty)() // Applied twice
110
110
  ,
111
111
  __metadata("design:type", String)
112
112
  ], DuplicateDecoratorEntity.prototype, "password", void 0);
@@ -134,12 +134,12 @@ describe("HashProperty", () => {
134
134
  let CustomOptionsEntity = class CustomOptionsEntity {
135
135
  };
136
136
  __decorate([
137
- (0, better_sqlite_1.PrimaryKey)(),
137
+ (0, better_sqlite_1.PrimaryKey)({ type: better_sqlite_1.t.integer }),
138
138
  __metadata("design:type", Number)
139
139
  ], CustomOptionsEntity.prototype, "id", void 0);
140
140
  __decorate([
141
141
  (0, better_sqlite_1.Property)({ type: better_sqlite_1.t.string }),
142
- (0, _1.HashProperty)({ nullable: true }),
142
+ (0, _1.HashedProperty)({ nullable: true }),
143
143
  __metadata("design:type", String)
144
144
  ], CustomOptionsEntity.prototype, "optionalPassword", void 0);
145
145
  CustomOptionsEntity = __decorate([
@@ -217,6 +217,21 @@ describe("HashProperty", () => {
217
217
  });
218
218
  });
219
219
  describe("edge cases", () => {
220
+ it("should not rehash if value is already an Argon2 hash", async () => {
221
+ const em = orm.em.fork();
222
+ const user = em.create(User, { password: "initial" });
223
+ em.persist(user);
224
+ await em.flush();
225
+ const initialHash = user.password;
226
+ expect(initialHash).toContain("$argon2");
227
+ // Simulate calling the hook with an already hashed value
228
+ const hashPropertiesMethod = user.__hashProperties__;
229
+ await hashPropertiesMethod.call(user, {
230
+ changeSet: { payload: { password: initialHash } },
231
+ });
232
+ // Password should remain unchanged since it was already a hash
233
+ expect(user.password).toBe(initialHash);
234
+ });
220
235
  it("should skip hashing for non-string values in payload", async () => {
221
236
  const em = orm.em.fork();
222
237
  const user = em.create(User, { password: "initial" });
@@ -281,4 +296,4 @@ describe("HashProperty", () => {
281
296
  });
282
297
  });
283
298
  });
284
- //# sourceMappingURL=hash-property.decorator.spec.js.map
299
+ //# sourceMappingURL=hashed-property.decorator.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashed-property.decorator.spec.js","sourceRoot":"","sources":["../src/hashed-property.decorator.spec.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from "./hash-property.decorator";
1
+ export * from "./hashed-property.decorator";
package/dist/index.js CHANGED
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./hash-property.decorator"), exports);
17
+ __exportStar(require("./hashed-property.decorator"), exports);
18
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}