barker/barker/barker/routers/reports/__init__.py

23 lines
786 B
Python

from datetime import date, datetime, timedelta
from typing import List
from barker.core.config import settings
from fastapi import HTTPException, status
def report_start_date(s: str = None) -> date:
return date.today() if s is None else datetime.strptime(s, "%d-%b-%Y").date()
def report_finish_date(f: str = None) -> date:
return date.today() if f is None else datetime.strptime(f, "%d-%b-%Y").date()
def check_audit_permission(start_date: date, user_permissions: List[str]):
today = (datetime.utcnow() + timedelta(minutes=settings.TIMEZONE_OFFSET_MINUTES)).date()
if (today - start_date).days > 5 and "audit" not in user_permissions:
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail="Accounts Audit",
)