@warlock.js/auth 4.0.134 → 4.0.136

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 (36) hide show
  1. package/esm/contracts/types.d.ts +12 -6
  2. package/esm/contracts/types.d.ts.map +1 -1
  3. package/esm/middleware/auth.middleware.js +2 -2
  4. package/esm/middleware/auth.middleware.js.map +1 -1
  5. package/esm/models/access-token/access-token.model.d.ts.map +1 -1
  6. package/esm/models/access-token/access-token.model.js +5 -9
  7. package/esm/models/access-token/access-token.model.js.map +1 -1
  8. package/esm/models/access-token/migration.d.ts.map +1 -1
  9. package/esm/models/access-token/migration.js +7 -6
  10. package/esm/models/access-token/migration.js.map +1 -1
  11. package/esm/models/auth.model.d.ts +12 -8
  12. package/esm/models/auth.model.d.ts.map +1 -1
  13. package/esm/models/auth.model.js +13 -1
  14. package/esm/models/auth.model.js.map +1 -1
  15. package/esm/models/index.js +1 -1
  16. package/esm/models/index.js.map +1 -1
  17. package/esm/models/refresh-token/migration.js +9 -9
  18. package/esm/models/refresh-token/migration.js.map +1 -1
  19. package/esm/models/refresh-token/refresh-token.model.d.ts +1 -1
  20. package/esm/models/refresh-token/refresh-token.model.d.ts.map +1 -1
  21. package/esm/models/refresh-token/refresh-token.model.js +13 -13
  22. package/esm/models/refresh-token/refresh-token.model.js.map +1 -1
  23. package/esm/services/auth.service.d.ts +18 -11
  24. package/esm/services/auth.service.d.ts.map +1 -1
  25. package/esm/services/auth.service.js +62 -47
  26. package/esm/services/auth.service.js.map +1 -1
  27. package/esm/services/jwt.d.ts.map +1 -1
  28. package/esm/services/jwt.js +3 -2
  29. package/esm/services/jwt.js.map +1 -1
  30. package/package.json +5 -5
  31. package/esm/models/access-token/access-token.d.ts +0 -9
  32. package/esm/models/access-token/access-token.d.ts.map +0 -1
  33. package/esm/models/auth.d.ts +0 -46
  34. package/esm/models/auth.d.ts.map +0 -1
  35. package/esm/models/refresh-token/refresh-token.d.ts +0 -32
  36. package/esm/models/refresh-token/refresh-token.d.ts.map +0 -1
@@ -111,6 +111,16 @@ export type AuthConfigurations = {
111
111
  salt?: number;
112
112
  };
113
113
  };
114
+ export type AccessTokenOutput = {
115
+ /**
116
+ * JWT Token
117
+ */
118
+ token: string;
119
+ /**
120
+ * Exprie time in ISO format UTC time
121
+ */
122
+ expiresAt: string;
123
+ };
114
124
  /**
115
125
  * Token pair returned after login or token refresh
116
126
  */
@@ -118,15 +128,11 @@ export type TokenPair = {
118
128
  /**
119
129
  * JWT access token (short-lived)
120
130
  */
121
- accessToken: string;
131
+ accessToken: AccessTokenOutput;
122
132
  /**
123
133
  * JWT refresh token (long-lived)
124
134
  */
125
- refreshToken: string;
126
- /**
127
- * Access token expiration time in seconds or time string
128
- */
129
- expiresIn: number | string;
135
+ refreshToken: AccessTokenOutput;
130
136
  };
131
137
  /**
132
138
  * Device information for session tracking
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contracts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,QAAQ,EAAE;QACR,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;KACtC,CAAC;IACF;;OAEG;IACH,GAAG,EAAE;QACH;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB;;;;;WAKG;QACH,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB;;WAEG;QACH,OAAO,CAAC,EAAE;YACR;;;eAGG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB;;;eAGG;YACH,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB;;;;;eAKG;YACH,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;YACvC;;;;eAIG;YACH,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB;;;;eAIG;YACH,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB;;;;;eAKG;YACH,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;SACjD,CAAC;KACH,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;;;;WAKG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contracts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,eAA0B,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,YAAY,GAAG,OAAO,CAAC;AAEhE,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,QAAQ,EAAE;QACR,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;KACtC,CAAC;IACF;;OAEG;IACH,GAAG,EAAE;QACH;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB;;;;;WAKG;QACH,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB;;WAEG;QACH,OAAO,CAAC,EAAE;YACR;;;eAGG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB;;;eAGG;YACH,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB;;;;;eAKG;YACH,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;YACvC;;;;eAIG;YACH,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB;;;;eAIG;YACH,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB;;;;;eAKG;YACH,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;SACjD,CAAC;KACH,CAAC;IACF;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;;;;WAKG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAC/B;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
@@ -53,8 +53,8 @@ import {t,config}from'@warlock.js/core';import {log}from'@warlock.js/logger';imp
53
53
  });
54
54
  }
55
55
  // update last access
56
- accessToken.set("lastAccess", new Date());
57
- await accessToken.save({ skipEvents: true });
56
+ // accessToken.set("lastAccess", new Date());
57
+ // await accessToken.save({ skipEvents: true });
58
58
  // set current user
59
59
  request.user = currentUser;
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.middleware.js","sources":["../../src/middleware/auth.middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.middleware.js","sources":["../../src/middleware/auth.middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"mPAMM,SAAU,cAAc,CAAC,eAAmC,EAAA;IAChE,MAAM,YAAY,GAAG,CAAC,eAAe;AACnC,UAAE,EAAE;AACJ,UAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;AAC9B,cAAE,eAAe;AACjB,cAAE,CAAC,eAAe,CAAC,CAAC;IAExB,MAAM,IAAI,GAAe,OAAO,OAAgB,EAAE,QAAkB,KAAI;QACtE,IAAI;AACF,YAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;AAEtD,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,kBAAkB;gBAAE,OAAO;YAExD,IAAI,CAAC,kBAAkB,EAAE;gBACvB,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,oBAAA,KAAK,EAAE,CAAC,CAAC,gCAAgC,CAAC;oBAC1C,SAAS,EAAE,cAAc,CAAC,kBAAkB;AAC7C,iBAAA,CAAC,CAAC;AACJ,aAAA;;YAGD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;;AAGlD,YAAA,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;;AAElC,YAAA,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC;AAC1C,gBAAA,KAAK,EAAE,kBAAkB;AAC1B,aAAA,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,oBAAA,KAAK,EAAE,CAAC,CAAC,gCAAgC,CAAC;oBAC1C,SAAS,EAAE,cAAc,CAAC,kBAAkB;AAC7C,iBAAA,CAAC,CAAC;AACJ,aAAA;;AAGD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;YAG9D,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC3D,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,oBAAA,KAAK,EAAE,CAAC,CAAC,0BAA0B,CAAC;oBACpC,SAAS,EAAE,cAAc,CAAC,YAAY;AACvC,iBAAA,CAAC,CAAC;AACJ,aAAA;;YAGD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAiB,cAAA,EAAA,QAAQ,CAAE,CAAA,CAAC,CAAC;YAE1D,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,CAAA,iBAAA,CAAmB,CAAC,CAAC;AAC3D,aAAA;;YAGD,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,WAAW,EAAE;gBAChB,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,oBAAA,KAAK,EAAE,CAAC,CAAC,gCAAgC,CAAC;oBAC1C,SAAS,EAAE,cAAc,CAAC,kBAAkB;AAC7C,iBAAA,CAAC,CAAC;AACJ,aAAA;;;;;AAOD,YAAA,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC;AAC5B,SAAA;AAAC,QAAA,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;;YAG/B,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAE3B,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,gBAAA,KAAK,EAAE,CAAC,CAAC,gCAAgC,CAAC;gBAC1C,SAAS,EAAE,cAAc,CAAC,kBAAkB;AAC7C,aAAA,CAAC,CAAC;AACJ,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,OAAO,IAAI,CAAC;AACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.model.d.ts","sourceRoot":"","sources":["../../../src/models/access-token/access-token.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAe5C,qBAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,OAAc,KAAK,SAAkB;IAErC,OAAc,MAAM,MAAqB;CAC1C"}
1
+ {"version":3,"file":"access-token.model.d.ts","sourceRoot":"","sources":["../../../src/models/access-token/access-token.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAW5C,qBAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,OAAc,KAAK,SAAmB;IAEtC,OAAc,MAAM,MAAqB;CAC1C"}
@@ -1,18 +1,14 @@
1
1
  import {Model}from'@warlock.js/cascade';import {v}from'@warlock.js/seal';const accessTokenSchema = v.object({
2
2
  token: v.string().required(),
3
- lastAccess: v.date().default(() => new Date()),
4
- user: v
5
- .object({
6
- id: v.number().required(),
7
- userType: v.string(),
8
- })
9
- .allowUnknown()
10
- .required(),
3
+ last_access: v.date().default(() => new Date()),
4
+ user_id: v.scalar().required(),
5
+ user_type: v.string().required(),
6
+ is_active: v.boolean().default(true),
11
7
  });
12
8
  class AccessToken extends Model {
13
9
  /**
14
10
  * {@inheritDoc}
15
11
  */
16
- static table = "accessTokens";
12
+ static table = "access_tokens";
17
13
  static schema = accessTokenSchema;
18
14
  }export{AccessToken};//# sourceMappingURL=access-token.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.model.js","sources":["../../../src/models/access-token/access-token.model.ts"],"sourcesContent":[null],"names":[],"mappings":"yEAGA,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;AACjC,IAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC5B,IAAA,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;AAC9C,IAAA,IAAI,EAAE,CAAC;AACJ,SAAA,MAAM,CAAC;AACN,QAAA,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AACzB,QAAA,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;AACD,SAAA,YAAY,EAAE;AACd,SAAA,QAAQ,EAAE;AACd,CAAA,CAAC,CAAC;AAEG,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC;;AAEG;AACI,IAAA,OAAO,KAAK,GAAG,cAAc,CAAC;AAE9B,IAAA,OAAO,MAAM,GAAG,iBAAiB,CAAC;"}
1
+ {"version":3,"file":"access-token.model.js","sources":["../../../src/models/access-token/access-token.model.ts"],"sourcesContent":[null],"names":[],"mappings":"yEAGA,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;AACjC,IAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC5B,IAAA,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;AAC/C,IAAA,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC9B,IAAA,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;AACrC,CAAA,CAAC,CAAC;AAEG,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC;;AAEG;AACI,IAAA,OAAO,KAAK,GAAG,eAAe,CAAC;AAE/B,IAAA,OAAO,MAAM,GAAG,iBAAiB,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/models/access-token/migration.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,KAyB/B,CAAC"}
1
+ {"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../../src/models/access-token/migration.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB,KA0B/B,CAAC"}
@@ -4,14 +4,15 @@ import {migrate}from'@warlock.js/cascade';import {AccessToken}from'./access-toke
4
4
  // Create table
5
5
  this.createTableIfNotExists();
6
6
  // Primary key
7
- this.id();
7
+ this.primaryUuid();
8
8
  // Token field
9
- this.string("token", 500).unique();
10
- this.timestamp("lastAccess").nullable();
11
- // Embedded user info (JSONB)
12
- this.json("user");
9
+ this.text("token").unique();
10
+ this.timestamp("last_access").nullable();
11
+ // User reference (flat columns for cross-driver compatibility)
12
+ this.uuid("user_id").index();
13
+ this.string("user_type", 50);
13
14
  // Status (for token revocation)
14
- this.boolean("isActive").default(true);
15
+ this.boolean("is_active");
15
16
  // Timestamps
16
17
  this.timestamps();
17
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sources":["../../../src/models/access-token/migration.ts"],"sourcesContent":[null],"names":[],"mappings":"4FAGa,MAAA,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE;AACvD,IAAA,IAAI,EAAE,aAAa;IACnB,EAAE,GAAA;;QAEA,IAAI,CAAC,sBAAsB,EAAE,CAAC;;QAG9B,IAAI,CAAC,EAAE,EAAE,CAAC;;QAGV,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;;AAGxC,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;QAGlB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;QAGvC,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IACD,IAAI,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AACF,CAAA"}
1
+ {"version":3,"file":"migration.js","sources":["../../../src/models/access-token/migration.ts"],"sourcesContent":[null],"names":[],"mappings":"4FAGa,MAAA,oBAAoB,GAAG,OAAO,CAAC,WAAW,EAAE;AACvD,IAAA,IAAI,EAAE,aAAa;IACnB,EAAE,GAAA;;QAEA,IAAI,CAAC,sBAAsB,EAAE,CAAC;;QAG9B,IAAI,CAAC,WAAW,EAAE,CAAC;;QAGnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;;QAGzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;;AAG7B,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;;QAG1B,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IACD,IAAI,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AACF,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { type ChildModel, Model, type ModelSchema } from "@warlock.js/cascade";
2
- import type { DeviceInfo, TokenPair } from "../contracts/types";
2
+ import type { AccessTokenOutput, DeviceInfo, TokenPair } from "../contracts/types";
3
3
  import type { RefreshToken } from "./refresh-token/refresh-token.model";
4
4
  export declare abstract class Auth<Schema extends ModelSchema = ModelSchema> extends Model<Schema> {
5
5
  /**
@@ -11,12 +11,8 @@ export declare abstract class Auth<Schema extends ModelSchema = ModelSchema> ext
11
11
  */
12
12
  accessTokenPayload(): {
13
13
  id: any;
14
- _id: any;
15
14
  userType: string;
16
- /**
17
- * Generate access token
18
- */
19
- createdAt: number;
15
+ created_at: number;
20
16
  };
21
17
  /**
22
18
  * Create both access and refresh tokens
@@ -25,7 +21,7 @@ export declare abstract class Auth<Schema extends ModelSchema = ModelSchema> ext
25
21
  /**
26
22
  * Generate access token
27
23
  */
28
- generateAccessToken(data?: any): Promise<string>;
24
+ generateAccessToken(data?: any): Promise<AccessTokenOutput>;
29
25
  /**
30
26
  * Generate refresh token
31
27
  */
@@ -34,6 +30,14 @@ export declare abstract class Auth<Schema extends ModelSchema = ModelSchema> ext
34
30
  * Remove current access token
35
31
  */
36
32
  removeAccessToken(token: string): Promise<void>;
33
+ /**
34
+ * Remove refresh token
35
+ */
36
+ removeRefreshToken(token: string): Promise<void>;
37
+ /**
38
+ * Remove all access tokens
39
+ */
40
+ removeAllAccessTokens(): Promise<void>;
37
41
  /**
38
42
  * Revoke all tokens (logout from all devices)
39
43
  */
@@ -49,6 +53,6 @@ export declare abstract class Auth<Schema extends ModelSchema = ModelSchema> ext
49
53
  /**
50
54
  * Confirm password
51
55
  */
52
- confirmPassword(password: string): boolean;
56
+ confirmPassword(password: string): Promise<boolean>;
53
57
  }
54
58
  //# sourceMappingURL=auth.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.model.d.ts","sourceRoot":"","sources":["../../src/models/auth.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,8BAAsB,IAAI,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,KAAK,CAAC,MAAM,CAAC;IACxF;;OAEG;IACH,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;OAEG;IACI,kBAAkB;;;;QAWzB;;WAEG;;;IATH;;OAEG;IACU,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAIzE;;OAEG;IACU,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D;;OAEG;IACU,oBAAoB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjF;;OAEG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAItD;;OAEG;WACiB,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIpF;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGlD"}
1
+ {"version":3,"file":"auth.model.d.ts","sourceRoot":"","sources":["../../src/models/auth.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,8BAAsB,IAAI,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,KAAK,CAAC,MAAM,CAAC;IACxF;;OAEG;IACH,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;OAEG;IACI,kBAAkB;;;;;IAIzB;;OAEG;IACU,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAIzE;;OAEG;IACU,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIxE;;OAEG;IACU,oBAAoB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjF;;OAEG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D;;OAEG;IACU,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;OAEG;IACU,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAItD;;OAEG;WACiB,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIpF;;OAEG;IACU,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGjE"}
@@ -29,6 +29,18 @@ import {Model}from'@warlock.js/cascade';import'@mongez/events';import {authServi
29
29
  async removeAccessToken(token) {
30
30
  return authService.removeAccessToken(this, token);
31
31
  }
32
+ /**
33
+ * Remove refresh token
34
+ */
35
+ async removeRefreshToken(token) {
36
+ return authService.removeRefreshToken(this, token);
37
+ }
38
+ /**
39
+ * Remove all access tokens
40
+ */
41
+ async removeAllAccessTokens() {
42
+ return authService.removeAllAccessTokens(this);
43
+ }
32
44
  /**
33
45
  * Revoke all tokens (logout from all devices)
34
46
  */
@@ -50,7 +62,7 @@ import {Model}from'@warlock.js/cascade';import'@mongez/events';import {authServi
50
62
  /**
51
63
  * Confirm password
52
64
  */
53
- confirmPassword(password) {
65
+ async confirmPassword(password) {
54
66
  return authService.verifyPassword(this.string("password"), password);
55
67
  }
56
68
  }export{Auth};//# sourceMappingURL=auth.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.model.js","sources":["../../src/models/auth.model.ts"],"sourcesContent":[null],"names":[],"mappings":"4OAKM,MAAgB,IAA+C,SAAQ,KAAa,CAAA;AAMxF;;AAEG;IACI,kBAAkB,GAAA;AACvB,QAAA,OAAO,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KAClD;AAED;;AAEG;IACI,MAAM,eAAe,CAAC,UAAuB,EAAA;QAClD,OAAO,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KACtD;AAED;;AAEG;IACI,MAAM,mBAAmB,CAAC,IAAU,EAAA;QACzC,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpD;AAED;;AAEG;IACI,MAAM,oBAAoB,CAAC,UAAuB,EAAA;QACvD,OAAO,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KACzD;AAED;;AAEG;IACI,MAAM,iBAAiB,CAAC,KAAa,EAAA;QAC1C,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACnD;AAED;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC1C;AAED;;AAEG;AACI,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC5C;AAED;;AAEG;AACI,IAAA,aAAa,OAAO,CAAyB,IAAS,EAAA;QAC3D,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7C;AAED;;AAEG;AACI,IAAA,eAAe,CAAC,QAAgB,EAAA;AACrC,QAAA,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,EAAE,QAAQ,CAAC,CAAC;KACvE;AACF"}
1
+ {"version":3,"file":"auth.model.js","sources":["../../src/models/auth.model.ts"],"sourcesContent":[null],"names":[],"mappings":"4OAKM,MAAgB,IAA+C,SAAQ,KAAa,CAAA;AAMxF;;AAEG;IACI,kBAAkB,GAAA;AACvB,QAAA,OAAO,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KAClD;AAED;;AAEG;IACI,MAAM,eAAe,CAAC,UAAuB,EAAA;QAClD,OAAO,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KACtD;AAED;;AAEG;IACI,MAAM,mBAAmB,CAAC,IAAU,EAAA;QACzC,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpD;AAED;;AAEG;IACI,MAAM,oBAAoB,CAAC,UAAuB,EAAA;QACvD,OAAO,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KACzD;AAED;;AAEG;IACI,MAAM,iBAAiB,CAAC,KAAa,EAAA;QAC1C,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACnD;AAED;;AAEG;IACI,MAAM,kBAAkB,CAAC,KAAa,EAAA;QAC3C,OAAO,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACpD;AAED;;AAEG;AACI,IAAA,MAAM,qBAAqB,GAAA;AAChC,QAAA,OAAO,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;KAChD;AAED;;AAEG;AACI,IAAA,MAAM,eAAe,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC1C;AAED;;AAEG;AACI,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KAC5C;AAED;;AAEG;AACI,IAAA,aAAa,OAAO,CAAyB,IAAS,EAAA;QAC3D,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7C;AAED;;AAEG;IACI,MAAM,eAAe,CAAC,QAAgB,EAAA;AAC3C,QAAA,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,EAAE,QAAQ,CAAC,CAAC;KACvE;AACF"}
@@ -1 +1 @@
1
- import {AccessTokenMigration}from'./access-token/migration.js';import {RefreshTokenMigration}from'./refresh-token/migration.js';export{AccessToken}from'./access-token/access-token.model.js';import'@warlock.js/cascade';import'@mongez/events';import'@mongez/password';import'@mongez/reinforcements';import'@warlock.js/core';export{RefreshToken}from'./refresh-token/refresh-token.model.js';import'fast-jwt';import'@mongez/fs';import'@warlock.js/logger';const authMigrations = [AccessTokenMigration, RefreshTokenMigration];export{authMigrations};//# sourceMappingURL=index.js.map
1
+ import {AccessTokenMigration}from'./access-token/migration.js';import {RefreshTokenMigration}from'./refresh-token/migration.js';export{AccessToken}from'./access-token/access-token.model.js';import'@warlock.js/cascade';import'@mongez/events';import'@mongez/reinforcements';import'@warlock.js/core';export{RefreshToken}from'./refresh-token/refresh-token.model.js';import'fast-jwt';import'@mongez/fs';import'@warlock.js/logger';const authMigrations = [AccessTokenMigration, RefreshTokenMigration];export{authMigrations};//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/models/index.ts"],"sourcesContent":[null],"names":[],"mappings":"wcAOa,cAAc,GAAG,CAAC,oBAAoB,EAAE,qBAAqB"}
1
+ {"version":3,"file":"index.js","sources":["../../src/models/index.ts"],"sourcesContent":[null],"names":[],"mappings":"+aAOa,cAAc,GAAG,CAAC,oBAAoB,EAAE,qBAAqB"}
@@ -4,16 +4,16 @@ import {migrate}from'@warlock.js/cascade';import {RefreshToken}from'./refresh-to
4
4
  // Create table
5
5
  this.createTableIfNotExists();
6
6
  // Primary key
7
- this.id();
7
+ this.primaryUuid();
8
8
  // Token fields
9
- this.string("token", 500).unique();
10
- this.integer("userId").index();
11
- this.string("userType", 50);
12
- this.string("familyId", 100).index();
13
- this.timestamp("expiresAt").index();
14
- this.timestamp("lastUsedAt").nullable();
15
- this.timestamp("revokedAt").nullable();
16
- this.json("deviceInfo").nullable();
9
+ this.text("token").unique();
10
+ this.uuid("user_id").index();
11
+ this.string("user_type", 50);
12
+ this.text("family_id").index();
13
+ this.timestamp("expires_at").index();
14
+ this.timestamp("last_used_at").nullable();
15
+ this.timestamp("revoked_at").nullable();
16
+ this.json("device_info").nullable();
17
17
  // Timestamps
18
18
  this.timestamps();
19
19
  },
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sources":["../../../src/models/refresh-token/migration.ts"],"sourcesContent":[null],"names":[],"mappings":"8FAGa,MAAA,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE;AACzD,IAAA,IAAI,EAAE,cAAc;IACpB,EAAE,GAAA;;QAEA,IAAI,CAAC,sBAAsB,EAAE,CAAC;;QAG9B,IAAI,CAAC,EAAE,EAAE,CAAC;;QAGV,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;;QAGnC,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IACD,IAAI,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AACF,CAAA"}
1
+ {"version":3,"file":"migration.js","sources":["../../../src/models/refresh-token/migration.ts"],"sourcesContent":[null],"names":[],"mappings":"8FAGa,MAAA,qBAAqB,GAAG,OAAO,CAAC,YAAY,EAAE;AACzD,IAAA,IAAI,EAAE,cAAc;IACpB,EAAE,GAAA;;QAEA,IAAI,CAAC,sBAAsB,EAAE,CAAC;;QAG9B,IAAI,CAAC,WAAW,EAAE,CAAC;;QAGnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;;QAGpC,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IACD,IAAI,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AACF,CAAA"}
@@ -25,7 +25,7 @@ export declare class RefreshToken extends Model {
25
25
  */
26
26
  revoke(): Promise<this>;
27
27
  /**
28
- * Mark token as used (update lastUsedAt)
28
+ * Mark token as used (update last_used_at)
29
29
  */
30
30
  markAsUsed(): Promise<void>;
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-token.model.d.ts","sourceRoot":"","sources":["../../../src/models/refresh-token/refresh-token.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAc5C,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;IACH,OAAc,KAAK,SAAmB;IAEtC;;OAEG;IACH,OAAc,MAAM,MAAsB;IAE1C;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAI9B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}
1
+ {"version":3,"file":"refresh-token.model.d.ts","sourceRoot":"","sources":["../../../src/models/refresh-token/refresh-token.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAc5C,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;IACH,OAAc,KAAK,SAAoB;IAEvC;;OAEG;IACH,OAAc,MAAM,MAAsB;IAE1C;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAI9B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}
@@ -1,18 +1,18 @@
1
1
  import {Model}from'@warlock.js/cascade';import {v}from'@warlock.js/seal';const refreshTokenSchema = v.object({
2
2
  token: v.string().required(),
3
- userId: v.number().required(),
4
- userType: v.string().required(),
5
- familyId: v.string().required(),
6
- expiresAt: v.date().required(),
7
- lastUsedAt: v.date().default(() => new Date()),
8
- revokedAt: v.date(),
9
- deviceInfo: v.record(v.any()),
3
+ user_id: v.scalar().required(),
4
+ user_type: v.string().required(),
5
+ family_id: v.string().required(),
6
+ expires_at: v.date().required(),
7
+ last_used_at: v.date().default(() => new Date()),
8
+ revoked_at: v.date(),
9
+ device_info: v.record(v.any()),
10
10
  });
11
11
  class RefreshToken extends Model {
12
12
  /**
13
13
  * {@inheritDoc}
14
14
  */
15
- static table = "refreshTokens";
15
+ static table = "refresh_tokens";
16
16
  /**
17
17
  * {@inheritDoc}
18
18
  */
@@ -21,7 +21,7 @@ class RefreshToken extends Model {
21
21
  * Check if token is expired
22
22
  */
23
23
  get isExpired() {
24
- const expiresAt = this.get("expiresAt");
24
+ const expiresAt = this.get("expires_at");
25
25
  if (!expiresAt)
26
26
  return false;
27
27
  return new Date() > new Date(expiresAt);
@@ -30,7 +30,7 @@ class RefreshToken extends Model {
30
30
  * Check if token is revoked
31
31
  */
32
32
  get isRevoked() {
33
- return !!this.get("revokedAt");
33
+ return !!this.get("revoked_at");
34
34
  }
35
35
  /**
36
36
  * Check if token is valid (not expired and not revoked)
@@ -42,12 +42,12 @@ class RefreshToken extends Model {
42
42
  * Revoke this token
43
43
  */
44
44
  async revoke() {
45
- return this.merge({ revokedAt: new Date() }).save();
45
+ return this.merge({ revoked_at: new Date() }).save();
46
46
  }
47
47
  /**
48
- * Mark token as used (update lastUsedAt)
48
+ * Mark token as used (update last_used_at)
49
49
  */
50
50
  async markAsUsed() {
51
- await this.merge({ lastUsedAt: new Date() }).save();
51
+ await this.merge({ last_used_at: new Date() }).save();
52
52
  }
53
53
  }export{RefreshToken};//# sourceMappingURL=refresh-token.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-token.model.js","sources":["../../../src/models/refresh-token/refresh-token.model.ts"],"sourcesContent":[null],"names":[],"mappings":"yEAGA,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;AAClC,IAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC5B,IAAA,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC7B,IAAA,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC/B,IAAA,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC/B,IAAA,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;AAC9B,IAAA,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;AAC9C,IAAA,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9B,CAAA,CAAC,CAAC;AAEG,MAAO,YAAa,SAAQ,KAAK,CAAA;AACrC;;AAEG;AACI,IAAA,OAAO,KAAK,GAAG,eAAe,CAAC;AAEtC;;AAEG;AACI,IAAA,OAAO,MAAM,GAAG,kBAAkB,CAAC;AAE1C;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC;QAC7B,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;AAED;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAChC;AAED;;AAEG;AACH,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;KAC3C;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACrD;AAED;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACrD;"}
1
+ {"version":3,"file":"refresh-token.model.js","sources":["../../../src/models/refresh-token/refresh-token.model.ts"],"sourcesContent":[null],"names":[],"mappings":"yEAGA,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;AAClC,IAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC5B,IAAA,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAC9B,IAAA,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAChC,IAAA,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;AAChC,IAAA,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;AAC/B,IAAA,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;AAChD,IAAA,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC/B,CAAA,CAAC,CAAC;AAEG,MAAO,YAAa,SAAQ,KAAK,CAAA;AACrC;;AAEG;AACI,IAAA,OAAO,KAAK,GAAG,gBAAgB,CAAC;AAEvC;;AAEG;AACI,IAAA,OAAO,MAAM,GAAG,kBAAkB,CAAC;AAE1C;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,KAAK,CAAC;QAC7B,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;AAED;;AAEG;AACH,IAAA,IAAW,SAAS,GAAA;QAClB,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACjC;AAED;;AAEG;AACH,IAAA,IAAW,OAAO,GAAA;QAChB,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;KAC3C;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACtD;AAED;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;KACvD;"}
@@ -1,5 +1,5 @@
1
1
  import type { ChildModel } from "@warlock.js/cascade";
2
- import type { DeviceInfo, TokenPair } from "../contracts/types";
2
+ import type { AccessTokenOutput, DeviceInfo, TokenPair } from "../contracts/types";
3
3
  import type { Auth } from "../models/auth.model";
4
4
  import { RefreshToken } from "../models/refresh-token";
5
5
  declare class AuthService {
@@ -8,14 +8,13 @@ declare class AuthService {
8
8
  */
9
9
  buildAccessTokenPayload(user: Auth): {
10
10
  id: any;
11
- _id: any;
12
11
  userType: string;
13
- createdAt: number;
12
+ created_at: number;
14
13
  };
15
14
  /**
16
15
  * Generate access token for user
17
16
  */
18
- generateAccessToken(user: Auth, payload?: any): Promise<string>;
17
+ generateAccessToken(user: Auth, payload?: any): Promise<AccessTokenOutput>;
19
18
  /**
20
19
  * Create refresh token for user
21
20
  */
@@ -31,25 +30,25 @@ declare class AuthService {
31
30
  /**
32
31
  * Verify password
33
32
  */
34
- verifyPassword(hashedPassword: string, plainPassword: string): boolean;
33
+ verifyPassword(plainPassword: string, hashedPassword: string): Promise<boolean>;
35
34
  /**
36
35
  * Hash password
37
36
  */
38
- hashPassword(password: string): string;
37
+ hashPassword(password: string): Promise<string>;
39
38
  /**
40
39
  * Attempt to login user with given credentials
41
40
  */
42
- attemptLogin(Model: ChildModel<Auth>, data: any): Promise<Auth | null>;
41
+ attemptLogin<T extends Auth>(Model: ChildModel<T>, data: any): Promise<T | null>;
43
42
  /**
44
43
  * Full login flow: validate credentials, create tokens, emit events
45
44
  * Returns token pair on success, null on failure
46
45
  */
47
- login(Model: ChildModel<Auth>, credentials: any, deviceInfo?: DeviceInfo): Promise<{
48
- user: Auth;
46
+ login<T extends Auth>(Model: ChildModel<T>, credentials: any, deviceInfo?: DeviceInfo): Promise<{
47
+ user: T;
49
48
  tokens: TokenPair;
50
49
  } | null | {
51
- user: Auth;
52
- accessToken: string;
50
+ user: T;
51
+ accessToken: AccessTokenOutput;
53
52
  }>;
54
53
  /**
55
54
  * Logout user
@@ -65,6 +64,14 @@ declare class AuthService {
65
64
  * Remove specific access token
66
65
  */
67
66
  removeAccessToken(user: Auth, token: string): Promise<void>;
67
+ /**
68
+ * Remove all access tokens for a user
69
+ */
70
+ removeAllAccessTokens(user: Auth): Promise<void>;
71
+ /**
72
+ * Remove specific refresh token
73
+ */
74
+ removeRefreshToken(user: Auth, token: string): Promise<void>;
68
75
  /**
69
76
  * Revoke all tokens for a user
70
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,cAAM,WAAW;IACf;;OAEG;IACI,uBAAuB,CAAC,IAAI,EAAE,IAAI;;;;;;IASzC;;OAEG;IACU,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB5E;;OAEG;IACU,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAsC3F;;OAEG;IACU,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAiBrF;;OAEG;IACU,aAAa,CACxB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAoD5B;;OAEG;IACI,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAI7E;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACU,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAqBnF;;;OAGG;IACU,KAAK,CAChB,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EACvB,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAqB1F;;;;;;;;OAQG;IACU,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3F;;OAEG;IACU,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE;;OAEG;IACU,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD;;OAEG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D;;OAEG;IACU,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAcpD;;OAEG;YACW,uBAAuB;IAqBrC;;OAEG;IACU,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAWpE;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
1
+ {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,cAAM,WAAW;IACf;;OAEG;IACI,uBAAuB,CAAC,IAAI,EAAE,IAAI;;;;;IAQzC;;OAEG;IACU,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoBvF;;OAEG;IACU,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAoC3F;;OAEG;IACU,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBrF;;OAEG;IACU,aAAa,CACxB,kBAAkB,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAoD5B;;OAEG;IACU,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5F;;OAEG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D;;OAEG;IACU,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAqB7F;;;OAGG;IACU,KAAK,CAAC,CAAC,SAAS,IAAI,EAC/B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,WAAW,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAqB/F;;;;;;;;OAQG;IACU,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3F;;OAEG;IACU,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxE;;OAEG;IACU,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D;;OAEG;IACU,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzE;;OAEG;IACU,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvD;;OAEG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D;;OAEG;IACU,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAcpD;;OAEG;YACW,uBAAuB;IAqBrC;;OAEG;IACU,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAWpE;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -1,13 +1,12 @@
1
- import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforcements';import {config}from'@warlock.js/core';import {AccessToken}from'../models/access-token/access-token.model.js';import {RefreshToken}from'../models/refresh-token/refresh-token.model.js';import {toJwtExpiresIn,parseExpirationToMs}from'../utils/duration.js';import {authEvents}from'./auth-events.js';import {jwt}from'./jwt.js';class AuthService {
1
+ import {Random}from'@mongez/reinforcements';import {config,verifyPassword,hashPassword}from'@warlock.js/core';import {AccessToken}from'../models/access-token/access-token.model.js';import {RefreshToken}from'../models/refresh-token/refresh-token.model.js';import {toJwtExpiresIn}from'../utils/duration.js';import {authEvents}from'./auth-events.js';import {jwt}from'./jwt.js';class AuthService {
2
2
  /**
3
3
  * Build access token payload from user
4
4
  */
5
5
  buildAccessTokenPayload(user) {
6
6
  return {
7
7
  id: user.id,
8
- _id: user.get("_id"),
9
8
  userType: user.userType,
10
- createdAt: Date.now(),
9
+ created_at: Date.now(),
11
10
  };
12
11
  }
13
12
  /**
@@ -16,43 +15,42 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
16
15
  async generateAccessToken(user, payload) {
17
16
  const data = payload || this.buildAccessTokenPayload(user);
18
17
  const expiresInConfig = config.key("auth.jwt.expiresIn");
19
- const expiresIn = toJwtExpiresIn(expiresInConfig, 3600000); // default 1 hour
18
+ const expiresIn = toJwtExpiresIn(expiresInConfig, 3_600); // default 1 hour
20
19
  // If expiresIn is undefined, token never expires
21
- const token = expiresIn ? await jwt.generate(data, { expiresIn }) : await jwt.generate(data);
20
+ const token = await jwt.generate(data, { expiresIn });
21
+ const decoed = await jwt.verify(token);
22
22
  // Store in database
23
23
  await AccessToken.create({
24
24
  token,
25
- user: data,
25
+ user_id: user.id,
26
+ user_type: user.userType,
26
27
  });
27
- return token;
28
+ return { token, expiresAt: new Date(decoed.exp * 1_000).toISOString() };
28
29
  }
29
30
  /**
30
31
  * Create refresh token for user
31
32
  */
32
33
  async createRefreshToken(user, deviceInfo) {
33
34
  const familyId = deviceInfo?.familyId || Random.string(32);
34
- const expiresInConfig = config.key("auth.jwt.refresh.expiresIn");
35
- const expiresInMs = parseExpirationToMs(expiresInConfig, 7 * 24 * 60 * 60 * 1000); // default 7 days
36
35
  const payload = {
37
36
  userId: user.id,
38
37
  userType: user.userType,
39
38
  familyId,
40
39
  };
41
40
  const token = await jwt.generateRefreshToken(payload);
41
+ const decoed = await jwt.verifyRefreshToken(token);
42
+ // Calculate expiration date (undefined means never expires, but we still set a far future date)
43
+ const expiresAt = new Date(decoed.exp * 1_000).toISOString();
42
44
  // Enforce max tokens per user
43
45
  await this.enforceMaxRefreshTokens(user);
44
- // Calculate expiration date (undefined means never expires, but we still set a far future date)
45
- const expiresAt = expiresInMs
46
- ? new Date(Date.now() + expiresInMs)
47
- : new Date(Date.now() + 100 * 365 * 24 * 60 * 60 * 1000);
48
46
  // Store in database
49
47
  return RefreshToken.create({
50
48
  token,
51
- userId: user.id,
52
- userType: user.userType,
53
- familyId,
54
- expiresAt,
55
- deviceInfo: deviceInfo
49
+ user_id: user.id,
50
+ user_type: user.userType,
51
+ family_id: familyId,
52
+ expires_at: expiresAt,
53
+ device_info: deviceInfo
56
54
  ? {
57
55
  userAgent: deviceInfo.userAgent,
58
56
  ip: deviceInfo.ip,
@@ -69,8 +67,10 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
69
67
  const refreshToken = await this.createRefreshToken(user, deviceInfo);
70
68
  const tokenPair = {
71
69
  accessToken,
72
- refreshToken: refreshToken.get("token"),
73
- expiresIn: config.key("auth.jwt.expiresIn", "1h"),
70
+ refreshToken: {
71
+ token: refreshToken.get("token"),
72
+ expiresAt: refreshToken.get("expires_at"),
73
+ },
74
74
  };
75
75
  // Emit events
76
76
  authEvents.emit("token.created", user, tokenPair);
@@ -91,7 +91,7 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
91
91
  if (!refreshToken?.isValid) {
92
92
  // If token was already used (rotation detection), revoke entire family
93
93
  if (refreshToken) {
94
- await this.revokeTokenFamily(refreshToken.get("familyId"));
94
+ await this.revokeTokenFamily(refreshToken.get("family_id"));
95
95
  }
96
96
  return null;
97
97
  }
@@ -113,7 +113,7 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
113
113
  // 5. Generate new token pair (keep same family)
114
114
  const newTokenPair = await this.createTokenPair(user, {
115
115
  ...deviceInfo,
116
- familyId: refreshToken.get("familyId"),
116
+ familyId: refreshToken.get("family_id"),
117
117
  });
118
118
  // Emit token refreshed event
119
119
  authEvents.emit("token.refreshed", user, newTokenPair, refreshToken);
@@ -126,14 +126,14 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
126
126
  /**
127
127
  * Verify password
128
128
  */
129
- verifyPassword(hashedPassword, plainPassword) {
130
- return verify(String(hashedPassword), String(plainPassword));
129
+ async verifyPassword(plainPassword, hashedPassword) {
130
+ return verifyPassword(plainPassword, hashedPassword);
131
131
  }
132
132
  /**
133
133
  * Hash password
134
134
  */
135
- hashPassword(password) {
136
- return hash(String(password), config.key("auth.password.salt", 12));
135
+ async hashPassword(password) {
136
+ return hashPassword(password);
137
137
  }
138
138
  /**
139
139
  * Attempt to login user with given credentials
@@ -147,7 +147,7 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
147
147
  authEvents.emit("login.failed", otherData, "User not found");
148
148
  return null;
149
149
  }
150
- if (!this.verifyPassword(user.string("password"), password)) {
150
+ if (!(await this.verifyPassword(password, user.string("password")))) {
151
151
  authEvents.emit("login.failed", otherData, "Invalid password");
152
152
  return null;
153
153
  }
@@ -216,7 +216,25 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
216
216
  async removeAccessToken(user, token) {
217
217
  AccessToken.delete({
218
218
  token,
219
- "user.id": user.id,
219
+ userId: user.id,
220
+ });
221
+ }
222
+ /**
223
+ * Remove all access tokens for a user
224
+ */
225
+ async removeAllAccessTokens(user) {
226
+ // Delete access token
227
+ AccessToken.delete({
228
+ user_id: user.id,
229
+ });
230
+ }
231
+ /**
232
+ * Remove specific refresh token
233
+ */
234
+ async removeRefreshToken(user, token) {
235
+ RefreshToken.delete({
236
+ token,
237
+ userId: user.id,
220
238
  });
221
239
  }
222
240
  /**
@@ -225,19 +243,16 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
225
243
  async revokeAllTokens(user) {
226
244
  // Revoke all refresh tokens
227
245
  const refreshTokens = await RefreshToken.query()
228
- .where("userId", user.id)
229
- .where("userType", user.userType)
230
- .where("revokedAt", null)
246
+ .where("user_id", user.id)
247
+ .where("user_type", user.userType)
248
+ .where("revoked_at", null)
231
249
  .get();
232
250
  for (const token of refreshTokens) {
233
251
  await token.revoke();
234
252
  authEvents.emit("token.revoked", user, token);
235
253
  }
236
254
  // Delete all access tokens
237
- await AccessToken.delete({
238
- "user.id": user.id,
239
- "user.userType": user.userType,
240
- });
255
+ await this.removeAllAccessTokens(user);
241
256
  // Emit logout all event
242
257
  authEvents.emit("logout.all", user);
243
258
  }
@@ -246,8 +261,8 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
246
261
  */
247
262
  async revokeTokenFamily(familyId) {
248
263
  const tokens = await RefreshToken.query()
249
- .where("familyId", familyId)
250
- .where("revokedAt", null)
264
+ .where("family_id", familyId)
265
+ .where("revoked_at", null)
251
266
  .get();
252
267
  for (const token of tokens) {
253
268
  await token.revoke();
@@ -259,7 +274,7 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
259
274
  * Cleanup expired tokens
260
275
  */
261
276
  async cleanupExpiredTokens() {
262
- const expiredTokens = await RefreshToken.query().where("expiresAt", "<", new Date()).get();
277
+ const expiredTokens = await RefreshToken.query().where("expires_at", "<", new Date()).get();
263
278
  for (const token of expiredTokens) {
264
279
  authEvents.emit("token.expired", token);
265
280
  await token.destroy();
@@ -275,11 +290,11 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
275
290
  const maxPerUser = config.key("auth.jwt.refresh.maxPerUser", 5);
276
291
  const activeTokens = await RefreshToken.query()
277
292
  .where({
278
- userId: user.id,
279
- userType: user.userType,
280
- reovkedAt: null,
293
+ user_id: user.id,
294
+ user_type: user.userType,
295
+ revoked_at: null,
281
296
  })
282
- .orderBy("createdAt", "asc")
297
+ .orderBy("created_at", "asc")
283
298
  .get();
284
299
  // Revoke oldest tokens if exceeding limit
285
300
  if (activeTokens.length >= maxPerUser) {
@@ -295,12 +310,12 @@ import {verify,hash}from'@mongez/password';import {Random}from'@mongez/reinforce
295
310
  async getActiveSessions(user) {
296
311
  return RefreshToken.query()
297
312
  .where({
298
- userId: user.id,
299
- userType: user.userType,
300
- revokedAt: null,
313
+ user_id: user.id,
314
+ user_type: user.userType,
315
+ revoked_at: null,
301
316
  })
302
- .where("expiresAt", ">", new Date())
303
- .orderBy("createdAt", "desc")
317
+ .where("expires_at", ">", new Date())
318
+ .orderBy("created_at", "desc")
304
319
  .get();
305
320
  }
306
321
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sources":["../../src/services/auth.service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sources":["../../src/services/auth.service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/services/jwt.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AASlB,eAAO,MAAM,GAAG;IACd;;;OAGG;sBAEQ,GAAG,yCAMX,QAAQ,MAAM,CAAC;IAOlB;;;;OAIG;2BAEM,MAAM;IAYf;;OAEG;kCAEQ,GAAG,oDAOX,QAAQ,MAAM,CAAC;IAKlB;;OAEG;yCAEM,MAAM;CAUhB,CAAC"}
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/services/jwt.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AASlB,eAAO,MAAM,GAAG;IACd;;;OAGG;sBAEQ,GAAG,yCAMX,QAAQ,MAAM,CAAC;IAQlB;;;;OAIG;2BAEM,MAAM;IAYf;;OAEG;kCAEQ,GAAG,oDAOX,QAAQ,MAAM,CAAC;IAKlB;;OAEG;yCAEM,MAAM;CAUhB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import {config}from'@warlock.js/core';import {createSigner,createVerifier}from'fast-jwt';const getSecretKey = () => config.key("auth.jwt.secret");
2
- const getAlgorithm = () => config.key("auth.jwt.algorithm");
2
+ const getAlgorithm = () => config.key("auth.jwt.algorithm", "HS256");
3
3
  const getRefreshSecretKey = () => config.key("auth.jwt.refresh.secret");
4
4
  // Assuming there's a separate config for refresh token validity, for example, '7d' for 7 days
5
5
  const getRefreshTokenValidity = () => config.key("auth.jwt.refresh.expiresIn");
@@ -11,7 +11,8 @@ const jwt = {
11
11
  async generate(payload, { key = getSecretKey(), algorithm = getAlgorithm(), ...options } = {}) {
12
12
  // Create a signer function with predefined options
13
13
  const sign = createSigner({ key, ...options, algorithm });
14
- return sign({ ...payload });
14
+ const token = await sign({ ...payload });
15
+ return token;
15
16
  },
16
17
  /**
17
18
  * Verify the given token.
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.js","sources":["../../src/services/jwt.ts"],"sourcesContent":[null],"names":[],"mappings":"yFASA,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAW,CAAC;AACnE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAc,CAAC;AAEzE,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAW,CAAC;AAClF;AACA,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAoB,CAAC;AAErF,MAAA,GAAG,GAAG;AACjB;;;AAGG;AACH,IAAA,MAAM,QAAQ,CACZ,OAAY,EACZ,EACE,GAAG,GAAG,YAAY,EAAE,EACpB,SAAS,GAAG,YAAY,EAAE,EAC1B,GAAG,OAAO,KAC0B,EAAE,EAAA;;AAGxC,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAE1D,QAAA,OAAO,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7B;AAED;;;;AAIG;AACH,IAAA,MAAM,MAAM,CACV,KAAa,EACb,EACE,GAAG,GAAG,YAAY,EAAE,EACpB,UAAU,GAAG,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,EAC1D,GAAG,OAAO,KAC4B,EAAE,EAAA;AAE1C,QAAA,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AAE/D,QAAA,OAAO,MAAM,MAAM,CAAC,KAAe,CAAC,CAAC;KACtC;AAED;;AAEG;IACH,MAAM,oBAAoB,CACxB,OAAY,EACZ,EACE,GAAG,GAAG,mBAAmB,EAAE,EAC3B,SAAS,GAAG,uBAAuB,EAAE,EACrC,SAAS,GAAG,YAAY,EAAE,EAC1B,GAAG,OAAO,EAAA,GAC0B,EAAE,EAAA;AAExC,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrE,QAAA,OAAO,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7B;AAED;;AAEG;IACH,MAAM,kBAAkB,CACtB,KAAa,EACb,EACE,GAAG,GAAG,mBAAmB,EAAE,EAC3B,UAAU,GAAG,CAAC,YAAY,EAAE,CAAC,EAC7B,GAAG,OAAO,EAAA,GAC4B,EAAE,EAAA;AAE1C,QAAA,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC/D,QAAA,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;KAC5B;"}
1
+ {"version":3,"file":"jwt.js","sources":["../../src/services/jwt.ts"],"sourcesContent":[null],"names":[],"mappings":"yFASA,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAW,CAAC;AACnE,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAc,CAAC;AAElF,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAW,CAAC;AAClF;AACA,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAoB,CAAC;AAErF,MAAA,GAAG,GAAG;AACjB;;;AAGG;AACH,IAAA,MAAM,QAAQ,CACZ,OAAY,EACZ,EACE,GAAG,GAAG,YAAY,EAAE,EACpB,SAAS,GAAG,YAAY,EAAE,EAC1B,GAAG,OAAO,KAC0B,EAAE,EAAA;;AAGxC,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACzC,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;;;AAIG;AACH,IAAA,MAAM,MAAM,CACV,KAAa,EACb,EACE,GAAG,GAAG,YAAY,EAAE,EACpB,UAAU,GAAG,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,EAC1D,GAAG,OAAO,KAC4B,EAAE,EAAA;AAE1C,QAAA,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AAE/D,QAAA,OAAO,MAAM,MAAM,CAAC,KAAe,CAAC,CAAC;KACtC;AAED;;AAEG;IACH,MAAM,oBAAoB,CACxB,OAAY,EACZ,EACE,GAAG,GAAG,mBAAmB,EAAE,EAC3B,SAAS,GAAG,uBAAuB,EAAE,EACrC,SAAS,GAAG,YAAY,EAAE,EAC1B,GAAG,OAAO,EAAA,GAC0B,EAAE,EAAA;AAExC,QAAA,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrE,QAAA,OAAO,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;KAC7B;AAED;;AAEG;IACH,MAAM,kBAAkB,CACtB,KAAa,EACb,EACE,GAAG,GAAG,mBAAmB,EAAE,EAC3B,UAAU,GAAG,CAAC,YAAY,EAAE,CAAC,EAC7B,GAAG,OAAO,EAAA,GAC4B,EAAE,EAAA;AAE1C,QAAA,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC/D,QAAA,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;KAC5B;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warlock.js/auth",
3
- "version": "4.0.134",
3
+ "version": "4.0.136",
4
4
  "description": "Authentication system for Warlock.js applications",
5
5
  "main": "./esm/index.js",
6
6
  "dependencies": {
@@ -12,10 +12,10 @@
12
12
  "@mongez/events": "^2.1.0",
13
13
  "@mongez/fs": "^3.0.5",
14
14
  "@mongez/reinforcements": "^2.3.17",
15
- "@warlock.js/cascade": "4.0.134",
16
- "@warlock.js/core": "4.0.134",
17
- "@warlock.js/logger": "4.0.134",
18
- "@warlock.js/seal": "4.0.134"
15
+ "@warlock.js/cascade": "4.0.136",
16
+ "@warlock.js/core": "4.0.136",
17
+ "@warlock.js/logger": "4.0.136",
18
+ "@warlock.js/seal": "4.0.136"
19
19
  },
20
20
  "repository": {
21
21
  "type": "git",
@@ -1,9 +0,0 @@
1
- import { Model } from "@warlock.js/cascade";
2
- export declare class AccessToken extends Model {
3
- /**
4
- * {@inheritDoc}
5
- */
6
- static table: string;
7
- static schema: any;
8
- }
9
- //# sourceMappingURL=access-token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../../src/models/access-token/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAe5C,qBAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,OAAc,KAAK,SAAkB;IAErC,OAAc,MAAM,MAAqB;CAC1C"}
@@ -1,46 +0,0 @@
1
- import { type ChildModel, Model, type ModelSchema } from "@warlock.js/cascade";
2
- import type { DeviceInfo, TokenPair } from "../contracts/types";
3
- import type { RefreshToken } from "./refresh-token/refresh-token";
4
- export declare abstract class Auth<Schema extends ModelSchema = ModelSchema> extends Model<Schema> {
5
- /**
6
- * Get user type
7
- */
8
- abstract get userType(): string;
9
- /**
10
- * Get access token payload
11
- */
12
- accessTokenPayload(): any;
13
- /**
14
- * Create both access and refresh tokens
15
- */
16
- createTokenPair(deviceInfo?: DeviceInfo): Promise<TokenPair>;
17
- /**
18
- * Generate access token
19
- */
20
- generateAccessToken(data?: any): Promise<string>;
21
- /**
22
- * Generate refresh token
23
- */
24
- generateRefreshToken(deviceInfo?: DeviceInfo): Promise<RefreshToken>;
25
- /**
26
- * Remove current access token
27
- */
28
- removeAccessToken(token: string): Promise<void>;
29
- /**
30
- * Revoke all tokens (logout from all devices)
31
- */
32
- revokeAllTokens(): Promise<void>;
33
- /**
34
- * Get active sessions
35
- */
36
- activeSessions(): Promise<RefreshToken[]>;
37
- /**
38
- * Attempt to login the user
39
- */
40
- static attempt(this: ChildModel<Auth>, data: any): Promise<Auth | null>;
41
- /**
42
- * Confirm password
43
- */
44
- confirmPassword(password: string): boolean;
45
- }
46
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/models/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,8BAAsB,IAAI,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,KAAK,CAAC,MAAM,CAAC;IACxF;;OAEG;IACH,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;IACU,eAAe,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAIzE;;OAEG;IACU,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D;;OAEG;IACU,oBAAoB,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjF;;OAEG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAItD;;OAEG;WACiB,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIpF;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGlD"}
@@ -1,32 +0,0 @@
1
- import { Model } from "@warlock.js/cascade";
2
- export declare class RefreshToken extends Model {
3
- /**
4
- * {@inheritDoc}
5
- */
6
- static table: string;
7
- /**
8
- * {@inheritDoc}
9
- */
10
- static schema: any;
11
- /**
12
- * Check if token is expired
13
- */
14
- get isExpired(): boolean;
15
- /**
16
- * Check if token is revoked
17
- */
18
- get isRevoked(): boolean;
19
- /**
20
- * Check if token is valid (not expired and not revoked)
21
- */
22
- get isValid(): boolean;
23
- /**
24
- * Revoke this token
25
- */
26
- revoke(): Promise<this>;
27
- /**
28
- * Mark token as used (update lastUsedAt)
29
- */
30
- markAsUsed(): Promise<void>;
31
- }
32
- //# sourceMappingURL=refresh-token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refresh-token.d.ts","sourceRoot":"","sources":["../../../src/models/refresh-token/refresh-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAc5C,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;IACH,OAAc,KAAK,SAAmB;IAEtC;;OAEG;IACH,OAAc,MAAM,MAAsB;IAE1C;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAI9B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}