mirror of
https://github.com/wlinator/luminara.git
synced 2024-10-02 22:23:13 +00:00
31 lines
1 KiB
Python
31 lines
1 KiB
Python
from db.database import execute_query, select_query_one
|
|
from typing import Optional
|
|
|
|
|
|
class ModLogService:
|
|
def __init__(self):
|
|
pass
|
|
|
|
def set_modlog_channel(self, guild_id: int, channel_id: int) -> None:
|
|
query: str = """
|
|
INSERT INTO mod_log (guild_id, channel_id, is_enabled)
|
|
VALUES (%s, %s, TRUE)
|
|
ON DUPLICATE KEY UPDATE channel_id = VALUES(channel_id), is_enabled = TRUE, updated_at = CURRENT_TIMESTAMP
|
|
"""
|
|
execute_query(query, (guild_id, channel_id))
|
|
|
|
def disable_modlog_channel(self, guild_id: int) -> None:
|
|
query: str = """
|
|
UPDATE mod_log
|
|
SET is_enabled = FALSE, updated_at = CURRENT_TIMESTAMP
|
|
WHERE guild_id = %s
|
|
"""
|
|
execute_query(query, (guild_id,))
|
|
|
|
def fetch_modlog_channel_id(self, guild_id: int) -> Optional[int]:
|
|
query: str = """
|
|
SELECT channel_id FROM mod_log
|
|
WHERE guild_id = %s AND is_enabled = TRUE
|
|
"""
|
|
result = select_query_one(query, (guild_id,))
|
|
return result or None
|