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()