diff --git a/Common/Server/API/SlackAPI.ts b/Common/Server/API/SlackAPI.ts index 30782ac4a0..d831a34b64 100644 --- a/Common/Server/API/SlackAPI.ts +++ b/Common/Server/API/SlackAPI.ts @@ -768,7 +768,13 @@ export default class SlackAPI { */ Response.sendTextResponse(req, res, "ok"); - const reactionData = { + const reactionData: { + teamId: string; + reaction: string; + userId: string; + channelId: string; + messageTs: string; + } = { teamId: payload["team_id"] as string, reaction: event["reaction"] as string, userId: event["user"] as string, diff --git a/Common/Server/Utils/Workspace/Slack/Actions/Alert.ts b/Common/Server/Utils/Workspace/Slack/Actions/Alert.ts index cd9a0e653a..4084eeb404 100644 --- a/Common/Server/Utils/Workspace/Slack/Actions/Alert.ts +++ b/Common/Server/Utils/Workspace/Slack/Actions/Alert.ts @@ -28,6 +28,8 @@ import WorkspaceUserAuthTokenService from "../../../../Services/WorkspaceUserAut import WorkspaceType from "../../../../../Types/Workspace/WorkspaceType"; import WorkspaceProjectAuthTokenService from "../../../../Services/WorkspaceProjectAuthTokenService"; import WorkspaceNotificationLog from "../../../../../Models/DatabaseModels/WorkspaceNotificationLog"; +import WorkspaceProjectAuthToken from "../../../../../Models/DatabaseModels/WorkspaceProjectAuthToken"; +import WorkspaceUserAuthToken from "../../../../../Models/DatabaseModels/WorkspaceUserAuthToken"; export default class SlackAlertActions { @CaptureSpan() @@ -801,18 +803,19 @@ export default class SlackAlertActions { } // Get the project auth token using the team ID - const projectAuth = await WorkspaceProjectAuthTokenService.findOneBy({ - query: { - workspaceProjectId: teamId, - }, - select: { - projectId: true, - authToken: true, - }, - props: { - isRoot: true, - }, - }); + const projectAuth: WorkspaceProjectAuthToken | null = + await WorkspaceProjectAuthTokenService.findOneBy({ + query: { + workspaceProjectId: teamId, + }, + select: { + projectId: true, + authToken: true, + }, + props: { + isRoot: true, + }, + }); if (!projectAuth || !projectAuth.projectId || !projectAuth.authToken) { logger.debug( @@ -855,19 +858,20 @@ export default class SlackAlertActions { }); // Get the user ID in OneUptime based on Slack user ID - const userAuth = await WorkspaceUserAuthTokenService.findOneBy({ - query: { - workspaceUserId: userId, - workspaceType: WorkspaceType.Slack, - projectId: projectId, - }, - select: { - userId: true, - }, - props: { - isRoot: true, - }, - }); + const userAuth: WorkspaceUserAuthToken | null = + await WorkspaceUserAuthTokenService.findOneBy({ + query: { + workspaceUserId: userId, + workspaceType: WorkspaceType.Slack, + projectId: projectId, + }, + select: { + userId: true, + }, + props: { + isRoot: true, + }, + }); if (!userAuth || !userAuth.userId) { logger.debug( diff --git a/Common/Server/Utils/Workspace/Slack/Actions/Incident.ts b/Common/Server/Utils/Workspace/Slack/Actions/Incident.ts index 5c57766ccf..f37ef11568 100644 --- a/Common/Server/Utils/Workspace/Slack/Actions/Incident.ts +++ b/Common/Server/Utils/Workspace/Slack/Actions/Incident.ts @@ -44,6 +44,8 @@ import CaptureSpan from "../../../Telemetry/CaptureSpan"; import WorkspaceProjectAuthTokenService from "../../../../Services/WorkspaceProjectAuthTokenService"; import WorkspaceUserAuthTokenService from "../../../../Services/WorkspaceUserAuthTokenService"; import WorkspaceNotificationLog from "../../../../../Models/DatabaseModels/WorkspaceNotificationLog"; +import WorkspaceProjectAuthToken from "../../../../../Models/DatabaseModels/WorkspaceProjectAuthToken"; +import WorkspaceUserAuthToken from "../../../../../Models/DatabaseModels/WorkspaceUserAuthToken"; export default class SlackIncidentActions { @CaptureSpan() @@ -1317,18 +1319,19 @@ export default class SlackIncidentActions { } // Get the project auth token using the team ID - const projectAuth = await WorkspaceProjectAuthTokenService.findOneBy({ - query: { - workspaceProjectId: teamId, - }, - select: { - projectId: true, - authToken: true, - }, - props: { - isRoot: true, - }, - }); + const projectAuth: WorkspaceProjectAuthToken | null = + await WorkspaceProjectAuthTokenService.findOneBy({ + query: { + workspaceProjectId: teamId, + }, + select: { + projectId: true, + authToken: true, + }, + props: { + isRoot: true, + }, + }); if (!projectAuth || !projectAuth.projectId || !projectAuth.authToken) { logger.debug( @@ -1372,19 +1375,20 @@ export default class SlackIncidentActions { }); // Get the user ID in OneUptime based on Slack user ID - const userAuth = await WorkspaceUserAuthTokenService.findOneBy({ - query: { - workspaceUserId: userId, - workspaceType: WorkspaceType.Slack, - projectId: projectId, - }, - select: { - userId: true, - }, - props: { - isRoot: true, - }, - }); + const userAuth: WorkspaceUserAuthToken | null = + await WorkspaceUserAuthTokenService.findOneBy({ + query: { + workspaceUserId: userId, + workspaceType: WorkspaceType.Slack, + projectId: projectId, + }, + select: { + userId: true, + }, + props: { + isRoot: true, + }, + }); if (!userAuth || !userAuth.userId) { logger.debug( diff --git a/Common/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts b/Common/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts index 8af3e94848..846e39d155 100644 --- a/Common/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts +++ b/Common/Server/Utils/Workspace/Slack/Actions/ScheduledMaintenance.ts @@ -41,6 +41,8 @@ import WorkspaceUserAuthTokenService from "../../../../Services/WorkspaceUserAut import WorkspaceNotificationLogService from "../../../../Services/WorkspaceNotificationLogService"; import WorkspaceProjectAuthTokenService from "../../../../Services/WorkspaceProjectAuthTokenService"; import WorkspaceNotificationLog from "../../../../../Models/DatabaseModels/WorkspaceNotificationLog"; +import WorkspaceProjectAuthToken from "../../../../../Models/DatabaseModels/WorkspaceProjectAuthToken"; +import WorkspaceUserAuthToken from "../../../../../Models/DatabaseModels/WorkspaceUserAuthToken"; export default class SlackScheduledMaintenanceActions { @CaptureSpan() @@ -1144,18 +1146,19 @@ export default class SlackScheduledMaintenanceActions { } // Get the project auth token using the team ID - const projectAuth = await WorkspaceProjectAuthTokenService.findOneBy({ - query: { - workspaceProjectId: teamId, - }, - select: { - projectId: true, - authToken: true, - }, - props: { - isRoot: true, - }, - }); + const projectAuth: WorkspaceProjectAuthToken | null = + await WorkspaceProjectAuthTokenService.findOneBy({ + query: { + workspaceProjectId: teamId, + }, + select: { + projectId: true, + authToken: true, + }, + props: { + isRoot: true, + }, + }); if (!projectAuth || !projectAuth.projectId || !projectAuth.authToken) { logger.debug( @@ -1200,19 +1203,20 @@ export default class SlackScheduledMaintenanceActions { }); // Get the user ID in OneUptime based on Slack user ID - const userAuth = await WorkspaceUserAuthTokenService.findOneBy({ - query: { - workspaceUserId: userId, - workspaceType: WorkspaceType.Slack, - projectId: projectId, - }, - select: { - userId: true, - }, - props: { - isRoot: true, - }, - }); + const userAuth: WorkspaceUserAuthToken | null = + await WorkspaceUserAuthTokenService.findOneBy({ + query: { + workspaceUserId: userId, + workspaceType: WorkspaceType.Slack, + projectId: projectId, + }, + select: { + userId: true, + }, + props: { + isRoot: true, + }, + }); if (!userAuth || !userAuth.userId) { logger.debug(