refactor: Improve code formatting and readability across multiple files

This commit is contained in:
Nawaz Dhandala
2026-02-12 18:59:21 +00:00
parent 95a0ddc49f
commit 79ab00bc29
7 changed files with 106 additions and 75 deletions

View File

@@ -472,9 +472,8 @@ export default class SlackAPI {
idToken["https://slack.com/team_id"]?.toString();
// If state is provided, enforce workspace selection.
const expectedTeamId: string | undefined = req.query[
"state"
]?.toString();
const expectedTeamId: string | undefined =
req.query["state"]?.toString();
if (expectedTeamId && teamIdFromSlack) {
if (expectedTeamId !== teamIdFromSlack) {
@@ -758,9 +757,8 @@ export default class SlackAPI {
);
}
const workspaceProjectAuthTokenId: string | undefined = req.query[
"workspaceProjectAuthTokenId"
]?.toString();
const workspaceProjectAuthTokenId: string | undefined =
req.query["workspaceProjectAuthTokenId"]?.toString();
// Get Slack project auth
const projectAuthQuery: {

View File

@@ -1,24 +1,47 @@
import { MigrationInterface, QueryRunner } from "typeorm";
export class MigrationName1770922660423 implements MigrationInterface {
public name = 'MigrationName1770922660423'
public name = "MigrationName1770922660423";
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_workspace_user_auth_token_workspace_project_id"`);
await queryRunner.query(`DROP INDEX "public"."IDX_workspace_notification_rule_workspace_project_auth_token_id"`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`);
await queryRunner.query(`CREATE INDEX "IDX_50f3ab2c779757f0f72733b9f5" ON "WorkspaceUserAuthToken" ("workspaceProjectId") `);
await queryRunner.query(`CREATE INDEX "IDX_5691297e1b384944dea798b07a" ON "WorkspaceNotificationRule" ("workspaceProjectAuthTokenId") `);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_5691297e1b384944dea798b07a"`);
await queryRunner.query(`DROP INDEX "public"."IDX_50f3ab2c779757f0f72733b9f5"`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`);
await queryRunner.query(`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`);
await queryRunner.query(`CREATE INDEX "IDX_workspace_notification_rule_workspace_project_auth_token_id" ON "WorkspaceNotificationRule" ("workspaceProjectAuthTokenId") `);
await queryRunner.query(`CREATE INDEX "IDX_workspace_user_auth_token_workspace_project_id" ON "WorkspaceUserAuthToken" ("workspaceProjectId") `);
}
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`DROP INDEX "public"."IDX_workspace_user_auth_token_workspace_project_id"`,
);
await queryRunner.query(
`DROP INDEX "public"."IDX_workspace_notification_rule_workspace_project_auth_token_id"`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`,
);
await queryRunner.query(
`CREATE INDEX "IDX_50f3ab2c779757f0f72733b9f5" ON "WorkspaceUserAuthToken" ("workspaceProjectId") `,
);
await queryRunner.query(
`CREATE INDEX "IDX_5691297e1b384944dea798b07a" ON "WorkspaceNotificationRule" ("workspaceProjectAuthTokenId") `,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`DROP INDEX "public"."IDX_5691297e1b384944dea798b07a"`,
);
await queryRunner.query(
`DROP INDEX "public"."IDX_50f3ab2c779757f0f72733b9f5"`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`,
);
await queryRunner.query(
`ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`,
);
await queryRunner.query(
`CREATE INDEX "IDX_workspace_notification_rule_workspace_project_auth_token_id" ON "WorkspaceNotificationRule" ("workspaceProjectAuthTokenId") `,
);
await queryRunner.query(
`CREATE INDEX "IDX_workspace_user_auth_token_workspace_project_id" ON "WorkspaceUserAuthToken" ("workspaceProjectId") `,
);
}
}

View File

@@ -523,5 +523,5 @@ export default [
MigrationName1770833704656,
MigrationName1770834237090,
MigrationName1770919024300,
MigrationName1770922660423
MigrationName1770922660423,
];

View File

@@ -499,8 +499,10 @@ export class Service extends DatabaseService<WorkspaceNotificationRule> {
}
}
const rulesByAuthToken: Map<string, Array<WorkspaceNotificationRule>> =
new Map();
const rulesByAuthToken: Map<
string,
Array<WorkspaceNotificationRule>
> = new Map();
for (const rule of notificationRules) {
const key: string = rule.workspaceProjectAuthTokenId
@@ -564,7 +566,9 @@ export class Service extends DatabaseService<WorkspaceNotificationRule> {
};
if (authTokenId !== "default") {
archiveAuthQuery.workspaceProjectAuthTokenId = new ObjectID(authTokenId);
archiveAuthQuery.workspaceProjectAuthTokenId = new ObjectID(
authTokenId,
);
}
const projectAuth: WorkspaceProjectAuthToken | null =
@@ -577,16 +581,18 @@ export class Service extends DatabaseService<WorkspaceNotificationRule> {
continue;
}
await WorkspaceUtil.getWorkspaceTypeUtil(workspaceType).archiveChannels({
authToken: projectAuth.authToken!,
channelIds: channelIds,
userId: this.getBotUserIdFromprojectAuthToken({
projectAuthToken: projectAuth,
workspaceType: workspaceType,
}),
sendMessageBeforeArchiving: data.sendMessageBeforeArchiving,
projectId: data.projectId,
});
await WorkspaceUtil.getWorkspaceTypeUtil(workspaceType).archiveChannels(
{
authToken: projectAuth.authToken!,
channelIds: channelIds,
userId: this.getBotUserIdFromprojectAuthToken({
projectAuthToken: projectAuth,
workspaceType: workspaceType,
}),
sendMessageBeforeArchiving: data.sendMessageBeforeArchiving,
projectId: data.projectId,
},
);
}
}
}
@@ -669,7 +675,8 @@ export class Service extends DatabaseService<WorkspaceNotificationRule> {
workspaceType: workspaceType,
});
const payloadsByAuthToken: Map<string, WorkspaceMessagePayload> = new Map();
const payloadsByAuthToken: Map<string, WorkspaceMessagePayload> =
new Map();
const getPayloadForAuthToken: (
authTokenId?: string,
@@ -1370,19 +1377,24 @@ export class Service extends DatabaseService<WorkspaceNotificationRule> {
}
const normalizedChannels: Array<NotificationRuleWorkspaceChannel> =
data.workspaceChannels.map((channel: NotificationRuleWorkspaceChannel) => {
if (!channel.workspaceProjectAuthTokenId && channel.notificationRuleId) {
const mappedTokenId: string | undefined =
ruleIdToWorkspaceAuthTokenId.get(channel.notificationRuleId);
if (mappedTokenId) {
return {
...channel,
workspaceProjectAuthTokenId: mappedTokenId,
};
data.workspaceChannels.map(
(channel: NotificationRuleWorkspaceChannel) => {
if (
!channel.workspaceProjectAuthTokenId &&
channel.notificationRuleId
) {
const mappedTokenId: string | undefined =
ruleIdToWorkspaceAuthTokenId.get(channel.notificationRuleId);
if (mappedTokenId) {
return {
...channel,
workspaceProjectAuthTokenId: mappedTokenId,
};
}
}
}
return channel;
});
return channel;
},
);
for (const workspaceType of workspaceTypes) {
const rulesForWorkspace: Array<WorkspaceNotificationRule> =
@@ -1394,8 +1406,10 @@ export class Service extends DatabaseService<WorkspaceNotificationRule> {
continue;
}
const rulesByAuthToken: Map<string, Array<WorkspaceNotificationRule>> =
new Map();
const rulesByAuthToken: Map<
string,
Array<WorkspaceNotificationRule>
> = new Map();
for (const rule of rulesForWorkspace) {
const key: string = rule.workspaceProjectAuthTokenId
? rule.workspaceProjectAuthTokenId.toString()
@@ -1449,7 +1463,9 @@ export class Service extends DatabaseService<WorkspaceNotificationRule> {
};
if (authTokenId !== "default") {
inviteAuthQuery.workspaceProjectAuthTokenId = new ObjectID(authTokenId);
inviteAuthQuery.workspaceProjectAuthTokenId = new ObjectID(
authTokenId,
);
}
const projectAuth: WorkspaceProjectAuthToken | null =

View File

@@ -40,7 +40,10 @@ const SlackChannelCacheModal: FunctionComponent<ComponentProps> = (
await API.get({
url: URL.fromString(
`${HOME_URL.toString()}/api/slack/get-all-channels`,
).addQueryParam("workspaceProjectAuthTokenId", props.projectAuthTokenId.toString()),
).addQueryParam(
"workspaceProjectAuthTokenId",
props.projectAuthTokenId.toString(),
),
headers: ModelAPI.getCommonHeaders(),
});

View File

@@ -142,9 +142,7 @@ const SlackIntegration: FunctionComponent<ComponentProps> = (
const response: HTTPErrorResponse | HTTPResponse<JSONObject> =
await API.get<JSONObject>({
url: URL.fromString(
`${HOME_URL.toString()}/api/slack/app-manifest`,
),
url: URL.fromString(`${HOME_URL.toString()}/api/slack/app-manifest`),
});
if (response instanceof HTTPErrorResponse) {
@@ -221,9 +219,7 @@ const SlackIntegration: FunctionComponent<ComponentProps> = (
if (!userId) {
setError(
<div>
Looks like you are not logged in. Please login to continue.
</div>,
<div>Looks like you are not logged in. Please login to continue.</div>,
);
return;
}
@@ -336,10 +332,8 @@ const SlackIntegration: FunctionComponent<ComponentProps> = (
};
};
const userAuthByWorkspaceProjectId: Map<
string,
WorkspaceUserAuthToken
> = new Map();
const userAuthByWorkspaceProjectId: Map<string, WorkspaceUserAuthToken> =
new Map();
userAuthTokens.forEach((token: WorkspaceUserAuthToken) => {
if (token.workspaceProjectId) {
@@ -349,17 +343,15 @@ const SlackIntegration: FunctionComponent<ComponentProps> = (
const workspaceCards: Array<ReactElement> = projectAuthTokens.map(
(workspace: WorkspaceProjectAuthToken) => {
const teamName: string | undefined = (
workspace.miscData as SlackMiscData
)?.teamName;
const teamName: string | undefined = (workspace.miscData as SlackMiscData)
?.teamName;
const workspaceProjectId: string | undefined =
workspace.workspaceProjectId;
const userAuth: WorkspaceUserAuthToken | undefined =
workspaceProjectId
? userAuthByWorkspaceProjectId.get(workspaceProjectId)
: undefined;
const userAuth: WorkspaceUserAuthToken | undefined = workspaceProjectId
? userAuthByWorkspaceProjectId.get(workspaceProjectId)
: undefined;
const buttons: Array<CardButtonSchema> = [];

View File

@@ -423,9 +423,8 @@ const WorkspaceNotificationRuleTable: FunctionComponent<ComponentProps> = (
workspace: WorkspaceProjectAuthToken,
): string => {
if (props.workspaceType === WorkspaceType.Slack) {
const teamName: string | undefined = (
workspace.miscData as SlackMiscData
)?.teamName;
const teamName: string | undefined = (workspace.miscData as SlackMiscData)
?.teamName;
return teamName || workspace.workspaceProjectId || "Slack Workspace";
}