small clients ui tweaks

This commit is contained in:
miloschwartz
2025-04-20 16:49:48 -04:00
parent f960fb7d67
commit fa6fc9e80d
25 changed files with 215 additions and 377 deletions

View File

@@ -3,7 +3,7 @@ import db from "@server/db";
import { hash } from "@node-rs/argon2";
import HttpCode from "@server/types/HttpCode";
import { z } from "zod";
import { newts } from "@server/db/schema";
import { newts } from "@server/db/schemas";
import createHttpError from "http-errors";
import response from "@server/lib/response";
import { SqliteError } from "better-sqlite3";

View File

@@ -1,6 +1,6 @@
import { generateSessionToken } from "@server/auth/sessions/app";
import db from "@server/db";
import { olms } from "@server/db/schema";
import { olms } from "@server/db/schemas";
import HttpCode from "@server/types/HttpCode";
import response from "@server/lib/response";
import { eq } from "drizzle-orm";

View File

@@ -1,6 +1,6 @@
import db from "@server/db";
import { MessageHandler } from "../ws";
import { clients, Olm } from "@server/db/schema";
import { clients, Olm } from "@server/db/schemas";
import { eq, lt, isNull } from "drizzle-orm";
import logger from "@server/logger";

View File

@@ -7,7 +7,7 @@ import {
Olm,
olms,
sites
} from "@server/db/schema";
} from "@server/db/schemas";
import { eq, inArray } from "drizzle-orm";
import { addPeer, deletePeer } from "../newt/peers";
import logger from "@server/logger";

View File

@@ -1,6 +1,6 @@
import db from "@server/db";
import { MessageHandler } from "../ws";
import { clients, clientSites, Olm } from "@server/db/schema";
import { clients, clientSites, Olm } from "@server/db/schemas";
import { eq } from "drizzle-orm";
import { updatePeer } from "../newt/peers";
import logger from "@server/logger";

View File

@@ -1,23 +1,30 @@
import db from '@server/db';
import { clients, olms, newts } from '@server/db/schema';
import { eq } from 'drizzle-orm';
import { sendToClient } from '../ws';
import logger from '@server/logger';
import db from "@server/db";
import { clients, olms, newts } from "@server/db/schemas";
import { eq } from "drizzle-orm";
import { sendToClient } from "../ws";
import logger from "@server/logger";
export async function addPeer(clientId: number, peer: {
siteId: number,
publicKey: string;
endpoint: string;
serverIP: string | null;
serverPort: number | null;
}) {
const [olm] = await db.select().from(olms).where(eq(olms.clientId, clientId)).limit(1);
export async function addPeer(
clientId: number,
peer: {
siteId: number;
publicKey: string;
endpoint: string;
serverIP: string | null;
serverPort: number | null;
}
) {
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`);
}
sendToClient(olm.olmId, {
type: 'olm/wg/peer/add',
type: "olm/wg/peer/add",
data: {
siteId: peer.siteId,
publicKey: peer.publicKey,
@@ -31,13 +38,17 @@ export async function addPeer(clientId: number, peer: {
}
export async function deletePeer(clientId: number, publicKey: string) {
const [olm] = await db.select().from(olms).where(eq(olms.clientId, clientId)).limit(1);
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`);
}
sendToClient(olm.olmId, {
type: 'olm/wg/peer/remove',
type: "olm/wg/peer/remove",
data: {
publicKey
}
@@ -46,20 +57,27 @@ export async function deletePeer(clientId: number, publicKey: string) {
logger.info(`Deleted peer ${publicKey} from olm ${olm.olmId}`);
}
export async function updatePeer(clientId: number, peer: {
siteId: number,
publicKey: string;
endpoint: string;
serverIP: string | null;
serverPort: number | null;
}) {
const [olm] = await db.select().from(olms).where(eq(olms.clientId, clientId)).limit(1);
export async function updatePeer(
clientId: number,
peer: {
siteId: number;
publicKey: string;
endpoint: string;
serverIP: string | null;
serverPort: number | null;
}
) {
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`);
}
sendToClient(olm.olmId, {
type: 'olm/wg/peer/update',
type: "olm/wg/peer/update",
data: {
siteId: peer.siteId,
publicKey: peer.publicKey,
@@ -70,4 +88,4 @@ export async function updatePeer(clientId: number, peer: {
});
logger.info(`Added peer ${peer.publicKey} to olm ${olm.olmId}`);
}
}