emilsoftware-utilities 2.0.0-dev.10 → 2.0.0-dev.12
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/Orm.d.ts +2 -0
- package/dist/Orm.js +27 -2
- package/dist/Orm.js.map +1 -1
- package/dist/Utilities.js +1 -0
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi-module/Controllers/AuthController.d.ts +4 -4
- package/dist/accessi-module/Controllers/AuthController.js +43 -33
- package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
- package/dist/accessi-module/Controllers/ConfiguratorController.js +16 -14
- package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
- package/dist/accessi-module/Controllers/EmailController.d.ts +2 -4
- package/dist/accessi-module/Controllers/EmailController.js +8 -12
- package/dist/accessi-module/Controllers/EmailController.js.map +1 -1
- package/dist/accessi-module/Controllers/FiltriController.js +29 -0
- package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
- package/dist/accessi-module/Controllers/PermissionController.js +27 -25
- package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
- package/dist/accessi-module/Controllers/UserController.d.ts +2 -2
- package/dist/accessi-module/Controllers/UserController.js +30 -12
- package/dist/accessi-module/Controllers/UserController.js.map +1 -1
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.d.ts +10 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js +52 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +1 -0
- package/dist/accessi-module/Dtos/BaseResponse.d.ts +20 -0
- package/dist/accessi-module/Dtos/BaseResponse.js +87 -1
- package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.d.ts +3 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js +31 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.d.ts +3 -0
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js +26 -0
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.d.ts +5 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js +27 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +1 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.d.ts +5 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js +14 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/RegisterRequest.js +4 -0
- package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.d.ts +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.js +3 -3
- package/dist/accessi-module/Dtos/RegisterResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.d.ts +4 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js +36 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/UserDto.js +5 -1
- package/dist/accessi-module/Dtos/UserDto.js.map +1 -1
- package/dist/accessi-module/Dtos/UserGrantsResponse.d.ts +5 -0
- package/dist/accessi-module/Dtos/UserGrantsResponse.js +27 -0
- package/dist/accessi-module/Dtos/UserGrantsResponse.js.map +1 -0
- package/dist/accessi-module/Dtos/index.d.ts +7 -0
- package/dist/accessi-module/Dtos/index.js +7 -0
- package/dist/accessi-module/Dtos/index.js.map +1 -1
- package/dist/accessi-module/Services/FiltriService/FiltriService.js +0 -7
- package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
- package/dist/accessi-module/Services/UserService/UserService.js +2 -100
- package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
- package/dist/accessi-module/index.js +2 -0
- package/dist/accessi-module/index.js.map +1 -1
- package/dist/emilsoftware-utilities-2.0.0-dev.12.tgz +0 -0
- package/dist/firebird-compat.d.ts +1 -0
- package/dist/firebird-compat.js +2 -2
- package/dist/firebird-compat.js.map +1 -1
- package/dist/swagger/SwaggerConfig.d.ts +1 -0
- package/dist/swagger/SwaggerConfig.js +16 -5
- package/dist/swagger/SwaggerConfig.js.map +1 -1
- package/package.json +1 -1
- package/dist/emilsoftware-utilities-2.0.0-dev.10.tgz +0 -0
|
@@ -132,6 +132,10 @@ __decorate([
|
|
|
132
132
|
description: "Numero MAC associato all'utente.",
|
|
133
133
|
example: 12,
|
|
134
134
|
}),
|
|
135
|
+
(0, class_validator_1.IsOptional)(),
|
|
136
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
137
|
+
(0, class_validator_1.IsInt)({ message: 'Il numero MAC deve essere un intero.' }),
|
|
138
|
+
(0, class_validator_1.Min)(0, { message: 'Il numero MAC non puo essere negativo.' }),
|
|
135
139
|
__metadata("design:type", Number)
|
|
136
140
|
], RegisterRequest.prototype, "nummac", void 0);
|
|
137
141
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterRequest.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/RegisterRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6E;AAC7E,yDAAyC;AACzC,
|
|
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 Min,\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 @IsOptional()\n @Type(() => Number)\n @IsInt({ message: 'Il numero MAC deve essere un intero.' })\n @Min(0, { message: 'Il numero MAC non puo essere negativo.' })\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"]}
|
|
@@ -17,9 +17,9 @@ class RegisterResponse extends BaseResponse_1.BaseResponse {
|
|
|
17
17
|
exports.RegisterResponse = RegisterResponse;
|
|
18
18
|
__decorate([
|
|
19
19
|
(0, swagger_1.ApiProperty)({
|
|
20
|
-
description:
|
|
21
|
-
example:
|
|
20
|
+
description: "Codice identificativo univoco dell'utente registrato",
|
|
21
|
+
example: 123,
|
|
22
22
|
}),
|
|
23
|
-
__metadata("design:type",
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
24
|
], RegisterResponse.prototype, "Result", void 0);
|
|
25
25
|
//# sourceMappingURL=RegisterResponse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterResponse.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/RegisterResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,iDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,2BAAY;CAMjD;AAND,4CAMC;AADC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,sDAAsD;QACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RegisterResponse.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/RegisterResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,iDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,2BAAY;CAMjD;AAND,4CAMC;AADC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,sDAAsD;QACnE,OAAO,EAAE,GAAG;KACb,CAAC;;gDACa","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { BaseResponse } from './BaseResponse';\n\nexport class RegisterResponse extends BaseResponse {\n @ApiProperty({\n description: \"Codice identificativo univoco dell'utente registrato\",\n example: 123,\n })\n Result: number;\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SendResetPasswordEmailRequest = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
class SendResetPasswordEmailRequest {
|
|
16
|
+
}
|
|
17
|
+
exports.SendResetPasswordEmailRequest = SendResetPasswordEmailRequest;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, swagger_1.ApiProperty)({
|
|
20
|
+
description: "L'email dell'utente che richiede il reset.",
|
|
21
|
+
example: 'mario.rossi@dev.it',
|
|
22
|
+
}),
|
|
23
|
+
(0, class_validator_1.IsString)(),
|
|
24
|
+
(0, class_validator_1.Length)(3, 254),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], SendResetPasswordEmailRequest.prototype, "email", void 0);
|
|
27
|
+
__decorate([
|
|
28
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
29
|
+
description: 'HTML personalizzato della mail di reset, se gestito dal chiamante.',
|
|
30
|
+
example: '<html><body>Reset password</body></html>',
|
|
31
|
+
}),
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
|
+
(0, class_validator_1.IsString)(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], SendResetPasswordEmailRequest.prototype, "htmlMail", void 0);
|
|
36
|
+
//# sourceMappingURL=SendResetPasswordEmailRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SendResetPasswordEmailRequest.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/SendResetPasswordEmailRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qDAA+D;AAE/D,MAAa,6BAA6B;CAgBzC;AAhBD,sEAgBC;AATC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,oBAAoB;KAC9B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,wBAAM,EAAC,CAAC,EAAE,GAAG,CAAC;;4DACD;AAQd;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,oEAAoE;QACjF,OAAO,EAAE,0CAA0C;KACpD,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+DACO","sourcesContent":["import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString, Length } from 'class-validator';\n\nexport class SendResetPasswordEmailRequest {\n @ApiProperty({\n description: \"L'email dell'utente che richiede il reset.\",\n example: 'mario.rossi@dev.it',\n })\n @IsString()\n @Length(3, 254)\n email: string;\n\n @ApiPropertyOptional({\n description: 'HTML personalizzato della mail di reset, se gestito dal chiamante.',\n example: '<html><body>Reset password</body></html>',\n })\n @IsOptional()\n @IsString()\n htmlMail?: string;\n}\n"]}
|
|
@@ -21,7 +21,7 @@ class UserDto extends (0, swagger_1.OmitType)(FiltriUtente_1.FiltriUtente, ['cod
|
|
|
21
21
|
}
|
|
22
22
|
exports.UserDto = UserDto;
|
|
23
23
|
__decorate([
|
|
24
|
-
(0, swagger_1.ApiProperty)({ description: "Codice identificativo univoco dell'utente.", example:
|
|
24
|
+
(0, swagger_1.ApiProperty)({ description: "Codice identificativo univoco dell'utente.", example: 123 }),
|
|
25
25
|
(0, class_validator_1.IsOptional)(),
|
|
26
26
|
(0, class_transformer_1.Type)(() => Number),
|
|
27
27
|
(0, class_validator_1.IsInt)({ message: 'Il codice utente deve essere un intero.' }),
|
|
@@ -180,6 +180,10 @@ __decorate([
|
|
|
180
180
|
description: "Numero MAC associato all'utente.",
|
|
181
181
|
example: 12,
|
|
182
182
|
}),
|
|
183
|
+
(0, class_validator_1.IsOptional)(),
|
|
184
|
+
(0, class_transformer_1.Type)(() => Number),
|
|
185
|
+
(0, class_validator_1.IsInt)({ message: 'Il numero MAC deve essere un intero.' }),
|
|
186
|
+
(0, class_validator_1.Min)(0, { message: 'Il numero MAC non puo essere negativo.' }),
|
|
183
187
|
__metadata("design:type", Number)
|
|
184
188
|
], UserDto.prototype, "nummac", void 0);
|
|
185
189
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDto.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/UserDto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6E;AAC7E,yDAAyC;AACzC,qDAWyB;AACzB,6DAA0D;AAC1D,6CAA0C;AAC1C,yDAAsD;AACtD,iDAA8C;AAE9C,MAAa,OAAQ,SAAQ,IAAA,kBAAQ,EAAC,2BAAY,EAAE,CAAC,QAAQ,CAAU,CAAC;CA+KvE;AA/KD,0BA+KC;AAzKC;IALC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,4CAA4C,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC7F,IAAA,4BAAU,GAAE;IACZ,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;;6CACjD;AAMrB;IAJC,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACjF,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;IACzD,IAAA,wBAAM,EAAC,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;;sCACrE;AAKd;IAHC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxF,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;;yCAC1C;AASnB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;;yCAC7C;AASlB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,8CAA8C;QAC3D,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;;gDAChD;AASzB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,yBAAyB;QACtC,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,YAAY;KACtB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC;;qDAC9C;AAS9B;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,qCAAqC;QAClD,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;;8CAClD;AASvB;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,uCAAkB;QACxB,OAAO,EAAE,uCAAkB,CAAC,IAAI;KACjC,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,uCAAkB,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;;mDAC3C;AAQxC;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,sCAAsC;QACnD,OAAO,EAAE,WAAW;KACrB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;;iDAChD;AAM1B;IAJC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9E,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IAC5D,IAAA,wBAAM,EAAC,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;;wCACrE;AAMjB;IAJC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC3E,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;IACzD,IAAA,wBAAM,EAAC,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC;;qCACrE;AASd;IAPC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,gCAAgC;QACzC,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;;uCACpC;AAQvB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,+DAA+D;QAC5E,OAAO,EAAE,IAAI;KACd,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;;+CAC3C;AAMzB;IAJC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/E,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IAClE,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC;;6CACpE;AAUtB;IARC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IAC9D,IAAA,wBAAM,EAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC;;0CAC5D;AAK1B;IAHC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACzE,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;;0CAChD;AAQpB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,KAAK;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,EAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;;sDACtC;AAQhC;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,4CAA4C;QACzD,OAAO,EAAE,YAAY;KACtB,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;;8CAChD;AAMvB;IAJC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,EAAE;KACZ,CAAC;;uCACc;AAQhB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,mBAAmB;KAC7B,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;;6CAC9C;AAKtB;IAHC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC1F,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;;0CAClD;AAQnB;IANC,IAAA,6BAAmB,EAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpF,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,EAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACvD,IAAA,6BAAW,EAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;IACpE,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,uBAAK,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;;sCACnD;AAWjB;IATC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,CAAC,uBAAU,CAAC;QAClB,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,mCAAgB,CAAC,SAAS,EAAE,CAAC;KACvF,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,EAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;IAC1D,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,uBAAU,CAAC;;4CACI","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
|
+
{"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: 123 })\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 @IsOptional()\n @Type(() => Number)\n @IsInt({ message: 'Il numero MAC deve essere un intero.' })\n @Min(0, { message: 'Il numero MAC non puo essere negativo.' })\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"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UserGrantsResponse = void 0;
|
|
13
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
14
|
+
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
const class_validator_1 = require("class-validator");
|
|
16
|
+
const BaseResponse_1 = require("./BaseResponse");
|
|
17
|
+
const UserGrantsDto_1 = require("./UserGrantsDto");
|
|
18
|
+
class UserGrantsResponse extends BaseResponse_1.BaseResponse {
|
|
19
|
+
}
|
|
20
|
+
exports.UserGrantsResponse = UserGrantsResponse;
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, swagger_1.ApiProperty)({ type: UserGrantsDto_1.UserGrantsDto }),
|
|
23
|
+
(0, class_validator_1.ValidateNested)(),
|
|
24
|
+
(0, class_transformer_1.Type)(() => UserGrantsDto_1.UserGrantsDto),
|
|
25
|
+
__metadata("design:type", UserGrantsDto_1.UserGrantsDto)
|
|
26
|
+
], UserGrantsResponse.prototype, "Result", void 0);
|
|
27
|
+
//# sourceMappingURL=UserGrantsResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserGrantsResponse.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/UserGrantsResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAyC;AACzC,qDAAiD;AACjD,iDAA8C;AAC9C,mDAAgD;AAEhD,MAAa,kBAAmB,SAAQ,2BAAY;CAKnD;AALD,gDAKC;AADC;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,6BAAa,EAAE,CAAC;IACpC,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,6BAAa,CAAC;8BAClB,6BAAa;kDAAC","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { ValidateNested } from 'class-validator';\nimport { BaseResponse } from './BaseResponse';\nimport { UserGrantsDto } from './UserGrantsDto';\n\nexport class UserGrantsResponse extends BaseResponse {\n @ApiProperty({ type: UserGrantsDto })\n @ValidateNested()\n @Type(() => UserGrantsDto)\n Result: UserGrantsDto;\n}\n"]}
|
|
@@ -2,15 +2,22 @@ export * from "./Abilitazione";
|
|
|
2
2
|
export * from "./AbilitazioneMenu";
|
|
3
3
|
export * from "./AssignPermissionsToUserRequest";
|
|
4
4
|
export * from "./AssignRolesToUserRequest";
|
|
5
|
+
export * from "./AuthenticatedUserPayloadDto";
|
|
5
6
|
export * from "./BaseResponse";
|
|
7
|
+
export * from "./ConfirmResetPasswordRequest";
|
|
6
8
|
export * from "./UpdateEnabledStatusRequest";
|
|
7
9
|
export * from "./FiltriUtente";
|
|
10
|
+
export * from "./GetUserByTokenRequest";
|
|
11
|
+
export * from "./GetUserByTokenResponse";
|
|
8
12
|
export * from "./LoginRequest";
|
|
9
13
|
export * from "./LoginResponse";
|
|
10
14
|
export * from "./Permission";
|
|
15
|
+
export * from "./PublicRegisterRequest";
|
|
11
16
|
export * from "./Role";
|
|
17
|
+
export * from "./SendResetPasswordEmailRequest";
|
|
12
18
|
export * from "./StatoRegistrazione";
|
|
13
19
|
export * from "./TipoAbilitazione";
|
|
14
20
|
export * from "./TokenResult";
|
|
15
21
|
export * from "./UserDto";
|
|
22
|
+
export * from "./UserGrantsResponse";
|
|
16
23
|
export * from "./RuoliMenu";
|
|
@@ -18,16 +18,23 @@ __exportStar(require("./Abilitazione"), exports);
|
|
|
18
18
|
__exportStar(require("./AbilitazioneMenu"), exports);
|
|
19
19
|
__exportStar(require("./AssignPermissionsToUserRequest"), exports);
|
|
20
20
|
__exportStar(require("./AssignRolesToUserRequest"), exports);
|
|
21
|
+
__exportStar(require("./AuthenticatedUserPayloadDto"), exports);
|
|
21
22
|
__exportStar(require("./BaseResponse"), exports);
|
|
23
|
+
__exportStar(require("./ConfirmResetPasswordRequest"), exports);
|
|
22
24
|
__exportStar(require("./UpdateEnabledStatusRequest"), exports);
|
|
23
25
|
__exportStar(require("./FiltriUtente"), exports);
|
|
26
|
+
__exportStar(require("./GetUserByTokenRequest"), exports);
|
|
27
|
+
__exportStar(require("./GetUserByTokenResponse"), exports);
|
|
24
28
|
__exportStar(require("./LoginRequest"), exports);
|
|
25
29
|
__exportStar(require("./LoginResponse"), exports);
|
|
26
30
|
__exportStar(require("./Permission"), exports);
|
|
31
|
+
__exportStar(require("./PublicRegisterRequest"), exports);
|
|
27
32
|
__exportStar(require("./Role"), exports);
|
|
33
|
+
__exportStar(require("./SendResetPasswordEmailRequest"), exports);
|
|
28
34
|
__exportStar(require("./StatoRegistrazione"), exports);
|
|
29
35
|
__exportStar(require("./TipoAbilitazione"), exports);
|
|
30
36
|
__exportStar(require("./TokenResult"), exports);
|
|
31
37
|
__exportStar(require("./UserDto"), exports);
|
|
38
|
+
__exportStar(require("./UserGrantsResponse"), exports);
|
|
32
39
|
__exportStar(require("./RuoliMenu"), exports);
|
|
33
40
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,qDAAmC;AACnC,mEAAiD;AACjD,6DAA2C;AAC3C,iDAA+B;AAC/B,+DAA4C;AAE5C,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,+CAA6B;AAC7B,yCAAuB;AACvB,uDAAqC;AACrC,qDAAmC;AACnC,gDAA8B;AAC9B,4CAA0B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/accessi-module/Dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,qDAAmC;AACnC,mEAAiD;AACjD,6DAA2C;AAC3C,gEAA8C;AAC9C,iDAA+B;AAC/B,gEAA8C;AAC9C,+DAA4C;AAE5C,iDAA+B;AAC/B,0DAAwC;AACxC,2DAAyC;AACzC,iDAA+B;AAC/B,kDAAgC;AAChC,+CAA6B;AAC7B,0DAAwC;AACxC,yCAAuB;AACvB,kEAAgD;AAChD,uDAAqC;AACrC,qDAAmC;AACnC,gDAA8B;AAC9B,4CAA0B;AAC1B,uDAAqC;AAErC,8CAA2B","sourcesContent":["export * from \"./Abilitazione\";\nexport * from \"./AbilitazioneMenu\";\nexport * from \"./AssignPermissionsToUserRequest\";\nexport * from \"./AssignRolesToUserRequest\";\nexport * from \"./AuthenticatedUserPayloadDto\";\nexport * from \"./BaseResponse\";\nexport * from \"./ConfirmResetPasswordRequest\";\nexport * from \"./UpdateEnabledStatusRequest\"\n\nexport * from \"./FiltriUtente\";\nexport * from \"./GetUserByTokenRequest\";\nexport * from \"./GetUserByTokenResponse\";\nexport * from \"./LoginRequest\";\nexport * from \"./LoginResponse\";\nexport * from \"./Permission\";\nexport * from \"./PublicRegisterRequest\";\nexport * from \"./Role\";\nexport * from \"./SendResetPasswordEmailRequest\";\nexport * from \"./StatoRegistrazione\";\nexport * from \"./TipoAbilitazione\";\nexport * from \"./TokenResult\";\nexport * from \"./UserDto\";\nexport * from \"./UserGrantsResponse\";\n\nexport * from \"./RuoliMenu\"\n\n"]}
|
|
@@ -72,18 +72,15 @@ let FiltriService = FiltriService_1 = class FiltriService {
|
|
|
72
72
|
upsertFiltriUtente(codUte, dto) {
|
|
73
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
74
|
try {
|
|
75
|
-
console.debug('Dati utente da aggiornare: ', dto);
|
|
76
75
|
if (!codUte || codUte <= 0)
|
|
77
76
|
throw new Error('Codice utente non valido');
|
|
78
77
|
const dbFields = ['CODUTE'];
|
|
79
78
|
const values = [codUte];
|
|
80
79
|
//aggiungo solo campi valorizzati
|
|
81
80
|
for (const [key, cfg] of Object.entries(Dtos_1.FILTRI_UTENTE_DB_MAPPING)) {
|
|
82
|
-
console.log('valuto campo: ', key);
|
|
83
81
|
const value = dto[key];
|
|
84
82
|
//gestione campi vuoti, null o undefined
|
|
85
83
|
if (value === undefined) {
|
|
86
|
-
console.log(`Campo ${key} vuoto: ${value}`);
|
|
87
84
|
continue;
|
|
88
85
|
}
|
|
89
86
|
if (value === null || value === '') {
|
|
@@ -91,10 +88,6 @@ let FiltriService = FiltriService_1 = class FiltriService {
|
|
|
91
88
|
values.push(null);
|
|
92
89
|
continue;
|
|
93
90
|
}
|
|
94
|
-
// if (value === undefined || value === null || value === '') {
|
|
95
|
-
// console.log(`Campo ${key} vuoto: ${value}`)
|
|
96
|
-
// continue;
|
|
97
|
-
// }
|
|
98
91
|
if (cfg.numeric && typeof value !== 'number') {
|
|
99
92
|
throw new Error(`Il campo ${key} deve essere un numero`);
|
|
100
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltriService.js","sourceRoot":"","sources":["../../../../src/accessi-module/Services/FiltriService/FiltriService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AAGpD,sCAAmC;AACnC,kDAAmD;AACnD,4CAAyC;AACzC,qCAAoE;AAG7D,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAExB,YAAuC,cAA+C;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QADrE,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IACgC,CAAC;IAE7E,aAAa;;YACxB,IAAI,CAAC;gBACH,IAAI,QAAQ,GACV,4GAA4G,CAAC;gBAC/G,MAAM,MAAM,GAAG,EAAE,CAAC;gBAElB,IAAI,MAAM,GAAG,MAAM,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpF,OAAO,MAAM,CAAC,GAAG,CAAC,yBAAa,CAAC,sBAAsB,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;gBAC1E,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAEY,aAAa,CAAC,MAAc;;YACvC,IAAI,CAAC;gBACH,IAAI,MAAM,GAAG,EAAE,CAAC;gBAEhB,IAAI,QAAQ,GAAG;2HACsG,CAAC;gBAEtH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;gBACrF,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gDAAgD,GAAG,MAAM,CAAC,CAAC;oBAC3E,QAAQ,IAAI,mBAAmB,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBAED,IAAI,MAAM,GAAG,MAAM,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpF,OAAO,MAAM,CAAC,GAAG,CAAC,yBAAa,CAAC,sBAAsB,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAEY,kBAAkB,CAAC,MAAc,EAAE,GAA0B;;YACxE,IAAI,CAAC;gBACH,
|
|
1
|
+
{"version":3,"file":"FiltriService.js","sourceRoot":"","sources":["../../../../src/accessi-module/Services/FiltriService/FiltriService.ts"],"names":[],"mappings":"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","sourcesContent":["import { Inject, Injectable } from '@nestjs/common';\nimport { AccessiOptions } from '../../AccessiModule';\nimport { TipoFiltro } from '../../Dtos/TipoFiltro';\nimport { Orm } from '../../../Orm';\nimport { RestUtilities } from '../../../Utilities';\nimport { Logger } from '../../../Logger';\nimport { FiltriUtente, FILTRI_UTENTE_DB_MAPPING } from '../../Dtos';\n\n@Injectable()\nexport class FiltriService {\n private readonly logger = new Logger(FiltriService.name);\n constructor(@Inject('ACCESSI_OPTIONS') private readonly accessiOptions: AccessiOptions) {}\n\n public async getTipoFiltri(): Promise<TipoFiltro[]> {\n try {\n let getQuery =\n 'SELECT TIPFIL AS TIP_FIL, DESFIL AS DES_FIL, FLDFIL AS FLD_FIL, FLGENABLED AS FLG_ENABLED FROM FILTRI_TIPO';\n const params = [];\n\n let result = await Orm.query(this.accessiOptions.databaseOptions, getQuery, params);\n return result.map(RestUtilities.convertKeysToCamelCase);\n } catch (error) {\n this.logger.error('Errore durante il recupero dei tipi di filtri', error);\n throw error;\n }\n }\n\n public async getFiltriUser(codUte: number): Promise<FiltriUtente[]> {\n try {\n let params = [];\n\n let getQuery = `SELECT CODUTE AS COD_UTE, PROG AS PROGRESSIVO, NUMREP AS NUM_REP, IDXPERS AS IDX_PERS, CODCLISUPER AS COD_CLI_SUPER, CODAGE AS COD_AGE, CODCLICOL AS COD_CLI_COL,\n CODCLIENTI AS COD_CLIENTI, TIPFIL AS TIP_FIL, CODDIP AS COD_DIP, IDXPOS AS IDX_POS, CODVET AS COD_VET FROM FILTRI `;\n\n if (codUte === undefined) {\n this.logger.log('Nessun utente passato, recupero i filtri di tutti gli utenti...');\n } else {\n this.logger.log('codUte passato, recupero i filtri dell utente ' + codUte);\n getQuery += ' WHERE CODUTE = ?';\n params.push(codUte);\n }\n\n let result = await Orm.query(this.accessiOptions.databaseOptions, getQuery, params);\n return result.map(RestUtilities.convertKeysToCamelCase);\n } catch (error) {\n throw error;\n }\n }\n\n public async upsertFiltriUtente(codUte: number, dto: Partial<FiltriUtente>): Promise<void> {\n try {\n if (!codUte || codUte <= 0) throw new Error('Codice utente non valido');\n\n const dbFields: string[] = ['CODUTE'];\n const values: any[] = [codUte];\n\n //aggiungo solo campi valorizzati\n for (const [key, cfg] of Object.entries(FILTRI_UTENTE_DB_MAPPING)) {\n const value = (dto as any)[key];\n\n //gestione campi vuoti, null o undefined\n if (value === undefined) {\n continue\n }\n\n if (value === null || value === '') {\n dbFields.push(cfg.dbField);\n values.push(null);\n continue\n }\n if (cfg.numeric && typeof value !== 'number') {\n throw new Error(`Il campo ${key} deve essere un numero`);\n }\n if (!cfg.numeric && typeof value !== 'string') {\n throw new Error(`Il campo ${key} deve essere una stringa`);\n }\n dbFields.push(cfg.dbField);\n values.push(value);\n }\n\n if (dbFields.length === 1) {\n this.logger.log(`Nessun campo valido da inserire per l'utente ${codUte}`)\n return\n }\n\n let sSql = `UPDATE OR INSERT INTO FILTRI (${dbFields.join(',')}) VALUES (${values.map(() => '?').join(', ')}) MATCHING (CODUTE)`\n await Orm.execute(this.accessiOptions.databaseOptions, sSql, values)\n\n this.logger.log('Update or Insert filtri OK per CODUTE = ' + codUte)\n\n } catch (error) {\n throw new Error(`Errore durante update or insert filtri per utente ${codUte}: ${error.message}`);\n\n }\n }\n}\n"]}
|
|
@@ -239,50 +239,7 @@ let UserService = class UserService {
|
|
|
239
239
|
}
|
|
240
240
|
insertUserFilters(codiceUtente, filterData) {
|
|
241
241
|
return __awaiter(this, void 0, void 0, function* () {
|
|
242
|
-
|
|
243
|
-
if (!codiceUtente || codiceUtente <= 0) {
|
|
244
|
-
throw new Error('Codice utente non valido');
|
|
245
|
-
}
|
|
246
|
-
const fieldMapping = {
|
|
247
|
-
numeroReport: { dbField: 'NUMREP', type: 'number' },
|
|
248
|
-
indicePersonale: { dbField: 'IDXPERS', type: 'number' },
|
|
249
|
-
codiceClienteSuper: { dbField: 'CODCLISUPER', type: 'number' },
|
|
250
|
-
codAge: { dbField: 'CODAGE', type: 'number' },
|
|
251
|
-
codiceClienteCollegato: { dbField: 'CODCLICOL', type: 'number' },
|
|
252
|
-
codiceClienti: { dbField: 'CODCLIENTI', type: 'string' },
|
|
253
|
-
tipFil: { dbField: 'TIPFIL', type: 'number' },
|
|
254
|
-
idxPostazione: { dbField: 'IDXPOS', type: 'number' },
|
|
255
|
-
};
|
|
256
|
-
const fieldsToInsert = Object.entries(fieldMapping)
|
|
257
|
-
.filter(([tsField]) => {
|
|
258
|
-
const value = filterData[tsField];
|
|
259
|
-
return value !== undefined && value !== null && value !== '';
|
|
260
|
-
})
|
|
261
|
-
.map(([tsField, config]) => {
|
|
262
|
-
const value = filterData[tsField];
|
|
263
|
-
if (config.type === 'number' && typeof value !== 'number') {
|
|
264
|
-
throw new Error(`Il campo ${tsField} deve essere un numero`);
|
|
265
|
-
}
|
|
266
|
-
if (config.type === 'string' && typeof value !== 'string') {
|
|
267
|
-
throw new Error(`Il campo ${tsField} deve essere una stringa`);
|
|
268
|
-
}
|
|
269
|
-
return { tsField, dbField: config.dbField, value };
|
|
270
|
-
});
|
|
271
|
-
if (fieldsToInsert.length === 0) {
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
yield this.executeInTransaction(() => __awaiter(this, void 0, void 0, function* () {
|
|
275
|
-
yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, 'DELETE FROM FILTRI WHERE CODUTE = ?', [codiceUtente]);
|
|
276
|
-
const dbFields = ['CODUTE', ...fieldsToInsert.map((f) => f.dbField)];
|
|
277
|
-
const placeholders = dbFields.map(() => '?');
|
|
278
|
-
const values = [codiceUtente, ...fieldsToInsert.map((f) => f.value)];
|
|
279
|
-
const insertQuery = `INSERT INTO FILTRI (${dbFields.join(', ')}) VALUES (${placeholders.join(', ')})`;
|
|
280
|
-
yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, insertQuery, values);
|
|
281
|
-
}));
|
|
282
|
-
}
|
|
283
|
-
catch (error) {
|
|
284
|
-
throw new Error(`Errore durante l'inserimento dei filtri per utente ${codiceUtente}: ${error.message}`);
|
|
285
|
-
}
|
|
242
|
+
yield this.filtriService.upsertFiltriUtente(codiceUtente, filterData);
|
|
286
243
|
});
|
|
287
244
|
}
|
|
288
245
|
executeInTransaction(operation) {
|
|
@@ -485,62 +442,7 @@ let UserService = class UserService {
|
|
|
485
442
|
}
|
|
486
443
|
updateUserFilters(codiceUtente, user) {
|
|
487
444
|
return __awaiter(this, void 0, void 0, function* () {
|
|
488
|
-
|
|
489
|
-
if (!codiceUtente || codiceUtente <= 0) {
|
|
490
|
-
throw new Error('Codice utente non valido');
|
|
491
|
-
}
|
|
492
|
-
const fieldMapping = {
|
|
493
|
-
numRep: { dbField: 'NUMREP', type: 'number' },
|
|
494
|
-
idxPers: { dbField: 'IDXPERS', type: 'number' },
|
|
495
|
-
codCliSuper: { dbField: 'CODCLISUPER', type: 'number' },
|
|
496
|
-
codAge: { dbField: 'CODAGE', type: 'number' },
|
|
497
|
-
codCliCol: { dbField: 'CODCLICOL', type: 'number' },
|
|
498
|
-
codiceClienti: { dbField: 'CODCLIENTI', type: 'string' },
|
|
499
|
-
tipFil: { dbField: 'TIPFIL', type: 'number' },
|
|
500
|
-
idxPostazione: { dbField: 'IDXPOS', type: 'number' },
|
|
501
|
-
};
|
|
502
|
-
const fieldsToUpdate = Object.entries(fieldMapping)
|
|
503
|
-
.filter(([tsField]) => {
|
|
504
|
-
const value = user[tsField];
|
|
505
|
-
return value !== undefined && value !== null;
|
|
506
|
-
})
|
|
507
|
-
.map(([tsField, config]) => {
|
|
508
|
-
const value = user[tsField];
|
|
509
|
-
if (config.type === 'number' && typeof value !== 'number') {
|
|
510
|
-
throw new Error(`Il campo ${tsField} deve essere un numero`);
|
|
511
|
-
}
|
|
512
|
-
if (config.type === 'string' && typeof value !== 'string') {
|
|
513
|
-
throw new Error(`Il campo ${tsField} deve essere una stringa`);
|
|
514
|
-
}
|
|
515
|
-
return { tsField, dbField: config.dbField, value };
|
|
516
|
-
});
|
|
517
|
-
if (fieldsToUpdate.length === 0) {
|
|
518
|
-
return;
|
|
519
|
-
}
|
|
520
|
-
yield this.executeInTransaction(() => __awaiter(this, void 0, void 0, function* () {
|
|
521
|
-
const checkQuery = `SELECT COUNT(*) as CNT FROM FILTRI WHERE CODUTE = ?`;
|
|
522
|
-
const existingRecord = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, checkQuery, [
|
|
523
|
-
codiceUtente,
|
|
524
|
-
]);
|
|
525
|
-
const exists = existingRecord[0].CNT > 0;
|
|
526
|
-
if (exists) {
|
|
527
|
-
const updates = fieldsToUpdate.map((f) => `${f.dbField} = ?`).join(', ');
|
|
528
|
-
const values = [...fieldsToUpdate.map((f) => f.value), codiceUtente];
|
|
529
|
-
const updateQuery = `UPDATE FILTRI SET ${updates} WHERE CODUTE = ?`;
|
|
530
|
-
yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, updateQuery, values);
|
|
531
|
-
}
|
|
532
|
-
else {
|
|
533
|
-
const dbFields = ['CODUTE', ...fieldsToUpdate.map((f) => f.dbField)];
|
|
534
|
-
const placeholders = dbFields.map(() => '?');
|
|
535
|
-
const insertValues = [codiceUtente, ...fieldsToUpdate.map((f) => f.value)];
|
|
536
|
-
const insertQuery = `INSERT INTO FILTRI (${dbFields.join(', ')}) VALUES (${placeholders.join(', ')})`;
|
|
537
|
-
yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, insertQuery, insertValues);
|
|
538
|
-
}
|
|
539
|
-
}));
|
|
540
|
-
}
|
|
541
|
-
catch (error) {
|
|
542
|
-
throw new Error(`Errore durante l'aggiornamento dei filtri per utente ${codiceUtente}: ${error.message}`);
|
|
543
|
-
}
|
|
445
|
+
yield this.filtriService.upsertFiltriUtente(codiceUtente, user);
|
|
544
446
|
});
|
|
545
447
|
}
|
|
546
448
|
deleteUser(codiceCliente) {
|