From 86eeda3f0efa2de62a71f2454dacadd03ef41534 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Fri, 24 Jul 2026 10:49:39 -0700 Subject: [PATCH] replace error instances with AppError --- server/src/domain/checks/check.repository.mongo.ts | 8 +++++++- .../domain/geo-checks/geo-check.repository.interface.ts | 1 - server/src/domain/users/user.repository.mongo.ts | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/server/src/domain/checks/check.repository.mongo.ts b/server/src/domain/checks/check.repository.mongo.ts index 4bfb65dd4..f07f7b3ee 100644 --- a/server/src/domain/checks/check.repository.mongo.ts +++ b/server/src/domain/checks/check.repository.mongo.ts @@ -21,6 +21,7 @@ import { toStringId, toDateString } from "@/utils/mongoMappers.js"; import { getHardwareUpChecks, getHardwareStats, getHardwareTotalChecks } from "@/domain/checks/check.hardware.aggregations.js"; import { DateRange } from "@/types/query.js"; +import { AppError } from "@/utils/AppError.js"; const SERVICE_NAME = "StatusService"; @@ -181,7 +182,12 @@ class MongoChecksRepository implements IChecksRepository { // Map id to _id for MongoDB storage const { id, metadata, ...rest } = check; if (!metadata || !metadata.monitorId || !metadata.teamId) { - throw new Error(`Check must have valid metadata with monitorId and teamId. Got: ${JSON.stringify({ id, metadata })}`); + throw new AppError({ + message: `Check must have valid metadata with monitorId and teamId. Got: ${JSON.stringify({ id, metadata })}`, + status: 500, + service: SERVICE_NAME, + method: "toDocument", + }); } return { _id: id ? new mongoose.Types.ObjectId(id) : new mongoose.Types.ObjectId(), diff --git a/server/src/domain/geo-checks/geo-check.repository.interface.ts b/server/src/domain/geo-checks/geo-check.repository.interface.ts index a2cb7f84e..a9a81f57c 100644 --- a/server/src/domain/geo-checks/geo-check.repository.interface.ts +++ b/server/src/domain/geo-checks/geo-check.repository.interface.ts @@ -22,7 +22,6 @@ export interface IGeoChecksRepository { rowsPerPage: number, continents?: GeoContinent[] ): Promise; - findByMonitorIdAndDateRange(monitorId: string, startDate: Date, endDate: Date): Promise; findGroupedByMonitorIdAndDateRange(monitorId: string, DateRange: DateRange, continents?: GeoContinent[]): Promise; deleteByMonitorId(monitorId: string): Promise; deleteByTeamId(teamId: string): Promise; diff --git a/server/src/domain/users/user.repository.mongo.ts b/server/src/domain/users/user.repository.mongo.ts index af4b78b26..927df23ed 100644 --- a/server/src/domain/users/user.repository.mongo.ts +++ b/server/src/domain/users/user.repository.mongo.ts @@ -71,7 +71,7 @@ class MongoUsersRepository implements IUsersRepository { findById = async (id: string) => { const user = await UserModel.findById(id).select("-password").select("-profileImage"); if (!user) { - throw new Error("User not found"); + throw new AppError({ message: "User not found", service: SERVICE_NAME, status: 404 }); } return this.toEntity(user);