brewman/brewman/main.py

125 lines
5.3 KiB
Python

import uvicorn
from fastapi import FastAPI
from starlette.middleware.sessions import SessionMiddleware
from .routers import (
account,
account_types,
attendance_report,
attendance_types,
attendance,
batch,
cost_centre,
credit_salary,
db_image,
db_integrity,
employee,
employee_attendance,
employee_benefit,
fingerprint,
incentive,
issue,
issue_grid,
lock_information,
maintenance,
product,
product_group,
rebase,
reset_stock,
recipe,
login,
journal,
purchase,
purchase_return,
voucher,
)
from .routers.auth import client, user, role
from .routers.reports import (
ledger,
balance_sheet,
profit_loss,
closing_stock,
cash_flow,
daybook,
net_transactions,
product_ledger,
purchase_entries,
purchases,
raw_material_cost,
reconcile,
stock_movement,
trial_balance,
unposted,
)
from .db.base_class import Base
from .core.config import settings
from .db.session import engine
Base.metadata.create_all(bind=engine)
app = FastAPI()
app.add_middleware(SessionMiddleware, secret_key=settings.MIDDLEWARE_SECRET_KEY)
app.include_router(db_image.router, prefix="/db-image", tags=["db-image"])
app.include_router(login.router, tags=["login"])
app.include_router(account.router, prefix="/api/accounts", tags=["accounts"])
app.include_router(account_types.router, prefix="/api/account-types", tags=["accounts"])
app.include_router(attendance.router, prefix="/api/attendance", tags=["attendance"])
app.include_router(attendance_types.router, prefix="/api/attendance-types", tags=["attendance"])
app.include_router(employee_attendance.router, prefix="/api/employee-attendance", tags=["attendance"])
app.include_router(employee_attendance.router, prefix="/api/employee-attendance", tags=["attendance"])
app.include_router(attendance_report.router, prefix="/attendance-report", tags=["attendance"])
app.include_router(cost_centre.router, prefix="/api/cost-centres", tags=["cost-centres"])
app.include_router(employee.router, prefix="/api/employees", tags=["employees"])
app.include_router(fingerprint.router, prefix="/api/fingerprint", tags=["employees"])
app.include_router(product.router, prefix="/api/products", tags=["products"])
app.include_router(product_group.router, prefix="/api/product-groups", tags=["products"])
app.include_router(recipe.router, prefix="/api/recipes", tags=["products"])
app.include_router(client.router, prefix="/api/clients", tags=["clients"])
app.include_router(role.router, prefix="/api/roles", tags=["users"])
app.include_router(user.router, prefix="/api/users", tags=["users"])
app.include_router(ledger.router, prefix="/api/ledger", tags=["reports"])
app.include_router(balance_sheet.router, prefix="/api/balance-sheet", tags=["reports"])
app.include_router(profit_loss.router, prefix="/api/profit-loss", tags=["reports"])
app.include_router(closing_stock.router, prefix="/api/closing-stock", tags=["reports"])
app.include_router(cash_flow.router, prefix="/api/cash-flow", tags=["reports"])
app.include_router(daybook.router, prefix="/api/daybook", tags=["reports"])
app.include_router(net_transactions.router, prefix="/api/net-transactions", tags=["reports"])
app.include_router(product_ledger.router, prefix="/api/product-ledger", tags=["reports"])
app.include_router(purchase_entries.router, prefix="/api/purchase-entries", tags=["reports"])
app.include_router(purchases.router, prefix="/api/purchases", tags=["reports"])
app.include_router(raw_material_cost.router, prefix="/api/raw-material-cost", tags=["reports"])
app.include_router(reconcile.router, prefix="/api/reconcile", tags=["reports"])
app.include_router(stock_movement.router, prefix="/api/stock-movement", tags=["reports"])
app.include_router(trial_balance.router, prefix="/api/trial-balance", tags=["reports"])
app.include_router(unposted.router, prefix="/api/unposted", tags=["reports"])
app.include_router(issue_grid.router, prefix="/api/issue-grid", tags=["vouchers"])
app.include_router(batch.router, prefix="/api/batch", tags=["vouchers"])
app.include_router(journal.router, prefix="/api/journal", tags=["vouchers"])
app.include_router(journal.router, prefix="/api/payment", tags=["vouchers"])
app.include_router(journal.router, prefix="/api/receipt", tags=["vouchers"])
app.include_router(purchase.router, prefix="/api/purchase", tags=["vouchers"])
app.include_router(purchase_return.router, prefix="/api/purchase-return", tags=["vouchers"])
app.include_router(issue.router, prefix="/api/issue", tags=["vouchers"])
app.include_router(employee_benefit.router, prefix="/api/employee-benefit", tags=["vouchers"])
app.include_router(incentive.router, prefix="/api/incentive", tags=["vouchers"])
app.include_router(credit_salary.router, prefix="/api/credit-salary", tags=["vouchers"])
app.include_router(voucher.router, prefix="/api", tags=["vouchers"])
app.include_router(lock_information.router, prefix="/api/lock-information", tags=["settings"])
app.include_router(maintenance.router, prefix="/api/maintenance", tags=["settings"])
app.include_router(db_integrity.router, prefix="/api/db-integrity", tags=["management"])
app.include_router(reset_stock.router, prefix="/api/reset-stock", tags=["management"])
app.include_router(rebase.router, prefix="/api/rebase", tags=["management"])
def init():
uvicorn.run(app, host=settings.HOST, port=settings.PORT)