Aqso commited on
Commit
1ec8511
·
verified ·
1 Parent(s): b0430be

Update database.py

Browse files
Files changed (1) hide show
  1. database.py +14 -29
database.py CHANGED
@@ -1,40 +1,25 @@
1
- import aiosqlite, os, bcrypt, sqlite3
2
 
3
- # Path database di folder data
4
- DB_PATH = os.path.join(os.getcwd(), "data", "cyber_vault.db")
5
 
6
  async def init_db():
7
- # Buat folder data secara paksa jika belum ada
8
- folder = os.path.dirname(DB_PATH)
9
- if not os.path.exists(folder):
10
- os.makedirs(folder, exist_ok=True)
11
-
12
- async with aiosqlite.connect(DB_PATH) as db:
13
- await db.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, u TEXT UNIQUE, p TEXT)")
14
- await db.commit()
15
 
16
  def add_user(u, p):
17
- h = bcrypt.hashpw(p.encode(), bcrypt.gensalt()).decode()
18
- conn = sqlite3.connect(DB_PATH)
19
- try:
20
- conn.execute("INSERT INTO users (u, p) VALUES (?, ?)", (u.upper(), h))
21
- conn.commit()
22
- finally:
23
- conn.close()
24
 
25
  def del_user(u):
26
- conn = sqlite3.connect(DB_PATH)
27
- try:
28
  conn.execute("DELETE FROM users WHERE u = ?", (u.upper(),))
29
- conn.commit()
30
- finally:
31
- conn.close()
32
 
33
  def list_users():
34
- conn = sqlite3.connect(DB_PATH)
35
- try:
36
- cur = conn.execute("SELECT u FROM users")
37
- return [row[0] for row in cur.fetchall()]
38
- finally:
39
- conn.close()
40
 
 
1
+ import sqlite3, bcrypt
2
 
3
+ DB_PATH = "cyber_vault.db"
 
4
 
5
  async def init_db():
6
+ with sqlite3.connect(DB_PATH) as conn:
7
+ conn.execute("CREATE TABLE IF NOT EXISTS users (u TEXT PRIMARY KEY, p TEXT)")
 
 
 
 
 
 
8
 
9
  def add_user(u, p):
10
+ un = u.upper()
11
+ pw = bcrypt.hashpw(p.encode(), bcrypt.gensalt()).decode()
12
+ with sqlite3.connect(DB_PATH) as conn:
13
+ try:
14
+ conn.execute("INSERT INTO users (u, p) VALUES (?, ?)", (un, pw))
15
+ return True
16
+ except: return False
17
 
18
  def del_user(u):
19
+ with sqlite3.connect(DB_PATH) as conn:
 
20
  conn.execute("DELETE FROM users WHERE u = ?", (u.upper(),))
 
 
 
21
 
22
  def list_users():
23
+ with sqlite3.connect(DB_PATH) as conn:
24
+ return [r[0] for r in conn.execute("SELECT u FROM users").fetchall()]
 
 
 
 
25