import { DataSource } from 'typeorm';
import { BanEntity } from '../../../entities';
import { SaveBanCommand } from '../../types';

export async function handleSaveBan(command: SaveBanCommand, dataSource: DataSource): Promise<void> {
  const repo = dataSource.getRepository(BanEntity);
  const { ban } = command.payload;
  const entity = repo.create({
    oderId: ban.oderId,
    roomId: ban.roomId,
    userId: ban.userId ?? null,
    bannedBy: ban.bannedBy,
    displayName: ban.displayName ?? null,
    reason: ban.reason ?? null,
    expiresAt: ban.expiresAt ?? null,
    timestamp: ban.timestamp
  });

  await repo.save(entity);
}
