Skip to content

Commit bf613c8

Browse files
committed
feat: implement delete by pilot ID (preliminary)
1 parent 4209217 commit bf613c8

2 files changed

Lines changed: 24 additions & 1 deletion

File tree

diracx-db/src/diracx/db/os/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,15 @@ async def search(
239239

240240
return hits
241241

242+
async def delete(self, query: list[dict[str, Any]]) -> None:
243+
244+
# Delete multiple documents by query.
245+
246+
body = {}
247+
if query:
248+
body["query"] = apply_search_filters(self.fields, query)
249+
await self.client.delete_by_query(body=body, index=f"{self.index_prefix}*")
250+
242251

243252
def require_type(operator, field_name, field_type, allowed_types):
244253
if field_type not in allowed_types:

diracx-routers/src/diracx/routers/pilot_logging/remote_logger.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,26 @@ async def get_logs(
6767
db: PilotLogsDB,
6868
check_permissions: CheckPilotLogsPolicyCallable,
6969
):
70-
logger.warning(f"Retrieving message for pilot ID '{pilot_id}'")
70+
logger.warning(f"Retrieving logs for pilot ID '{pilot_id}'")
7171
await check_permissions(action=ActionType.QUERY, pilot_db=db)
7272

7373
result = await db.search(
7474
["Message"],
7575
[{"parameter": "PilotID", "operator": "eq"} | {"value": pilot_id}],
7676
[{"parameter": "LineNumber", "direction": "asc"}],
7777
)
78+
if not result:
79+
return [f"No logs for pilot ID = {pilot_id}"]
7880
return result
81+
82+
83+
@router.delete("/delete")
84+
async def delete_by_pilot_id(
85+
pilot_id: int,
86+
db: PilotLogsDB,
87+
check_permissions: CheckPilotLogsPolicyCallable,
88+
):
89+
logger.warning(f"Deleting logs for pilot ID '{pilot_id}'")
90+
await check_permissions(action=ActionType.DELETE, pilot_db=db)
91+
await db.delete([{"parameter": "PilotID", "operator": "eq"} | {"value": pilot_id}])
92+
return f"Logs for pilot ID '{pilot_id}' successfully deleted"

0 commit comments

Comments
 (0)