SpectralVPN/API/utils.py
2025-11-27 20:17:21 +03:00

46 lines
No EOL
1.6 KiB
Python

import sqlite3
import pandas
import datetime
import hashlib
class DataBase :
def __init__(self, path: str) :
self.con = sqlite3.connect(path)
self.cur = self.con.cursor()
self.cur.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
email TEXT NOT NULL UNIQUE,
pass_hash TEXT NOT NULL,
register TEXT NOT NULL,
urls TEXT DEFAULT ""
)
""")
self.con.commit()
def read_table(self, sql_command: str) -> dict :
return pandas.read_sql(sql_command, self.con).to_json()
def registration(self, email: str, passwd: str) :
"""
0 - Success
1 - Email is busy
"""
date = datetime.datetime.now()
try :
self.cur.execute(f"""
INSERT INTO users (email, pass_hash, register)
VALUES ({email} {hashlib.sha256(passwd.encode()).hexdigest()} {date.day}-{date.month}-{date.year}_{date.hour}:{date.minute}:{date.second})
""")
except :
return {"code": 1}
self.con.commit()
data = self.read_table(f"""
SELECT id FROM users
WHERE email = {email}
""")
return {"code": 0, "data": {"id": data["id"]["0"], "email": email}}