add schemas

This commit is contained in:
WorldTeacher
2024-07-29 10:28:46 +02:00
parent dd429c9cd0
commit 0e8e6c5c40
4 changed files with 33 additions and 18 deletions

View File

@@ -1,3 +1,4 @@
from .database import LOANS, MEDIA, USERS
from .user import User
from .book import Book
from .book import Book
from .loan import Loan

View File

@@ -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 = ""

View File

@@ -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));
"""

14
src/schemas/loan.py Normal file
View File

@@ -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