28 lines
859 B
Python
28 lines
859 B
Python
from __future__ import annotations
|
|
|
|
from fastapi import APIRouter, Depends
|
|
|
|
from app.auth.repository import SessionRecord
|
|
from app.dependencies import get_integration_service, require_session
|
|
from app.integrations.schemas import IntegrationUpdate
|
|
from app.integrations.service import IntegrationService
|
|
|
|
router = APIRouter(prefix="/api/v1/integrations", tags=["integrations"])
|
|
|
|
|
|
@router.get("")
|
|
def get_integrations(
|
|
_: SessionRecord = Depends(require_session),
|
|
service: IntegrationService = Depends(get_integration_service),
|
|
) -> dict:
|
|
return {"data": service.get_view().model_dump()}
|
|
|
|
|
|
@router.put("")
|
|
def update_integrations(
|
|
payload: IntegrationUpdate,
|
|
_: SessionRecord = Depends(require_session),
|
|
service: IntegrationService = Depends(get_integration_service),
|
|
) -> dict:
|
|
return {"data": service.update(payload).model_dump()}
|