Fix bugs and clean noise reduction
This commit is contained in:
@@ -19,7 +19,8 @@ export async function handleSaveRoom(command: SaveRoomCommand, dataSource: DataS
|
||||
icon: room.icon ?? null,
|
||||
iconUpdatedAt: room.iconUpdatedAt ?? null,
|
||||
permissions: room.permissions != null ? JSON.stringify(room.permissions) : null,
|
||||
channels: room.channels != null ? JSON.stringify(room.channels) : null
|
||||
channels: room.channels != null ? JSON.stringify(room.channels) : null,
|
||||
members: room.members != null ? JSON.stringify(room.members) : null
|
||||
});
|
||||
|
||||
await repo.save(entity);
|
||||
|
||||
@@ -12,7 +12,8 @@ const ROOM_TRANSFORMS: TransformMap = {
|
||||
isPrivate: boolToInt,
|
||||
userCount: (val) => (val ?? 0),
|
||||
permissions: jsonOrNull,
|
||||
channels: jsonOrNull
|
||||
channels: jsonOrNull,
|
||||
members: jsonOrNull
|
||||
};
|
||||
|
||||
export async function handleUpdateRoom(command: UpdateRoomCommand, dataSource: DataSource): Promise<void> {
|
||||
|
||||
@@ -60,7 +60,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
|
||||
channels: row.channels ? JSON.parse(row.channels) : undefined,
|
||||
members: row.members ? JSON.parse(row.members) : undefined
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -103,6 +103,7 @@ export interface RoomPayload {
|
||||
iconUpdatedAt?: number;
|
||||
permissions?: unknown;
|
||||
channels?: unknown[];
|
||||
members?: unknown[];
|
||||
}
|
||||
|
||||
export interface BanPayload {
|
||||
|
||||
@@ -47,4 +47,7 @@ export class RoomEntity {
|
||||
|
||||
@Column('text', { nullable: true })
|
||||
channels!: string | null;
|
||||
|
||||
@Column('text', { nullable: true })
|
||||
members!: string | null;
|
||||
}
|
||||
|
||||
19
electron/migrations/1000000000001-AddRoomMembers.ts
Normal file
19
electron/migrations/1000000000001-AddRoomMembers.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { MigrationInterface, QueryRunner } from 'typeorm';
|
||||
|
||||
export class AddRoomMembers1000000000001 implements MigrationInterface {
|
||||
name = 'AddRoomMembers1000000000001';
|
||||
|
||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||
const columns = await queryRunner.query(`PRAGMA table_info("rooms")`) as Array<{ name?: string }>;
|
||||
const hasMembersColumn = Array.isArray(columns)
|
||||
&& columns.some((column) => column.name === 'members');
|
||||
|
||||
if (!hasMembersColumn) {
|
||||
await queryRunner.query(`ALTER TABLE "rooms" ADD COLUMN "members" TEXT`);
|
||||
}
|
||||
}
|
||||
|
||||
public async down(_queryRunner: QueryRunner): Promise<void> {
|
||||
// Forward-only migration: SQLite column removal is intentionally omitted.
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user