Refactor 4 with bugfixes

This commit is contained in:
2026-03-04 03:56:23 +01:00
parent be91b6dfe8
commit 0ed9ca93d3
51 changed files with 1552 additions and 996 deletions

View File

@@ -0,0 +1,10 @@
import { DataSource } from 'typeorm';
import { ServerEntity } from '../../../entities';
import { rowToServer } from '../../mappers';
export async function handleGetAllPublicServers(dataSource: DataSource) {
const repo = dataSource.getRepository(ServerEntity);
const rows = await repo.find({ where: { isPrivate: 0 } });
return rows.map(rowToServer);
}

View File

@@ -0,0 +1,11 @@
import { DataSource } from 'typeorm';
import { JoinRequestEntity } from '../../../entities';
import { GetJoinRequestByIdQuery } from '../../types';
import { rowToJoinRequest } from '../../mappers';
export async function handleGetJoinRequestById(query: GetJoinRequestByIdQuery, dataSource: DataSource) {
const repo = dataSource.getRepository(JoinRequestEntity);
const row = await repo.findOne({ where: { id: query.payload.requestId } });
return row ? rowToJoinRequest(row) : null;
}

View File

@@ -0,0 +1,11 @@
import { DataSource } from 'typeorm';
import { JoinRequestEntity } from '../../../entities';
import { GetPendingRequestsForServerQuery } from '../../types';
import { rowToJoinRequest } from '../../mappers';
export async function handleGetPendingRequestsForServer(query: GetPendingRequestsForServerQuery, dataSource: DataSource) {
const repo = dataSource.getRepository(JoinRequestEntity);
const rows = await repo.find({ where: { serverId: query.payload.serverId, status: 'pending' } });
return rows.map(rowToJoinRequest);
}

View File

@@ -0,0 +1,11 @@
import { DataSource } from 'typeorm';
import { ServerEntity } from '../../../entities';
import { GetServerByIdQuery } from '../../types';
import { rowToServer } from '../../mappers';
export async function handleGetServerById(query: GetServerByIdQuery, dataSource: DataSource) {
const repo = dataSource.getRepository(ServerEntity);
const row = await repo.findOne({ where: { id: query.payload.serverId } });
return row ? rowToServer(row) : null;
}

View File

@@ -0,0 +1,11 @@
import { DataSource } from 'typeorm';
import { AuthUserEntity } from '../../../entities';
import { GetUserByIdQuery } from '../../types';
import { rowToAuthUser } from '../../mappers';
export async function handleGetUserById(query: GetUserByIdQuery, dataSource: DataSource) {
const repo = dataSource.getRepository(AuthUserEntity);
const row = await repo.findOne({ where: { id: query.payload.userId } });
return row ? rowToAuthUser(row) : null;
}

View File

@@ -0,0 +1,11 @@
import { DataSource } from 'typeorm';
import { AuthUserEntity } from '../../../entities';
import { GetUserByUsernameQuery } from '../../types';
import { rowToAuthUser } from '../../mappers';
export async function handleGetUserByUsername(query: GetUserByUsernameQuery, dataSource: DataSource) {
const repo = dataSource.getRepository(AuthUserEntity);
const row = await repo.findOne({ where: { username: query.payload.username } });
return row ? rowToAuthUser(row) : null;
}