from sqlalchemy import Integer, String, Date, Time from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column from sqlalchemy.dialects.mysql.base import TINYINT, TEXT from datetime import date, time class Base(DeclarativeBase): pass class AworkProjekt(Base): __tablename__ = "awork_projekte" awork_project_id: Mapped[str] = mapped_column(String(50), primary_key=True) awork_company_id: Mapped[str] = mapped_column(String(50)) projekt_name: Mapped[str] = mapped_column(String(100)) projekt_status: Mapped[str] = mapped_column(String(20)) projekt_typ: Mapped[str] = mapped_column(String(50)) projekt_allgemein: Mapped[int] = mapped_column(TINYINT, default=0) kunde_name: Mapped[str] = mapped_column(String(100)) tasks_count: Mapped[int] = mapped_column(Integer, default=0) tracked_duration: Mapped[int] = mapped_column(Integer, default=0) class Comment(Base): __tablename__ = "status_kommentar" id: Mapped[int] = mapped_column(Integer, primary_key=True) datum: Mapped[date] = mapped_column(Date) kunde: Mapped[str] = mapped_column(String(50)) start: Mapped[time] = mapped_column(Time) benutzer: Mapped[str] = mapped_column(String(50)) benutzer2: Mapped[str] = mapped_column(String(50), nullable=True) fehler: Mapped[int] = mapped_column(Integer) status: Mapped[int] = mapped_column(Integer) kommentar: Mapped[TEXT] = mapped_column(TEXT) awork_project_id: Mapped[str] = mapped_column(String(50), nullable=True) awork_task_id: Mapped[str] = mapped_column(String(50), nullable=True) class User(Base): __tablename__ = "benutzer" benutzer: Mapped[str] = mapped_column(String(50), primary_key=True) name: Mapped[str] = mapped_column(String(50)) vorname: Mapped[str] = mapped_column(String(50)) email: Mapped[str] = mapped_column(String(100)) passwort: Mapped[str] = mapped_column(String(255)) aktiv: Mapped[int] = mapped_column(TINYINT, default=1) awork_user_id: Mapped[str] = mapped_column(String(50), nullable=True)