user addition
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
||||
data
|
||||
test.py
|
||||
TODO.md
|
||||
.venv
|
||||
__pycache__
|
||||
30
allfence.py
30
allfence.py
@@ -1,10 +1,32 @@
|
||||
from hashlib import sha256
|
||||
import bcrypt
|
||||
|
||||
def create_user(db, login_info, user_info):
|
||||
pass
|
||||
|
||||
def update_user(db, login_info, user_info):
|
||||
pass
|
||||
"""
|
||||
Creates a new user
|
||||
|
||||
Parameters:
|
||||
db (psycopg2.connection): connection to postgres database
|
||||
login_info (dict of str:int): username and password info
|
||||
user_info (dict of str:int): name and dob info
|
||||
|
||||
Returns:
|
||||
bool: success of user creation
|
||||
str: result message
|
||||
"""
|
||||
|
||||
username, password = login_info["username"], login_info["password"]
|
||||
password_hash = bcrypt.hashpw(password.encode(), bcrypt.gensalt()).decode()
|
||||
name, dob = user_info["name"], user_info["dob"]
|
||||
with db:
|
||||
with db.cursor() as curs:
|
||||
curs.execute("SELECT * FROM Users WHERE username = %s", (username,))
|
||||
conflicts = curs.fetchall()
|
||||
if conflicts:
|
||||
return False, "Duplicate username"
|
||||
curs.execute("INSERT INTO Users (username, password_hash, name, dob) VALUES (%s, %s, %s, %s)", (username, password_hash, name, dob))
|
||||
db.commit()
|
||||
return True, "Success"
|
||||
|
||||
def get_user(db, id):
|
||||
pass
|
||||
|
||||
50
app.py
50
app.py
@@ -1,6 +1,7 @@
|
||||
import allfence as af
|
||||
from flask import Flask
|
||||
import psycopg2 as sql
|
||||
from textwrap import dedent
|
||||
|
||||
DB_NAME, USER, PASSWORD, HOST, PORT = "database", "user", "password", "localhost", "5432"
|
||||
db_connection = sql.connect(
|
||||
@@ -10,31 +11,30 @@ db_connection = sql.connect(
|
||||
host=HOST,
|
||||
port = PORT
|
||||
)
|
||||
db_cursor = db_connection.cursor()
|
||||
db_cursor.execute("""
|
||||
CREATE TABLE IF NOT EXISTS Users (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name varchar(255),
|
||||
username varchar(255),
|
||||
dob varchar(255),
|
||||
password_hash varchar(255)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS Events (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name varchar(255),
|
||||
datetime varchar(255),
|
||||
users varchar(255),
|
||||
results varchar(255)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS Tournaments (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name varchar(255),
|
||||
start_date varchar(255),
|
||||
end_date varchar(255),
|
||||
events varchar(255)
|
||||
);
|
||||
""")
|
||||
|
||||
with db_connection.cursor() as cursor:
|
||||
cursor.execute(dedent("""
|
||||
CREATE TABLE IF NOT EXISTS Users (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name varchar(255),
|
||||
username varchar(255),
|
||||
dob varchar(255),
|
||||
password_hash varchar(255)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS Events (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name varchar(255),
|
||||
datetime varchar(255),
|
||||
users varchar(255),
|
||||
results varchar(255)
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS Tournaments (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name varchar(255),
|
||||
start_date varchar(255),
|
||||
end_date varchar(255),
|
||||
events varchar(255)
|
||||
);
|
||||
"""))
|
||||
|
||||
HOST, PORT = "0.0.0.0", 8000
|
||||
app = Flask(__name__)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
bcrypt==5.0.0
|
||||
blinker==1.9.0
|
||||
click==8.3.1
|
||||
Flask==3.1.2
|
||||
|
||||
Reference in New Issue
Block a user