42 lines
850 B
Python
42 lines
850 B
Python
import os
|
|
import sqlite3
|
|
|
|
db_filename = "config.db"
|
|
if os.path.exists(db_filename):
|
|
os.remove(db_filename)
|
|
|
|
conn = sqlite3.connect(db_filename)
|
|
cur = conn.cursor()
|
|
|
|
cur.execute("""
|
|
CREATE TABLE allowed_keys (
|
|
key TEXT PRIMARY KEY,
|
|
label TEXT
|
|
)
|
|
""")
|
|
|
|
cur.execute("""
|
|
CREATE TABLE access_windows (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
key TEXT NOT NULL,
|
|
start_datetime TEXT NOT NULL,
|
|
end_datetime TEXT NOT NULL,
|
|
FOREIGN KEY (key) REFERENCES allowed_keys(key) ON DELETE CASCADE
|
|
)
|
|
""")
|
|
|
|
cur.execute("""
|
|
CREATE TABLE token_usage (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
key TEXT NOT NULL,
|
|
timestamp TEXT NOT NULL,
|
|
prompt_tokens INTEGER NOT NULL,
|
|
completion_tokens INTEGER NOT NULL,
|
|
total_tokens INTEGER NOT NULL,
|
|
FOREIGN KEY (key) REFERENCES allowed_keys(key)
|
|
)
|
|
""")
|
|
|
|
conn.commit()
|
|
conn.close()
|