const { pool } = require("../modules/database") const { DefaultError } = require("../errors/errors") async function banUser(userId, message, expiresAt) { try { const sql = "INSERT INTO bans (userId, message, expiresAt) VALUES (?, ?, ?) RETURNING *" const rows = await pool.query(sql, [userId, message, expiresAt]) return rows[0] || null } catch (error) { throw new DefaultError(500, "Internal Server Error", error) } } async function isBanned(userId) { try { const sql = "SELECT * FROM bans WHERE userId = ? AND isActive = TRUE LIMIT 1" const rows = await pool.query(sql, [userId]) return rows[0] || null } catch (error) { throw new DefaultError(500, "Internal Server Error", error) } } async function unbanUser(banId) { try { const sql = "UPDATE bans SET isActive = FALSE WHERE id = ?" const rows = await pool.query(sql, [banId]) return rows.affectedRows > 0 } catch (error) { throw new DefaultError(500, "Internal Server Error", error) } } async function getBanHistory(userId) { try { const sql = "SELECT * FROM bans WHERE id = userId" const rows = await pool.query(sql, [userId, limit]) return rows.affectedRows > 0 } catch (error) { throw new DefaultError(500, "Internal Server Error", error) } } module.exports = { banUser, isBanned, unbanUser, getBanHistory }