fix(): Aplicado configuração de expiração de visualização de arquivo por variavel de ambiente

This commit is contained in:
Kenio 2025-11-12 18:13:28 -03:00
parent 203b30569d
commit 2467daf14c

View file

@ -1,6 +1,7 @@
from typing import Optional, Dict, Any, List from typing import Optional, Dict, Any, List
from sqlalchemy import func from sqlalchemy import func
from fastapi import HTTPException, status from fastapi import HTTPException, status
from datetime import timedelta
from database.mysql import SessionLocal, get_database_settings from database.mysql import SessionLocal, get_database_settings
from packages.v1.administrativo.models.ato_principal_model import AtoPrincipal from packages.v1.administrativo.models.ato_principal_model import AtoPrincipal
from packages.v1.administrativo.models.ato_parte_model import AtoParte from packages.v1.administrativo.models.ato_parte_model import AtoParte
@ -25,6 +26,12 @@ SECRET_KEY = getattr(DB_SETTINGS, "aeskey", None)
ALGORITHM = "HS256" ALGORITHM = "HS256"
EXPIRE = getattr(DB_SETTINGS, "expire", None) EXPIRE = getattr(DB_SETTINGS, "expire", None)
# Garante que o valor é inteiro antes de criar o timedelta
if EXPIRE is not None:
EXPIRE = int(EXPIRE)
EXPIRE_TIME = timedelta(minutes=EXPIRE)
class ShowAtosRepository: class ShowAtosRepository:
""" """
@ -121,7 +128,7 @@ class ShowAtosRepository:
+ get_last_part({d.url.decode("utf-8")}) + get_last_part({d.url.decode("utf-8")})
+ "?token=" + "?token="
+ generate_temporary_token( + generate_temporary_token(
{d.url.decode("utf-8")}, EXPIRE, SECRET_KEY, ALGORITHM {d.url.decode("utf-8")}, EXPIRE_TIME, SECRET_KEY, ALGORITHM
) )
if d.url if d.url
else None else None
@ -190,7 +197,10 @@ class ShowAtosRepository:
+ get_last_part({d.url.decode("utf-8")}) + get_last_part({d.url.decode("utf-8")})
+ "?token=" + "?token="
+ generate_temporary_token( + generate_temporary_token(
{d.url.decode("utf-8")}, EXPIRE, SECRET_KEY, ALGORITHM {d.url.decode("utf-8")},
EXPIRE_TIME,
SECRET_KEY,
ALGORITHM,
) )
if d.url if d.url
else None else None