Skip to content

Commit f4c056c

Browse files
authored
Dev to main (#204)
* Added a route to send Profile Blocked Messages (#198) * Added a route to sent Profile Blocked Messages * Modification to the message bot is sending * Authentication Added * Fixed Lint issues * Code Cleaning * Update variables.ts * Code Cleaning * Added a re-usable function for Auth (#199) * Added Auth for Identity Service (#200) * Added a route to sent Profile Blocked Messages * Modification to the message bot is sending * Authentication Added * Fixed Lint issues * Code Cleaning * Update variables.ts * Code Cleaning * Added a re-usable function for auth token * Added Auth for Identity Service * Set IDENTITY_SERVICE_PUBLIC_KEY environment while deploying (#201)
1 parent 515256d commit f4c056c

18 files changed

+276
-50
lines changed

.github/workflows/register-commands-production.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ jobs:
3636
BOT_PRIVATE_KEY
3737
RDS_SERVERLESS_PUBLIC_KEY
3838
CRON_JOBS_PUBLIC_KEY
39+
IDENTITY_SERVICE_PUBLIC_KEY
3940
env:
4041
CURRENT_ENVIRONMENT: production
4142
CLOUDFLARE_API_TOKEN: ${{secrets.CLOUDFLARE_API_TOKEN}}
@@ -45,3 +46,4 @@ jobs:
4546
DISCORD_GUILD_ID: ${{secrets.DISCORD_GUILD_ID}}
4647
RDS_SERVERLESS_PUBLIC_KEY: ${{secrets.RDS_SERVERLESS_PUBLIC_KEY}}
4748
CRON_JOBS_PUBLIC_KEY: ${{secrets.CRON_JOBS_PUBLIC_KEY}}
49+
IDENTITY_SERVICE_PUBLIC_KEY: ${{secrets.IDENTITY_SERVICE_PUBLIC_KEY}}

.github/workflows/register-commands-staging.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
CURRENT_ENVIRONMENT
3636
BOT_PRIVATE_KEY
3737
CRON_JOBS_PUBLIC_KEY
38+
IDENTITY_SERVICE_PUBLIC_KEY
3839
env:
3940
CURRENT_ENVIRONMENT: staging
4041
CLOUDFLARE_API_TOKEN: ${{secrets.CLOUDFLARE_API_TOKEN}}
@@ -43,3 +44,4 @@ jobs:
4344
BOT_PRIVATE_KEY: ${{secrets.BOT_PRIVATE_KEY}}
4445
DISCORD_GUILD_ID: ${{secrets.DISCORD_GUILD_ID}}
4546
CRON_JOBS_PUBLIC_KEY: ${{secrets.CRON_JOBS_PUBLIC_KEY}}
47+
IDENTITY_SERVICE_PUBLIC_KEY: ${{secrets.IDENTITY_SERVICE_PUBLIC_KEY}}

config/config.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,32 @@ import {
1010
DEVELOPMENT_RDS_TRACKING_CHANNEL_URL,
1111
STAGING_RDS_TRACKING_CHANNEL_URL,
1212
} from "../src/constants/urls";
13+
import {
14+
DISCORD_PROFILE_SERVICE_HELP_GROUP,
15+
DISCORD_PROFILE_SERVICE_STAGING_HELP_GROUP,
16+
DISCORD_PROFILE_SERVICE_DEVELOPMENT_HELP_GROUP,
17+
} from "../src/constants/variables";
1318

1419
const config = (env: env) => {
1520
const environment: environment = {
1621
production: {
1722
RDS_BASE_API_URL: RDS_BASE_API_URL,
1823
VERIFICATION_SITE_URL: VERIFICATION_SITE_URL,
1924
TRACKING_CHANNEL_URL: RDS_TRACKING_CHANNEL_URL,
25+
PROFILE_SERVICE_HELP_GROUP_ID: DISCORD_PROFILE_SERVICE_HELP_GROUP,
2026
},
2127
staging: {
2228
RDS_BASE_API_URL: RDS_BASE_STAGING_API_URL,
2329
VERIFICATION_SITE_URL: STAGING_VERIFICATION_SITE_URL,
2430
TRACKING_CHANNEL_URL: STAGING_RDS_TRACKING_CHANNEL_URL,
31+
PROFILE_SERVICE_HELP_GROUP_ID: DISCORD_PROFILE_SERVICE_STAGING_HELP_GROUP,
2532
},
2633
default: {
2734
RDS_BASE_API_URL: RDS_BASE_DEVELOPMENT_API_URL,
2835
VERIFICATION_SITE_URL: DEVELOPMENT_VERIFICATION_SITE_URL,
2936
TRACKING_CHANNEL_URL: DEVELOPMENT_RDS_TRACKING_CHANNEL_URL,
37+
PROFILE_SERVICE_HELP_GROUP_ID:
38+
DISCORD_PROFILE_SERVICE_DEVELOPMENT_HELP_GROUP,
3039
},
3140
};
3241

src/constants/variables.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11
export const SUPER_USER_ONE = "154585730465660929";
22
export const SUPER_USER_TWO = "1040700289348542566";
3+
4+
export const DISCORD_PROFILE_SERVICE_HELP_GROUP = "1209244798557360138";
5+
export const DISCORD_PROFILE_SERVICE_STAGING_HELP_GROUP = "1209248671170953236";
6+
export const DISCORD_PROFILE_SERVICE_DEVELOPMENT_HELP_GROUP =
7+
"1209237447083303014"; //Change this for your local environment

src/controllers/changeNickname.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { IRequest } from "itty-router";
22
import { env } from "../typeDefinitions/default.types";
33
import JSONResponse from "../utils/JsonResponse";
44
import * as response from "../constants/responses";
5-
import { verifyAuthToken } from "../utils/verifyAuthToken";
5+
import { verifyNodejsBackendAuthToken } from "../utils/verifyAuthToken";
66
import { updateNickName } from "../utils/updateNickname";
77

88
export async function changeNickname(request: IRequest, env: env) {
@@ -14,7 +14,7 @@ export async function changeNickname(request: IRequest, env: env) {
1414
}
1515

1616
try {
17-
await verifyAuthToken(authHeader, env);
17+
await verifyNodejsBackendAuthToken(authHeader, env);
1818
const { discordId, userName } = await request.json();
1919
const res = await updateNickName(discordId, userName, env, reason);
2020
return new JSONResponse(res);

src/controllers/generateDiscordInvite.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { IRequest } from "itty-router";
22
import * as response from "../constants/responses";
33
import { env } from "../typeDefinitions/default.types";
44
import JSONResponse from "../utils/JsonResponse";
5-
import { verifyAuthToken } from "../utils/verifyAuthToken";
5+
import { verifyNodejsBackendAuthToken } from "../utils/verifyAuthToken";
66
import { generateDiscordLink } from "../utils/generateDiscordInvite";
77
import { inviteLinkBody } from "../typeDefinitions/discordLink.types";
88

@@ -12,7 +12,7 @@ export async function generateInviteLink(request: IRequest, env: env) {
1212
return new JSONResponse(response.BAD_SIGNATURE);
1313
}
1414
try {
15-
await verifyAuthToken(authHeader, env);
15+
await verifyNodejsBackendAuthToken(authHeader, env);
1616
const reason = request.headers.get("X-Audit-Log-Reason");
1717

1818
const body: inviteLinkBody = await request.json();

src/controllers/getGuildMemberDetailsHandler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as response from "../constants/responses";
22
import { env } from "../typeDefinitions/default.types";
33
import JSONResponse from "../utils/JsonResponse";
44
import { IRequest } from "itty-router";
5-
import { verifyAuthToken } from "../utils/verifyAuthToken";
5+
import { verifyNodejsBackendAuthToken } from "../utils/verifyAuthToken";
66
import { getGuildMemberDetails } from "../utils/getGuildMemberDetails";
77

88
export async function getGuildMemberDetailsHandler(
@@ -14,7 +14,7 @@ export async function getGuildMemberDetailsHandler(
1414
return new JSONResponse(response.BAD_SIGNATURE);
1515
}
1616
try {
17-
await verifyAuthToken(authHeader, env);
17+
await verifyNodejsBackendAuthToken(authHeader, env);
1818

1919
const { id: discordId } = request.params;
2020

src/controllers/getMembersInServer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { env } from "../typeDefinitions/default.types";
55
import JSONResponse from "../utils/JsonResponse";
66
import { User } from "../typeDefinitions/user.types";
77
import { getMembersInServer } from "../utils/getMembersInServer";
8-
import { verifyAuthToken } from "../utils/verifyAuthToken";
8+
import { verifyNodejsBackendAuthToken } from "../utils/verifyAuthToken";
99

1010
export const getMembersInServerHandler = async (
1111
request: IRequest,
@@ -17,7 +17,7 @@ export const getMembersInServerHandler = async (
1717
return new JSONResponse(response.BAD_SIGNATURE);
1818
}
1919
try {
20-
await verifyAuthToken(authHeader, env);
20+
await verifyNodejsBackendAuthToken(authHeader, env);
2121

2222
const users = (await getMembersInServer(env)) as User[];
2323

src/controllers/guildRoleHandler.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ import {
1313
createNewRole,
1414
memberGroupRole,
1515
} from "../typeDefinitions/discordMessage.types";
16-
import { verifyAuthToken, verifyCronJobsToken } from "../utils/verifyAuthToken";
16+
import {
17+
verifyNodejsBackendAuthToken,
18+
verifyCronJobsToken,
19+
} from "../utils/verifyAuthToken";
1720
import { batchDiscordRequests } from "../utils/batchDiscordRequests";
1821
import { DISCORD_BASE_URL } from "../constants/urls";
1922
import { GROUP_ROLE_ADD } from "../constants/requestsActions";
@@ -25,7 +28,7 @@ export async function createGuildRoleHandler(request: IRequest, env: env) {
2528
return new JSONResponse(response.BAD_SIGNATURE);
2629
}
2730
try {
28-
await verifyAuthToken(authHeader, env);
31+
await verifyNodejsBackendAuthToken(authHeader, env);
2932
const body: createNewRole = await request.json();
3033
const reason = request.headers.get("X-Audit-Log-Reason");
3134
const res = await createGuildRole(body, env, reason);
@@ -40,7 +43,7 @@ export async function addGroupRoleHandler(request: IRequest, env: env) {
4043
return new JSONResponse(response.BAD_SIGNATURE);
4144
}
4245
try {
43-
await verifyAuthToken(authHeader, env);
46+
await verifyNodejsBackendAuthToken(authHeader, env);
4447
const body: memberGroupRole = await request.json();
4548
const reason = request.headers.get("X-Audit-Log-Reason");
4649

@@ -64,7 +67,7 @@ export async function getGuildRolesPostHandler(request: IRequest, env: env) {
6467
if (dev === "true") {
6568
await verifyCronJobsToken(authHeader, env);
6669
} else {
67-
await verifyAuthToken(authHeader, env);
70+
await verifyNodejsBackendAuthToken(authHeader, env);
6871
}
6972

7073
switch (action) {
@@ -161,7 +164,7 @@ export async function removeGuildRoleHandler(request: IRequest, env: env) {
161164
return new JSONResponse(response.BAD_SIGNATURE, { status: 401 });
162165
}
163166
try {
164-
await verifyAuthToken(authHeader, env);
167+
await verifyNodejsBackendAuthToken(authHeader, env);
165168
const body: memberGroupRole = await request.json();
166169
const res = await removeGuildRole(body, env, reason);
167170
return new JSONResponse(res, {
@@ -186,7 +189,7 @@ export async function getGuildRolesHandler(request: IRequest, env: env) {
186189
return new JSONResponse(response.BAD_SIGNATURE, { status: 401 });
187190
}
188191
try {
189-
await verifyAuthToken(authHeader, env);
192+
await verifyNodejsBackendAuthToken(authHeader, env);
190193
const roles = await getGuildRoles(env);
191194
return new JSONResponse({ roles });
192195
} catch (err: any) {
@@ -223,7 +226,7 @@ export async function getGuildRoleByRoleNameHandler(
223226
return new JSONResponse(response.BAD_REQUEST, { status: 404 });
224227
}
225228
try {
226-
await verifyAuthToken(authHeader, env);
229+
await verifyNodejsBackendAuthToken(authHeader, env);
227230
const role = await getGuildRoleByName(roleName, env);
228231
if (!role) {
229232
return new JSONResponse(response.NOT_FOUND, {

src/controllers/profileHandler.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { env } from "../typeDefinitions/default.types";
2+
import { sendProfileServiceBlockedMessage } from "../utils/sendProfileServiceBlockedMessage";
3+
import JSONResponse from "../utils/JsonResponse";
4+
import * as response from "../constants/responses";
5+
import { verifyIdentityServiceAuthToken } from "../utils/verifyAuthToken";
6+
7+
export const sendProfileBlockedMessage = async (request: any, env: env) => {
8+
const authHeader = request.headers.get("Authorization");
9+
if (!authHeader) {
10+
return new JSONResponse(response.BAD_SIGNATURE);
11+
}
12+
try {
13+
await verifyIdentityServiceAuthToken(authHeader, env);
14+
const messageRequest: { userId: string; reason: string } =
15+
await request.json();
16+
const { userId, reason } = messageRequest;
17+
await sendProfileServiceBlockedMessage(userId, reason, env);
18+
return new JSONResponse("Message sent in tracking channel on discord");
19+
} catch (e) {
20+
return new JSONResponse(response.BAD_SIGNATURE);
21+
}
22+
};

0 commit comments

Comments
 (0)