From 0e8e6c5c40c539ecd2d49add2e2d8ae8207491b3 Mon Sep 17 00:00:00 2001 From: WorldTeacher <41587052+WorldTeacher@users.noreply.github.com> Date: Mon, 29 Jul 2024 10:28:46 +0200 Subject: [PATCH] add schemas --- src/schemas/__init__.py | 3 ++- src/schemas/book.py | 22 +++++++++++----------- src/schemas/database.py | 12 ++++++------ src/schemas/loan.py | 14 ++++++++++++++ 4 files changed, 33 insertions(+), 18 deletions(-) create mode 100644 src/schemas/loan.py diff --git a/src/schemas/__init__.py b/src/schemas/__init__.py index 68e5795..6b2c6aa 100644 --- a/src/schemas/__init__.py +++ b/src/schemas/__init__.py @@ -1,3 +1,4 @@ from .database import LOANS, MEDIA, USERS from .user import User -from .book import Book \ No newline at end of file +from .book import Book +from .loan import Loan \ No newline at end of file diff --git a/src/schemas/book.py b/src/schemas/book.py index 6e9a904..76893c8 100644 --- a/src/schemas/book.py +++ b/src/schemas/book.py @@ -3,14 +3,14 @@ from dataclasses import dataclass @dataclass class Book: - title: str | None = None - ppn: int | None = None - signature: str | None = None - isbn: str | None = None - link: str | None = None - database_id: int | None = None - link: str | None = None - loan_from: str | None = None - loan_to: str | None = None - returned: int | None = None - returned_date: str | None = None + title: str = "" + ppn: int = "" + signature: str = "" + isbn: str = "" + link: str = "" + database_id: int = "" + link: str = "" + loan_from: str = "" + loan_to: str = "" + returned: int = "" + returned_date: str = "" diff --git a/src/schemas/database.py b/src/schemas/database.py index 0a1dabb..29e554f 100644 --- a/src/schemas/database.py +++ b/src/schemas/database.py @@ -6,20 +6,20 @@ usermail TEXT NOT NULL); MEDIA = """CREATE TABLE IF NOT EXISTS media ( id INTEGER PRIMARY KEY AUTOINCREMENT, signature TEXT NOT NULL, -isbn TEXT NOT NULL, -ppn TEXT NOT NULL, +isbn TEXT, +ppn TEXT, title TEXT NOT NULL, -link TEXT NOT NULL); +link TEXT); """ LOANS = """CREATE TABLE IF NOT EXISTS loans ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, media_id INTEGER NOT NULL, -loan_date TEXT NOT NULL, -return_date TEXT NOT NULL, +loan_date DATETIME NOT NULL, +return_date DATETIME NOT NULL, returned INTEGER DEFAULT 0, -returned_date TEXT, +returned_date DATETIME, FOREIGN KEY (user_id) REFERENCES users(id), FOREIGN KEY (media_id) REFERENCES media(id)); """ diff --git a/src/schemas/loan.py b/src/schemas/loan.py new file mode 100644 index 0000000..fe0c944 --- /dev/null +++ b/src/schemas/loan.py @@ -0,0 +1,14 @@ +from .book import Book +from dataclasses import dataclass + + +@dataclass +class Loan: + id: int + user_id: int + media_id: int + loan_date: str + return_date: str + returned: int + returned_date: str + book: Book