79 lines
1.9 KiB
Python
79 lines
1.9 KiB
Python
|
import mysql.connector
|
||
|
import os
|
||
|
import dotenv
|
||
|
|
||
|
dotenv.load_dotenv()
|
||
|
|
||
|
# Database connection
|
||
|
dbargs = {
|
||
|
'host':os.getenv('DB_HOST'),
|
||
|
'user':os.getenv('DB_USER'),
|
||
|
'password':os.getenv('DB_PASSWORD'),
|
||
|
'database':os.getenv('DB_NAME')
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
def check_tables():
|
||
|
connection = mysql.connector.connect(**dbargs)
|
||
|
cursor = connection.cursor()
|
||
|
cursor.execute("""
|
||
|
CREATE TABLE IF NOT EXISTS users (
|
||
|
id INT(11) NOT NULL AUTO_INCREMENT,
|
||
|
email VARCHAR(255) NOT NULL,
|
||
|
domain VARCHAR(255) NOT NULL,
|
||
|
password VARCHAR(255) NOT NULL,
|
||
|
token VARCHAR(255) NOT NULL,
|
||
|
PRIMARY KEY (id)
|
||
|
)
|
||
|
""")
|
||
|
|
||
|
cursor.close()
|
||
|
connection.close()
|
||
|
|
||
|
def add_user(email,domain,password,token):
|
||
|
connection = mysql.connector.connect(**dbargs)
|
||
|
cursor = connection.cursor()
|
||
|
|
||
|
cursor.execute("""
|
||
|
INSERT INTO users (email, domain, password, token)
|
||
|
VALUES (%s, %s, %s, %s)
|
||
|
""", (email, domain, password, token))
|
||
|
connection.commit()
|
||
|
cursor.close()
|
||
|
connection.close()
|
||
|
|
||
|
def search_users(email):
|
||
|
connection = mysql.connector.connect(**dbargs)
|
||
|
cursor = connection.cursor()
|
||
|
cursor.execute("""
|
||
|
SELECT * FROM users WHERE email = %s
|
||
|
""", (email,))
|
||
|
users = cursor.fetchall()
|
||
|
cursor.close()
|
||
|
connection.close()
|
||
|
return users
|
||
|
|
||
|
def search_users_token(token):
|
||
|
connection = mysql.connector.connect(**dbargs)
|
||
|
cursor = connection.cursor()
|
||
|
query = "SELECT * FROM users WHERE token LIKE %s"
|
||
|
cursor.execute(query, ('%' + token + '%',))
|
||
|
|
||
|
users = cursor.fetchall()
|
||
|
cursor.close()
|
||
|
connection.close()
|
||
|
return users
|
||
|
|
||
|
def update_tokens(id,tokens):
|
||
|
tokens = ','.join(tokens)
|
||
|
connection = mysql.connector.connect(**dbargs)
|
||
|
cursor = connection.cursor()
|
||
|
cursor.execute("""
|
||
|
UPDATE users SET token = %s WHERE id = %s
|
||
|
""", (tokens, id))
|
||
|
connection.commit()
|
||
|
cursor.close()
|
||
|
connection.close()
|