Database changes to make it better practise

This commit is contained in:
2026-04-02 01:32:08 +02:00
parent 5d7e045764
commit 314a26325f
36 changed files with 1453 additions and 193 deletions

View File

@@ -9,10 +9,14 @@ import { RoomEntity } from '../entities/RoomEntity';
import { ReactionEntity } from '../entities/ReactionEntity';
import { BanEntity } from '../entities/BanEntity';
import { AttachmentEntity } from '../entities/AttachmentEntity';
import {
ReactionPayload,
RoomPayload
} from './types';
const DELETED_MESSAGE_CONTENT = '[Message deleted]';
export function rowToMessage(row: MessageEntity) {
export function rowToMessage(row: MessageEntity, reactions: ReactionPayload[] = []) {
const isDeleted = !!row.isDeleted;
return {
@@ -24,7 +28,7 @@ export function rowToMessage(row: MessageEntity) {
content: isDeleted ? DELETED_MESSAGE_CONTENT : row.content,
timestamp: row.timestamp,
editedAt: row.editedAt ?? undefined,
reactions: isDeleted ? [] : JSON.parse(row.reactions || '[]') as unknown[],
reactions: isDeleted ? [] : reactions,
isDeleted,
replyToId: row.replyToId ?? undefined
};
@@ -49,7 +53,10 @@ export function rowToUser(row: UserEntity) {
};
}
export function rowToRoom(row: RoomEntity) {
export function rowToRoom(
row: RoomEntity,
relations: Pick<RoomPayload, 'channels' | 'members'> = { channels: [], members: [] }
) {
return {
id: row.id,
name: row.name,
@@ -65,8 +72,8 @@ export function rowToRoom(row: RoomEntity) {
icon: row.icon ?? undefined,
iconUpdatedAt: row.iconUpdatedAt ?? undefined,
permissions: row.permissions ? JSON.parse(row.permissions) : undefined,
channels: row.channels ? JSON.parse(row.channels) : undefined,
members: row.members ? JSON.parse(row.members) : undefined,
channels: relations.channels ?? [],
members: relations.members ?? [],
sourceId: row.sourceId ?? undefined,
sourceName: row.sourceName ?? undefined,
sourceUrl: row.sourceUrl ?? undefined