emilsoftware-utilities 1.3.98 → 1.3.99

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/dist/accessi-module/Controllers/AccessiController.d.ts +1 -2
  2. package/dist/accessi-module/Controllers/AccessiController.js +1 -21
  3. package/dist/accessi-module/Controllers/AuthController.d.ts +1 -1
  4. package/dist/accessi-module/Controllers/AuthController.js +5 -3
  5. package/dist/accessi-module/Controllers/PermissionController.d.ts +5 -3
  6. package/dist/accessi-module/Controllers/PermissionController.js +76 -20
  7. package/dist/accessi-module/Controllers/UserController.d.ts +1 -1
  8. package/dist/accessi-module/Controllers/UserController.js +49 -23
  9. package/dist/accessi-module/Dtos/GetMenusResponse.d.ts +12 -0
  10. package/dist/accessi-module/Dtos/GetMenusResponse.js +80 -0
  11. package/dist/accessi-module/{models/QueryResults/UserQueryResult.d.ts → Dtos/GetUsersResponse.d.ts} +2 -2
  12. package/dist/accessi-module/Dtos/GetUsersResponse.js +252 -0
  13. package/dist/accessi-module/Dtos/LoginRequest.d.ts +1 -1
  14. package/dist/accessi-module/Dtos/LoginRequest.js +4 -4
  15. package/dist/accessi-module/Dtos/LoginResult.js +1 -1
  16. package/dist/accessi-module/Dtos/MenuItem.d.ts +0 -6
  17. package/dist/accessi-module/Dtos/MenuItem.js +0 -33
  18. package/dist/accessi-module/Dtos/Role.d.ts +12 -0
  19. package/dist/accessi-module/Dtos/{RoleWithMenus.js → Role.js} +26 -8
  20. package/dist/accessi-module/Dtos/User.d.ts +4 -1
  21. package/dist/accessi-module/Dtos/User.js +10 -3
  22. package/dist/accessi-module/Dtos/index.d.ts +1 -2
  23. package/dist/accessi-module/Dtos/index.js +1 -2
  24. package/dist/accessi-module/Services/AuthService/AuthService.js +17 -5
  25. package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +6 -3
  26. package/dist/accessi-module/Services/PermissionService/PermissionService.js +63 -8
  27. package/dist/accessi-module/Services/UserService/UserService.d.ts +5 -5
  28. package/dist/accessi-module/Services/UserService/UserService.js +18 -13
  29. package/dist/index.d.ts +0 -1
  30. package/dist/index.js +1 -3
  31. package/package.json +1 -1
  32. package/dist/accessi-module/Dtos/RoleWithMenus.d.ts +0 -6
  33. package/dist/accessi-module/models/QueryResults/MenuAbilitazioniResult.d.ts +0 -11
  34. package/dist/accessi-module/models/QueryResults/MenuAbilitazioniResult.js +0 -2
  35. package/dist/accessi-module/models/QueryResults/UserQueryResult.js +0 -2
@@ -1,22 +1,22 @@
1
1
  import { AccessiOptions } from "../../AccessiModule";
2
- import { UserQueryResult } from "../../models/QueryResults/UserQueryResult";
3
2
  import { StatoRegistrazione } from "../../Dtos/StatoRegistrazione";
4
3
  import { EmailService } from "../EmailService/EmailService";
5
4
  import { User } from "../../Dtos/User";
6
5
  import { FiltriUtente } from "../../Dtos/FiltriUtente";
6
+ import { GetUsersResponse } from "../../Dtos/GetUsersResponse";
7
7
  export declare class UserService {
8
8
  private readonly accessiOptions;
9
9
  private readonly emailService;
10
10
  constructor(accessiOptions: AccessiOptions, emailService: EmailService);
11
- getUsers(): Promise<UserQueryResult[]>;
12
- getCodiceUtenteByUsername(username: string): Promise<{
11
+ getUsers(): Promise<GetUsersResponse[]>;
12
+ getCodiceUtenteByEmail(email: string): Promise<{
13
13
  codiceUtente: string;
14
14
  }>;
15
- getUserByUsername(username: string): Promise<User | null>;
15
+ getUserByEmail(email: string): Promise<User | null>;
16
16
  getUserFilters(codiceUtente: string): Promise<FiltriUtente[]>;
17
17
  register(registrationData: User): Promise<void>;
18
18
  setRegistrazioneConfermata(userKey: string): Promise<void>;
19
- updateUser(user: User): Promise<void>;
19
+ updateUser(codiceUtente: string, user: User): Promise<void>;
20
20
  deleteUser(codiceCliente: string): Promise<void>;
21
21
  setGdpr(codiceUtente: string): Promise<any>;
22
22
  setStatoRegistrazione(statoRegistrazione: StatoRegistrazione, codiceUtente: string): Promise<any>;
@@ -39,7 +39,7 @@ let UserService = class UserService {
39
39
  const query = `
40
40
  SELECT
41
41
  U.CODUTE as codice_utente,
42
- U.USRNAME as username,
42
+ U.USRNAME as email,
43
43
  U.FLGGDPR as flag_gdpr,
44
44
  U.DATGDPR as data_gdpr,
45
45
  U.DATINS as data_inserimento,
@@ -66,11 +66,11 @@ let UserService = class UserService {
66
66
  }
67
67
  });
68
68
  }
69
- getCodiceUtenteByUsername(username) {
69
+ getCodiceUtenteByEmail(email) {
70
70
  return __awaiter(this, void 0, void 0, function* () {
71
71
  try {
72
72
  const query = `SELECT CODUTE as codice_utente FROM UTENTI WHERE LOWER(USRNAME) = ?`;
73
- const result = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, [username.trim().toLowerCase()]);
73
+ const result = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, [email.trim().toLowerCase()]);
74
74
  return result.map(Utilities_1.RestUtilities.convertKeysToCamelCase)[0];
75
75
  }
76
76
  catch (error) {
@@ -78,13 +78,14 @@ let UserService = class UserService {
78
78
  }
79
79
  });
80
80
  }
81
- getUserByUsername(username) {
81
+ getUserByEmail(email) {
82
82
  return __awaiter(this, void 0, void 0, function* () {
83
83
  const query = `
84
84
  SELECT
85
85
  U.CODUTE AS codice_utente,
86
- U.USRNAME AS username,
86
+ U.USRNAME AS email,
87
87
  U.FLGGDPR AS flag_gdpr,
88
+ U.DATSCAPWD as data_scadenza_password,
88
89
  U.STAREG AS stato_registrazione,
89
90
  C.COGNOME AS cognome,
90
91
  C.NOME AS nome,
@@ -98,7 +99,7 @@ let UserService = class UserService {
98
99
  INNER JOIN UTENTI_CONFIG C ON C.CODUTE = U.CODUTE
99
100
  WHERE LOWER(U.USRNAME) = ?
100
101
  `;
101
- const utenti = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, [username])
102
+ const utenti = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, [email])
102
103
  .then(results => results.map(Utilities_1.RestUtilities.convertKeysToCamelCase));
103
104
  return utenti.length > 0 ? utenti[0] : null;
104
105
  });
@@ -125,16 +126,20 @@ let UserService = class UserService {
125
126
  register(registrationData) {
126
127
  return __awaiter(this, void 0, void 0, function* () {
127
128
  try {
128
- const existingUser = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, "SELECT CODUTE FROM UTENTI WHERE USRNAME = ?", [registrationData.username]);
129
+ const existingUser = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, "SELECT CODUTE FROM UTENTI WHERE USRNAME = ?", [registrationData.email]);
129
130
  if (existingUser.length > 0) {
130
- throw new Error("Utente già esistente!");
131
+ throw new Error("Questa e-mail è già stata utilizzata!");
131
132
  }
132
133
  const queryUtenti = `INSERT INTO UTENTI (USRNAME, STAREG) VALUES (?,?) RETURNING CODUTE`;
133
- const paramsUtenti = [registrationData.username, StatoRegistrazione_1.StatoRegistrazione.INVIO];
134
+ const paramsUtenti = [registrationData.email, StatoRegistrazione_1.StatoRegistrazione.INVIO];
134
135
  const codiceUtente = (yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, queryUtenti, paramsUtenti)).CODUTE;
135
136
  const queryUtentiConfig = `INSERT INTO UTENTI_CONFIG (CODUTE,COGNOME,NOME,CODLINGUA) VALUES (?,?,?,?)`;
136
137
  const paramsUtentiConfig = [codiceUtente, registrationData.cognome, registrationData.nome, registrationData.codiceLingua];
137
138
  yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, queryUtentiConfig, paramsUtentiConfig);
139
+ // TODO: Aggiungere la gestione dei ruoli
140
+ //registrationData.roles
141
+ // TODO: Aggiungere la gestione delle abilitazioni
142
+ //registrationData.permissions
138
143
  }
139
144
  catch (error) {
140
145
  throw error;
@@ -156,22 +161,22 @@ let UserService = class UserService {
156
161
  }
157
162
  });
158
163
  }
159
- updateUser(user) {
164
+ updateUser(codiceUtente, user) {
160
165
  return __awaiter(this, void 0, void 0, function* () {
161
166
  try {
162
- if (!user.codiceUtente)
167
+ if (!codiceUtente)
163
168
  throw new Error("Impossibile aggiornare senza codice utente.");
164
169
  const queryUtenti = `
165
170
  UPDATE UTENTI
166
171
  SET usrname = ?, flggdpr = ?, stareg=?
167
172
  WHERE CODUTE = ?`;
168
- const paramsUtenti = [user.username, user.flagGdpr, user.statoRegistrazione, user.codiceUtente];
173
+ const paramsUtenti = [user.email, user.flagGdpr, user.statoRegistrazione, codiceUtente];
169
174
  yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, queryUtenti, paramsUtenti);
170
175
  const queryUtentiConfig = `
171
176
  UPDATE UTENTI_CONFIG
172
177
  SET cognome = ?, nome = ?, avatar=?, flg2fatt=?, codlingua=?, cellulare=?, flgsuper=?, pagdef=?, json_metadata=?
173
178
  WHERE CODUTE = ?`;
174
- const paramsUtentiConfig = [user.cognome, user.nome, user.avatar, user.flagDueFattori, user.codiceLingua, user.cellulare, user.flagSuper, user.paginaDefault, user.jsonMetadata, user.codiceUtente];
179
+ const paramsUtentiConfig = [user.cognome, user.nome, user.avatar, user.flagDueFattori, user.codiceLingua, user.cellulare, user.flagSuper, user.paginaDefault, user.jsonMetadata, codiceUtente];
175
180
  yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, queryUtentiConfig, paramsUtentiConfig);
176
181
  }
177
182
  catch (error) {
package/dist/index.d.ts CHANGED
@@ -5,7 +5,6 @@ import { Orm } from "./Orm";
5
5
  import { DateUtilities, RestUtilities, DatabaseUtilities, StatusCode } from "./Utilities";
6
6
  import { autobind } from "./autobind";
7
7
  import { DocumentGenerator } from "./ContractGenerator";
8
- export { RoleWithMenus } from "./accessi-module/Dtos/RoleWithMenus";
9
8
  export * from "./accessi-module";
10
9
  export * from "es-node-firebird";
11
10
  export { autobind, ExecutionTimeLogger, Logger, LogLevels, Orm, DateUtilities, RestUtilities, DatabaseUtilities, DatabaseUpdater, StatusCode, DocumentGenerator };
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.DocumentGenerator = exports.StatusCode = exports.DatabaseUpdater = exports.DatabaseUtilities = exports.RestUtilities = exports.DateUtilities = exports.Orm = exports.LogLevels = exports.Logger = exports.ExecutionTimeLogger = exports.autobind = exports.RoleWithMenus = void 0;
17
+ exports.DocumentGenerator = exports.StatusCode = exports.DatabaseUpdater = exports.DatabaseUtilities = exports.RestUtilities = exports.DateUtilities = exports.Orm = exports.LogLevels = exports.Logger = exports.ExecutionTimeLogger = exports.autobind = void 0;
18
18
  const DatabaseUpdater_1 = require("./DatabaseUpdater");
19
19
  Object.defineProperty(exports, "DatabaseUpdater", { enumerable: true, get: function () { return DatabaseUpdater_1.DatabaseUpdater; } });
20
20
  const ExecutionTimeLogger_1 = require("./ExecutionTimeLogger");
@@ -33,7 +33,5 @@ const autobind_1 = require("./autobind");
33
33
  Object.defineProperty(exports, "autobind", { enumerable: true, get: function () { return autobind_1.autobind; } });
34
34
  const ContractGenerator_1 = require("./ContractGenerator");
35
35
  Object.defineProperty(exports, "DocumentGenerator", { enumerable: true, get: function () { return ContractGenerator_1.DocumentGenerator; } });
36
- var RoleWithMenus_1 = require("./accessi-module/Dtos/RoleWithMenus");
37
- Object.defineProperty(exports, "RoleWithMenus", { enumerable: true, get: function () { return RoleWithMenus_1.RoleWithMenus; } });
38
36
  __exportStar(require("./accessi-module"), exports);
39
37
  __exportStar(require("es-node-firebird"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "emilsoftware-utilities",
3
- "version": "1.3.98",
3
+ "version": "1.3.99",
4
4
  "description": "Utilities for EmilSoftware",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -1,6 +0,0 @@
1
- import { MenuItem } from './MenuItem';
2
- export declare class RoleWithMenus {
3
- codiceRuolo?: string;
4
- descrizioneRuolo: string;
5
- menu: MenuItem[];
6
- }
@@ -1,11 +0,0 @@
1
- import { TipoAbilitazione } from "../../Dtos/TipoAbilitazione";
2
- export interface MenuAbilitazioniResult {
3
- codiceMnu: string;
4
- tipoAbilitazione: TipoAbilitazione;
5
- descrizioneMnu: string;
6
- descrizioneGrp: string;
7
- codiceGrp: string;
8
- icon?: string;
9
- codiceTipo: string;
10
- pagina: string;
11
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });