From c2fc34ce99a088d26c5e5eada90811df6cd1fd96 Mon Sep 17 00:00:00 2001 From: Rodrigoue9 Date: Wed, 19 Aug 2026 12:00:06 -0300 Subject: [PATCH] feat(worldBuilder): add clearTileRange helper (#29) --- api/src/repositories/worldBuilder.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/api/src/repositories/worldBuilder.ts b/api/src/repositories/worldBuilder.ts index 8fd58c95..82f74b90 100644 --- a/api/src/repositories/worldBuilder.ts +++ b/api/src/repositories/worldBuilder.ts @@ -417,3 +417,21 @@ export async function clearTile( return (result.rowCount ?? 0) > 0; } + +export async function clearTileRange( + mapNum: number, + xMin: number, + xMax: number, + yMin: number, + yMax: number, + layer?: number, +): Promise { + const query = typeof layer === "number" + ? `DELETE FROM game_map_tile_overrides + WHERE map_num = $1 AND x >= $2 AND x <= $3 AND y >= $4 AND y <= $5 AND layer = $6 AND status = 'draft'` + : `DELETE FROM game_map_tile_overrides + WHERE map_num = $1 AND x >= $2 AND x <= $3 AND y >= $4 AND y <= $5 AND status = 'draft'`; + const params = typeof layer === "number" ? [mapNum, xMin, xMax, yMin, yMax, layer] : [mapNum, xMin, xMax, yMin, yMax]; + const result = await pool.query(query, params); + return result.rowCount ?? 0; +}