From 11bd8dc6a2634c2c4298425246879b2f1fdf04a0 Mon Sep 17 00:00:00 2001 From: almog8k Date: Thu, 25 Jun 2026 15:52:16 +0300 Subject: [PATCH 1/4] feat: add layer deletion job and task type constants --- src/constants/deletion/constants.ts | 15 +++++++++++++++ src/constants/deletion/index.ts | 1 + src/constants/index.ts | 1 + 3 files changed, 17 insertions(+) create mode 100644 src/constants/deletion/constants.ts create mode 100644 src/constants/deletion/index.ts diff --git a/src/constants/deletion/constants.ts b/src/constants/deletion/constants.ts new file mode 100644 index 0000000..5a5fe5f --- /dev/null +++ b/src/constants/deletion/constants.ts @@ -0,0 +1,15 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +export const DeletionJobTypes = { + Delete_Layer: 'Delete_Layer', +} as const; + +export type DeletionJobTypes = (typeof DeletionJobTypes)[keyof typeof DeletionJobTypes]; + +export const DeletionTaskTypes = { + Delete: 'delete', + LayerTilesDeletion: 'full-layer-tiles-deletion', + ArtifactsDeletion: 'artifacts-deletion', +} as const; + +export type DeletionTaskTypes = (typeof DeletionTaskTypes)[keyof typeof DeletionTaskTypes]; +/* eslint-enable @typescript-eslint/naming-convention */ diff --git a/src/constants/deletion/index.ts b/src/constants/deletion/index.ts new file mode 100644 index 0000000..c94f80f --- /dev/null +++ b/src/constants/deletion/index.ts @@ -0,0 +1 @@ +export * from './constants'; diff --git a/src/constants/index.ts b/src/constants/index.ts index 88e754e..73ddaf1 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -1,3 +1,4 @@ export * from './core'; export * from './ingestion'; export * from './export'; +export * from './deletion'; From b9aacde989bc1154197d7b9935742a69d76be162 Mon Sep 17 00:00:00 2001 From: almog8k Date: Thu, 25 Jun 2026 15:52:24 +0300 Subject: [PATCH 2/4] feat: add layer deletion job and task schemas --- src/schemas/deletion/index.ts | 2 ++ src/schemas/deletion/job.schema.ts | 7 +++++++ src/schemas/deletion/task.schema.ts | 26 ++++++++++++++++++++++++++ src/schemas/index.ts | 1 + 4 files changed, 36 insertions(+) create mode 100644 src/schemas/deletion/index.ts create mode 100644 src/schemas/deletion/job.schema.ts create mode 100644 src/schemas/deletion/task.schema.ts diff --git a/src/schemas/deletion/index.ts b/src/schemas/deletion/index.ts new file mode 100644 index 0000000..5e69007 --- /dev/null +++ b/src/schemas/deletion/index.ts @@ -0,0 +1,2 @@ +export * from './task.schema'; +export * from './job.schema'; diff --git a/src/schemas/deletion/job.schema.ts b/src/schemas/deletion/job.schema.ts new file mode 100644 index 0000000..59a74b8 --- /dev/null +++ b/src/schemas/deletion/job.schema.ts @@ -0,0 +1,7 @@ +import { z } from 'zod'; + +export const deleteLayerJobParamsSchema = z + .object({ + approver: z.string(), + }) + .describe('deleteLayerJobParamsSchema'); diff --git a/src/schemas/deletion/task.schema.ts b/src/schemas/deletion/task.schema.ts new file mode 100644 index 0000000..d5c8e5e --- /dev/null +++ b/src/schemas/deletion/task.schema.ts @@ -0,0 +1,26 @@ +import { z } from 'zod'; +import { SourceType } from '../../constants/core/constants'; + +export const sourceProviderSchema = z.union([z.literal(SourceType.S3), z.literal(SourceType.FS)]); + +export const deleteTaskParamsSchema = z + .object({ + deleteFromCatalog: z.boolean().default(false), + deleteFromGeoserver: z.boolean().default(false), + deleteFromMapproxy: z.boolean().default(false), + }) + .describe('deleteTaskParamsSchema'); + +export const layerTilesDeletionParamsSchema = z + .object({ + catalogId: z.string().uuid(), + sourceProvider: sourceProviderSchema, + }) + .describe('layerTilesDeletionParamsSchema'); + +export const artifactsDeletionParamsSchema = z + .object({ + sourceProvider: sourceProviderSchema, + paths: z.array(z.string().min(1)).min(1), // explicit thumbnail/legend object keys (s3) or file paths (fs) + }) + .describe('artifactsDeletionParamsSchema'); diff --git a/src/schemas/index.ts b/src/schemas/index.ts index 88e754e..73ddaf1 100644 --- a/src/schemas/index.ts +++ b/src/schemas/index.ts @@ -1,3 +1,4 @@ export * from './core'; export * from './ingestion'; export * from './export'; +export * from './deletion'; From b8b13ef6553362c6e33ad149987747a3bc4d3846 Mon Sep 17 00:00:00 2001 From: almog8k Date: Thu, 25 Jun 2026 15:52:32 +0300 Subject: [PATCH 3/4] feat: add layer deletion job and task types --- src/types/deletion/index.ts | 2 ++ src/types/deletion/job.type.ts | 4 ++++ src/types/deletion/task.type.ts | 6 ++++++ src/types/index.ts | 1 + 4 files changed, 13 insertions(+) create mode 100644 src/types/deletion/index.ts create mode 100644 src/types/deletion/job.type.ts create mode 100644 src/types/deletion/task.type.ts diff --git a/src/types/deletion/index.ts b/src/types/deletion/index.ts new file mode 100644 index 0000000..164369b --- /dev/null +++ b/src/types/deletion/index.ts @@ -0,0 +1,2 @@ +export * from './task.type'; +export * from './job.type'; diff --git a/src/types/deletion/job.type.ts b/src/types/deletion/job.type.ts new file mode 100644 index 0000000..e4f67e4 --- /dev/null +++ b/src/types/deletion/job.type.ts @@ -0,0 +1,4 @@ +import z from 'zod'; +import { deleteLayerJobParamsSchema } from '../../schemas/deletion/job.schema'; + +export type DeleteLayerJobParams = z.infer; diff --git a/src/types/deletion/task.type.ts b/src/types/deletion/task.type.ts new file mode 100644 index 0000000..afe8c6e --- /dev/null +++ b/src/types/deletion/task.type.ts @@ -0,0 +1,6 @@ +import z from 'zod'; +import { deleteTaskParamsSchema, layerTilesDeletionParamsSchema, artifactsDeletionParamsSchema } from '../../schemas/deletion/task.schema'; + +export type DeleteTaskParams = z.infer; +export type LayerTilesDeletionParams = z.infer; +export type ArtifactsDeletionParams = z.infer; diff --git a/src/types/index.ts b/src/types/index.ts index 88e754e..73ddaf1 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,3 +1,4 @@ export * from './core'; export * from './ingestion'; export * from './export'; +export * from './deletion'; From e1b476c40e6bf858df38280fc83b07a98227a6ff Mon Sep 17 00:00:00 2001 From: almog8k Date: Sun, 28 Jun 2026 11:27:25 +0300 Subject: [PATCH 4/4] feat: added deletePolygonParts flag --- src/schemas/deletion/task.schema.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/schemas/deletion/task.schema.ts b/src/schemas/deletion/task.schema.ts index d5c8e5e..6989a99 100644 --- a/src/schemas/deletion/task.schema.ts +++ b/src/schemas/deletion/task.schema.ts @@ -6,8 +6,9 @@ export const sourceProviderSchema = z.union([z.literal(SourceType.S3), z.literal export const deleteTaskParamsSchema = z .object({ deleteFromCatalog: z.boolean().default(false), - deleteFromGeoserver: z.boolean().default(false), deleteFromMapproxy: z.boolean().default(false), + deleteFromGeoserver: z.boolean().default(false), + deletePolygonParts: z.boolean().default(false), }) .describe('deleteTaskParamsSchema');