mirror of
https://github.com/fosrl/pangolin.git
synced 2026-01-28 22:00:51 +00:00
31 lines
790 B
TypeScript
31 lines
790 B
TypeScript
import { sendToClient } from "#dynamic/routers/ws";
|
|
import { db, olms } from "@server/db";
|
|
import { eq } from "drizzle-orm";
|
|
import { OlmErrorCodes } from "../olm/error";
|
|
|
|
export async function sendTerminateClient(
|
|
clientId: number,
|
|
error: (typeof OlmErrorCodes)[keyof typeof OlmErrorCodes],
|
|
olmId?: string | null
|
|
) {
|
|
if (!olmId) {
|
|
const [olm] = await db
|
|
.select()
|
|
.from(olms)
|
|
.where(eq(olms.clientId, clientId))
|
|
.limit(1);
|
|
if (!olm) {
|
|
throw new Error(`Olm with ID ${clientId} not found`);
|
|
}
|
|
olmId = olm.olmId;
|
|
}
|
|
|
|
await sendToClient(olmId, {
|
|
type: `olm/terminate`,
|
|
data: {
|
|
code: error.code,
|
|
message: error.message
|
|
}
|
|
});
|
|
}
|