Refacor electron app and add migrations
This commit is contained in:
16
electron/cqrs/queries/handlers/isUserBanned.ts
Normal file
16
electron/cqrs/queries/handlers/isUserBanned.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { DataSource } from 'typeorm';
|
||||
import { BanEntity } from '../../../entities';
|
||||
import { IsUserBannedQuery } from '../../types';
|
||||
|
||||
export async function handleIsUserBanned(query: IsUserBannedQuery, dataSource: DataSource): Promise<boolean> {
|
||||
const repo = dataSource.getRepository(BanEntity);
|
||||
const now = Date.now();
|
||||
const { userId, roomId } = query.payload;
|
||||
const rows = await repo
|
||||
.createQueryBuilder('ban')
|
||||
.where('ban.roomId = :roomId', { roomId })
|
||||
.andWhere('(ban.expiresAt IS NULL OR ban.expiresAt > :now)', { now })
|
||||
.getMany();
|
||||
|
||||
return rows.some((row) => row.oderId === userId);
|
||||
}
|
||||
Reference in New Issue
Block a user