+51
-51
@@ -242,6 +242,57 @@ async def list_faq_pages(
|
||||
)
|
||||
|
||||
|
||||
@router.get("/faq/status", response_model=FaqStatusResponse)
|
||||
async def get_faq_status(
|
||||
_: object = Security(require_api_token),
|
||||
db: AsyncSession = Depends(get_db_session),
|
||||
language: str = Query("ru", min_length=2, max_length=10),
|
||||
fallback: bool = Query(True),
|
||||
) -> FaqStatusResponse:
|
||||
requested_lang = FaqService.normalize_language(language)
|
||||
setting = await FaqService.get_setting(db, requested_lang, fallback=fallback)
|
||||
|
||||
if not setting:
|
||||
return FaqStatusResponse(
|
||||
requested_language=requested_lang,
|
||||
language=requested_lang,
|
||||
is_enabled=False,
|
||||
)
|
||||
|
||||
return FaqStatusResponse(
|
||||
requested_language=requested_lang,
|
||||
language=setting.language,
|
||||
is_enabled=bool(setting.is_enabled),
|
||||
)
|
||||
|
||||
|
||||
@router.put("/faq/status", response_model=FaqStatusResponse)
|
||||
async def update_faq_status(
|
||||
payload: Optional[FaqStatusUpdateRequest] = Body(None),
|
||||
language: str = Query("ru", min_length=2, max_length=10),
|
||||
is_enabled: Optional[bool] = Query(None),
|
||||
_: object = Security(require_api_token),
|
||||
db: AsyncSession = Depends(get_db_session),
|
||||
) -> FaqStatusResponse:
|
||||
resolved_language = FaqService.normalize_language(
|
||||
payload.language if payload and payload.language else language
|
||||
)
|
||||
|
||||
enabled_status = payload.is_enabled if payload else is_enabled
|
||||
if enabled_status is None:
|
||||
raise HTTPException(
|
||||
status.HTTP_400_BAD_REQUEST, "Parameter 'is_enabled' is required"
|
||||
)
|
||||
|
||||
setting = await FaqService.set_enabled(db, resolved_language, enabled_status)
|
||||
|
||||
return FaqStatusResponse(
|
||||
requested_language=resolved_language,
|
||||
language=setting.language,
|
||||
is_enabled=bool(setting.is_enabled),
|
||||
)
|
||||
|
||||
|
||||
@router.post("/faq", response_model=FaqPageResponse, status_code=status.HTTP_201_CREATED)
|
||||
async def create_faq_page(
|
||||
payload: FaqPageCreateRequest,
|
||||
@@ -375,57 +426,6 @@ async def reorder_faq_pages(
|
||||
)
|
||||
|
||||
|
||||
@router.get("/faq/status", response_model=FaqStatusResponse)
|
||||
async def get_faq_status(
|
||||
_: object = Security(require_api_token),
|
||||
db: AsyncSession = Depends(get_db_session),
|
||||
language: str = Query("ru", min_length=2, max_length=10),
|
||||
fallback: bool = Query(True),
|
||||
) -> FaqStatusResponse:
|
||||
requested_lang = FaqService.normalize_language(language)
|
||||
setting = await FaqService.get_setting(db, requested_lang, fallback=fallback)
|
||||
|
||||
if not setting:
|
||||
return FaqStatusResponse(
|
||||
requested_language=requested_lang,
|
||||
language=requested_lang,
|
||||
is_enabled=False,
|
||||
)
|
||||
|
||||
return FaqStatusResponse(
|
||||
requested_language=requested_lang,
|
||||
language=setting.language,
|
||||
is_enabled=bool(setting.is_enabled),
|
||||
)
|
||||
|
||||
|
||||
@router.put("/faq/status", response_model=FaqStatusResponse)
|
||||
async def update_faq_status(
|
||||
payload: Optional[FaqStatusUpdateRequest] = Body(None),
|
||||
language: str = Query("ru", min_length=2, max_length=10),
|
||||
is_enabled: Optional[bool] = Query(None),
|
||||
_: object = Security(require_api_token),
|
||||
db: AsyncSession = Depends(get_db_session),
|
||||
) -> FaqStatusResponse:
|
||||
resolved_language = FaqService.normalize_language(
|
||||
payload.language if payload and payload.language else language
|
||||
)
|
||||
|
||||
enabled_status = payload.is_enabled if payload else is_enabled
|
||||
if enabled_status is None:
|
||||
raise HTTPException(
|
||||
status.HTTP_400_BAD_REQUEST, "Parameter 'is_enabled' is required"
|
||||
)
|
||||
|
||||
setting = await FaqService.set_enabled(db, resolved_language, enabled_status)
|
||||
|
||||
return FaqStatusResponse(
|
||||
requested_language=resolved_language,
|
||||
language=setting.language,
|
||||
is_enabled=bool(setting.is_enabled),
|
||||
)
|
||||
|
||||
|
||||
@router.get("/service-rules", response_model=ServiceRulesResponse)
|
||||
async def get_service_rules(
|
||||
_: object = Security(require_api_token),
|
||||
|
||||
Reference in New Issue
Block a user