refactor user-service

This commit is contained in:
Alex Holliday committed 2026-01-16 22:41:12 +00:00
1 parent 9c92542653
commit b47f3710fe
11 files changed
+69 -38

No files matched your search

+4 -3
View File
@@ -192,7 +192,8 @@ class AuthController {
editUserById = async (req: Request, res: Response, next: NextFunction) => {
try {
const roles = req?.user?.role;
if (!roles.includes("superadmin")) {
if (!roles || !roles.includes("superadmin")) {
throw new AppError({ message: "Unauthorized", status: 403 });
}
@@ -201,7 +202,7 @@ class AuthController {
await editUserByIdParamValidation.validateAsync(req.params);
// If this is superadmin self edit, allow "superadmin" role
if (userId === req.user._id) {
if (userId === req.user?.id) {
await editSuperadminUserByIdBodyValidation.validateAsync(req.body);
} else {
await editUserByIdBodyValidation.validateAsync(req.body);
@@ -217,7 +218,7 @@ class AuthController {
editUserPasswordById = async (req: Request, res: Response, next: NextFunction) => {
try {
const roles = req?.user?.role;
if (!roles.includes("superadmin")) {
if (!roles || !roles.includes("superadmin")) {
throw new AppError({ message: "Unauthorized", status: 403 });
}
+1 -1
View File
@@ -69,7 +69,7 @@ class IncidentController {
try {
const resolvedIncident = await this.incidentService.resolveIncidentManually({
incidentId: req?.params?.incidentId,
userId: req?.user?._id,
userId: req?.user?.id,
teamId: req?.user?.teamId,
comment: req?.body?.comment,
});
@@ -46,7 +46,7 @@ class MaintenanceWindowController {
try {
await getMaintenanceWindowByIdParamValidation.validateAsync(req.params);
const teamId = req.user.teamId;
const teamId = req.user?.teamId;
if (!teamId) {
throw new AppError({ message: "Team ID is required", status: 400 });
}
@@ -130,7 +130,7 @@ class MaintenanceWindowController {
await editMaintenanceWindowByIdParamValidation.validateAsync(req.params);
await editMaintenanceByIdWindowBodyValidation.validateAsync(req.body);
const teamId = req.user.teamId;
const teamId = req.user?.teamId;
if (!teamId) {
throw new AppError({ message: "Team ID is required", status: 400 });
}
+4 -4
View File
@@ -164,7 +164,7 @@ class MonitorController {
try {
await createMonitorBodyValidation.validateAsync(req.body);
const userId = requireString(req?.user?._id, "User ID");
const userId = requireString(req?.user?.id, "User ID");
const teamId = requireTeamId(req?.user?.teamId);
const monitor = await this.monitorService.createMonitor(teamId, userId, req.body);
@@ -193,7 +193,7 @@ class MonitorController {
throw new AppError({ message: "File is empty", status: 400 });
}
const userId = requireString(req?.user?._id, "User ID");
const userId = requireString(req?.user?.id, "User ID");
const teamId = requireTeamId(req?.user?.teamId);
const fileData = req?.file?.buffer?.toString("utf-8");
@@ -286,9 +286,9 @@ class MonitorController {
addDemoMonitors = async (req: Request, res: Response, next: NextFunction) => {
try {
const _id = requireString(req?.user?._id, "User ID");
const id = requireString(req?.user?.id, "User ID");
const teamId = requireTeamId(req?.user?.teamId);
const demoMonitors = await this.monitorService.addDemoMonitors({ userId: _id, teamId });
const demoMonitors = await this.monitorService.addDemoMonitors({ userId: id, teamId });
return res.status(200).json({
success: true,
@@ -53,7 +53,7 @@ class NotificationController {
throw new AppError({ message: "Team ID is required", status: 400 });
}
const userId = req?.user?._id;
const userId = req?.user?.id;
if (!userId) {
throw new AppError({ message: "User ID is required", status: 400 });
}
@@ -21,11 +21,11 @@ class StatusPageController {
await createStatusPageBodyValidation.validateAsync(req.body);
await imageValidation.validateAsync(req.file);
const { _id, teamId } = req.user;
const { id, teamId } = req.user ?? {};
const statusPage = await this.db.statusPageModule.createStatusPage({
statusPageData: req.body,
image: req.file,
userId: _id,
userId: id,
teamId,
});
return res.status(200).json({
@@ -87,7 +87,7 @@ class StatusPageController {
};
getStatusPagesByTeamId = async (req: Request, res: Response, next: NextFunction) => {
try {
const teamId = req.user.teamId;
const teamId = req.user?.teamId;
const statusPages = await this.db.statusPageModule.getStatusPagesByTeamId(teamId);
return res.status(200).json({