api-playground/db.py
2026-06-08 17:11:32 +07:00

71 lines
1.7 KiB
Python

import sqlite3
import os
DB_PATH = os.path.join(os.path.dirname(__file__), "enroll.db")
# ── allowed values ───────────────────────────────────────
VALID_TYPES = ("Annually", "Monthly")
VALID_SERVICES = ("Lite", "Value", "Pro")
def get_conn():
conn = sqlite3.connect(DB_PATH)
conn.row_factory = sqlite3.Row
return conn
def init_db():
conn = get_conn()
conn.execute("""
CREATE TABLE IF NOT EXISTS enroll (
id INTEGER PRIMARY KEY AUTOINCREMENT,
type TEXT NOT NULL,
service TEXT NOT NULL,
user TEXT NOT NULL
)
""")
conn.commit()
conn.close()
def list_enrolls():
conn = get_conn()
rows = conn.execute("SELECT * FROM enroll ORDER BY id DESC").fetchall()
conn.close()
return [dict(r) for r in rows]
def get_enroll(enroll_id):
conn = get_conn()
row = conn.execute("SELECT * FROM enroll WHERE id = ?", (enroll_id,)).fetchone()
conn.close()
return dict(row) if row else None
def add_enroll(type_, service, user):
conn = get_conn()
cur = conn.execute(
"INSERT INTO enroll (type, service, user) VALUES (?, ?, ?)",
(type_, service, user),
)
conn.commit()
conn.close()
return cur.lastrowid
def edit_enroll(enroll_id, type_, service, user):
conn = get_conn()
conn.execute(
"UPDATE enroll SET type = ?, service = ?, user = ? WHERE id = ?",
(type_, service, user, enroll_id),
)
conn.commit()
conn.close()
def remove_enroll(enroll_id):
conn = get_conn()
conn.execute("DELETE FROM enroll WHERE id = ?", (enroll_id,))
conn.commit()
conn.close()