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 .database import LOANS, MEDIA, USERS
from .user import User 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 @dataclass
class Book: class Book:
title: str | None = None title: str = ""
ppn: int | None = None ppn: int = ""
signature: str | None = None signature: str = ""
isbn: str | None = None isbn: str = ""
link: str | None = None link: str = ""
database_id: int | None = None database_id: int = ""
link: str | None = None link: str = ""
loan_from: str | None = None loan_from: str = ""
loan_to: str | None = None loan_to: str = ""
returned: int | None = None returned: int = ""
returned_date: str | None = None returned_date: str = ""

View File

@@ -6,20 +6,20 @@ usermail TEXT NOT NULL);
MEDIA = """CREATE TABLE IF NOT EXISTS media ( MEDIA = """CREATE TABLE IF NOT EXISTS media (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
signature TEXT NOT NULL, signature TEXT NOT NULL,
isbn TEXT NOT NULL, isbn TEXT,
ppn TEXT NOT NULL, ppn TEXT,
title TEXT NOT NULL, title TEXT NOT NULL,
link TEXT NOT NULL); link TEXT);
""" """
LOANS = """CREATE TABLE IF NOT EXISTS loans ( LOANS = """CREATE TABLE IF NOT EXISTS loans (
id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL, user_id INTEGER NOT NULL,
media_id INTEGER NOT NULL, media_id INTEGER NOT NULL,
loan_date TEXT NOT NULL, loan_date DATETIME NOT NULL,
return_date TEXT NOT NULL, return_date DATETIME NOT NULL,
returned INTEGER DEFAULT 0, returned INTEGER DEFAULT 0,
returned_date TEXT, returned_date DATETIME,
FOREIGN KEY (user_id) REFERENCES users(id), FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (media_id) REFERENCES media(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