add schemas
This commit is contained in:
@@ -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
|
||||||
@@ -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 = ""
|
||||||
|
|||||||
@@ -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
14
src/schemas/loan.py
Normal 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
|
||||||
Reference in New Issue
Block a user