nightly - 2025-09-20

This commit is contained in:
2025-09-21 00:09:19 -04:00
parent cbc20a2897
commit b5afe0ef48
20 changed files with 323 additions and 5 deletions

39
api/repos/prefixes.py Normal file
View File

@@ -0,0 +1,39 @@
from .template import Repo
from dataclasses import dataclass
from exceptions import not_found
@dataclass
class Prefix:
name: str
color: str = ""
weight: int = 0
class PrefixRepo(Repo):
def get_all(self) -> list[Prefix]:
self.cur.execute("SELECT * FROM prefixes ORDER BY weight, name")
results = self.cur.fetchall()
if not results:
return []
return [Prefix(*r) for r in results]
def get_one(self, prefix_name: str):
self.cur.execute("SELECT * FROM prefixes WHERE name = %s", (prefix_name,))
result = self.cur.fetchone()
if not result:
raise not_found
return Prefix(*result)
def add_one(self, prefix: Prefix) -> str:
self.cur.execute(
"REPLACE INTO prefixes VALUES (%s, %s, %s)",
(prefix.name, prefix.color, prefix.weight),
)
self.conn.commit()
return "Prefix inserted successfully."
def del_one(self, prefix_name: str) -> str:
self.cur.execute("DELETE FROM prefixes WHERE name = %s", (prefix_name,))
self.conn.commit()
return "Prefix deleted successfully."