|
|
|
|
@ -1,8 +1,13 @@
|
|
|
|
|
|
|
|
|
|
from fastapi import APIRouter, HTTPException, status
|
|
|
|
|
from typing import Optional
|
|
|
|
|
from fastapi import APIRouter, HTTPException, status, Query
|
|
|
|
|
|
|
|
|
|
from .model import MasterData
|
|
|
|
|
from .schema import MasterDataPagination, MasterDataRead, MasterDataCreate, MasterDataUpdate
|
|
|
|
|
from .schema import (
|
|
|
|
|
MasterDataPagination,
|
|
|
|
|
MasterDataRead,
|
|
|
|
|
MasterDataCreate,
|
|
|
|
|
MasterDataUpdate,
|
|
|
|
|
)
|
|
|
|
|
from .service import get, get_all, create, update, delete
|
|
|
|
|
|
|
|
|
|
from src.database.service import CommonParameters, search_filter_sort_paginate
|
|
|
|
|
@ -14,11 +19,22 @@ router = APIRouter()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.get("", response_model=StandardResponse[MasterDataPagination])
|
|
|
|
|
async def get_masterdatas(common: CommonParameters):
|
|
|
|
|
async def get_masterdatas(
|
|
|
|
|
db_session: DbSession,
|
|
|
|
|
common: CommonParameters,
|
|
|
|
|
items_per_page: Optional[int] = Query(5),
|
|
|
|
|
search: Optional[str] = Query(None),
|
|
|
|
|
):
|
|
|
|
|
"""Get all documents."""
|
|
|
|
|
# return
|
|
|
|
|
master_datas = await get_all(
|
|
|
|
|
db_session=db_session,
|
|
|
|
|
items_per_page=items_per_page,
|
|
|
|
|
search=search,
|
|
|
|
|
common=common,
|
|
|
|
|
)
|
|
|
|
|
return StandardResponse(
|
|
|
|
|
data=await search_filter_sort_paginate(model=MasterData, **common),
|
|
|
|
|
data=master_datas,
|
|
|
|
|
message="Data retrieved successfully",
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
@ -36,7 +52,9 @@ async def get_masterdata(db_session: DbSession, masterdata_id: str):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("", response_model=StandardResponse[MasterDataRead])
|
|
|
|
|
async def create_masterdata(db_session: DbSession, masterdata_in: MasterDataCreate, current_user: CurrentUser):
|
|
|
|
|
async def create_masterdata(
|
|
|
|
|
db_session: DbSession, masterdata_in: MasterDataCreate, current_user: CurrentUser
|
|
|
|
|
):
|
|
|
|
|
masterdata_in.created_by = current_user.name
|
|
|
|
|
masterdata = await create(db_session=db_session, masterdata_in=masterdata_in)
|
|
|
|
|
|
|
|
|
|
@ -44,7 +62,12 @@ async def create_masterdata(db_session: DbSession, masterdata_in: MasterDataCrea
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.put("/{masterdata_id}", response_model=StandardResponse[MasterDataRead])
|
|
|
|
|
async def update_masterdata(db_session: DbSession, masterdata_id: str, masterdata_in: MasterDataUpdate, current_user: CurrentUser):
|
|
|
|
|
async def update_masterdata(
|
|
|
|
|
db_session: DbSession,
|
|
|
|
|
masterdata_id: str,
|
|
|
|
|
masterdata_in: MasterDataUpdate,
|
|
|
|
|
current_user: CurrentUser,
|
|
|
|
|
):
|
|
|
|
|
masterdata = await get(db_session=db_session, masterdata_id=masterdata_id)
|
|
|
|
|
|
|
|
|
|
if not masterdata:
|
|
|
|
|
@ -54,7 +77,12 @@ async def update_masterdata(db_session: DbSession, masterdata_id: str, masterdat
|
|
|
|
|
)
|
|
|
|
|
masterdata_in.updated_by = current_user.name
|
|
|
|
|
|
|
|
|
|
return StandardResponse(data=await update(db_session=db_session, masterdata=masterdata, masterdata_in=masterdata_in), message="Data updated successfully")
|
|
|
|
|
return StandardResponse(
|
|
|
|
|
data=await update(
|
|
|
|
|
db_session=db_session, masterdata=masterdata, masterdata_in=masterdata_in
|
|
|
|
|
),
|
|
|
|
|
message="Data updated successfully",
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.delete("/{masterdata_id}", response_model=StandardResponse[MasterDataRead])
|
|
|
|
|
|