import sqlite3 from flask import current_app as app def get_db_connection(): conn = sqlite3.connect('./static/db/db.sqlite') conn.row_factory = sqlite3.Row return conn def dict_from_row(row): return {key: row[key] for key in row.keys()} def fetch_users(role_id): conn = get_db_connection() users = conn.execute('SELECT * FROM Zamestnanci WHERE Role_ID >= ?', (role_id,)).fetchall() users = [dict_from_row(user) for user in users] conn.close() app.logger.debug(f"Fetched users: {users}") return users def fetch_orders(): conn = get_db_connection() orders = conn.execute('SELECT * FROM Objednavky').fetchall() orders = [dict_from_row(order) for order in orders] conn.close() app.logger.debug(f"Fetched orders: {orders}") return orders def fetch_roles(): conn = get_db_connection() roles = conn.execute('SELECT * FROM Role').fetchall() roles = [dict_from_row(role) for role in roles] conn.close() app.logger.debug(f"Fetched roles: {roles}") return roles def fetch_repairs(): conn = get_db_connection() repairs = conn.execute(''' SELECT Opravy.ID_Opravy, Zamestnanci.Jmeno, Zamestnanci.Prijmeni, Opravy.Nazev, Opravy.Popis FROM Opravy JOIN Zamestnanci ON Opravy.ID_Zamestnance = Zamestnanci.ID_Uzivatele ''').fetchall() repairs = [dict_from_row(repair) for repair in repairs] for repair in repairs: products = conn.execute(''' SELECT Produkty.Nazev, Pouzite_Produkty.Pocet_Produktu FROM Pouzite_Produkty JOIN Produkty ON Pouzite_Produkty.ID_Produktu = Produkty.ID_Produktu WHERE Pouzite_Produkty.ID_Opravy = ? ''', (repair['ID_Opravy'],)).fetchall() repair['products'] = [dict_from_row(product) for product in products] conn.close() app.logger.debug(f"Fetched repairs: {repairs}") return repairs def fetch_employees(): conn = get_db_connection() employees = conn.execute('SELECT ID_Uzivatele, Jmeno, Prijmeni FROM Zamestnanci').fetchall() employees = [dict_from_row(employee) for employee in employees] conn.close() app.logger.debug(f"Fetched employees: {employees}") return employees