diff --git a/src/config_files/verity_schema.yaml b/src/config_files/verity_schema.yaml index 0706249..3e0d980 100644 --- a/src/config_files/verity_schema.yaml +++ b/src/config_files/verity_schema.yaml @@ -1,6 +1,7 @@ database_name: verity tables: - - table_name: budget + + - table_name: user table_columns: - column_name: id is_pk: True @@ -10,11 +11,8 @@ tables: is_pk: False datatype: TEXT nullable: False - - column_name: created_date - is_pk: False - datatype: TEXT - nullable: False - - table_name: account_types + + - table_name: account_type table_columns: - column_name: id is_pk: True @@ -24,110 +22,110 @@ tables: is_pk: False datatype: TEXT nullable: False - - column_name: created_date - is_pk: False - datatype: TEXT - nullable: False + - table_name: account table_columns: - column_name: id is_pk: True datatype: INTEGER nullable: False - - column_name: name + - column_name: user_id is_pk: False datatype: INTEGER + is_fk: user.id nullable: False - - column_name: budget_id + - column_name: type_id is_pk: False datatype: INTEGER - is_fk: budget.id + is_fk: account_type.id nullable: False - - column_name: account_type + - column_name: name is_pk: False - datatype: INTEGER + datatype: TEXT nullable: False - table_foreign_keys: - - column: account_type - references: account - reference_column: id - - table_name: category - table_foreign_keys: - - column: parent_category - references: category #self join for hierarchy - reference_column: id + + - table_name: party table_columns: - column_name: id is_pk: True datatype: INTEGER nullable: False - - column_name: parent_category - is_pk: False - datatype: INTEGER - nullable: True - column_name: name is_pk: False datatype: TEXT nullable: False - - column_name: created_date - is_pk: False - datatype: TEXT + + - table_name: transaction_type + table_columns: + - column_name: id + is_pk: True + datatype: INTEGER nullable: False - - column_name: current_money_assigned + - column_name: name is_pk: False - datatype: INTEGER + datatype: TEXT nullable: False - - table_name: party + + - table_name: category table_columns: - column_name: id is_pk: True datatype: INTEGER nullable: False + - column_name: user_id + is_pk: False + datatype: INTEGER + is_fk: user.id + nullable: False - column_name: name is_pk: False datatype: TEXT nullable: False - - column_name: last_category + - column_name: budget_value is_pk: False - datatype: TEXT + datatype: REAL nullable: True - table_foreign_keys: - - column: last_category - references: category #self join for hierarchy - reference_column: id - - table_name: movement + - column_name: parent_id + is_pk: False + datatype: INTEGER + is_fk: category.id + nullable: True + + - table_name: transaction_log table_columns: - column_name: id is_pk: True datatype: INTEGER nullable: False - - column_name: date - is_pk: False - datatype: TEXT - nullable: False - - column_name: amount + - column_name: account_id is_pk: False datatype: INTEGER + is_fk: account.id nullable: False - - column_name: category + - column_name: party_id is_pk: False datatype: INTEGER - nullable: False - - column_name: account + is_fk: party.id + nullable: True + - column_name: type_id is_pk: False datatype: INTEGER + is_fk: transaction_type.id nullable: False - - column_name: party + - column_name: category_id is_pk: False datatype: INTEGER + is_fk: category.id + nullable: True + - column_name: amount + is_pk: False + datatype: REAL nullable: False - table_foreign_keys: - - column: category - references: category #self join for hierarchy - reference_column: id - - column: account - references: account - reference_column: id - - column: party - references: party - reference_column: id + - column_name: notes + is_pk: False + datatype: TEXT + nullable: True + - column_name: datetime + is_pk: False + datatype: TEXT + nullable: False \ No newline at end of file diff --git a/src/data_handler.py b/src/data_handler.py index 16eb705..14724f7 100644 --- a/src/data_handler.py +++ b/src/data_handler.py @@ -1,6 +1,5 @@ import sqlite3 import logging -from datetime import datetime logger = logging.getLogger(__name__) @@ -151,14 +150,10 @@ def print_table_schema(self, table_name): except Exception as e: logger.error(e) - def add_budget_name(self, budget_name: str) -> int: - "takes budget name string, returns budget id" - now = datetime.now() - formatted_datetime = now.strftime("%Y-%m-%d %H:%M:%S") + def add_user_name(self, user_name: str) -> int: + "takes user name string, returns user id" logger.debug( - f"attempting to insert values into budget table {budget_name} | { - formatted_datetime - }" + f"attempting to insert values into user table {user_name}" ) try: connection = sqlite3.connect(self.database) @@ -166,34 +161,33 @@ def add_budget_name(self, budget_name: str) -> int: cursor = connection.cursor() logger.debug("cursor activated") cursor.execute( - """INSERT INTO budget ( - name, - created_date + """INSERT INTO user ( + name ) - VALUES (?,?) + VALUES (?) """, - (budget_name, formatted_datetime), + (user_name,), ) logger.debug("cursor executed") connection.commit() - budget_id = cursor.lastrowid - logger.debug(f"insert attempt seems successful, budget id is {budget_id}") + user_id = cursor.lastrowid + logger.debug(f"insert attempt seems successful, user id is {user_id}") - if budget_id is None: - budget_id = 0 + if user_id is None: + user_id = 0 except Exception as e: - logger.error(f"Failed to insert budget name, error: {e}") - budget_id = 0 + logger.error(f"Failed to insert user name, error: {e}") + user_id = 0 finally: try: connection.close() logger.debug("connection to db closed") - return budget_id + return user_id except Exception as e: logger.error(f"failed to close connection message: {e}") return 0 - def get_budgets(self) -> list: - get_budget_sql = "SELECT name FROM budget" - budgets = self.read_database(get_budget_sql) - return budgets + def get_users(self) -> list: + get_user_sql = "SELECT name FROM user" + users = self.read_database(get_user_sql) + return users diff --git a/src/front/home.py b/src/front/home.py index 5f0a360..f452074 100644 --- a/src/front/home.py +++ b/src/front/home.py @@ -15,26 +15,26 @@ def home_page(): logger.info("home page hit") db_call = data_handler.database(verity_config) - budgets = db_call.get_budgets() - return render_template("home.html", budgets=budgets) + users = db_call.get_users() + return render_template("home.html", users=users) @home_bp.route("/submit", methods=["POST"]) -def submit_budget_name(): - budget_name = request.form.get("budgetName") +def submit_user_name(): + user_name = request.form.get("userName") logger.debug(f"Request Received: {request.form}") - if budget_name: - logger.info(f"User submitted new budget name: {budget_name}") - session["budget_name"] = budget_name + if user_name: + logger.info(f"User submitted new user name: {user_name}") + session["user_name"] = user_name db_call = data_handler.database(verity_config) - budget_id = db_call.add_budget_name(budget_name) - if budget_id == 0: + user_id = db_call.add_user_name(user_name) + if user_id == 0: # db entry failed, throw error message - flash("Budget Name not saved, please check the logs", "error") + flash("User Name not saved, please check the logs", "error") return redirect(url_for("home.home_page")) - session["budget_id"] = budget_id - flash("Budget name saved!", "success") + session["user_id"] = user_id + flash("user name saved!", "success") return redirect(url_for("home.home_page")) else: - flash("Please enter a budget name.", "error") + flash("Please enter a user name.", "error") return redirect(url_for("home.home_page")) diff --git a/src/front/templates/home.html b/src/front/templates/home.html index 633fc07..5f5d5ed 100644 --- a/src/front/templates/home.html +++ b/src/front/templates/home.html @@ -2,23 +2,23 @@ %}
- {% for budget in budgets %}
-- {{ budget[0] }}
+ {% for user in users %}
+- {{ user[0] }}
{% endfor %}