emilsoftware-utilities 1.4.0-dev.8 → 1.4.0-dev.9

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.
@@ -34,6 +34,7 @@ export interface AccessiOptions {
34
34
  confirmationEmailPrefix?: string;
35
35
  encryptionKey: string;
36
36
  mockDemoUser: boolean;
37
+ passwordExpiration?: boolean;
37
38
  jwtOptions: JwtOptions;
38
39
  emailOptions: EmailOptions;
39
40
  extensionFieldsOptions?: ExtensionFieldsOptions[];
@@ -23,7 +23,7 @@ let AccessiModule = AccessiModule_1 = class AccessiModule {
23
23
  module: AccessiModule_1,
24
24
  providers: [
25
25
  {
26
- provide: 'ACCESSI_OPTIONS',
26
+ provide: "ACCESSI_OPTIONS",
27
27
  useValue: options,
28
28
  },
29
29
  AuthService_1.AuthService,
@@ -31,7 +31,13 @@ let AccessiModule = AccessiModule_1 = class AccessiModule {
31
31
  EmailService_1.EmailService,
32
32
  PermissionService_1.PermissionService,
33
33
  ],
34
- exports: ['ACCESSI_OPTIONS', AuthService_1.AuthService, UserService_1.UserService, EmailService_1.EmailService, PermissionService_1.PermissionService],
34
+ exports: [
35
+ "ACCESSI_OPTIONS",
36
+ AuthService_1.AuthService,
37
+ UserService_1.UserService,
38
+ EmailService_1.EmailService,
39
+ PermissionService_1.PermissionService,
40
+ ],
35
41
  };
36
42
  }
37
43
  };
@@ -39,7 +45,12 @@ exports.AccessiModule = AccessiModule;
39
45
  exports.AccessiModule = AccessiModule = AccessiModule_1 = __decorate([
40
46
  (0, common_1.Global)(),
41
47
  (0, common_1.Module)({
42
- controllers: [EmailController_1.EmailController, AuthController_1.AuthController, PermissionController_1.PermissionController, UserController_1.UserController],
48
+ controllers: [
49
+ EmailController_1.EmailController,
50
+ AuthController_1.AuthController,
51
+ PermissionController_1.PermissionController,
52
+ UserController_1.UserController,
53
+ ],
43
54
  providers: [AuthService_1.AuthService, UserService_1.UserService, EmailService_1.EmailService, PermissionService_1.PermissionService],
44
55
  exports: [AuthService_1.AuthService, UserService_1.UserService, EmailService_1.EmailService, PermissionService_1.PermissionService],
45
56
  })
@@ -36,9 +36,11 @@ let AuthService = class AuthService {
36
36
  }
37
37
  login(request) {
38
38
  return __awaiter(this, void 0, void 0, function* () {
39
- if (this.accessiOptions.mockDemoUser && request.email.toLowerCase() === "demo")
39
+ if (this.accessiOptions.mockDemoUser &&
40
+ request.email.toLowerCase() === "demo")
40
41
  return this.getDemoUser();
41
- if (this.accessiOptions.mockDemoUser && request.email.toLowerCase() === "admin")
42
+ if (this.accessiOptions.mockDemoUser &&
43
+ request.email.toLowerCase() === "admin")
42
44
  return this.getAdminUser();
43
45
  const passwordCifrata = Utilities_1.CryptUtilities.encrypt(request.password, this.accessiOptions.encryptionKey);
44
46
  const utente = yield this.userService.getUserByEmail(request.email.toLowerCase());
@@ -61,10 +63,13 @@ let AuthService = class AuthService {
61
63
  const isPasswordValid = yield this.verifyPassword(utente.codiceUtente, passwordCifrata);
62
64
  if (!isPasswordValid)
63
65
  throw new Error("Nome utente o password errata!");
64
- const today = new Date();
65
- const targetDate = new Date(utente.dataScadenzaPassword);
66
- if (today >= targetDate) {
67
- throw new Error("PASSWORD_EXPIRED");
66
+ if (this.accessiOptions.passwordExpiration &&
67
+ this.accessiOptions.passwordExpiration == true) {
68
+ const today = new Date();
69
+ const targetDate = new Date(utente.dataScadenzaPassword);
70
+ if (today >= targetDate) {
71
+ throw new Error("PASSWORD_EXPIRED");
72
+ }
68
73
  }
69
74
  // Recupera i grants
70
75
  const userGrants = yield this.permissionService.getUserRolesAndGrants(utente.codiceUtente);
@@ -73,9 +78,12 @@ let AuthService = class AuthService {
73
78
  const updateLastAccessDateQuery = "UPDATE UTENTI SET DATLASTLOGIN = CURRENT_TIMESTAMP WHERE CODUTE = ?";
74
79
  yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, updateLastAccessDateQuery, [utente.codiceUtente]);
75
80
  let extensionFields = {};
76
- for (const ext of this.accessiOptions.extensionFieldsOptions) {
77
- const values = (yield Orm_1.Orm.query(ext.databaseOptions, `SELECT ${ext.tableFields.join(",")} FROM ${ext.tableName} WHERE ${ext.tableJoinFieldName} = ?`, [utente.codiceUtente])).map(Utilities_1.RestUtilities.convertKeysToCamelCase);
78
- extensionFields[ext.objectKey] = values;
81
+ if (this.accessiOptions.extensionFieldsOptions &&
82
+ this.accessiOptions.extensionFieldsOptions.length > 0) {
83
+ for (const ext of this.accessiOptions.extensionFieldsOptions) {
84
+ const values = (yield Orm_1.Orm.query(ext.databaseOptions, `SELECT ${ext.tableFields.join(",")} FROM ${ext.tableName} WHERE ${ext.tableJoinFieldName} = ?`, [utente.codiceUtente])).map(Utilities_1.RestUtilities.convertKeysToCamelCase);
85
+ extensionFields[ext.objectKey] = values;
86
+ }
79
87
  }
80
88
  return { utente, filtri, userGrants, extensionFields };
81
89
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emilsoftware-utilities",
3
- "version": "1.4.0-dev.8",
3
+ "version": "1.4.0-dev.9",
4
4
  "description": "Utilities for EmilSoftware",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",