summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-03-14 06:13:32 +0100
committerRory& <root@rory.gay>2026-03-14 06:13:32 +0100
commit0b1d12d968e8d65d94acf0f9c5edfd10fb8aadda (patch)
treee6af3398baec63771a48e0492cd3630de59fa6ab
parentRemove array global pollution (diff)
downloadserver-ts-0b1d12d968e8d65d94acf0f9c5edfd10fb8aadda.tar.xz
Some minor work
-rw-r--r--src/api/global.d.ts26
-rw-r--r--src/api/routes/users/@me/billing/country-code.ts7
-rw-r--r--src/api/routes/users/@me/billing/location-info.ts7
-rw-r--r--src/gateway/opcodes/Identify.ts2
-rw-r--r--src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts22
-rw-r--r--src/util/config/types/subconfigurations/client/index.ts19
-rw-r--r--src/util/config/types/subconfigurations/index.ts1
-rw-r--r--src/util/entities/Session.ts2
8 files changed, 10 insertions, 76 deletions
diff --git a/src/api/global.d.ts b/src/api/global.d.ts
deleted file mode 100644

index 9423b781..00000000 --- a/src/api/global.d.ts +++ /dev/null
@@ -1,26 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. -*/ - -// declare global { -// namespace Express { -// interface Request { -// user_id: any; -// token: any; -// } -// } -// } diff --git a/src/api/routes/users/@me/billing/country-code.ts b/src/api/routes/users/@me/billing/country-code.ts
index dd2be6d4..7b90f121 100644 --- a/src/api/routes/users/@me/billing/country-code.ts +++ b/src/api/routes/users/@me/billing/country-code.ts
@@ -18,12 +18,13 @@ import { Request, Response, Router } from "express"; import { route } from "@spacebar/api"; +import { IpDataClient } from "@spacebar/util*"; const router: Router = Router({ mergeParams: true }); -router.get("/", route({}), (req: Request, res: Response) => { - //TODO - res.json({ country_code: "US" }).status(200); +router.get("/", route({}), async (req: Request, res: Response) => { + const country_code = (await IpDataClient.getIpInfo(req.ip!))?.country_code; + res.json({ country_code: country_code }).status(200); }); export default router; diff --git a/src/api/routes/users/@me/billing/location-info.ts b/src/api/routes/users/@me/billing/location-info.ts
index 5a57c0ea..21dfda97 100644 --- a/src/api/routes/users/@me/billing/location-info.ts +++ b/src/api/routes/users/@me/billing/location-info.ts
@@ -18,13 +18,14 @@ import { Request, Response, Router } from "express"; import { route } from "@spacebar/api"; +import { IpDataClient } from "@spacebar/util*"; const router: Router = Router({ mergeParams: true }); -router.get("/", route({}), (req: Request, res: Response) => { - //TODO +router.get("/", route({}), async (req: Request, res: Response) => { // TODO: subdivision_code (optional) - res.json({ country_code: "US" }).status(200); + const country_code = (await IpDataClient.getIpInfo(req.ip!))?.country_code; + res.json({ country_code: country_code }).status(200); }); export default router; diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts
index 7dd21658..ce0bd8ef 100644 --- a/src/gateway/opcodes/Identify.ts +++ b/src/gateway/opcodes/Identify.ts
@@ -651,7 +651,7 @@ export async function onIdentify(this: WebSocket, data: Payload) { private_channels: channels, presences: [], // TODO: Send actual data session_id: this.session_id, - country_code: user.settings!.locale, // TODO: do ip analysis instead + country_code: this.session?.last_seen_location_info?.country_code ?? user.settings!.locale, users: Array.from(users), merged_members: merged_members, sessions: allSessions, diff --git a/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts b/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts deleted file mode 100644
index 6f277e31..00000000 --- a/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts +++ /dev/null
@@ -1,22 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. -*/ - -export class ClientReleaseConfiguration { - useLocalRelease: boolean = true; //TODO - upstreamVersion: string = "0.0.264"; -} diff --git a/src/util/config/types/subconfigurations/client/index.ts b/src/util/config/types/subconfigurations/client/index.ts deleted file mode 100644
index 37231b43..00000000 --- a/src/util/config/types/subconfigurations/client/index.ts +++ /dev/null
@@ -1,19 +0,0 @@ -/* - Spacebar: A FOSS re-implementation and extension of the Discord.com backend. - Copyright (C) 2023 Spacebar and Spacebar Contributors - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. -*/ - -export * from "./ClientReleaseConfiguration"; diff --git a/src/util/config/types/subconfigurations/index.ts b/src/util/config/types/subconfigurations/index.ts
index 2f4eb1ce..82385df2 100644 --- a/src/util/config/types/subconfigurations/index.ts +++ b/src/util/config/types/subconfigurations/index.ts
@@ -16,7 +16,6 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -export * from "./client"; export * from "./defaults"; export * from "./guild"; export * from "./kafka"; diff --git a/src/util/entities/Session.ts b/src/util/entities/Session.ts
index 23311ce7..e6ada0d9 100644 --- a/src/util/entities/Session.ts +++ b/src/util/entities/Session.ts
@@ -59,7 +59,7 @@ export class Session extends BaseClassWithoutId { client_status: ClientStatus; @Column({ nullable: false, type: String }) - status: Status; //TODO enum + status: Status; @Column({ default: false }) is_admin_session: boolean;