File size: 1,010 Bytes
57cf043
 
9390ea2
57cf043
9390ea2
 
57cf043
fd3c8b9
57cf043
9390ea2
 
57cf043
 
fd3c8b9
57cf043
 
 
9390ea2
 
57cf043
9390ea2
 
 
57cf043
9390ea2
57cf043
 
9390ea2
 
57cf043
9390ea2
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import logging
from datetime import datetime
from typing import Annotated, List, Optional

from fastapi import APIRouter, Depends, HTTPException, Query
from pydantic import BaseModel

from common import auth
from common.common import configure_logging
from components.services.log import LogService
from schemas.log import LogCreateSchema, LogFilterSchema, LogSchema, PaginatedLogResponse
import common.dependencies as DI

router = APIRouter(tags=['Logs'])

logger = logging.getLogger(__name__)
configure_logging()
    
@router.get('/logs', response_model=PaginatedLogResponse)
async def get_all_logs(
    filters: Annotated[LogFilterSchema, Depends()],
    log_service: Annotated[LogService, Depends(DI.get_log_service)], 
    current_user: Annotated[any, Depends(auth.get_current_user)]
):
    logger.info(f'GET /logs')

    try:
        return log_service.get_list(filters)
    except HTTPException as e:
        raise e
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))