emilsoftware-utilities 1.3.24 → 1.3.26
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.
- package/dist/DatabaseUpdater.js +39 -18
- package/dist/accessi-module/AccessiController.d.ts +1 -3
- package/dist/accessi-module/AccessiController.js +10 -8
- package/dist/accessi-module/AccessiModel.d.ts +5 -5
- package/dist/accessi-module/AccessiModel.js +62 -19
- package/dist/accessi-module/AccessiModule.d.ts +7 -1
- package/dist/accessi-module/AccessiModule.js +3 -3
- package/package.json +1 -1
package/dist/DatabaseUpdater.js
CHANGED
|
@@ -53,10 +53,11 @@ var DatabaseUpdater = /** @class */ (function () {
|
|
|
53
53
|
*/
|
|
54
54
|
DatabaseUpdater.columnExists = function (options, table, column) {
|
|
55
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
56
|
-
var query, result;
|
|
56
|
+
var query, result, error_1;
|
|
57
57
|
return __generator(this, function (_a) {
|
|
58
58
|
switch (_a.label) {
|
|
59
59
|
case 0:
|
|
60
|
+
_a.trys.push([0, 2, , 3]);
|
|
60
61
|
query = "\n SELECT 1 \n FROM RDB$RELATION_FIELDS \n WHERE RDB$RELATION_NAME = ? \n AND RDB$FIELD_NAME = ?";
|
|
61
62
|
return [4 /*yield*/, Orm_1.Orm.query(options, query, [
|
|
62
63
|
table.toUpperCase(),
|
|
@@ -65,6 +66,11 @@ var DatabaseUpdater = /** @class */ (function () {
|
|
|
65
66
|
case 1:
|
|
66
67
|
result = _a.sent();
|
|
67
68
|
return [2 /*return*/, result.length > 0];
|
|
69
|
+
case 2:
|
|
70
|
+
error_1 = _a.sent();
|
|
71
|
+
this.logger.error("Error checking column ".concat(column, " on table ").concat(table, ":"), error_1);
|
|
72
|
+
throw error_1;
|
|
73
|
+
case 3: return [2 /*return*/];
|
|
68
74
|
}
|
|
69
75
|
});
|
|
70
76
|
});
|
|
@@ -76,13 +82,20 @@ var DatabaseUpdater = /** @class */ (function () {
|
|
|
76
82
|
*/
|
|
77
83
|
DatabaseUpdater.getDatabaseVersion = function (options) {
|
|
78
84
|
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
-
var parameters;
|
|
85
|
+
var parameters, error_2;
|
|
80
86
|
return __generator(this, function (_a) {
|
|
81
87
|
switch (_a.label) {
|
|
82
|
-
case 0:
|
|
88
|
+
case 0:
|
|
89
|
+
_a.trys.push([0, 2, , 3]);
|
|
90
|
+
return [4 /*yield*/, Orm_1.Orm.query(options, "SELECT CODPAR, DESPAR FROM PARAMETRI WHERE CODPAR = ?", ["VersioneDB"])];
|
|
83
91
|
case 1:
|
|
84
92
|
parameters = (_a.sent());
|
|
85
93
|
return [2 /*return*/, parameters.length > 0 ? parameters[0].DESPAR : null];
|
|
94
|
+
case 2:
|
|
95
|
+
error_2 = _a.sent();
|
|
96
|
+
this.logger.error("Error getting database version:", error_2);
|
|
97
|
+
throw error_2;
|
|
98
|
+
case 3: return [2 /*return*/];
|
|
86
99
|
}
|
|
87
100
|
});
|
|
88
101
|
});
|
|
@@ -94,15 +107,23 @@ var DatabaseUpdater = /** @class */ (function () {
|
|
|
94
107
|
*/
|
|
95
108
|
DatabaseUpdater.setDatabaseVersion = function (options, version) {
|
|
96
109
|
return __awaiter(this, void 0, void 0, function () {
|
|
110
|
+
var error_3;
|
|
97
111
|
return __generator(this, function (_a) {
|
|
98
112
|
switch (_a.label) {
|
|
99
|
-
case 0:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
113
|
+
case 0:
|
|
114
|
+
_a.trys.push([0, 2, , 3]);
|
|
115
|
+
return [4 /*yield*/, Orm_1.Orm.query(options, "UPDATE PARAMETRI SET DESPAR = ? WHERE CODPAR = ?", [
|
|
116
|
+
version,
|
|
117
|
+
"VersioneDB",
|
|
118
|
+
])];
|
|
103
119
|
case 1:
|
|
104
120
|
_a.sent();
|
|
105
|
-
return [
|
|
121
|
+
return [3 /*break*/, 3];
|
|
122
|
+
case 2:
|
|
123
|
+
error_3 = _a.sent();
|
|
124
|
+
this.logger.error("Error setting database version:", error_3);
|
|
125
|
+
throw error_3;
|
|
126
|
+
case 3: return [2 /*return*/];
|
|
106
127
|
}
|
|
107
128
|
});
|
|
108
129
|
});
|
|
@@ -115,11 +136,11 @@ var DatabaseUpdater = /** @class */ (function () {
|
|
|
115
136
|
*/
|
|
116
137
|
DatabaseUpdater.createParametersTable = function (options) {
|
|
117
138
|
return __awaiter(this, void 0, void 0, function () {
|
|
118
|
-
var columnAlreadyExists, createTableQuery,
|
|
139
|
+
var columnAlreadyExists, createTableQuery, versioneDb, error_4;
|
|
119
140
|
return __generator(this, function (_a) {
|
|
120
141
|
switch (_a.label) {
|
|
121
142
|
case 0:
|
|
122
|
-
_a.trys.push([0,
|
|
143
|
+
_a.trys.push([0, 8, , 9]);
|
|
123
144
|
return [4 /*yield*/, this.columnExists(options, "PARAMETRI", "CODPAR")];
|
|
124
145
|
case 1:
|
|
125
146
|
columnAlreadyExists = _a.sent();
|
|
@@ -138,20 +159,20 @@ var DatabaseUpdater = /** @class */ (function () {
|
|
|
138
159
|
return [4 /*yield*/, Orm_1.Orm.query(options, "GRANT SELECT ON PARAMETRI TO TABX;")];
|
|
139
160
|
case 5:
|
|
140
161
|
_a.sent();
|
|
141
|
-
return [
|
|
162
|
+
return [4 /*yield*/, this.getDatabaseVersion(options)];
|
|
142
163
|
case 6:
|
|
143
|
-
error_1 = _a.sent();
|
|
144
|
-
this.logger.error("Error creating table PARAMETRI:", error_1);
|
|
145
|
-
return [3 /*break*/, 7];
|
|
146
|
-
case 7: return [4 /*yield*/, this.getDatabaseVersion(options)];
|
|
147
|
-
case 8:
|
|
148
164
|
versioneDb = _a.sent();
|
|
149
165
|
if (versioneDb !== null && versioneDb !== undefined)
|
|
150
166
|
return [2 /*return*/];
|
|
151
167
|
return [4 /*yield*/, Orm_1.Orm.query(options, "INSERT INTO PARAMETRI (CODPAR, DESPAR, NOTE, GRUPPO) VALUES (?,?,?,?)", ["VersioneDB", "0.0a", "versione", null])];
|
|
152
|
-
case
|
|
168
|
+
case 7:
|
|
153
169
|
_a.sent();
|
|
154
|
-
return [
|
|
170
|
+
return [3 /*break*/, 9];
|
|
171
|
+
case 8:
|
|
172
|
+
error_4 = _a.sent();
|
|
173
|
+
this.logger.error("Error creating table PARAMETRI:", error_4);
|
|
174
|
+
throw error_4;
|
|
175
|
+
case 9: return [2 /*return*/];
|
|
155
176
|
}
|
|
156
177
|
});
|
|
157
178
|
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AccessiModel } from "./AccessiModel";
|
|
2
2
|
import { Response, Request } from "express";
|
|
3
3
|
import { LoginRequest } from "./models/DTO/LoginRequest";
|
|
4
|
-
import { JwtOptions } from "./models/JwtOptions";
|
|
5
4
|
import { RegisterRequest } from "./models/DTO/RegisterRequest";
|
|
6
5
|
/**
|
|
7
6
|
* Controller per la gestione degli accessi e delle operazioni correlate.
|
|
@@ -9,7 +8,6 @@ import { RegisterRequest } from "./models/DTO/RegisterRequest";
|
|
|
9
8
|
*/
|
|
10
9
|
export declare class AccessiController {
|
|
11
10
|
private accessiModel;
|
|
12
|
-
private jwtOptions;
|
|
13
11
|
private logger;
|
|
14
12
|
/**
|
|
15
13
|
* Costruttore del controller.
|
|
@@ -18,7 +16,7 @@ export declare class AccessiController {
|
|
|
18
16
|
* @author mttdev382
|
|
19
17
|
|
|
20
18
|
*/
|
|
21
|
-
constructor(accessiModel: AccessiModel
|
|
19
|
+
constructor(accessiModel: AccessiModel);
|
|
22
20
|
/**
|
|
23
21
|
* @swagger
|
|
24
22
|
* /login:
|
|
@@ -99,9 +99,8 @@ var AccessiController = function () {
|
|
|
99
99
|
* @author mttdev382
|
|
100
100
|
|
|
101
101
|
*/
|
|
102
|
-
function AccessiController_1(accessiModel
|
|
102
|
+
function AccessiController_1(accessiModel) {
|
|
103
103
|
this.accessiModel = accessiModel;
|
|
104
|
-
this.jwtOptions = jwtOptions;
|
|
105
104
|
this.logger = new Logger_1.Logger(AccessiController.name);
|
|
106
105
|
}
|
|
107
106
|
/**
|
|
@@ -139,7 +138,7 @@ var AccessiController = function () {
|
|
|
139
138
|
*/
|
|
140
139
|
AccessiController_1.prototype.login = function (req, res) {
|
|
141
140
|
return __awaiter(this, void 0, void 0, function () {
|
|
142
|
-
var request, userData, token, error_1;
|
|
141
|
+
var request, userData, jwtOptions, token, error_1;
|
|
143
142
|
return __generator(this, function (_a) {
|
|
144
143
|
switch (_a.label) {
|
|
145
144
|
case 0:
|
|
@@ -150,7 +149,8 @@ var AccessiController = function () {
|
|
|
150
149
|
userData = _a.sent();
|
|
151
150
|
if (!userData)
|
|
152
151
|
return [2 /*return*/, Utilities_1.RestUtilities.sendErrorMessage(res, "Credenziali errate", AccessiController.name)];
|
|
153
|
-
|
|
152
|
+
jwtOptions = this.accessiModel.getOptions().jwtOptions;
|
|
153
|
+
token = jsonwebtoken_1.default.sign({ userData: userData }, jwtOptions.secret, { expiresIn: jwtOptions.expiresIn });
|
|
154
154
|
return [2 /*return*/, Utilities_1.RestUtilities.sendBaseResponse(res, token)];
|
|
155
155
|
case 2:
|
|
156
156
|
error_1 = _a.sent();
|
|
@@ -243,10 +243,11 @@ var AccessiController = function () {
|
|
|
243
243
|
*/
|
|
244
244
|
AccessiController_1.prototype.encrypt = function (req, res) {
|
|
245
245
|
return __awaiter(this, void 0, void 0, function () {
|
|
246
|
-
var encryptedData;
|
|
246
|
+
var key, encryptedData;
|
|
247
247
|
return __generator(this, function (_a) {
|
|
248
248
|
try {
|
|
249
|
-
|
|
249
|
+
key = this.accessiModel.getOptions().encryptionKey;
|
|
250
|
+
encryptedData = Utilities_1.CryptUtilities.encrypt(req.body.data, key);
|
|
250
251
|
return [2 /*return*/, Utilities_1.RestUtilities.sendBaseResponse(res, encryptedData)];
|
|
251
252
|
}
|
|
252
253
|
catch (error) {
|
|
@@ -288,10 +289,11 @@ var AccessiController = function () {
|
|
|
288
289
|
*/
|
|
289
290
|
AccessiController_1.prototype.decrypt = function (req, res) {
|
|
290
291
|
return __awaiter(this, void 0, void 0, function () {
|
|
291
|
-
var decryptedData;
|
|
292
|
+
var key, decryptedData;
|
|
292
293
|
return __generator(this, function (_a) {
|
|
293
294
|
try {
|
|
294
|
-
|
|
295
|
+
key = this.accessiModel.getOptions().encryptionKey;
|
|
296
|
+
decryptedData = Utilities_1.CryptUtilities.decrypt(req.body.data, key);
|
|
295
297
|
return [2 /*return*/, Utilities_1.RestUtilities.sendBaseResponse(res, decryptedData)];
|
|
296
298
|
}
|
|
297
299
|
catch (error) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Options } from "es-node-firebird";
|
|
2
1
|
import { LoginRequest } from "./models/DTO/LoginRequest";
|
|
3
2
|
import { LoginResponse } from "./models/DTO/LoginResponse";
|
|
4
3
|
import { StatoRegistrazione } from "./models/StatoRegistrazione";
|
|
5
4
|
import { RegisterRequest } from "./models/DTO/RegisterRequest";
|
|
5
|
+
import { AccessiOptions } from "./AccessiModule";
|
|
6
6
|
export declare class AccessiModel {
|
|
7
|
-
private
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
private accessiOptions;
|
|
8
|
+
constructor(accessiOptions: AccessiOptions);
|
|
9
|
+
getDemoUser(): LoginResponse;
|
|
10
10
|
/**
|
|
11
11
|
* @region Login Method
|
|
12
12
|
* Metodo per effettuare il login dell'utente.
|
|
@@ -27,7 +27,7 @@ export declare class AccessiModel {
|
|
|
27
27
|
* @author mttdev382
|
|
28
28
|
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
getOptions(): AccessiOptions;
|
|
31
31
|
/**
|
|
32
32
|
* @region Register Method
|
|
33
33
|
* Metodo per registrare un nuovo utente.
|
|
@@ -85,10 +85,51 @@ var AccessiModel = function () {
|
|
|
85
85
|
var _classExtraInitializers = [];
|
|
86
86
|
var _classThis;
|
|
87
87
|
var AccessiModel = _classThis = /** @class */ (function () {
|
|
88
|
-
function AccessiModel_1(
|
|
89
|
-
this.
|
|
90
|
-
this.encryptionKey = encryptionKey;
|
|
88
|
+
function AccessiModel_1(accessiOptions) {
|
|
89
|
+
this.accessiOptions = accessiOptions;
|
|
91
90
|
}
|
|
91
|
+
AccessiModel_1.prototype.getDemoUser = function () {
|
|
92
|
+
return {
|
|
93
|
+
user: {
|
|
94
|
+
codiceUtente: "12345",
|
|
95
|
+
username: "jdoe",
|
|
96
|
+
flagGdpr: true,
|
|
97
|
+
dataGdpr: "2024-05-01T00:00:00Z",
|
|
98
|
+
dataInserimento: "2023-10-15T00:00:00Z",
|
|
99
|
+
dataScadenzaPassword: "2025-01-01T00:00:00Z",
|
|
100
|
+
dataLastLogin: "2025-01-07T15:45:00Z",
|
|
101
|
+
statoRegistrazione: StatoRegistrazione_1.StatoRegistrazione.CONF,
|
|
102
|
+
keyRegistrazione: "a1b2c3d4e5",
|
|
103
|
+
cognome: "Doe",
|
|
104
|
+
nome: "John",
|
|
105
|
+
avatar: "/path/to/avatar.jpg",
|
|
106
|
+
flagDueFattori: false,
|
|
107
|
+
cauMov: "MOV123",
|
|
108
|
+
codiceLingua: "IT",
|
|
109
|
+
cellulare: "+391234567890",
|
|
110
|
+
flagSuper: true,
|
|
111
|
+
flagMop: false,
|
|
112
|
+
flagPiana: true,
|
|
113
|
+
flagAddetti: false,
|
|
114
|
+
flagOspiti: false,
|
|
115
|
+
flagPianaRfid: false,
|
|
116
|
+
flagConta: true,
|
|
117
|
+
flagTintemi: true,
|
|
118
|
+
flagCubi: false,
|
|
119
|
+
flagCiclPass: false,
|
|
120
|
+
pagDef: "/home",
|
|
121
|
+
prog: 101,
|
|
122
|
+
numRep: 5,
|
|
123
|
+
idxPers: 10,
|
|
124
|
+
codiceClienteSuper: "CLI001",
|
|
125
|
+
codiceAge: "AGE001",
|
|
126
|
+
codiceClienteCol: "COL001",
|
|
127
|
+
codiceClienti: "CLI002",
|
|
128
|
+
tipoFil: "FIL001"
|
|
129
|
+
},
|
|
130
|
+
abilitazioni: []
|
|
131
|
+
};
|
|
132
|
+
};
|
|
92
133
|
/**
|
|
93
134
|
* @region Login Method
|
|
94
135
|
* Metodo per effettuare il login dell'utente.
|
|
@@ -109,10 +150,12 @@ var AccessiModel = function () {
|
|
|
109
150
|
switch (_a.label) {
|
|
110
151
|
case 0:
|
|
111
152
|
_a.trys.push([0, 4, , 5]);
|
|
112
|
-
|
|
153
|
+
if (this.accessiOptions.mockDemoUser && request.username.toLowerCase() === "demo" && request.password.toLowerCase() === "demo")
|
|
154
|
+
return [2 /*return*/, this.getDemoUser()];
|
|
155
|
+
password = Utilities_1.CryptUtilities.encrypt(request.password, this.accessiOptions.encryptionKey);
|
|
113
156
|
userQuery = "\n SELECT\n U.CODUTE as codice_utente,\n U.USRNAME as username,\n U.FLGGDPR as flag_gdpr,\n U.DATGDPR as data_gdpr,\n U.DATINS as data_inserimento,\n U.DATSCAPWD as data_scadenza_password,\n U.DATLASTLOGIN as data_last_login,\n U.STAREG as stato_registrazione,\n U.KEYREG as key_registrazione,\n C.COGNOME as cognome,\n C.NOME as nome,\n C.AVATAR as avatar,\n C.FLG2FATT as flag_due_fattori,\n C.CAUMOV as cau_mov,\n C.CODLINGUA as codice_lingua,\n C.CELLULARE as cellulare,\n C.FLGSUPER as flag_super,\n C.FLGMOP as flag_mop,\n C.FLGPIANA as flag_piana,\n C.FLGADDETTI as flag_addetti,\n C.FLGOSPITI as flag_ospiti,\n C.FLGPIANARFID as flag_piana_rfid,\n C.FLGCONTA as flag_conta,\n C.FLGTINTEMI as flag_tintemi,\n C.FLGCUBI as flag_cubi,\n C.FLGCICLPASS as flag_cicl_pass,\n C.PAGDEF as pag_def,\n F.PROG as prog,\n F.NUMREP as num_rep,\n F.IDXPERS as idx_pers,\n F.CODCLISUPER as codice_cliente_super,\n F.CODAGE as codice_age\n F.CODCLICOL as codice_cliente_col, \n F.CODCLIENTI as codice_clienti,\n F.TIPFIL as tipo_fil\n\n FROM UTENTI U, UTENTI_CONFIG C, FILTRI F\n WHERE LOWER(U.USRNAME) = ?\n AND C.CODUTE=U.CODUTE AND F.CODUTE=U.CODUTE \n ";
|
|
114
157
|
userParams = [request.username];
|
|
115
|
-
return [4 /*yield*/, Orm_1.Orm.query(this.databaseOptions, userQuery, userParams)];
|
|
158
|
+
return [4 /*yield*/, Orm_1.Orm.query(this.accessiOptions.databaseOptions, userQuery, userParams)];
|
|
116
159
|
case 1:
|
|
117
160
|
userResult = (_a.sent());
|
|
118
161
|
userResult = userResult.map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
@@ -133,7 +176,7 @@ var AccessiModel = function () {
|
|
|
133
176
|
throw new Error("Errore generico. Lo stato di registrazione non \u00E8 ".concat(StatoRegistrazione_1.StatoRegistrazione.CONF, ".."));
|
|
134
177
|
utentiPwdQuery = " SELECT CODUTE as codice_utente, PWD as password, FROM UTENTI_PWD WHERE CODUTE = ? ";
|
|
135
178
|
utentiPwdParams = [loggedInUser.codiceUtente];
|
|
136
|
-
return [4 /*yield*/, Orm_1.Orm.query(this.databaseOptions, utentiPwdQuery, utentiPwdParams)];
|
|
179
|
+
return [4 /*yield*/, Orm_1.Orm.query(this.accessiOptions.databaseOptions, utentiPwdQuery, utentiPwdParams)];
|
|
137
180
|
case 2:
|
|
138
181
|
utentiPwdResult = (_a.sent());
|
|
139
182
|
utentiPwdResult = utentiPwdParams.map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
@@ -156,7 +199,7 @@ var AccessiModel = function () {
|
|
|
156
199
|
"SELECT \n A.CODMNU as codice_mnu, \n A.TIPABI as tipo_abilitazione, \n M.DESMNU as descrizione_mnu, \n G.DESGRP as descrizione_grp, \n G.CODGRP as codice_grp, \n M.ICON as icon, \n M.CODTIP AS codice_tipo, \n M.PAGINA as pagina\n FROM ABILITAZIONI A, MENU M, MENU_GRP G \n WHERE A.CODUTE = ? AND A.CODMNU = M.CODMNU AND G.CODGRP = M.CODGRP AND M.FLGENABLED=1 AND G.FLGENABLED=1 \n ORDER BY G.ORDINE, M.ORDINE \n ";
|
|
157
200
|
abilitazioniParams = [loggedInUser.codiceUtente];
|
|
158
201
|
}
|
|
159
|
-
return [4 /*yield*/, Orm_1.Orm.query(this.databaseOptions, abilitazioniQuery, abilitazioniParams)];
|
|
202
|
+
return [4 /*yield*/, Orm_1.Orm.query(this.accessiOptions.databaseOptions, abilitazioniQuery, abilitazioniParams)];
|
|
160
203
|
case 3:
|
|
161
204
|
abilitazioni = (_a.sent());
|
|
162
205
|
abilitazioni = abilitazioni.map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
@@ -181,8 +224,8 @@ var AccessiModel = function () {
|
|
|
181
224
|
* @author mttdev382
|
|
182
225
|
|
|
183
226
|
*/
|
|
184
|
-
AccessiModel_1.prototype.
|
|
185
|
-
return this.
|
|
227
|
+
AccessiModel_1.prototype.getOptions = function () {
|
|
228
|
+
return this.accessiOptions;
|
|
186
229
|
};
|
|
187
230
|
/**
|
|
188
231
|
* @region Register Method
|
|
@@ -205,12 +248,12 @@ var AccessiModel = function () {
|
|
|
205
248
|
_a.trys.push([0, 3, , 4]);
|
|
206
249
|
queryUtenti = " INSERT INTO UTENTI (CODUTE,USRNAME,STAREG,KEYREG,FLGGDPR) VALUES (?,?,?,?,?) ";
|
|
207
250
|
paramsUtenti = [request.codiceUtente, request.username.toLowerCase().trim(), request.statoRegistrazione, request.chiaveRegistrazione, '0'];
|
|
208
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, queryUtenti, paramsUtenti)];
|
|
251
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, queryUtenti, paramsUtenti)];
|
|
209
252
|
case 1:
|
|
210
253
|
_a.sent();
|
|
211
254
|
queryUtentiConfig = " INSERT INTO UTENTI_CONFIG (CODUTE,COGNOME,NOME,CAUMOV,CODLINGUA,FLGSUPER) VALUES (?,?,?,?,?,?) ";
|
|
212
255
|
paramsUtentiConfig = [request.codiceUtente, request.cognome, request.nome, request.codiceCausaleMovimento, request.lingua, request.admin, request.valori];
|
|
213
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, queryUtentiConfig, paramsUtentiConfig)];
|
|
256
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, queryUtentiConfig, paramsUtentiConfig)];
|
|
214
257
|
case 2:
|
|
215
258
|
_a.sent();
|
|
216
259
|
return [3 /*break*/, 4];
|
|
@@ -242,7 +285,7 @@ var AccessiModel = function () {
|
|
|
242
285
|
_a.trys.push([0, 2, , 3]);
|
|
243
286
|
query = " SELECT CODUTE as codice_utente FROM UTENTI WHERE LOWER(USRNAME) = ? ";
|
|
244
287
|
params = [username.trim().toLowerCase()];
|
|
245
|
-
return [4 /*yield*/, Orm_1.Orm.query(this.databaseOptions, query, params)];
|
|
288
|
+
return [4 /*yield*/, Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, params)];
|
|
246
289
|
case 1:
|
|
247
290
|
result = (_a.sent());
|
|
248
291
|
result = result.map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
@@ -274,7 +317,7 @@ var AccessiModel = function () {
|
|
|
274
317
|
_a.trys.push([0, 2, , 3]);
|
|
275
318
|
query = " \n SELECT \n U.CODUTE as codice_utente, \n U.USRNAME as username, \n U.FLGGDPR as flag_gdpr, \n U.DATGDPR as data_gdpr, \n U.DATINS as data_inserimento, \n U.DATSCAPWD as data_scadenza_password, \n U.DATLASTLOGIN as data_last_login, \n U.STAREG as stato_registrazione, \n G.COGNOME as cognome, \n G.NOME as nome, \n G.AVATAR as avatar, \n G.FLG2FATT as flag_due_fattori, \n G.CAUMOV as cau_mov, \n G.CODLINGUA as codice_lingua, \n G.FLGSUPER as flag_super, \n G.FLGMOP as flag_mop, \n G.FLGPIANA as flag_piana, \n G.FLGADDETTI as flag_addetti, \n G.FLGOSPITI as flag_ospiti, \n G.FLGPIANARFID as flag_piana_rfid, \n G.FLGCONTA as flag_contabilita, \n G.FLGCUBI as flag_cubi, \n G.FLGCICLPASS as flag_ciclo_passivo, \n F.NUMREP as numero_reparto, \n F.IDXPERS as idx_personale, \n F.CODCLISUPER as codice_cliente_super, \n F.CODAGE as codice_agente, \n F.CODCLICOL as codice_cliente_collegato, \n F.CODCLIENTI as codice_clienti, \n F.TIPFIL as tipo_filtro, \n G.PAGDEF as pagina_default\n \n FROM UTENTI U, UTENTI_CONFIG G, FILTRI F \n WHERE U.CODUTE = G.CODUTE AND F.CODUTE = U.CODUTE \n ORDER BY G.COGNOME, G.NOME \n ";
|
|
276
319
|
params = [];
|
|
277
|
-
return [4 /*yield*/, Orm_1.Orm.query(this.databaseOptions, query, params)];
|
|
320
|
+
return [4 /*yield*/, Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, params)];
|
|
278
321
|
case 1:
|
|
279
322
|
result = _a.sent();
|
|
280
323
|
return [2 /*return*/, result.map(Utilities_1.RestUtilities.convertKeysToCamelCase)];
|
|
@@ -306,7 +349,7 @@ var AccessiModel = function () {
|
|
|
306
349
|
_a.trys.push([0, 2, , 3]);
|
|
307
350
|
query = " DELETE FROM ABILITAZIONI WHERE CODUTE= ? ";
|
|
308
351
|
params = [codiceUtente];
|
|
309
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, query, params)];
|
|
352
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, query, params)];
|
|
310
353
|
case 1:
|
|
311
354
|
result = _a.sent();
|
|
312
355
|
return [2 /*return*/, result];
|
|
@@ -339,7 +382,7 @@ var AccessiModel = function () {
|
|
|
339
382
|
_a.trys.push([0, 2, , 3]);
|
|
340
383
|
query = " UPDATE UTENTI SET STAREG = ? WHERE CODUTE = ? ";
|
|
341
384
|
params = [statoRegistrazione, codiceUtente];
|
|
342
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, query, params)];
|
|
385
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, query, params)];
|
|
343
386
|
case 1:
|
|
344
387
|
result = _a.sent();
|
|
345
388
|
return [2 /*return*/, result];
|
|
@@ -371,7 +414,7 @@ var AccessiModel = function () {
|
|
|
371
414
|
_a.trys.push([0, 2, , 3]);
|
|
372
415
|
query = " UPDATE OR INSERT UTENTI_GDPR SET CODUTE = ? ";
|
|
373
416
|
params = [codiceUtente];
|
|
374
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, query, params)];
|
|
417
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, query, params)];
|
|
375
418
|
case 1:
|
|
376
419
|
result = _a.sent();
|
|
377
420
|
return [2 /*return*/, result];
|
|
@@ -403,7 +446,7 @@ var AccessiModel = function () {
|
|
|
403
446
|
case 0:
|
|
404
447
|
_a.trys.push([0, 6, , 7]);
|
|
405
448
|
deleteQuery = "DELETE FROM ABILITAZIONI WHERE CODUTE = ?";
|
|
406
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, deleteQuery, [codiceUtente])];
|
|
449
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, deleteQuery, [codiceUtente])];
|
|
407
450
|
case 1:
|
|
408
451
|
_a.sent();
|
|
409
452
|
abilitazioniToInsert = menuAbilitazioni
|
|
@@ -416,7 +459,7 @@ var AccessiModel = function () {
|
|
|
416
459
|
case 2:
|
|
417
460
|
if (!(_i < abilitazioniToInsert_1.length)) return [3 /*break*/, 5];
|
|
418
461
|
params = abilitazioniToInsert_1[_i];
|
|
419
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, insertQuery, params)];
|
|
462
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, insertQuery, params)];
|
|
420
463
|
case 3:
|
|
421
464
|
_a.sent();
|
|
422
465
|
_a.label = 4;
|
|
@@ -453,7 +496,7 @@ var AccessiModel = function () {
|
|
|
453
496
|
_a.trys.push([0, 2, , 3]);
|
|
454
497
|
query = " UPDATE OR INSERT INTO UTENTI_PWD (CODUTE, PWD) VALUES (?, ?) ";
|
|
455
498
|
params = [codiceUtente, nuovaPassword];
|
|
456
|
-
return [4 /*yield*/, Orm_1.Orm.execute(this.databaseOptions, query, params)];
|
|
499
|
+
return [4 /*yield*/, Orm_1.Orm.execute(this.accessiOptions.databaseOptions, query, params)];
|
|
457
500
|
case 1:
|
|
458
501
|
result = _a.sent();
|
|
459
502
|
return [2 /*return*/, result];
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
import { Options } from "es-node-firebird";
|
|
8
8
|
import { Router } from "express";
|
|
9
9
|
import { JwtOptions } from "./models/JwtOptions";
|
|
10
|
+
export interface AccessiOptions {
|
|
11
|
+
databaseOptions: Options;
|
|
12
|
+
encryptionKey: string;
|
|
13
|
+
mockDemoUser: boolean;
|
|
14
|
+
jwtOptions: JwtOptions;
|
|
15
|
+
}
|
|
10
16
|
export declare class AccessiModule {
|
|
11
17
|
private logger;
|
|
12
18
|
private accessiModel;
|
|
@@ -21,7 +27,7 @@ export declare class AccessiModule {
|
|
|
21
27
|
* @author mttdev382
|
|
22
28
|
|
|
23
29
|
*/
|
|
24
|
-
constructor(
|
|
30
|
+
constructor(accessiOptions: AccessiOptions);
|
|
25
31
|
/**
|
|
26
32
|
* Ottiene il modello degli accessi.
|
|
27
33
|
*
|
|
@@ -60,10 +60,10 @@ var AccessiModule = function () {
|
|
|
60
60
|
* @author mttdev382
|
|
61
61
|
|
|
62
62
|
*/
|
|
63
|
-
function AccessiModule_1(
|
|
63
|
+
function AccessiModule_1(accessiOptions) {
|
|
64
64
|
this.logger = new Logger_1.Logger(AccessiModule.name);
|
|
65
|
-
this.accessiModel = new AccessiModel_1.AccessiModel(
|
|
66
|
-
this.accessiController = new AccessiController_1.AccessiController(this.accessiModel
|
|
65
|
+
this.accessiModel = new AccessiModel_1.AccessiModel(accessiOptions);
|
|
66
|
+
this.accessiController = new AccessiController_1.AccessiController(this.accessiModel);
|
|
67
67
|
this.accessiRoutes = new AccessiRoutes_1.AccessiRoutes(this.accessiController);
|
|
68
68
|
}
|
|
69
69
|
/**
|