HenriqueBraz commited on
Commit
819447c
·
verified ·
1 Parent(s): ec4b7be

Create manage_users

Browse files
Files changed (1) hide show
  1. manage_users +64 -0
manage_users ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ```python
2
+ import sqlite3
3
+ import streamlit_authenticator as stauth
4
+ import os
5
+
6
+ def add_user(username, name, password):
7
+ """Adiciona um novo usuário ao banco de dados"""
8
+ db_path = os.getenv('DB_PATH', 'users.db')
9
+ hashed_password = stauth.Hasher([password]).generate()[0]
10
+
11
+ conn = sqlite3.connect(db_path)
12
+ cursor = conn.cursor()
13
+ try:
14
+ cursor.execute(
15
+ 'INSERT INTO users (username, name, password) VALUES (?, ?, ?)',
16
+ (username, name, hashed_password)
17
+ )
18
+ conn.commit()
19
+ print(f"Usuário {username} adicionado com sucesso!")
20
+ except sqlite3.IntegrityError:
21
+ print(f"Erro: Usuário {username} já existe.")
22
+ finally:
23
+ conn.close()
24
+
25
+ def remove_user(username):
26
+ """Remove um usuário do banco de dados"""
27
+ db_path = os.getenv('DB_PATH', 'users.db')
28
+ conn = sqlite3.connect(db_path)
29
+ cursor = conn.cursor()
30
+ cursor.execute('DELETE FROM users WHERE username = ?', (username,))
31
+ conn.commit()
32
+ print(f"Usuário {username} removido com sucesso!" if cursor.rowcount > 0 else f"Usuário {username} não encontrado.")
33
+ conn.close()
34
+
35
+ def list_users():
36
+ """Lista todos os usuários no banco de dados"""
37
+ db_path = os.getenv('DB_PATH', 'users.db')
38
+ conn = sqlite3.connect(db_path)
39
+ cursor = conn.cursor()
40
+ cursor.execute('SELECT username, name FROM users')
41
+ users = cursor.fetchall()
42
+ conn.close()
43
+ for username, name in users:
44
+ print(f"Username: {username}, Nome: {name}")
45
+
46
+ if __name__ == "__main__":
47
+ # Inicializar o banco de dados
48
+ conn = sqlite3.connect(os.getenv('DB_PATH', 'users.db'))
49
+ cursor = conn.cursor()
50
+ cursor.execute('''
51
+ CREATE TABLE IF NOT EXISTS users (
52
+ username TEXT PRIMARY KEY,
53
+ name TEXT NOT NULL,
54
+ password TEXT NOT NULL
55
+ )
56
+ ''')
57
+ conn.commit()
58
+ conn.close()
59
+
60
+ # Exemplos de uso
61
+ add_user("cliente2", "Cliente Dois", "senha_forte_456")
62
+ list_users()
63
+ # remove_user("cliente2")
64
+ ```