Skip to content

Commit 51e5532

Browse files
committed
Refactor validation methods to handle optional additionalFields and improve code formatting
1 parent 7256950 commit 51e5532

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

src/management/identities/identities-crud.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ export class IdentitiesCrudService extends AbstractIdentitiesService {
2424
delete (data.metadata);
2525
}
2626

27-
await this._validation.transform(data.additionalFields);
27+
await this._validation.transform(data.additionalFields || {});
2828

29-
let validationsAdFields = await this._validation.validate(data.additionalFields);
29+
let validationsAdFields = await this._validation.validate(data.additionalFields || {});
3030

3131
this.logger.log(`${logPrefix} AdditionalFields validation successful.`);
3232
this.logger.log(`Validations Additional fields: ${validationsAdFields}`);

src/management/identities/validations/identities.validation.service.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import validSchema from './_config/validSchema';
1111
import ajvErrors from 'ajv-errors';
1212
import { ValidationConfigException, ValidationSchemaException } from '~/_common/errors/ValidationException';
1313
import { additionalFieldsPartDto } from '../_dto/_parts/additionalFields.dto';
14-
import {ConfigService} from "@nestjs/config";
14+
import { ConfigService } from "@nestjs/config";
1515

1616
/**
1717
* Service responsible for validating identities.
@@ -72,7 +72,7 @@ export class IdentitiesValidationService implements OnApplicationBootstrap {
7272
return null;
7373
}
7474

75-
public async transform(data: AdditionalFieldsPart | additionalFieldsPartDto): Promise<AdditionalFieldsPart | additionalFieldsPartDto> {
75+
public async transform(data: Partial<AdditionalFieldsPart | additionalFieldsPartDto> = {}): Promise<Partial<AdditionalFieldsPart | additionalFieldsPartDto>> {
7676
if (!data.objectClasses) {
7777
data.objectClasses = [];
7878
}
@@ -81,15 +81,15 @@ export class IdentitiesValidationService implements OnApplicationBootstrap {
8181
}
8282
data.validations = {};
8383

84-
const objectClasses = data.objectClasses || [];
8584
const attributes = data.attributes || {};
8685
const attributesKeys = Object.keys(attributes);
87-
const validations = {};
86+
8887
//test si il y a les attributs sans attributes
8988
await this.checkAndCreateObjectClasses(data);
9089
for (const key of attributesKeys) {
9190
await this.transformAttribute(key, attributes[key], attributes);
9291
}
92+
9393
return data
9494
}
9595

@@ -227,7 +227,7 @@ export class IdentitiesValidationService implements OnApplicationBootstrap {
227227
* @param data - The additional fields data to validate.
228228
* @returns A promise that resolves if validation succeeds, or rejects with validation errors.
229229
*/
230-
public async validate(data: AdditionalFieldsPart | additionalFieldsPartDto,callException:boolean=true): Promise<object> {
230+
public async validate(data: AdditionalFieldsPart | additionalFieldsPartDto, callException: boolean = true): Promise<object> {
231231
if (!data.objectClasses) {
232232
data.objectClasses = [];
233233
}
@@ -316,15 +316,15 @@ export class IdentitiesValidationService implements OnApplicationBootstrap {
316316
// mise de min length et minItems dans les champs requis
317317
if (schema.hasOwnProperty('required')) {
318318
for (const required of schema['required']) {
319-
switch(schema['properties'][required]['type']){
319+
switch (schema['properties'][required]['type']) {
320320
case 'array':
321-
if (!schema['properties'][required]['minItems']){
322-
schema['properties'][required]['minItems']=1
321+
if (!schema['properties'][required]['minItems']) {
322+
schema['properties'][required]['minItems'] = 1
323323
}
324324
break;
325325
case 'string':
326-
if (!schema['properties'][required]['minLength']){
327-
schema['properties'][required]['minLength']=1
326+
if (!schema['properties'][required]['minLength']) {
327+
schema['properties'][required]['minLength'] = 1
328328
}
329329
break;
330330
}
@@ -444,8 +444,8 @@ export class IdentitiesValidationService implements OnApplicationBootstrap {
444444
}
445445
return parse(readFileSync(filePath, 'utf-8'));
446446
}
447-
private async translateAjv(messages){
448-
switch(this.config.get('application.lang')){
447+
private async translateAjv(messages) {
448+
switch (this.config.get('application.lang')) {
449449
case 'en':
450450
break
451451
case 'fr':

0 commit comments

Comments
 (0)