import uvicorn from fastapi import FastAPI from starlette.middleware.sessions import SessionMiddleware from .core.config import settings from .db.base_class import Base from .db.session import engine from .routers import ( act, advocate, case, case_source, case_type, cause_list, contact, court, court_status, department, login, nature, office, office_status, role, user, ) Base.metadata.create_all(bind=engine) 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(act.router, prefix="/api/acts", tags=["acts"]) app.include_router(advocate.router, prefix="/api/advocates", tags=["advocates"]) app.include_router(cause_list.router, prefix="/api/cause-list", tags=["cases"]) app.include_router(case.router, prefix="/api/cases", tags=["cases"]) app.include_router(case_source.router, prefix="/api/case-sources", tags=["case-sources"]) app.include_router(case_type.router, prefix="/api/case-types", tags=["case-types"]) app.include_router(contact.router, prefix="/api/contacts", tags=["contacts"]) app.include_router(court.router, prefix="/api/courts", tags=["courts"]) app.include_router(court_status.router, prefix="/api/court-statuses", tags=["court-status"]) app.include_router(department.router, prefix="/api/departments", tags=["department"]) app.include_router(nature.router, prefix="/api/natures", tags=["nature"]) app.include_router(office.router, prefix="/api/offices", tags=["offices"]) app.include_router(office_status.router, prefix="/api/office-statuses", tags=["office-status"]) # 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(tax.router, prefix="/api/taxes", tags=["taxes"]) # # 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(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(void.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)