emilsoftware-utilities 1.8.0-dev.2 → 2.0.0-dev.10
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/README.MD +4 -0
- package/dist/DatabaseUpdater.d.ts +1 -1
- package/dist/DatabaseUpdater.js.map +1 -1
- package/dist/Orm.d.ts +5 -1
- package/dist/Orm.js +147 -78
- package/dist/Orm.js.map +1 -1
- package/dist/Utilities.d.ts +20 -2
- package/dist/Utilities.js +92 -1
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi-module/AccessiModule.d.ts +16 -1
- package/dist/accessi-module/AccessiModule.js.map +1 -1
- package/dist/accessi-module/Controllers/AuthController.d.ts +4 -4
- package/dist/accessi-module/Controllers/AuthController.js +36 -21
- package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
- package/dist/accessi-module/Controllers/EmailController.d.ts +3 -3
- package/dist/accessi-module/Controllers/EmailController.js +15 -15
- package/dist/accessi-module/Controllers/EmailController.js.map +1 -1
- package/dist/accessi-module/Controllers/FiltriController.d.ts +3 -3
- package/dist/accessi-module/Controllers/FiltriController.js +32 -15
- package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
- package/dist/accessi-module/Controllers/PermissionController.d.ts +12 -17
- package/dist/accessi-module/Controllers/PermissionController.js +140 -124
- package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
- package/dist/accessi-module/Controllers/UserController.d.ts +12 -11
- package/dist/accessi-module/Controllers/UserController.js +112 -79
- package/dist/accessi-module/Controllers/UserController.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js +6 -0
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js +6 -0
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/Permission.js +5 -0
- package/dist/accessi-module/Dtos/Permission.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js +37 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/Role.js +13 -2
- package/dist/accessi-module/Dtos/Role.js.map +1 -1
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.js +6 -0
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.js.map +1 -1
- package/dist/accessi-module/Dtos/UserDto.js +59 -1
- package/dist/accessi-module/Dtos/UserDto.js.map +1 -1
- package/dist/accessi-module/Services/AuthService/AuthService.d.ts +8 -3
- package/dist/accessi-module/Services/AuthService/AuthService.js +159 -27
- package/dist/accessi-module/Services/AuthService/AuthService.js.map +1 -1
- package/dist/accessi-module/Services/EmailService/EmailService.js +33 -10
- package/dist/accessi-module/Services/EmailService/EmailService.js.map +1 -1
- package/dist/accessi-module/Services/UserService/UserService.d.ts +15 -6
- package/dist/accessi-module/Services/UserService/UserService.js +110 -84
- package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
- package/dist/accessi-module/Views/reset-password.html +39 -21
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +9 -0
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
- package/dist/accessi-module/index.d.ts +1 -0
- package/dist/accessi-module/index.js +59 -9
- package/dist/accessi-module/index.js.map +1 -1
- package/dist/accessi-module/jwt/jwt.strategy.d.ts +4 -2
- package/dist/accessi-module/jwt/jwt.strategy.js +47 -19
- package/dist/accessi-module/jwt/jwt.strategy.js.map +1 -1
- package/dist/accessi-module/middleware/authenticateGen.d.ts +3 -1
- package/dist/accessi-module/middleware/authenticateGen.js +17 -11
- package/dist/accessi-module/middleware/authenticateGen.js.map +1 -1
- package/dist/accessi-module/security/accessControl.d.ts +17 -0
- package/dist/accessi-module/security/accessControl.js +44 -0
- package/dist/accessi-module/security/accessControl.js.map +1 -0
- package/dist/accessi-module/security/authenticatedToken.d.ts +11 -0
- package/dist/accessi-module/security/authenticatedToken.js +39 -0
- package/dist/accessi-module/security/authenticatedToken.js.map +1 -0
- package/dist/accessi-module/security/passwordResetToken.d.ts +8 -0
- package/dist/accessi-module/security/passwordResetToken.js +73 -0
- package/dist/accessi-module/security/passwordResetToken.js.map +1 -0
- package/dist/accessi-module/security/publicAuthRateLimit.d.ts +10 -0
- package/dist/accessi-module/security/publicAuthRateLimit.js +105 -0
- package/dist/accessi-module/security/publicAuthRateLimit.js.map +1 -0
- package/dist/allegati-module/AllegatiModule.d.ts +1 -1
- package/dist/allegati-module/AllegatiModule.js.map +1 -1
- package/dist/emilsoftware-utilities-2.0.0-dev.10.tgz +0 -0
- package/dist/firebird-compat.d.ts +24 -0
- package/dist/firebird-compat.js +218 -0
- package/dist/firebird-compat.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.js +28 -2
- package/dist/index.js.map +1 -1
- package/dist/swagger/SwaggerConfig.d.ts +6 -1
- package/dist/swagger/SwaggerConfig.js +6 -6
- package/dist/swagger/SwaggerConfig.js.map +1 -1
- package/package.json +2 -2
- package/dist/emilsoftware-utilities-1.8.0-dev.2.tgz +0 -0
|
@@ -11,6 +11,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RegisterRequest = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
const class_validator_1 = require("class-validator");
|
|
14
16
|
const Permission_1 = require("./Permission");
|
|
15
17
|
const TipoAbilitazione_1 = require("./TipoAbilitazione");
|
|
16
18
|
const FiltriUtente_1 = require("./FiltriUtente");
|
|
@@ -22,6 +24,8 @@ __decorate([
|
|
|
22
24
|
description: "Email dell'utente.",
|
|
23
25
|
example: "mario.rossi@dev.it",
|
|
24
26
|
}),
|
|
27
|
+
(0, class_validator_1.IsString)({ message: "L'email deve essere una stringa." }),
|
|
28
|
+
(0, class_validator_1.Length)(3, 254, { message: "L'email deve essere compresa tra 3 e 254 caratteri." }),
|
|
25
29
|
__metadata("design:type", String)
|
|
26
30
|
], RegisterRequest.prototype, "email", void 0);
|
|
27
31
|
__decorate([
|
|
@@ -29,10 +33,16 @@ __decorate([
|
|
|
29
33
|
description: "Cognome dell'utente.",
|
|
30
34
|
example: "Rossi",
|
|
31
35
|
}),
|
|
36
|
+
(0, class_validator_1.IsOptional)(),
|
|
37
|
+
(0, class_validator_1.IsString)({ message: "Il cognome deve essere una stringa." }),
|
|
38
|
+
(0, class_validator_1.Length)(1, 255, { message: "Il cognome deve essere compreso tra 1 e 255 caratteri." }),
|
|
32
39
|
__metadata("design:type", String)
|
|
33
40
|
], RegisterRequest.prototype, "cognome", void 0);
|
|
34
41
|
__decorate([
|
|
35
42
|
(0, swagger_1.ApiPropertyOptional)({ description: "Nome dell'utente.", example: "Mario" }),
|
|
43
|
+
(0, class_validator_1.IsOptional)(),
|
|
44
|
+
(0, class_validator_1.IsString)({ message: "Il nome deve essere una stringa." }),
|
|
45
|
+
(0, class_validator_1.Length)(1, 255, { message: "Il nome deve essere compreso tra 1 e 255 caratteri." }),
|
|
36
46
|
__metadata("design:type", String)
|
|
37
47
|
], RegisterRequest.prototype, "nome", void 0);
|
|
38
48
|
__decorate([
|
|
@@ -41,17 +51,24 @@ __decorate([
|
|
|
41
51
|
example: "+393401234567",
|
|
42
52
|
nullable: true,
|
|
43
53
|
}),
|
|
54
|
+
(0, class_validator_1.IsOptional)(),
|
|
55
|
+
(0, class_validator_1.IsString)({ message: "Il cellulare deve essere una stringa." }),
|
|
56
|
+
(0, class_validator_1.Length)(1, 50, { message: "Il cellulare deve essere compreso tra 1 e 50 caratteri." }),
|
|
44
57
|
__metadata("design:type", String)
|
|
45
58
|
], RegisterRequest.prototype, "cellulare", void 0);
|
|
46
59
|
__decorate([
|
|
47
60
|
(0, swagger_1.ApiPropertyOptional)({ description: "Flag superutente.", example: false }),
|
|
61
|
+
(0, class_validator_1.IsOptional)(),
|
|
62
|
+
(0, class_validator_1.IsBoolean)({ message: "Il flag superutente deve essere booleano." }),
|
|
48
63
|
__metadata("design:type", Boolean)
|
|
49
64
|
], RegisterRequest.prototype, "flagSuper", void 0);
|
|
50
65
|
__decorate([
|
|
51
66
|
(0, swagger_1.ApiPropertyOptional)({
|
|
52
67
|
description: "Flag che indica se l'utente è configuratore",
|
|
53
|
-
example: false
|
|
68
|
+
example: false,
|
|
54
69
|
}),
|
|
70
|
+
(0, class_validator_1.IsOptional)(),
|
|
71
|
+
(0, class_validator_1.IsBoolean)({ message: "Il flag configuratore deve essere booleano." }),
|
|
55
72
|
__metadata("design:type", Boolean)
|
|
56
73
|
], RegisterRequest.prototype, "flagAdminConfigurator", void 0);
|
|
57
74
|
__decorate([
|
|
@@ -59,6 +76,11 @@ __decorate([
|
|
|
59
76
|
description: "Ruoli assegnati all'utente.",
|
|
60
77
|
example: [1, 2],
|
|
61
78
|
}),
|
|
79
|
+
(0, class_validator_1.IsOptional)(),
|
|
80
|
+
(0, class_validator_1.IsArray)({ message: "I ruoli devono essere un array." }),
|
|
81
|
+
(0, class_validator_1.ArrayUnique)({ message: "I ruoli non possono contenere duplicati." }),
|
|
82
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
83
|
+
(0, class_validator_1.IsInt)({ each: true, message: "Ogni ruolo deve essere un intero." }),
|
|
62
84
|
__metadata("design:type", Array)
|
|
63
85
|
], RegisterRequest.prototype, "roles", void 0);
|
|
64
86
|
__decorate([
|
|
@@ -72,6 +94,10 @@ __decorate([
|
|
|
72
94
|
},
|
|
73
95
|
],
|
|
74
96
|
}),
|
|
97
|
+
(0, class_validator_1.IsOptional)(),
|
|
98
|
+
(0, class_validator_1.IsArray)({ message: "I permessi devono essere un array." }),
|
|
99
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
100
|
+
(0, class_transformer_1.Type)(() => Permission_1.Permission),
|
|
75
101
|
__metadata("design:type", Array)
|
|
76
102
|
], RegisterRequest.prototype, "permissions", void 0);
|
|
77
103
|
__decorate([
|
|
@@ -79,6 +105,8 @@ __decorate([
|
|
|
79
105
|
description: "Avatar dell'utente.",
|
|
80
106
|
example: "user.svg",
|
|
81
107
|
}),
|
|
108
|
+
(0, class_validator_1.IsOptional)(),
|
|
109
|
+
(0, class_validator_1.IsString)({ message: "L'avatar deve essere una stringa." }),
|
|
82
110
|
__metadata("design:type", String)
|
|
83
111
|
], RegisterRequest.prototype, "avatar", void 0);
|
|
84
112
|
__decorate([
|
|
@@ -86,6 +114,8 @@ __decorate([
|
|
|
86
114
|
description: "Flag autenticazione a due fattori.",
|
|
87
115
|
example: false,
|
|
88
116
|
}),
|
|
117
|
+
(0, class_validator_1.IsOptional)(),
|
|
118
|
+
(0, class_validator_1.IsBoolean)({ message: "Il flag due fattori deve essere booleano." }),
|
|
89
119
|
__metadata("design:type", Boolean)
|
|
90
120
|
], RegisterRequest.prototype, "flagDueFattori", void 0);
|
|
91
121
|
__decorate([
|
|
@@ -93,6 +123,8 @@ __decorate([
|
|
|
93
123
|
description: "Pagina di default dell'utente.",
|
|
94
124
|
example: "/dashboard",
|
|
95
125
|
}),
|
|
126
|
+
(0, class_validator_1.IsOptional)(),
|
|
127
|
+
(0, class_validator_1.IsString)({ message: "La pagina di default deve essere una stringa." }),
|
|
96
128
|
__metadata("design:type", String)
|
|
97
129
|
], RegisterRequest.prototype, "paginaDefault", void 0);
|
|
98
130
|
__decorate([
|
|
@@ -107,6 +139,8 @@ __decorate([
|
|
|
107
139
|
description: "Ragione sociale cliente.",
|
|
108
140
|
example: "ALIVAL STOCK",
|
|
109
141
|
}),
|
|
142
|
+
(0, class_validator_1.IsOptional)(),
|
|
143
|
+
(0, class_validator_1.IsString)({ message: "La ragione sociale deve essere una stringa." }),
|
|
110
144
|
__metadata("design:type", String)
|
|
111
145
|
], RegisterRequest.prototype, "ragSocCli", void 0);
|
|
112
146
|
__decorate([
|
|
@@ -114,6 +148,8 @@ __decorate([
|
|
|
114
148
|
description: "HTML mail personalizzato",
|
|
115
149
|
example: "<html></html>",
|
|
116
150
|
}),
|
|
151
|
+
(0, class_validator_1.IsOptional)(),
|
|
152
|
+
(0, class_validator_1.IsString)({ message: "L'HTML della mail deve essere una stringa." }),
|
|
117
153
|
__metadata("design:type", String)
|
|
118
154
|
], RegisterRequest.prototype, "htmlMail", void 0);
|
|
119
155
|
//# sourceMappingURL=RegisterRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterRequest.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/RegisterRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6E;
|
|
1
|
+
{"version":3,"file":"RegisterRequest.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/RegisterRequest.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiProperty, ApiPropertyOptional, OmitType } from \"@nestjs/swagger\";\nimport { Type } from \"class-transformer\";\nimport {\n ArrayUnique,\n IsArray,\n IsBoolean,\n IsInt,\n IsOptional,\n IsString,\n Length,\n ValidateNested,\n} from \"class-validator\";\nimport { Permission } from \"./Permission\";\nimport { TipoAbilitazione } from \"./TipoAbilitazione\";\nimport { FiltriUtente } from \"./FiltriUtente\";\n\nexport class RegisterRequest extends OmitType(FiltriUtente, ['codUte'] as const) {\n @ApiProperty({\n description: \"Email dell'utente.\",\n example: \"mario.rossi@dev.it\",\n })\n @IsString({ message: \"L'email deve essere una stringa.\" })\n @Length(3, 254, { message: \"L'email deve essere compresa tra 3 e 254 caratteri.\" })\n email: string;\n\n @ApiPropertyOptional({\n description: \"Cognome dell'utente.\",\n example: \"Rossi\",\n })\n @IsOptional()\n @IsString({ message: \"Il cognome deve essere una stringa.\" })\n @Length(1, 255, { message: \"Il cognome deve essere compreso tra 1 e 255 caratteri.\" })\n cognome?: string;\n\n @ApiPropertyOptional({ description: \"Nome dell'utente.\", example: \"Mario\" })\n @IsOptional()\n @IsString({ message: \"Il nome deve essere una stringa.\" })\n @Length(1, 255, { message: \"Il nome deve essere compreso tra 1 e 255 caratteri.\" })\n nome?: string;\n\n @ApiPropertyOptional({\n description: \"Numero di cellulare.\",\n example: \"+393401234567\",\n nullable: true,\n })\n @IsOptional()\n @IsString({ message: \"Il cellulare deve essere una stringa.\" })\n @Length(1, 50, { message: \"Il cellulare deve essere compreso tra 1 e 50 caratteri.\" })\n cellulare?: string | null;\n\n @ApiPropertyOptional({ description: \"Flag superutente.\", example: false })\n @IsOptional()\n @IsBoolean({ message: \"Il flag superutente deve essere booleano.\" })\n flagSuper?: boolean;\n\n @ApiPropertyOptional({\n description: \"Flag che indica se l'utente è configuratore\",\n example: false,\n })\n @IsOptional()\n @IsBoolean({ message: \"Il flag configuratore deve essere booleano.\" })\n flagAdminConfigurator?: boolean;\n\n @ApiPropertyOptional({\n description: \"Ruoli assegnati all'utente.\",\n example: [1, 2],\n })\n @IsOptional()\n @IsArray({ message: \"I ruoli devono essere un array.\" })\n @ArrayUnique({ message: \"I ruoli non possono contenere duplicati.\" })\n @Type(() => Number)\n @IsInt({ each: true, message: \"Ogni ruolo deve essere un intero.\" })\n roles?: number[];\n\n @ApiPropertyOptional({\n description: \"Permessi assegnati all'utente.\",\n type: [Permission],\n example: [\n {\n codiceMenu: \"MNUOFFICINA\",\n tipoAbilitazione: TipoAbilitazione.SCRITTURA,\n },\n ],\n })\n @IsOptional()\n @IsArray({ message: \"I permessi devono essere un array.\" })\n @ValidateNested({ each: true })\n @Type(() => Permission)\n permissions?: Permission[];\n\n @ApiPropertyOptional({\n description: \"Avatar dell'utente.\",\n example: \"user.svg\",\n })\n @IsOptional()\n @IsString({ message: \"L'avatar deve essere una stringa.\" })\n avatar?: string;\n\n @ApiPropertyOptional({\n description: \"Flag autenticazione a due fattori.\",\n example: false,\n })\n @IsOptional()\n @IsBoolean({ message: \"Il flag due fattori deve essere booleano.\" })\n flagDueFattori?: boolean;\n\n @ApiPropertyOptional({\n description: \"Pagina di default dell'utente.\",\n example: \"/dashboard\",\n })\n @IsOptional()\n @IsString({ message: \"La pagina di default deve essere una stringa.\" })\n paginaDefault?: string;\n\n @ApiPropertyOptional({\n description: \"Numero MAC associato all'utente.\",\n example: 12,\n })\n nummac?: number;\n\n @ApiPropertyOptional({\n description: \"Ragione sociale cliente.\",\n example: \"ALIVAL STOCK\",\n })\n @IsOptional()\n @IsString({ message: \"La ragione sociale deve essere una stringa.\" })\n ragSocCli?: string;\n\n @ApiPropertyOptional({\n description: \"HTML mail personalizzato\",\n example: \"<html></html>\",\n })\n @IsOptional()\n @IsString({ message: \"L'HTML della mail deve essere una stringa.\" })\n htmlMail?: string;\n}\n"]}
|
|
@@ -11,23 +11,34 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Role = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
const class_validator_1 = require("class-validator");
|
|
14
16
|
const RuoliMenu_1 = require("./RuoliMenu");
|
|
15
17
|
class Role {
|
|
16
18
|
}
|
|
17
19
|
exports.Role = Role;
|
|
18
20
|
__decorate([
|
|
19
21
|
(0, swagger_1.ApiPropertyOptional)({ description: 'Codice univoco del ruolo', required: false, type: Number, example: 1 }),
|
|
22
|
+
(0, class_validator_1.IsOptional)(),
|
|
23
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
24
|
+
(0, class_validator_1.IsInt)({ message: 'Il codice ruolo deve essere un intero.' }),
|
|
20
25
|
__metadata("design:type", Number)
|
|
21
26
|
], Role.prototype, "codiceRuolo", void 0);
|
|
22
27
|
__decorate([
|
|
23
28
|
(0, swagger_1.ApiProperty)({ description: 'Descrizione del ruolo' }),
|
|
29
|
+
(0, class_validator_1.IsString)({ message: 'La descrizione del ruolo deve essere una stringa.' }),
|
|
30
|
+
(0, class_validator_1.Length)(1, 255, { message: 'La descrizione del ruolo deve essere compresa tra 1 e 255 caratteri.' }),
|
|
24
31
|
__metadata("design:type", String)
|
|
25
32
|
], Role.prototype, "descrizioneRuolo", void 0);
|
|
26
33
|
__decorate([
|
|
27
34
|
(0, swagger_1.ApiProperty)({
|
|
28
|
-
description: 'Lista di
|
|
29
|
-
type: [RuoliMenu_1.RuoliMenu]
|
|
35
|
+
description: 'Lista di menu associati al ruolo',
|
|
36
|
+
type: [RuoliMenu_1.RuoliMenu],
|
|
30
37
|
}),
|
|
38
|
+
(0, class_validator_1.IsArray)({ message: 'I menu del ruolo devono essere un array.' }),
|
|
39
|
+
(0, class_validator_1.ArrayNotEmpty)({ message: 'Il ruolo deve contenere almeno un menu.' }),
|
|
40
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
41
|
+
(0, class_transformer_1.Type)(() => RuoliMenu_1.RuoliMenu),
|
|
31
42
|
__metadata("design:type", Array)
|
|
32
43
|
], Role.prototype, "menu", void 0);
|
|
33
44
|
//# sourceMappingURL=Role.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/Role.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;
|
|
1
|
+
{"version":3,"file":"Role.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/Role.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,yDAAyC;AACzC,qDAQyB;AACzB,2CAAwC;AAExC,MAAa,IAAI;CAqBhB;AArBD,oBAqBC;AAhBC;IAJC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC3G,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;;yCACxC;AAKrB;IAHC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACrD,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;IAC1E,IAAA,wBAAM,EAAC,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;;8CAC3E;AAUzB;IARC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,CAAC,qBAAS,CAAC;KAClB,CAAC;IACD,IAAA,yBAAO,EAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;IAChE,IAAA,+BAAa,EAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IACrE,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,qBAAS,CAAC;;kCACJ","sourcesContent":["import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport {\n ArrayNotEmpty,\n IsArray,\n IsInt,\n IsOptional,\n IsString,\n Length,\n ValidateNested,\n} from 'class-validator';\nimport { RuoliMenu } from './RuoliMenu';\n\nexport class Role {\n @ApiPropertyOptional({ description: 'Codice univoco del ruolo', required: false, type: Number, example: 1 })\n @IsOptional()\n @Type(() => Number)\n @IsInt({ message: 'Il codice ruolo deve essere un intero.' })\n codiceRuolo?: number;\n\n @ApiProperty({ description: 'Descrizione del ruolo' })\n @IsString({ message: 'La descrizione del ruolo deve essere una stringa.' })\n @Length(1, 255, { message: 'La descrizione del ruolo deve essere compresa tra 1 e 255 caratteri.' })\n descrizioneRuolo: string;\n\n @ApiProperty({\n description: 'Lista di menu associati al ruolo',\n type: [RuoliMenu],\n })\n @IsArray({ message: 'I menu del ruolo devono essere un array.' })\n @ArrayNotEmpty({ message: 'Il ruolo deve contenere almeno un menu.' })\n @ValidateNested({ each: true })\n @Type(() => RuoliMenu)\n menu: RuoliMenu[];\n}\n"]}
|
|
@@ -11,6 +11,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SetStatoRegistrazioneDto = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
const class_validator_1 = require("class-validator");
|
|
14
16
|
const StatoRegistrazione_1 = require("./StatoRegistrazione");
|
|
15
17
|
class SetStatoRegistrazioneDto {
|
|
16
18
|
}
|
|
@@ -20,6 +22,9 @@ __decorate([
|
|
|
20
22
|
description: "Codice identificativo dell'utente",
|
|
21
23
|
example: 123,
|
|
22
24
|
}),
|
|
25
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
26
|
+
(0, class_validator_1.IsInt)({ message: 'Il codice utente deve essere un intero.' }),
|
|
27
|
+
(0, class_validator_1.Min)(1, { message: 'Il codice utente deve essere maggiore di zero.' }),
|
|
23
28
|
__metadata("design:type", Number)
|
|
24
29
|
], SetStatoRegistrazioneDto.prototype, "codiceUtente", void 0);
|
|
25
30
|
__decorate([
|
|
@@ -28,6 +33,7 @@ __decorate([
|
|
|
28
33
|
enum: StatoRegistrazione_1.StatoRegistrazione,
|
|
29
34
|
example: StatoRegistrazione_1.StatoRegistrazione.DELETE,
|
|
30
35
|
}),
|
|
36
|
+
(0, class_validator_1.IsEnum)(StatoRegistrazione_1.StatoRegistrazione, { message: 'Lo stato di registrazione non e valido.' }),
|
|
31
37
|
__metadata("design:type", Number)
|
|
32
38
|
], SetStatoRegistrazioneDto.prototype, "statoRegistrazione", void 0);
|
|
33
39
|
//# sourceMappingURL=SetStatoRegistrazione.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetStatoRegistrazione.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/SetStatoRegistrazione.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,6DAA0D;AAE1D,MAAa,wBAAwB;
|
|
1
|
+
{"version":3,"file":"SetStatoRegistrazione.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/SetStatoRegistrazione.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAyC;AACzC,qDAAqD;AACrD,6DAA0D;AAE1D,MAAa,wBAAwB;CAiBpC;AAjBD,4DAiBC;AATC;IAPC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,GAAG;KACb,CAAC;IACD,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IAC7D,IAAA,qBAAG,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;;8DACjD;AAQrB;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,uCAAkB;QACxB,OAAO,EAAE,uCAAkB,CAAC,MAAM;KACnC,CAAC;IACD,IAAA,wBAAM,EAAC,uCAAkB,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;;oEAC5C","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsEnum, IsInt, Min } from 'class-validator';\nimport { StatoRegistrazione } from './StatoRegistrazione';\n\nexport class SetStatoRegistrazioneDto {\n @ApiProperty({\n description: \"Codice identificativo dell'utente\",\n example: 123,\n })\n @Type(() => Number)\n @IsInt({ message: 'Il codice utente deve essere un intero.' })\n @Min(1, { message: 'Il codice utente deve essere maggiore di zero.' })\n codiceUtente: number;\n\n @ApiProperty({\n description: 'Nuovo stato di registrazione',\n enum: StatoRegistrazione,\n example: StatoRegistrazione.DELETE,\n })\n @IsEnum(StatoRegistrazione, { message: 'Lo stato di registrazione non e valido.' })\n statoRegistrazione: StatoRegistrazione;\n}\n"]}
|
|
@@ -11,6 +11,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.UserDto = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
const class_validator_1 = require("class-validator");
|
|
14
16
|
const StatoRegistrazione_1 = require("./StatoRegistrazione");
|
|
15
17
|
const Permission_1 = require("./Permission");
|
|
16
18
|
const TipoAbilitazione_1 = require("./TipoAbilitazione");
|
|
@@ -20,14 +22,23 @@ class UserDto extends (0, swagger_1.OmitType)(FiltriUtente_1.FiltriUtente, ['cod
|
|
|
20
22
|
exports.UserDto = UserDto;
|
|
21
23
|
__decorate([
|
|
22
24
|
(0, swagger_1.ApiProperty)({ description: "Codice identificativo univoco dell'utente.", example: 'USR123' }),
|
|
25
|
+
(0, class_validator_1.IsOptional)(),
|
|
26
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
27
|
+
(0, class_validator_1.IsInt)({ message: 'Il codice utente deve essere un intero.' }),
|
|
28
|
+
(0, class_validator_1.Min)(1, { message: 'Il codice utente deve essere maggiore di zero.' }),
|
|
23
29
|
__metadata("design:type", Number)
|
|
24
30
|
], UserDto.prototype, "codiceUtente", void 0);
|
|
25
31
|
__decorate([
|
|
26
32
|
(0, swagger_1.ApiProperty)({ description: "Email dell'utente.", example: 'mario.rossi@dev.it' }),
|
|
33
|
+
(0, class_validator_1.IsOptional)(),
|
|
34
|
+
(0, class_validator_1.IsString)({ message: "L'email deve essere una stringa." }),
|
|
35
|
+
(0, class_validator_1.Length)(3, 254, { message: "L'email deve essere compresa tra 3 e 254 caratteri." }),
|
|
27
36
|
__metadata("design:type", String)
|
|
28
37
|
], UserDto.prototype, "email", void 0);
|
|
29
38
|
__decorate([
|
|
30
39
|
(0, swagger_1.ApiPropertyOptional)({ description: "Flag per l'accettazione del GDPR.", example: true }),
|
|
40
|
+
(0, class_validator_1.IsOptional)(),
|
|
41
|
+
(0, class_validator_1.IsBoolean)({ message: 'Il flag GDPR deve essere booleano.' }),
|
|
31
42
|
__metadata("design:type", Boolean)
|
|
32
43
|
], UserDto.prototype, "flagGdpr", void 0);
|
|
33
44
|
__decorate([
|
|
@@ -36,6 +47,8 @@ __decorate([
|
|
|
36
47
|
format: 'date-time',
|
|
37
48
|
example: '2024-03-18T12:34:56Z',
|
|
38
49
|
}),
|
|
50
|
+
(0, class_validator_1.IsOptional)(),
|
|
51
|
+
(0, class_validator_1.IsString)({ message: 'La data GDPR deve essere una stringa.' }),
|
|
39
52
|
__metadata("design:type", String)
|
|
40
53
|
], UserDto.prototype, "dataGdpr", void 0);
|
|
41
54
|
__decorate([
|
|
@@ -44,6 +57,8 @@ __decorate([
|
|
|
44
57
|
format: 'date-time',
|
|
45
58
|
example: '2023-01-01T08:30:00Z',
|
|
46
59
|
}),
|
|
60
|
+
(0, class_validator_1.IsOptional)(),
|
|
61
|
+
(0, class_validator_1.IsString)({ message: 'La data di inserimento deve essere una stringa.' }),
|
|
47
62
|
__metadata("design:type", String)
|
|
48
63
|
], UserDto.prototype, "dataInserimento", void 0);
|
|
49
64
|
__decorate([
|
|
@@ -52,6 +67,8 @@ __decorate([
|
|
|
52
67
|
format: 'date-time',
|
|
53
68
|
example: '2025-06-01',
|
|
54
69
|
}),
|
|
70
|
+
(0, class_validator_1.IsOptional)(),
|
|
71
|
+
(0, class_validator_1.IsString)({ message: 'La data scadenza password deve essere una stringa.' }),
|
|
55
72
|
__metadata("design:type", String)
|
|
56
73
|
], UserDto.prototype, "dataScadenzaPassword", void 0);
|
|
57
74
|
__decorate([
|
|
@@ -60,6 +77,8 @@ __decorate([
|
|
|
60
77
|
format: 'date-time',
|
|
61
78
|
example: '2024-03-15T14:45:00Z',
|
|
62
79
|
}),
|
|
80
|
+
(0, class_validator_1.IsOptional)(),
|
|
81
|
+
(0, class_validator_1.IsString)({ message: 'La data ultimo accesso deve essere una stringa.' }),
|
|
63
82
|
__metadata("design:type", String)
|
|
64
83
|
], UserDto.prototype, "dataLastLogin", void 0);
|
|
65
84
|
__decorate([
|
|
@@ -68,6 +87,8 @@ __decorate([
|
|
|
68
87
|
enum: StatoRegistrazione_1.StatoRegistrazione,
|
|
69
88
|
example: StatoRegistrazione_1.StatoRegistrazione.CONF,
|
|
70
89
|
}),
|
|
90
|
+
(0, class_validator_1.IsOptional)(),
|
|
91
|
+
(0, class_validator_1.IsEnum)(StatoRegistrazione_1.StatoRegistrazione, { message: 'Lo stato di registrazione non e valido.' }),
|
|
71
92
|
__metadata("design:type", Number)
|
|
72
93
|
], UserDto.prototype, "statoRegistrazione", void 0);
|
|
73
94
|
__decorate([
|
|
@@ -75,14 +96,22 @@ __decorate([
|
|
|
75
96
|
description: "Chiave di registrazione dell'utente.",
|
|
76
97
|
example: 'abc123xyz',
|
|
77
98
|
}),
|
|
99
|
+
(0, class_validator_1.IsOptional)(),
|
|
100
|
+
(0, class_validator_1.IsString)({ message: 'La chiave registrazione deve essere una stringa.' }),
|
|
78
101
|
__metadata("design:type", String)
|
|
79
102
|
], UserDto.prototype, "keyRegistrazione", void 0);
|
|
80
103
|
__decorate([
|
|
81
104
|
(0, swagger_1.ApiPropertyOptional)({ description: "Cognome dell'utente.", example: 'Rossi' }),
|
|
105
|
+
(0, class_validator_1.IsOptional)(),
|
|
106
|
+
(0, class_validator_1.IsString)({ message: 'Il cognome deve essere una stringa.' }),
|
|
107
|
+
(0, class_validator_1.Length)(1, 255, { message: 'Il cognome deve essere compreso tra 1 e 255 caratteri.' }),
|
|
82
108
|
__metadata("design:type", String)
|
|
83
109
|
], UserDto.prototype, "cognome", void 0);
|
|
84
110
|
__decorate([
|
|
85
111
|
(0, swagger_1.ApiPropertyOptional)({ description: "Nome dell'utente.", example: 'Mario' }),
|
|
112
|
+
(0, class_validator_1.IsOptional)(),
|
|
113
|
+
(0, class_validator_1.IsString)({ message: 'Il nome deve essere una stringa.' }),
|
|
114
|
+
(0, class_validator_1.Length)(1, 255, { message: 'Il nome deve essere compreso tra 1 e 255 caratteri.' }),
|
|
86
115
|
__metadata("design:type", String)
|
|
87
116
|
], UserDto.prototype, "nome", void 0);
|
|
88
117
|
__decorate([
|
|
@@ -91,6 +120,8 @@ __decorate([
|
|
|
91
120
|
example: 'https://example.com/avatar.jpg',
|
|
92
121
|
nullable: true,
|
|
93
122
|
}),
|
|
123
|
+
(0, class_validator_1.IsOptional)(),
|
|
124
|
+
(0, class_validator_1.IsString)({ message: "L'avatar deve essere una stringa." }),
|
|
94
125
|
__metadata("design:type", String)
|
|
95
126
|
], UserDto.prototype, "avatar", void 0);
|
|
96
127
|
__decorate([
|
|
@@ -98,10 +129,15 @@ __decorate([
|
|
|
98
129
|
description: "Flag che indica se l'autenticazione a due fattori è attivata.",
|
|
99
130
|
example: true,
|
|
100
131
|
}),
|
|
132
|
+
(0, class_validator_1.IsOptional)(),
|
|
133
|
+
(0, class_validator_1.IsBoolean)({ message: 'Il flag due fattori deve essere booleano.' }),
|
|
101
134
|
__metadata("design:type", Boolean)
|
|
102
135
|
], UserDto.prototype, "flagDueFattori", void 0);
|
|
103
136
|
__decorate([
|
|
104
137
|
(0, swagger_1.ApiPropertyOptional)({ description: 'Codice lingua preferito.', example: 'it' }),
|
|
138
|
+
(0, class_validator_1.IsOptional)(),
|
|
139
|
+
(0, class_validator_1.IsString)({ message: 'Il codice lingua deve essere una stringa.' }),
|
|
140
|
+
(0, class_validator_1.Length)(1, 20, { message: 'Il codice lingua deve essere compreso tra 1 e 20 caratteri.' }),
|
|
105
141
|
__metadata("design:type", String)
|
|
106
142
|
], UserDto.prototype, "codiceLingua", void 0);
|
|
107
143
|
__decorate([
|
|
@@ -110,17 +146,24 @@ __decorate([
|
|
|
110
146
|
example: '+393401234567',
|
|
111
147
|
nullable: true,
|
|
112
148
|
}),
|
|
149
|
+
(0, class_validator_1.IsOptional)(),
|
|
150
|
+
(0, class_validator_1.IsString)({ message: 'Il cellulare deve essere una stringa.' }),
|
|
151
|
+
(0, class_validator_1.Length)(1, 50, { message: 'Il cellulare deve essere compreso tra 1 e 50 caratteri.' }),
|
|
113
152
|
__metadata("design:type", String)
|
|
114
153
|
], UserDto.prototype, "cellulare", void 0);
|
|
115
154
|
__decorate([
|
|
116
155
|
(0, swagger_1.ApiPropertyOptional)({ description: 'Flag superutente.', example: false }),
|
|
156
|
+
(0, class_validator_1.IsOptional)(),
|
|
157
|
+
(0, class_validator_1.IsBoolean)({ message: 'Il flag superutente deve essere booleano.' }),
|
|
117
158
|
__metadata("design:type", Boolean)
|
|
118
159
|
], UserDto.prototype, "flagSuper", void 0);
|
|
119
160
|
__decorate([
|
|
120
161
|
(0, swagger_1.ApiPropertyOptional)({
|
|
121
162
|
description: "Flag che indica se l'utente è configuratore",
|
|
122
|
-
example: false
|
|
163
|
+
example: false,
|
|
123
164
|
}),
|
|
165
|
+
(0, class_validator_1.IsOptional)(),
|
|
166
|
+
(0, class_validator_1.IsBoolean)({ message: 'Il flag configuratore deve essere booleano.' }),
|
|
124
167
|
__metadata("design:type", Boolean)
|
|
125
168
|
], UserDto.prototype, "flagAdminConfigurator", void 0);
|
|
126
169
|
__decorate([
|
|
@@ -128,6 +171,8 @@ __decorate([
|
|
|
128
171
|
description: "Pagina di default dell'utente all'accesso.",
|
|
129
172
|
example: '/dashboard',
|
|
130
173
|
}),
|
|
174
|
+
(0, class_validator_1.IsOptional)(),
|
|
175
|
+
(0, class_validator_1.IsString)({ message: 'La pagina di default deve essere una stringa.' }),
|
|
131
176
|
__metadata("design:type", String)
|
|
132
177
|
], UserDto.prototype, "paginaDefault", void 0);
|
|
133
178
|
__decorate([
|
|
@@ -142,14 +187,23 @@ __decorate([
|
|
|
142
187
|
description: 'Metadata JSON personalizzato.',
|
|
143
188
|
example: '{"theme": "dark"}',
|
|
144
189
|
}),
|
|
190
|
+
(0, class_validator_1.IsOptional)(),
|
|
191
|
+
(0, class_validator_1.IsString)({ message: 'I metadata JSON devono essere una stringa.' }),
|
|
145
192
|
__metadata("design:type", String)
|
|
146
193
|
], UserDto.prototype, "jsonMetadata", void 0);
|
|
147
194
|
__decorate([
|
|
148
195
|
(0, swagger_1.ApiPropertyOptional)({ description: 'Ragione sociale cliente.', example: 'ACME Corp SpA' }),
|
|
196
|
+
(0, class_validator_1.IsOptional)(),
|
|
197
|
+
(0, class_validator_1.IsString)({ message: 'La ragione sociale deve essere una stringa.' }),
|
|
149
198
|
__metadata("design:type", String)
|
|
150
199
|
], UserDto.prototype, "ragSocCli", void 0);
|
|
151
200
|
__decorate([
|
|
152
201
|
(0, swagger_1.ApiPropertyOptional)({ description: "Ruoli assegnati all'utente.", example: [1, 2] }),
|
|
202
|
+
(0, class_validator_1.IsOptional)(),
|
|
203
|
+
(0, class_validator_1.IsArray)({ message: 'I ruoli devono essere un array.' }),
|
|
204
|
+
(0, class_validator_1.ArrayUnique)({ message: 'I ruoli non possono contenere duplicati.' }),
|
|
205
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
206
|
+
(0, class_validator_1.IsInt)({ each: true, message: 'Ogni ruolo deve essere un intero.' }),
|
|
153
207
|
__metadata("design:type", Array)
|
|
154
208
|
], UserDto.prototype, "roles", void 0);
|
|
155
209
|
__decorate([
|
|
@@ -158,6 +212,10 @@ __decorate([
|
|
|
158
212
|
type: [Permission_1.Permission],
|
|
159
213
|
example: [{ codiceMenu: 'MNUOFFICINA', tipoAbilitazione: TipoAbilitazione_1.TipoAbilitazione.SCRITTURA }],
|
|
160
214
|
}),
|
|
215
|
+
(0, class_validator_1.IsOptional)(),
|
|
216
|
+
(0, class_validator_1.IsArray)({ message: 'I permessi devono essere un array.' }),
|
|
217
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
218
|
+
(0, class_transformer_1.Type)(() => Permission_1.Permission),
|
|
161
219
|
__metadata("design:type", Array)
|
|
162
220
|
], UserDto.prototype, "permissions", void 0);
|
|
163
221
|
//# sourceMappingURL=UserDto.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDto.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/UserDto.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiProperty, ApiPropertyOptional, OmitType } from '@nestjs/swagger';\nimport { StatoRegistrazione } from './StatoRegistrazione';\nimport { Permission } from './Permission';\nimport { TipoAbilitazione } from './TipoAbilitazione';\nimport { FiltriUtente } from './FiltriUtente';\n\nexport class UserDto extends OmitType(FiltriUtente, ['codUte'] as const) {\n @ApiProperty({ description: \"Codice identificativo univoco dell'utente.\", example: 'USR123' })\n codiceUtente: number;\n\n @ApiProperty({ description: \"Email dell'utente.\", example: 'mario.rossi@dev.it' })\n email: string;\n\n @ApiPropertyOptional({ description: \"Flag per l'accettazione del GDPR.\", example: true })\n flagGdpr?: boolean;\n\n @ApiPropertyOptional({\n description: 'Data di accettazione del GDPR.',\n format: 'date-time',\n example: '2024-03-18T12:34:56Z',\n })\n dataGdpr?: string;\n\n @ApiPropertyOptional({\n description: \"Data di inserimento dell'utente nel sistema.\",\n format: 'date-time',\n example: '2023-01-01T08:30:00Z',\n })\n dataInserimento?: string;\n\n @ApiPropertyOptional({\n description: 'Data scadenza password.',\n format: 'date-time',\n example: '2025-06-01',\n })\n dataScadenzaPassword?: string;\n\n @ApiPropertyOptional({\n description: \"Ultima data di accesso dell'utente.\",\n format: 'date-time',\n example: '2024-03-15T14:45:00Z',\n })\n dataLastLogin?: string;\n\n @ApiPropertyOptional({\n description: \"Stato della registrazione dell'utente.\",\n enum: StatoRegistrazione,\n example: StatoRegistrazione.CONF,\n })\n statoRegistrazione?: StatoRegistrazione;\n\n @ApiPropertyOptional({\n description: \"Chiave di registrazione dell'utente.\",\n example: 'abc123xyz',\n })\n keyRegistrazione?: string;\n\n @ApiPropertyOptional({ description: \"Cognome dell'utente.\", example: 'Rossi' })\n cognome?: string;\n\n @ApiPropertyOptional({ description: \"Nome dell'utente.\", example: 'Mario' })\n nome?: string;\n\n @ApiPropertyOptional({\n description: 'Avatar (URL o base64).',\n example: 'https://example.com/avatar.jpg',\n nullable: true,\n })\n avatar?: string | null;\n\n @ApiPropertyOptional({\n description: \"Flag che indica se l'autenticazione a due fattori è attivata.\",\n example: true,\n })\n flagDueFattori?: boolean;\n\n @ApiPropertyOptional({ description: 'Codice lingua preferito.', example: 'it' })\n codiceLingua?: string;\n\n @ApiPropertyOptional({\n description: 'Numero di cellulare.',\n example: '+393401234567',\n nullable: true,\n })\n cellulare?: string | null;\n\n @ApiPropertyOptional({ description: 'Flag superutente.', example: false })\n flagSuper?: boolean;\n\n @ApiPropertyOptional({\n description: \"Flag che indica se l'utente è configuratore\",\n example: false\n })\n flagAdminConfigurator?: boolean;\n\n @ApiPropertyOptional({\n description: \"Pagina di default dell'utente all'accesso.\",\n example: '/dashboard',\n })\n paginaDefault?: string;\n\n @ApiPropertyOptional({\n description: \"Numero MAC associato all'utente.\",\n example: 12,\n })\n nummac?: number;\n\n @ApiPropertyOptional({\n description: 'Metadata JSON personalizzato.',\n example: '{\"theme\": \"dark\"}',\n })\n jsonMetadata?: string;\n\n @ApiPropertyOptional({ description: 'Ragione sociale cliente.', example: 'ACME Corp SpA' })\n ragSocCli?: string;\n\n @ApiPropertyOptional({ description: \"Ruoli assegnati all'utente.\", example: [1,2] })\n roles?: number[];\n\n @ApiPropertyOptional({\n description: \"Permessi assegnati all'utente.\",\n type: [Permission],\n example: [{ codiceMenu: 'MNUOFFICINA', tipoAbilitazione: TipoAbilitazione.SCRITTURA }],\n })\n permissions?: Permission[];\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"UserDto.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/UserDto.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApiProperty, ApiPropertyOptional, OmitType } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport {\n ArrayUnique,\n IsArray,\n IsBoolean,\n IsEnum,\n IsInt,\n IsOptional,\n IsString,\n Length,\n Min,\n ValidateNested,\n} from 'class-validator';\nimport { StatoRegistrazione } from './StatoRegistrazione';\nimport { Permission } from './Permission';\nimport { TipoAbilitazione } from './TipoAbilitazione';\nimport { FiltriUtente } from './FiltriUtente';\n\nexport class UserDto extends OmitType(FiltriUtente, ['codUte'] as const) {\n @ApiProperty({ description: \"Codice identificativo univoco dell'utente.\", example: 'USR123' })\n @IsOptional()\n @Type(() => Number)\n @IsInt({ message: 'Il codice utente deve essere un intero.' })\n @Min(1, { message: 'Il codice utente deve essere maggiore di zero.' })\n codiceUtente: number;\n\n @ApiProperty({ description: \"Email dell'utente.\", example: 'mario.rossi@dev.it' })\n @IsOptional()\n @IsString({ message: \"L'email deve essere una stringa.\" })\n @Length(3, 254, { message: \"L'email deve essere compresa tra 3 e 254 caratteri.\" })\n email: string;\n\n @ApiPropertyOptional({ description: \"Flag per l'accettazione del GDPR.\", example: true })\n @IsOptional()\n @IsBoolean({ message: 'Il flag GDPR deve essere booleano.' })\n flagGdpr?: boolean;\n\n @ApiPropertyOptional({\n description: 'Data di accettazione del GDPR.',\n format: 'date-time',\n example: '2024-03-18T12:34:56Z',\n })\n @IsOptional()\n @IsString({ message: 'La data GDPR deve essere una stringa.' })\n dataGdpr?: string;\n\n @ApiPropertyOptional({\n description: \"Data di inserimento dell'utente nel sistema.\",\n format: 'date-time',\n example: '2023-01-01T08:30:00Z',\n })\n @IsOptional()\n @IsString({ message: 'La data di inserimento deve essere una stringa.' })\n dataInserimento?: string;\n\n @ApiPropertyOptional({\n description: 'Data scadenza password.',\n format: 'date-time',\n example: '2025-06-01',\n })\n @IsOptional()\n @IsString({ message: 'La data scadenza password deve essere una stringa.' })\n dataScadenzaPassword?: string;\n\n @ApiPropertyOptional({\n description: \"Ultima data di accesso dell'utente.\",\n format: 'date-time',\n example: '2024-03-15T14:45:00Z',\n })\n @IsOptional()\n @IsString({ message: 'La data ultimo accesso deve essere una stringa.' })\n dataLastLogin?: string;\n\n @ApiPropertyOptional({\n description: \"Stato della registrazione dell'utente.\",\n enum: StatoRegistrazione,\n example: StatoRegistrazione.CONF,\n })\n @IsOptional()\n @IsEnum(StatoRegistrazione, { message: 'Lo stato di registrazione non e valido.' })\n statoRegistrazione?: StatoRegistrazione;\n\n @ApiPropertyOptional({\n description: \"Chiave di registrazione dell'utente.\",\n example: 'abc123xyz',\n })\n @IsOptional()\n @IsString({ message: 'La chiave registrazione deve essere una stringa.' })\n keyRegistrazione?: string;\n\n @ApiPropertyOptional({ description: \"Cognome dell'utente.\", example: 'Rossi' })\n @IsOptional()\n @IsString({ message: 'Il cognome deve essere una stringa.' })\n @Length(1, 255, { message: 'Il cognome deve essere compreso tra 1 e 255 caratteri.' })\n cognome?: string;\n\n @ApiPropertyOptional({ description: \"Nome dell'utente.\", example: 'Mario' })\n @IsOptional()\n @IsString({ message: 'Il nome deve essere una stringa.' })\n @Length(1, 255, { message: 'Il nome deve essere compreso tra 1 e 255 caratteri.' })\n nome?: string;\n\n @ApiPropertyOptional({\n description: 'Avatar (URL o base64).',\n example: 'https://example.com/avatar.jpg',\n nullable: true,\n })\n @IsOptional()\n @IsString({ message: \"L'avatar deve essere una stringa.\" })\n avatar?: string | null;\n\n @ApiPropertyOptional({\n description: \"Flag che indica se l'autenticazione a due fattori è attivata.\",\n example: true,\n })\n @IsOptional()\n @IsBoolean({ message: 'Il flag due fattori deve essere booleano.' })\n flagDueFattori?: boolean;\n\n @ApiPropertyOptional({ description: 'Codice lingua preferito.', example: 'it' })\n @IsOptional()\n @IsString({ message: 'Il codice lingua deve essere una stringa.' })\n @Length(1, 20, { message: 'Il codice lingua deve essere compreso tra 1 e 20 caratteri.' })\n codiceLingua?: string;\n\n @ApiPropertyOptional({\n description: 'Numero di cellulare.',\n example: '+393401234567',\n nullable: true,\n })\n @IsOptional()\n @IsString({ message: 'Il cellulare deve essere una stringa.' })\n @Length(1, 50, { message: 'Il cellulare deve essere compreso tra 1 e 50 caratteri.' })\n cellulare?: string | null;\n\n @ApiPropertyOptional({ description: 'Flag superutente.', example: false })\n @IsOptional()\n @IsBoolean({ message: 'Il flag superutente deve essere booleano.' })\n flagSuper?: boolean;\n\n @ApiPropertyOptional({\n description: \"Flag che indica se l'utente è configuratore\",\n example: false,\n })\n @IsOptional()\n @IsBoolean({ message: 'Il flag configuratore deve essere booleano.' })\n flagAdminConfigurator?: boolean;\n\n @ApiPropertyOptional({\n description: \"Pagina di default dell'utente all'accesso.\",\n example: '/dashboard',\n })\n @IsOptional()\n @IsString({ message: 'La pagina di default deve essere una stringa.' })\n paginaDefault?: string;\n\n @ApiPropertyOptional({\n description: \"Numero MAC associato all'utente.\",\n example: 12,\n })\n nummac?: number;\n\n @ApiPropertyOptional({\n description: 'Metadata JSON personalizzato.',\n example: '{\"theme\": \"dark\"}',\n })\n @IsOptional()\n @IsString({ message: 'I metadata JSON devono essere una stringa.' })\n jsonMetadata?: string;\n\n @ApiPropertyOptional({ description: 'Ragione sociale cliente.', example: 'ACME Corp SpA' })\n @IsOptional()\n @IsString({ message: 'La ragione sociale deve essere una stringa.' })\n ragSocCli?: string;\n\n @ApiPropertyOptional({ description: \"Ruoli assegnati all'utente.\", example: [1, 2] })\n @IsOptional()\n @IsArray({ message: 'I ruoli devono essere un array.' })\n @ArrayUnique({ message: 'I ruoli non possono contenere duplicati.' })\n @Type(() => Number)\n @IsInt({ each: true, message: 'Ogni ruolo deve essere un intero.' })\n roles?: number[];\n\n @ApiPropertyOptional({\n description: \"Permessi assegnati all'utente.\",\n type: [Permission],\n example: [{ codiceMenu: 'MNUOFFICINA', tipoAbilitazione: TipoAbilitazione.SCRITTURA }],\n })\n @IsOptional()\n @IsArray({ message: 'I permessi devono essere un array.' })\n @ValidateNested({ each: true })\n @Type(() => Permission)\n permissions?: Permission[];\n}\n"]}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { AccessiOptions } from "../../AccessiModule";
|
|
2
|
-
import { UserService } from "../UserService/UserService";
|
|
3
|
-
import { PermissionService } from "../PermissionService/PermissionService";
|
|
4
2
|
import { LoginRequest } from "../../Dtos/LoginRequest";
|
|
5
3
|
import { LoginResult } from "../../Dtos/LoginResponse";
|
|
4
|
+
import { UserService } from "../UserService/UserService";
|
|
5
|
+
import { PermissionService } from "../PermissionService/PermissionService";
|
|
6
6
|
import { FiltriService } from "../FiltriService/FiltriService";
|
|
7
7
|
export declare class AuthService {
|
|
8
8
|
private userService;
|
|
9
9
|
private permissionService;
|
|
10
10
|
private filtriService;
|
|
11
11
|
private readonly accessiOptions;
|
|
12
|
+
private readonly logger;
|
|
12
13
|
constructor(userService: UserService, permissionService: PermissionService, filtriService: FiltriService, accessiOptions: AccessiOptions);
|
|
14
|
+
private refreshPasswordExpiration;
|
|
15
|
+
private isMockDemoUserEnabled;
|
|
13
16
|
login(request: LoginRequest): Promise<LoginResult>;
|
|
17
|
+
getAuthenticatedTokenPayload(token: string): Promise<Record<string, unknown>>;
|
|
14
18
|
setPassword(codiceUtente: number, nuovaPassword: string): Promise<any>;
|
|
15
|
-
|
|
19
|
+
migrateLegacyEncryptedPasswords(): Promise<void>;
|
|
20
|
+
verifyPassword(codiceUtente: number, plainPassword: string): Promise<boolean>;
|
|
16
21
|
getAdminUser(): Promise<LoginResult>;
|
|
17
22
|
getDemoUser(): LoginResult;
|
|
18
23
|
confirmResetPassword(token: string, newPassword: string): Promise<void>;
|