🎉 it runs

This commit is contained in:
NikolajDanger
2022-05-24 14:12:54 +02:00
parent fbefb00707
commit bec0ae3797
16 changed files with 743 additions and 143 deletions

View File

@ -1,6 +1,5 @@
# write all your SQL queries in this file.
from datetime import datetime
from bank import conn, login_manager
from aula import conn, login_manager
from flask_login import UserMixin
from psycopg2 import sql
@ -8,26 +7,17 @@ from psycopg2 import sql
def load_user(user_id):
cur = conn.cursor()
schema = 'customers'
id = 'cpr_number'
if str(user_id).startswith('60'):
schema = 'employees'
id = 'id'
schema = 'users'
_id = 'user_id'
user_sql = sql.SQL("""
SELECT * FROM {}
WHERE {} = %s
""").format(sql.Identifier(schema), sql.Identifier(id))
""").format(sql.Identifier(schema), sql.Identifier(_id))
cur.execute(user_sql, (int(user_id),))
if cur.rowcount > 0:
# return-if svarer til nedenstående:
# if schema == 'employees':
# return Employees(cur.fetchone())
# else:
# return Customers(cur.fetchone())
return Employees(cur.fetchone()) if schema == 'employees' else Customers(cur.fetchone())
User(cur.fetchone())
else:
return None
@ -122,143 +112,24 @@ class Transfers(tuple):
self.amount = user_data[1]
self.transfer_date = user_data[2]
def insert_Customers(name, CPR_number, password):
def insert_users(user_id, first_name, last_name, password, email, adresse, role):
cur = conn.cursor()
sql = """
INSERT INTO Customers(name, CPR_number, password)
VALUES (%s, %s, %s)
INSERT INTO Customers(user_id, first_name, last_name, password, email, adresse, role)
VALUES (%s, %s, %s, %s, %s, %s, %s)
"""
cur.execute(sql, (name, CPR_number, password))
cur.execute(sql, (user_id, first_name, last_name, password, email, adresse, role))
# Husk commit() for INSERT og UPDATE, men ikke til SELECT!
conn.commit()
cur.close()
def insert_Employees(id, name, password):
def select_users(user_id):
cur = conn.cursor()
sql = """
INSERT INTO Employees(id, name, password)
VALUES (%s, %s, %s)
SELECT * FROM users
WHERE user_id = %s
"""
cur.execute(sql, (id, name, password))
# Husk commit() for INSERT og UPDATE, men ikke til SELECT!
conn.commit()
cur.close()
def select_Customers(CPR_number):
cur = conn.cursor()
sql = """
SELECT * FROM Customers
WHERE CPR_number = %s
"""
cur.execute(sql, (CPR_number,))
cur.execute(sql, (user_id,))
user = Customers(cur.fetchone()) if cur.rowcount > 0 else None;
cur.close()
return user
def select_Employees(id):
cur = conn.cursor()
sql = """
SELECT * FROM Employees
WHERE id = %s
"""
cur.execute(sql, (id,))
user = Employees(cur.fetchone()) if cur.rowcount > 0 else None;
cur.close()
return user
def select_all_Employees():
cur = conn.cursor()
sql = """
SELECT * FROM Employees
"""
cur.execute(sql)
tuple_resultset = cur.fetchall()
cur.close()
return tuple_resultset
def update_CheckingAccount(amount, CPR_number):
cur = conn.cursor()
sql = """
UPDATE CheckingAccount
SET amount = %s
WHERE CPR_number = %s
"""
cur.execute(sql, (amount, CPR_number))
# Husk commit() for INSERT og UPDATE, men ikke til SELECT!
conn.commit()
cur.close()
def transfer_account(date, amount, from_account, to_account):
cur = conn.cursor()
sql = """
INSERT INTO Transfers(transfer_date, amount, from_account, to_account)
VALUES (%s, %s, %s, %s)
"""
cur.execute(sql, (date, amount, from_account, to_account))
# Husk commit() for INSERT og UPDATE, men ikke til SELECT!
conn.commit()
cur.close()
def select_emp_cus_accounts(emp_cpr_number):
cur = conn.cursor()
sql = """
SELECT
e.name employee
, c.name customer
, cpr_number
, account_number
FROM manages m
NATURAL JOIN accounts
NATURAL JOIN customers c
JOIN employees e ON m.emp_cpr_number = e.id
WHERE emp_cpr_number = %s
;
"""
cur.execute(sql, (emp_cpr_number,))
tuple_resultset = cur.fetchall()
cur.close()
return tuple_resultset
def select_investments(emp_cpr_number):
cur = conn.cursor()
sql = """
SELECT i.account_number, a.cpr_number, a.created_date
FROM investmentaccounts i
JOIN accounts a ON i.account_number = a.account_number
JOIN manages m ON m.account_number = a.account_number
JOIN employees e ON e.id = m.emp_cpr_number
WHERE e.id = %s
"""
cur.execute(sql, (emp_cpr_number,))
tuple_resultset = cur.fetchall()
cur.close()
return tuple_resultset
def select_investments_with_certificates(emp_cpr_number):
cur = conn.cursor()
sql = """
SELECT i.account_number, a.cpr_number, a.created_date
, cd.cd_number, start_date, maturity_date, rate, amount
FROM investmentaccounts i
JOIN accounts a ON i.account_number = a.account_number
JOIN certificates_of_deposit cd ON i.account_number = cd.account_number
JOIN manages m ON m.account_number = a.account_number
JOIN employees e ON e.id = m.emp_cpr_number
WHERE e.id = %s
"""
cur.execute(sql, (emp_cpr_number,))
tuple_resultset = cur.fetchall()
cur.close()
return tuple_resultset
def select_investments_certificates_sum(emp_cpr_number):
cur = conn.cursor()
sql = """
SELECT account_number, cpr_number, created_date, sum
FROM vw_cd_sum
WHERE emp_cpr_number = %s
"""
cur.execute(sql, (emp_cpr_number,))
tuple_resultset = cur.fetchall()
cur.close()
return tuple_resultset