Added isbn and chekedin to Book table. Moved checkin to add and began reworking how chckedin works. Also added new 'Add' barcode.

This commit is contained in:
dan
2021-08-27 16:35:13 -04:00
parent 8296cface0
commit ca68700b95

40
main.py
View File

@@ -24,8 +24,10 @@ class Book(Base):
id = Column(Integer, primary_key=True, autoincrement=True) id = Column(Integer, primary_key=True, autoincrement=True)
userid = Column(Integer) userid = Column(Integer)
locationid = Column(Integer) locationid = Column(Integer)
isbn = Column(String)
Title = Column(TEXT) Title = Column(TEXT)
Author = Column(TEXT) Author = Column(TEXT)
CheckedIn = Column(Integer)
class Location(Base): class Location(Base):
@@ -54,16 +56,40 @@ async def root():
return {"message": "Hello World"} return {"message": "Hello World"}
@app.post('/checkin/') @app.post('/add/')
async def checkin(isbn: str = Form(...), locationid: int = Form(...), userid: int = Form(...)): async def add(isbn: str = Form(...), locationid: int = Form(...), userid: int = Form(...)):
info = await getMeta(isbn) info = await getMeta(isbn)
session.add(Book(userid=userid, Title=info['Title'], Author=info['Authors'], locationid=locationid)) session.add(Book(userid=userid, Title=info['Title'], Author=info['Authors'], locationid=locationid,
isbn=isbn, CheckedIn=1))
try: try:
session.commit() session.commit()
except: except:
session.rollback() session.rollback()
raise raise
return {"Checked in": info['Title']} return {"Added": info['Title']}
@app.post('/checkin/')
async def checkin(isbn: str = Form(...), locationid: int = Form(...)):
# for info in session.query(Book).filter(Book.isbn == isbn).first():
# print(info.Title)
# title = info.Title
try:
info = session.query(Book).filter(Book.isbn == isbn).first()
session.query(Book).filter(Book.isbn == isbn, Book.CheckedIn == 0).update({Book.locationid: locationid})
session.query(Book).filter(Book.isbn == isbn, Book.CheckedIn == 0).update({Book.CheckedIn: 1})
try:
session.commit()
except:
session.rollback()
raise
return {"Checked In": info.Title}
except:
print('none')
return {"Checked In": "Failed"}
@app.get('/checkout/{isbn}') @app.get('/checkout/{isbn}')
@@ -100,11 +126,7 @@ async def checkin(BookCase: str = Form(...), Shelf: str = Form(...)):
@app.post('/barcodes') @app.post('/barcodes')
async def barcodes(userid: int = Form(...)): async def barcodes(userid: int = Form(...)):
barcode = {'Check In': 'CI', 'Check Out': 'CO', 'Lookup': 'LU', 'Update': 'UPDATE', 'Check In1': 'CI', barcode = {'Check In': 'CI', 'Check Out': 'CO', 'Lookup': 'LU', 'Update': 'UPDATE', 'Add': 'AD'}
'Check Out1': 'CO', 'Lookup1': 'LU', 'Update1': 'UPDATE','Check In2': 'CI', 'Check Out2': 'CO',
'Lookup2': 'LU', 'Update2': 'UPDATE','Check In3': 'CI', 'Check Out3': 'CO', 'Lookup3': 'LU', 'Update3': 'UPDATE', 'Check In4': 'CI',
'Check Out4': 'CO', 'Lookup4': 'LU', 'Update4': 'UPDATE','Check In5': 'CI', 'Check Out5': 'CO',
'Lookup5': 'LU', 'Update5': 'UPDATE'}
pdf = FPDF() pdf = FPDF()
try: try: