@warlock.js/auth 2.8.5 → 2.8.7

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 (35) hide show
  1. package/cjs/index.js +1 -1
  2. package/cjs/middleware/auth.middleware.d.ts +2 -0
  3. package/cjs/middleware/auth.middleware.d.ts.map +1 -0
  4. package/cjs/middleware/{auth-middleware.js → auth.middleware.js} +18 -3
  5. package/cjs/middleware/auth.middleware.js.map +1 -0
  6. package/cjs/middleware/index.d.ts +1 -1
  7. package/cjs/models/access-token/access-token.d.ts +5 -1
  8. package/cjs/models/access-token/access-token.d.ts.map +1 -1
  9. package/cjs/models/access-token/access-token.js +10 -0
  10. package/cjs/models/access-token/access-token.js.map +1 -1
  11. package/cjs/models/auth.d.ts +1 -1
  12. package/cjs/models/auth.d.ts.map +1 -1
  13. package/cjs/models/auth.js +11 -9
  14. package/cjs/models/auth.js.map +1 -1
  15. package/cjs/models/casts/cast-password.js +2 -2
  16. package/cjs/models/casts/cast-password.js.map +1 -1
  17. package/esm/index.js +1 -1
  18. package/esm/middleware/auth.middleware.d.ts +2 -0
  19. package/esm/middleware/auth.middleware.d.ts.map +1 -0
  20. package/esm/middleware/{auth-middleware.js → auth.middleware.js} +18 -3
  21. package/esm/middleware/auth.middleware.js.map +1 -0
  22. package/esm/middleware/index.d.ts +1 -1
  23. package/esm/models/access-token/access-token.d.ts +5 -1
  24. package/esm/models/access-token/access-token.d.ts.map +1 -1
  25. package/esm/models/access-token/access-token.js +10 -0
  26. package/esm/models/access-token/access-token.js.map +1 -1
  27. package/esm/models/auth.d.ts +1 -1
  28. package/esm/models/auth.d.ts.map +1 -1
  29. package/esm/models/auth.js +8 -6
  30. package/esm/models/auth.js.map +1 -1
  31. package/esm/models/casts/cast-password.js +2 -2
  32. package/esm/models/casts/cast-password.js.map +1 -1
  33. package/package.json +3 -3
  34. package/cjs/middleware/auth-middleware.js.map +0 -1
  35. package/esm/middleware/auth-middleware.js.map +0 -1
package/cjs/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var jwtSecretGeneratorCommand=require('./commands/jwt-secret-generator-command.js'),guestLogin=require('./controllers/guest-login.js'),authMiddleware=require('./middleware/auth-middleware.js'),accessToken=require('./models/access-token/access-token.js');require('./models/access-token/migration.js');var auth=require('./models/auth.js'),castPassword=require('./models/casts/cast-password.js'),guest=require('./models/guest/guest.js');require('./models/guest/migration.js');var generateGuestToken=require('./services/generate-guest-token.js'),generateJwtSecret=require('./services/generate-jwt-secret.js'),jwt=require('./services/jwt.js');exports.registerJWTSecretGeneratorCommand=jwtSecretGeneratorCommand.registerJWTSecretGeneratorCommand;exports.guestLogin=guestLogin.guestLogin;exports.authMiddleware=authMiddleware.authMiddleware;exports.AccessToken=accessToken.AccessToken;exports.Auth=auth.Auth;exports.castPassword=castPassword.castPassword;exports.Guest=guest.Guest;exports.generateGuestToken=generateGuestToken.generateGuestToken;exports.generateJWTSecret=generateJwtSecret.generateJWTSecret;exports.jwt=jwt.jwt;//# sourceMappingURL=index.js.map
1
+ 'use strict';var jwtSecretGeneratorCommand=require('./commands/jwt-secret-generator-command.js'),guestLogin=require('./controllers/guest-login.js'),auth_middleware=require('./middleware/auth.middleware.js'),accessToken=require('./models/access-token/access-token.js');require('./models/access-token/migration.js');var auth=require('./models/auth.js'),castPassword=require('./models/casts/cast-password.js'),guest=require('./models/guest/guest.js');require('./models/guest/migration.js');var generateGuestToken=require('./services/generate-guest-token.js'),generateJwtSecret=require('./services/generate-jwt-secret.js'),jwt=require('./services/jwt.js');exports.registerJWTSecretGeneratorCommand=jwtSecretGeneratorCommand.registerJWTSecretGeneratorCommand;exports.guestLogin=guestLogin.guestLogin;exports.authMiddleware=auth_middleware.authMiddleware;exports.AccessToken=accessToken.AccessToken;exports.Auth=auth.Auth;exports.castPassword=castPassword.castPassword;exports.Guest=guest.Guest;exports.generateGuestToken=generateGuestToken.generateGuestToken;exports.generateJWTSecret=generateJwtSecret.generateJWTSecret;exports.jwt=jwt.jwt;//# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export declare function authMiddleware(allowedUserType?: string | string[]): Middleware;
2
+ //# sourceMappingURL=auth.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.middleware.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,cAqHjE"}
@@ -1,11 +1,17 @@
1
1
  'use strict';var config=require('@mongez/config'),logger=require('@warlock.js/logger'),accessToken=require('../models/access-token/access-token.js');require('../models/access-token/migration.js');var jwt=require('../services/jwt.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var config__default=/*#__PURE__*/_interopDefault(config);function authMiddleware(allowedUserType) {
2
+ const allowedTypes = !allowedUserType
3
+ ? []
4
+ : Array.isArray(allowedUserType)
5
+ ? allowedUserType
6
+ : [allowedUserType];
2
7
  const auth = async (request, response) => {
3
8
  try {
4
9
  const authorizationValue = request.authorizationValue;
5
- if (!allowedUserType && !authorizationValue)
10
+ if (!allowedTypes.length && !authorizationValue)
6
11
  return;
7
12
  if (!authorizationValue) {
8
13
  return response.unauthorized({
14
+ // TODO: translate this message
9
15
  error: "Unauthorized: Access Token is missing",
10
16
  });
11
17
  }
@@ -17,20 +23,23 @@
17
23
  });
18
24
  if (!accessToken$1) {
19
25
  return response.unauthorized({
26
+ // TODO: translate this message
20
27
  error: "Unauthorized: Invalid Access Token",
21
28
  });
22
29
  }
23
30
  // now, we need to get an instance of user using its corresponding model
24
31
  const userType = user.userType || accessToken$1.get("userType");
25
32
  // check if the user type is allowed
26
- if (allowedUserType && userType !== allowedUserType) {
33
+ if (allowedTypes.length && !allowedTypes.includes(userType)) {
27
34
  return response.unauthorized({
35
+ // TODO: translate this message
28
36
  error: "You are not allowed to access this resource",
29
37
  });
30
38
  }
31
39
  // get user model class
32
40
  const UserModel = config__default.default.get(`auth.userType.${userType}`);
33
41
  if (!UserModel) {
42
+ // TODO: translate this message
34
43
  throw new Error(`User type ${userType} is unknown type.`);
35
44
  }
36
45
  // get user model instance
@@ -38,9 +47,14 @@
38
47
  if (!currentUser) {
39
48
  accessToken$1.destroy();
40
49
  return response.unauthorized({
50
+ // TODO: translate this message
41
51
  error: "Unauthorized: Invalid Access Token",
42
52
  });
43
53
  }
54
+ // update last access
55
+ accessToken$1.silentSaving({
56
+ lastAccess: new Date(),
57
+ });
44
58
  // set current user
45
59
  request.user = currentUser;
46
60
  }
@@ -49,6 +63,7 @@
49
63
  // unset current user
50
64
  request.clearCurrentUser();
51
65
  return response.unauthorized({
66
+ // TODO: translate this message
52
67
  error: "Unauthorized: Invalid Access Token",
53
68
  });
54
69
  }
@@ -78,4 +93,4 @@
78
93
  };
79
94
  }
80
95
  return auth;
81
- }exports.authMiddleware=authMiddleware;//# sourceMappingURL=auth-middleware.js.map
96
+ }exports.authMiddleware=authMiddleware;//# sourceMappingURL=auth.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.middleware.js","sources":["../../src/middleware/auth.middleware.ts"],"sourcesContent":[null],"names":["jwt","accessToken","AccessToken","config","log"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from "./auth-middleware";
1
+ export * from "./auth.middleware";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,8 +1,12 @@
1
- import { Model } from "@warlock.js/cascade";
1
+ import { Model, type Casts } from "@warlock.js/cascade";
2
2
  export declare class AccessToken extends Model {
3
3
  /**
4
4
  * {@inheritDoc}
5
5
  */
6
6
  static collection: string;
7
+ /**
8
+ * {@inheritDoc}
9
+ */
10
+ protected casts: Casts;
7
11
  }
8
12
  //# sourceMappingURL=access-token.d.ts.map
@@ -1 +1 @@
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,UAAU,SAAkB;CAC3C"}
1
+ {"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../../src/models/access-token/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,OAAc,UAAU,SAAkB;IAE1C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,CAMpB;CACH"}
@@ -3,4 +3,14 @@
3
3
  * {@inheritDoc}
4
4
  */
5
5
  static collection = "accessTokens";
6
+ /**
7
+ * {@inheritDoc}
8
+ */
9
+ casts = {
10
+ lastAccess: "date",
11
+ token: "string",
12
+ "user.id": "int",
13
+ "user._id": "string",
14
+ "user.userType": "string",
15
+ };
6
16
  }exports.AccessToken=AccessToken;//# sourceMappingURL=access-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.js","sources":["../../../src/models/access-token/access-token.ts"],"sourcesContent":[null],"names":["Model"],"mappings":"wDAEM,MAAO,WAAY,SAAQA,aAAK,CAAA;AACpC;;AAEG;AACI,IAAA,OAAO,UAAU,GAAG,cAAc,CAAC;"}
1
+ {"version":3,"file":"access-token.js","sources":["../../../src/models/access-token/access-token.ts"],"sourcesContent":[null],"names":["Model"],"mappings":"wDAEM,MAAO,WAAY,SAAQA,aAAK,CAAA;AACpC;;AAEG;AACI,IAAA,OAAO,UAAU,GAAG,cAAc,CAAC;AAE1C;;AAEG;AACO,IAAA,KAAK,GAAU;AACvB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,eAAe,EAAE,QAAQ;KAC1B,CAAC;"}
@@ -8,7 +8,7 @@ export declare abstract class Auth extends Model {
8
8
  /**
9
9
  * Generate jwt token
10
10
  */
11
- generateAccessToken(): Promise<string>;
11
+ generateAccessToken(data?: any): Promise<string>;
12
12
  /**
13
13
  * Remove current access token
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/models/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,8BAAsB,IAAK,SAAQ,KAAK;IACtC;;OAEG;IACH,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBnD;;OAEG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAO5C;;OAEG;WACiB,OAAO,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkBpB;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM;CAGxC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/models/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,8BAAsB,IAAK,SAAQ,KAAK;IACtC;;OAEG;IACH,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;OAEG;IACU,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B7D;;OAEG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAO5C;;OAEG;WACiB,OAAO,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkBpB;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM;CAGxC"}
@@ -1,17 +1,19 @@
1
- 'use strict';var Password=require('@mongez/password'),cascade=require('@warlock.js/cascade'),jwt=require('../services/jwt.js'),accessToken=require('./access-token/access-token.js');require('./access-token/migration.js');class Auth extends cascade.Model {
1
+ 'use strict';var password=require('@mongez/password'),cascade=require('@warlock.js/cascade'),jwt=require('../services/jwt.js'),accessToken=require('./access-token/access-token.js');require('./access-token/migration.js');class Auth extends cascade.Model {
2
2
  /**
3
3
  * Generate jwt token
4
4
  */
5
- async generateAccessToken() {
5
+ async generateAccessToken(data) {
6
6
  // store the main data in the data object
7
7
  // we need to store the user data in an object
8
8
  // that we'll sue to generate the token
9
9
  // and also it will be saved in the Access Token model under `user` column
10
- const data = {
11
- ...this.only(["id", "_id"]),
12
- userType: this.userType,
13
- createdAt: Date.now(),
14
- };
10
+ if (!data) {
11
+ data = {
12
+ ...this.only(["id", "_id"]),
13
+ userType: this.userType,
14
+ createdAt: Date.now(),
15
+ };
16
+ }
15
17
  // use our own jwt generator to generate a token for the guest
16
18
  const token = await jwt.jwt.generate(data);
17
19
  // store token and the auth model data in the access token model
@@ -51,7 +53,7 @@
51
53
  /**
52
54
  * Confirm password
53
55
  */
54
- confirmPassword(password) {
55
- return Password.verify(String(this.get("password")), String(password));
56
+ confirmPassword(password$1) {
57
+ return password.verify(String(this.get("password")), String(password$1));
56
58
  }
57
59
  }exports.Auth=Auth;//# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../src/models/auth.ts"],"sourcesContent":[null],"names":["Model","jwt","AccessToken","verify"],"mappings":"4NAMM,MAAgB,IAAK,SAAQA,aAAK,CAAA;AAMtC;;AAEG;AACI,IAAA,MAAM,mBAAmB,GAAA;;;;;AAK9B,QAAA,MAAM,IAAI,GAAG;YACX,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;;QAGF,MAAM,KAAK,GAAG,MAAMC,OAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;QAKvCC,uBAAW,CAAC,MAAM,CAAC;YACjB,KAAK;AACL,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;AAEG;IACI,MAAM,iBAAiB,CAAC,KAAa,EAAA;QAC1CA,uBAAW,CAAC,MAAM,CAAC;AACjB,YAAA,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI,CAAC,EAAE;AACnB,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,aAAa,OAAO,CAEzB,IAAS,EAAA;;QAGT,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,KAAK,CAAI,SAAS,CAAC,CAAgB,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;AAGD,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,OAAO,IAAS,CAAC;KAClB;AAED;;AAEG;AACI,IAAA,eAAe,CAAC,QAAgB,EAAA;AACrC,QAAA,OAAOC,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC/D;AACF"}
1
+ {"version":3,"file":"auth.js","sources":["../../src/models/auth.ts"],"sourcesContent":[null],"names":["Model","jwt","AccessToken","password","verify"],"mappings":"4NAMM,MAAgB,IAAK,SAAQA,aAAK,CAAA;AAMtC;;AAEG;IACI,MAAM,mBAAmB,CAAC,IAAU,EAAA;;;;;QAKzC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,IAAI,GAAG;gBACL,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,gBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;AACH,SAAA;;QAGD,MAAM,KAAK,GAAG,MAAMC,OAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;QAKvCC,uBAAW,CAAC,MAAM,CAAC;YACjB,KAAK;AACL,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;AAEG;IACI,MAAM,iBAAiB,CAAC,KAAa,EAAA;QAC1CA,uBAAW,CAAC,MAAM,CAAC;AACjB,YAAA,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI,CAAC,EAAE;AACnB,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,aAAa,OAAO,CAEzB,IAAS,EAAA;;QAGT,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,KAAK,CAAI,SAAS,CAAC,CAAgB,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;AAGD,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,OAAO,IAAS,CAAC;KAClB;AAED;;AAEG;AACI,IAAA,eAAe,CAACC,UAAgB,EAAA;AACrC,QAAA,OAAOC,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAACD,UAAQ,CAAC,CAAC,CAAC;KAC/D;AACF"}
@@ -1,9 +1,9 @@
1
- 'use strict';var config=require('@mongez/config'),Password=require('@mongez/password');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var config__default=/*#__PURE__*/_interopDefault(config);var Password__default=/*#__PURE__*/_interopDefault(Password);/**
1
+ 'use strict';var config=require('@mongez/config'),password=require('@mongez/password');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var config__default=/*#__PURE__*/_interopDefault(config);/**
2
2
  * Cast password on model save
3
3
  * If the password is not changed, keep it as is
4
4
  */
5
5
  function castPassword(value, column, model) {
6
6
  return value
7
- ? Password__default.default.generate(String(value), config__default.default.get("auth.password.salt", 12))
7
+ ? password.hash(String(value), config__default.default.get("auth.password.salt", 12))
8
8
  : model.getInitial(column);
9
9
  }exports.castPassword=castPassword;//# sourceMappingURL=cast-password.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cast-password.js","sources":["../../../src/models/casts/cast-password.ts"],"sourcesContent":[null],"names":["Password","config"],"mappings":"8QAIA;;;AAGG;SACa,YAAY,CAAC,KAAU,EAAE,MAAc,EAAE,KAAY,EAAA;AACnE,IAAA,OAAO,KAAK;AACV,UAAEA,yBAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAEC,uBAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACxE,UAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/B"}
1
+ {"version":3,"file":"cast-password.js","sources":["../../../src/models/casts/cast-password.ts"],"sourcesContent":[null],"names":["hash","config"],"mappings":"iNAIA;;;AAGG;SACa,YAAY,CAAC,KAAU,EAAE,MAAc,EAAE,KAAY,EAAA;AACnE,IAAA,OAAO,KAAK;AACV,UAAEA,aAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAEC,uBAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AAC3D,UAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/B"}
package/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{registerJWTSecretGeneratorCommand}from'./commands/jwt-secret-generator-command.js';export{guestLogin}from'./controllers/guest-login.js';export{authMiddleware}from'./middleware/auth-middleware.js';export{AccessToken}from'./models/access-token/access-token.js';import'./models/access-token/migration.js';export{Auth}from'./models/auth.js';export{castPassword}from'./models/casts/cast-password.js';export{Guest}from'./models/guest/guest.js';import'./models/guest/migration.js';export{generateGuestToken}from'./services/generate-guest-token.js';export{generateJWTSecret}from'./services/generate-jwt-secret.js';export{jwt}from'./services/jwt.js';//# sourceMappingURL=index.js.map
1
+ export{registerJWTSecretGeneratorCommand}from'./commands/jwt-secret-generator-command.js';export{guestLogin}from'./controllers/guest-login.js';export{authMiddleware}from'./middleware/auth.middleware.js';export{AccessToken}from'./models/access-token/access-token.js';import'./models/access-token/migration.js';export{Auth}from'./models/auth.js';export{castPassword}from'./models/casts/cast-password.js';export{Guest}from'./models/guest/guest.js';import'./models/guest/migration.js';export{generateGuestToken}from'./services/generate-guest-token.js';export{generateJWTSecret}from'./services/generate-jwt-secret.js';export{jwt}from'./services/jwt.js';//# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export declare function authMiddleware(allowedUserType?: string | string[]): Middleware;
2
+ //# sourceMappingURL=auth.middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.middleware.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,cAqHjE"}
@@ -1,11 +1,17 @@
1
1
  import config from'@mongez/config';import {log}from'@warlock.js/logger';import {AccessToken}from'../models/access-token/access-token.js';import'../models/access-token/migration.js';import {jwt}from'../services/jwt.js';function authMiddleware(allowedUserType) {
2
+ const allowedTypes = !allowedUserType
3
+ ? []
4
+ : Array.isArray(allowedUserType)
5
+ ? allowedUserType
6
+ : [allowedUserType];
2
7
  const auth = async (request, response) => {
3
8
  try {
4
9
  const authorizationValue = request.authorizationValue;
5
- if (!allowedUserType && !authorizationValue)
10
+ if (!allowedTypes.length && !authorizationValue)
6
11
  return;
7
12
  if (!authorizationValue) {
8
13
  return response.unauthorized({
14
+ // TODO: translate this message
9
15
  error: "Unauthorized: Access Token is missing",
10
16
  });
11
17
  }
@@ -17,20 +23,23 @@ import config from'@mongez/config';import {log}from'@warlock.js/logger';import {
17
23
  });
18
24
  if (!accessToken) {
19
25
  return response.unauthorized({
26
+ // TODO: translate this message
20
27
  error: "Unauthorized: Invalid Access Token",
21
28
  });
22
29
  }
23
30
  // now, we need to get an instance of user using its corresponding model
24
31
  const userType = user.userType || accessToken.get("userType");
25
32
  // check if the user type is allowed
26
- if (allowedUserType && userType !== allowedUserType) {
33
+ if (allowedTypes.length && !allowedTypes.includes(userType)) {
27
34
  return response.unauthorized({
35
+ // TODO: translate this message
28
36
  error: "You are not allowed to access this resource",
29
37
  });
30
38
  }
31
39
  // get user model class
32
40
  const UserModel = config.get(`auth.userType.${userType}`);
33
41
  if (!UserModel) {
42
+ // TODO: translate this message
34
43
  throw new Error(`User type ${userType} is unknown type.`);
35
44
  }
36
45
  // get user model instance
@@ -38,9 +47,14 @@ import config from'@mongez/config';import {log}from'@warlock.js/logger';import {
38
47
  if (!currentUser) {
39
48
  accessToken.destroy();
40
49
  return response.unauthorized({
50
+ // TODO: translate this message
41
51
  error: "Unauthorized: Invalid Access Token",
42
52
  });
43
53
  }
54
+ // update last access
55
+ accessToken.silentSaving({
56
+ lastAccess: new Date(),
57
+ });
44
58
  // set current user
45
59
  request.user = currentUser;
46
60
  }
@@ -49,6 +63,7 @@ import config from'@mongez/config';import {log}from'@warlock.js/logger';import {
49
63
  // unset current user
50
64
  request.clearCurrentUser();
51
65
  return response.unauthorized({
66
+ // TODO: translate this message
52
67
  error: "Unauthorized: Invalid Access Token",
53
68
  });
54
69
  }
@@ -78,4 +93,4 @@ import config from'@mongez/config';import {log}from'@warlock.js/logger';import {
78
93
  };
79
94
  }
80
95
  return auth;
81
- }export{authMiddleware};//# sourceMappingURL=auth-middleware.js.map
96
+ }export{authMiddleware};//# sourceMappingURL=auth.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.middleware.js","sources":["../../src/middleware/auth.middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from "./auth-middleware";
1
+ export * from "./auth.middleware";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,8 +1,12 @@
1
- import { Model } from "@warlock.js/cascade";
1
+ import { Model, type Casts } from "@warlock.js/cascade";
2
2
  export declare class AccessToken extends Model {
3
3
  /**
4
4
  * {@inheritDoc}
5
5
  */
6
6
  static collection: string;
7
+ /**
8
+ * {@inheritDoc}
9
+ */
10
+ protected casts: Casts;
7
11
  }
8
12
  //# sourceMappingURL=access-token.d.ts.map
@@ -1 +1 @@
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,UAAU,SAAkB;CAC3C"}
1
+ {"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../../src/models/access-token/access-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,OAAc,UAAU,SAAkB;IAE1C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,CAMpB;CACH"}
@@ -3,4 +3,14 @@ import {Model}from'@warlock.js/cascade';class AccessToken extends Model {
3
3
  * {@inheritDoc}
4
4
  */
5
5
  static collection = "accessTokens";
6
+ /**
7
+ * {@inheritDoc}
8
+ */
9
+ casts = {
10
+ lastAccess: "date",
11
+ token: "string",
12
+ "user.id": "int",
13
+ "user._id": "string",
14
+ "user.userType": "string",
15
+ };
6
16
  }export{AccessToken};//# sourceMappingURL=access-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.js","sources":["../../../src/models/access-token/access-token.ts"],"sourcesContent":[null],"names":[],"mappings":"wCAEM,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC;;AAEG;AACI,IAAA,OAAO,UAAU,GAAG,cAAc,CAAC;"}
1
+ {"version":3,"file":"access-token.js","sources":["../../../src/models/access-token/access-token.ts"],"sourcesContent":[null],"names":[],"mappings":"wCAEM,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC;;AAEG;AACI,IAAA,OAAO,UAAU,GAAG,cAAc,CAAC;AAE1C;;AAEG;AACO,IAAA,KAAK,GAAU;AACvB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,eAAe,EAAE,QAAQ;KAC1B,CAAC;"}
@@ -8,7 +8,7 @@ export declare abstract class Auth extends Model {
8
8
  /**
9
9
  * Generate jwt token
10
10
  */
11
- generateAccessToken(): Promise<string>;
11
+ generateAccessToken(data?: any): Promise<string>;
12
12
  /**
13
13
  * Remove current access token
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/models/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,8BAAsB,IAAK,SAAQ,KAAK;IACtC;;OAEG;IACH,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyBnD;;OAEG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAO5C;;OAEG;WACiB,OAAO,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkBpB;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM;CAGxC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/models/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C,8BAAsB,IAAK,SAAQ,KAAK;IACtC;;OAEG;IACH,aAAoB,QAAQ,IAAI,MAAM,CAAC;IAEvC;;OAEG;IACU,mBAAmB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B7D;;OAEG;IACU,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAO5C;;OAEG;WACiB,OAAO,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,IAAI,EAAE,GAAG,GACR,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAkBpB;;OAEG;IACI,eAAe,CAAC,QAAQ,EAAE,MAAM;CAGxC"}
@@ -2,16 +2,18 @@ import {verify}from'@mongez/password';import {Model}from'@warlock.js/cascade';im
2
2
  /**
3
3
  * Generate jwt token
4
4
  */
5
- async generateAccessToken() {
5
+ async generateAccessToken(data) {
6
6
  // store the main data in the data object
7
7
  // we need to store the user data in an object
8
8
  // that we'll sue to generate the token
9
9
  // and also it will be saved in the Access Token model under `user` column
10
- const data = {
11
- ...this.only(["id", "_id"]),
12
- userType: this.userType,
13
- createdAt: Date.now(),
14
- };
10
+ if (!data) {
11
+ data = {
12
+ ...this.only(["id", "_id"]),
13
+ userType: this.userType,
14
+ createdAt: Date.now(),
15
+ };
16
+ }
15
17
  // use our own jwt generator to generate a token for the guest
16
18
  const token = await jwt.generate(data);
17
19
  // store token and the auth model data in the access token model
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../src/models/auth.ts"],"sourcesContent":[null],"names":[],"mappings":"gNAMM,MAAgB,IAAK,SAAQ,KAAK,CAAA;AAMtC;;AAEG;AACI,IAAA,MAAM,mBAAmB,GAAA;;;;;AAK9B,QAAA,MAAM,IAAI,GAAG;YACX,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;;QAGF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;QAKvC,WAAW,CAAC,MAAM,CAAC;YACjB,KAAK;AACL,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;AAEG;IACI,MAAM,iBAAiB,CAAC,KAAa,EAAA;QAC1C,WAAW,CAAC,MAAM,CAAC;AACjB,YAAA,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI,CAAC,EAAE;AACnB,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,aAAa,OAAO,CAEzB,IAAS,EAAA;;QAGT,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,KAAK,CAAI,SAAS,CAAC,CAAgB,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;AAGD,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,OAAO,IAAS,CAAC;KAClB;AAED;;AAEG;AACI,IAAA,eAAe,CAAC,QAAgB,EAAA;AACrC,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC/D;AACF"}
1
+ {"version":3,"file":"auth.js","sources":["../../src/models/auth.ts"],"sourcesContent":[null],"names":[],"mappings":"gNAMM,MAAgB,IAAK,SAAQ,KAAK,CAAA;AAMtC;;AAEG;IACI,MAAM,mBAAmB,CAAC,IAAU,EAAA;;;;;QAKzC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,IAAI,GAAG;gBACL,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,gBAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;AACH,SAAA;;QAGD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;QAKvC,WAAW,CAAC,MAAM,CAAC;YACjB,KAAK;AACL,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;AAEG;IACI,MAAM,iBAAiB,CAAC,KAAa,EAAA;QAC1C,WAAW,CAAC,MAAM,CAAC;AACjB,YAAA,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI,CAAC,EAAE;AACnB,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,aAAa,OAAO,CAEzB,IAAS,EAAA;;QAGT,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QAExC,MAAM,IAAI,IAAI,MAAM,IAAI,CAAC,KAAK,CAAI,SAAS,CAAC,CAAgB,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;AAGD,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,OAAO,IAAS,CAAC;KAClB;AAED;;AAEG;AACI,IAAA,eAAe,CAAC,QAAgB,EAAA;AACrC,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;KAC/D;AACF"}
@@ -1,9 +1,9 @@
1
- import config from'@mongez/config';import Password from'@mongez/password';/**
1
+ import config from'@mongez/config';import {hash}from'@mongez/password';/**
2
2
  * Cast password on model save
3
3
  * If the password is not changed, keep it as is
4
4
  */
5
5
  function castPassword(value, column, model) {
6
6
  return value
7
- ? Password.generate(String(value), config.get("auth.password.salt", 12))
7
+ ? hash(String(value), config.get("auth.password.salt", 12))
8
8
  : model.getInitial(column);
9
9
  }export{castPassword};//# sourceMappingURL=cast-password.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cast-password.js","sources":["../../../src/models/casts/cast-password.ts"],"sourcesContent":[null],"names":[],"mappings":"0EAIA;;;AAGG;SACa,YAAY,CAAC,KAAU,EAAE,MAAc,EAAE,KAAY,EAAA;AACnE,IAAA,OAAO,KAAK;AACV,UAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACxE,UAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/B"}
1
+ {"version":3,"file":"cast-password.js","sources":["../../../src/models/casts/cast-password.ts"],"sourcesContent":[null],"names":[],"mappings":"uEAIA;;;AAGG;SACa,YAAY,CAAC,KAAU,EAAE,MAAc,EAAE,KAAY,EAAA;AACnE,IAAA,OAAO,KAAK;AACV,UAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AAC3D,UAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warlock.js/auth",
3
- "version": "2.8.5",
3
+ "version": "2.8.7",
4
4
  "description": "Authentication system for Warlock.js applications",
5
5
  "main": "./cjs/index.js",
6
6
  "dependencies": {
@@ -9,8 +9,8 @@
9
9
  },
10
10
  "peerDependencies": {
11
11
  "@mongez/fs": "^3.0.4",
12
- "@warlock.js/cascade": "2.8.5",
13
- "@warlock.js/logger": "2.8.5",
12
+ "@warlock.js/cascade": "2.8.7",
13
+ "@warlock.js/logger": "2.8.7",
14
14
  "@mongez/reinforcements": "^2.3.9",
15
15
  "@mongez/supportive-is": "^2.0.3"
16
16
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-middleware.js","sources":["../../src/middleware/auth-middleware.ts"],"sourcesContent":[null],"names":["jwt","accessToken","AccessToken","config","log"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-middleware.js","sources":["../../src/middleware/auth-middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"0NAMM,SAAU,cAAc,CAAC,eAAwB,EAAA;IACrD,MAAM,IAAI,GAAe,OAAO,OAAgB,EAAE,QAAkB,KAAI;QACtE,IAAI;AACF,YAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;AAEtD,YAAA,IAAI,CAAE,eAAe,IAAI,CAAE,kBAAkB;gBAAE,OAAO;YAEtD,IAAI,CAAC,kBAAkB,EAAE;gBACvB,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,oBAAA,KAAK,EAAE,uCAAuC;AAC/C,iBAAA,CAAC,CAAC;AACJ,aAAA;;YAGD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;;AAGlD,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,oCAAoC;AAC5C,iBAAA,CAAC,CAAC;AACJ,aAAA;;AAGD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;AAG9D,YAAA,IAAI,eAAe,IAAI,QAAQ,KAAK,eAAe,EAAE;gBACnD,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC3B,oBAAA,KAAK,EAAE,6CAA6C;AACrD,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,oCAAoC;AAC5C,iBAAA,CAAC,CAAC;AACJ,aAAA;;AAGD,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,oCAAoC;AAC5C,aAAA,CAAC,CAAC;AACJ,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,IAAI,eAAe,EAAE;AACnB,QAAA,MAAM,kBAAkB,GAAG,CAAG,EAAA,eAAe,aAAa,CAAC;AAC3D,QAAA,MAAM,4BAA4B,GAAG,CAAG,EAAA,eAAe,mBAAmB,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,qBAAqB,CAAC,SAAS,EAAA;AAC7B,gBAAA,IACE,SAAS,CAAC,IAAI,CACZ,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,4BAA4B,CAC1D;oBAED,OAAO;gBAET,SAAS,CAAC,IAAI,CAAC;AACb,oBAAA,GAAG,EAAE,kBAAkB;AACvB,oBAAA,KAAK,EAAE,iBAAiB;AACzB,iBAAA,CAAC,CAAC;gBAEH,SAAS,CAAC,IAAI,CAAC;AACb,oBAAA,GAAG,EAAE,4BAA4B;oBACjC,KAAK,EAAE,CAAY,SAAA,EAAA,kBAAkB,CAAI,EAAA,CAAA;AAC1C,iBAAA,CAAC,CAAC;aACJ;YACD,eAAe,CAAC,EAAE,OAAO,EAAE,EAAA;AACzB,gBAAA,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;AAClB,oBAAA,GAAG,EAAE,eAAe;oBACpB,KAAK,EAAE,CAAK,EAAA,EAAA,4BAA4B,CAAI,EAAA,CAAA;AAC7C,iBAAA,CAAC,CAAC;aACJ;SACF,CAAC;AACH,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AACd"}