from fastapi import APIRouter, Depends from common.models.gmodel import UserInfo from router.v1.validator.dependencies import IsValidAccessToken, RemoveNoneResponse, RequireOwner from services.company_settings_service import CompanySettingsService from .protocol import Req_UpdateCompanySettings, Res_CompanySettings # 회사별 커스터마이징 설정. 조회=로그인 유저 전원(앱 부팅 시 브랜딩/라벨 로드), 수정=최고관리자(OWNER) 전용. router = APIRouter(prefix="/v1/company/settings", tags=["CompanySettings"], responses={404: {"description": "Not found"}}) @router.get(path="", response_model=Res_CompanySettings, summary="회사 커스터마이징 설정 조회") async def get_settings(service: CompanySettingsService = Depends(), user: UserInfo = Depends(IsValidAccessToken)): return RemoveNoneResponse(await service.get_settings(user.company_id)) @router.put(path="/update", response_model=Res_CompanySettings, summary="회사 커스터마이징 설정 수정(최고관리자)") async def update_settings( req: Req_UpdateCompanySettings, service: CompanySettingsService = Depends(), owner: UserInfo = Depends(RequireOwner) ): return RemoveNoneResponse(await service.update_settings(owner.company_id, req))