diff --git a/src/schemas/ingestion/validationTask.schema.ts b/src/schemas/ingestion/validationTask.schema.ts index 930ddd7..b3e1824 100644 --- a/src/schemas/ingestion/validationTask.schema.ts +++ b/src/schemas/ingestion/validationTask.schema.ts @@ -22,6 +22,7 @@ export const thresholdsSchema = z.object({ count: counterSchema, }), smallGeometries: thresholdCheckSchema.describe('Small geometries threshold check result'), + resolution: thresholdCheckSchema.describe('Resolution threshold check result'), }); export const validationAggregatedErrorsSchema = z.object({ diff --git a/src/types/ingestion/report.type.ts b/src/types/ingestion/report.type.ts index 3de23c8..ebd0c47 100644 --- a/src/types/ingestion/report.type.ts +++ b/src/types/ingestion/report.type.ts @@ -7,9 +7,20 @@ export type PolygonPartValidationErrorsType = Pick< 'RESOLUTION' | 'GEOMETRY_VALIDITY' | 'SMALL_GEOMETRY' | 'SMALL_HOLES' | 'UNKNOWN' >[keyof Pick]; +export interface PolygonPartValidationResolutionErrorItem { + code: (typeof ValidationErrorType)['RESOLUTION']; + isExceeded: boolean; +} + +export interface PolygonPartValidationGeneralErrorItem { + code: Exclude; +} + +export type PolygonPartValidationErrorItem = PolygonPartValidationResolutionErrorItem | PolygonPartValidationGeneralErrorItem; + export interface PolygonPartValidationError { id: string; - errors: PolygonPartValidationErrorsType[]; + errors: PolygonPartValidationErrorItem[]; } export interface PolygonPartsChunkValidationResult { parts: PolygonPartValidationError[];