barker/barker/barker/main.py

120 lines
4.3 KiB
Python

import uvicorn
from fastapi import FastAPI
from starlette.middleware.sessions import SessionMiddleware
from .core.config import settings
from .db.base import reg # noqa: F401
from .routers import (
customer,
customer_discount,
db_settings,
device,
guest_book,
header_footer,
login,
menu_category,
modifier,
modifier_category,
printer,
product,
regime,
role,
sale_category,
section,
section_printer,
settle_option,
table,
tax,
temporal_product,
update_product_prices,
user,
)
from .routers.reports import (
beer_sale_report,
bill_settlement_report,
cashier_report,
discount_report,
product_sale_report,
product_updates_report,
sale_report,
tax_report,
)
from .routers.voucher import (
cancel,
change,
merge_move,
receive_payment,
save,
show,
split,
update,
)
app = FastAPI()
app.add_middleware(SessionMiddleware, secret_key=settings.MIDDLEWARE_SECRET_KEY)
app.include_router(login.router, tags=["login"])
app.include_router(role.router, prefix="/api/roles", tags=["users"])
app.include_router(user.router, prefix="/api/users", tags=["users"])
app.include_router(modifier.router, prefix="/api/modifiers", tags=["modifiers"])
app.include_router(modifier_category.router, prefix="/api/modifier-categories", tags=["modifiers"])
app.include_router(printer.router, prefix="/api/printers", tags=["printers"])
app.include_router(menu_category.router, prefix="/api/menu-categories", tags=["products"])
app.include_router(product.router, prefix="/api/products", tags=["products"])
app.include_router(temporal_product.router, prefix="/api/temporal-products", tags=["products"])
app.include_router(device.router, prefix="/api/devices", tags=["devices"])
app.include_router(sale_category.router, prefix="/api/sale-categories", tags=["products"])
app.include_router(header_footer.router, prefix="/api/header-footer", tags=["products"])
app.include_router(product_updates_report.router, prefix="/api/product-updates-report", tags=["products"])
app.include_router(update_product_prices.router, prefix="/api/update-product-prices", tags=["products"])
app.include_router(section.router, prefix="/api/sections", tags=["sections"])
app.include_router(section_printer.router, prefix="/api/section-printers", tags=["section-printers"])
app.include_router(settle_option.router, prefix="/api/settle-options", tags=["settle-options"])
app.include_router(db_settings.router, prefix="/api/settings", tags=["settings"])
app.include_router(tax.router, prefix="/api/taxes", tags=["taxes"])
app.include_router(regime.router, prefix="/api/regimes", tags=["regimes"])
app.include_router(table.router, prefix="/api/tables", tags=["sections"])
app.include_router(
beer_sale_report.router,
prefix="/api/beer-sale-report",
tags=["reports"],
)
app.include_router(
bill_settlement_report.router,
prefix="/api/bill-settlement-report",
tags=["reports"],
)
app.include_router(cashier_report.router, prefix="/api/cashier-report", tags=["reports"])
app.include_router(discount_report.router, prefix="/api/discount-report", tags=["reports"])
app.include_router(product_sale_report.router, prefix="/api/product-sale-report", tags=["reports"])
app.include_router(sale_report.router, prefix="/api/sale-report", tags=["reports"])
app.include_router(tax_report.router, prefix="/api/tax-report", tags=["reports"])
app.include_router(guest_book.router, prefix="/api/guest-book", tags=["guest-book"])
app.include_router(customer.router, prefix="/api/customers", tags=["guest-book"])
app.include_router(customer_discount.router, prefix="/api/customer-discounts", tags=["guest-book"])
app.include_router(show.router, prefix="/api/voucher", tags=["voucher"])
app.include_router(save.router, prefix="/api/voucher", tags=["voucher"])
app.include_router(update.router, prefix="/api/voucher", tags=["voucher"])
app.include_router(receive_payment.router, prefix="/api/voucher", tags=["voucher"])
app.include_router(cancel.router, prefix="/api/voucher", tags=["voucher"])
app.include_router(merge_move.router, prefix="/api", tags=["voucher"])
app.include_router(split.router, prefix="/api", tags=["voucher"])
app.include_router(change.router, prefix="/api/voucher", tags=["voucher"])
def init():
uvicorn.run(app, host=settings.HOST, port=settings.PORT)