mirror of
https://github.com/bellingcat/auto-archiver-api.git
synced 2026-06-11 21:18:35 +03:00
Format and lint shared directory (#64)
This commit is contained in:
@@ -1,26 +1,35 @@
|
||||
# TODO: temporary file for this code, maybe other code belongs here, maybe not. do decide
|
||||
|
||||
|
||||
import datetime
|
||||
from typing import Union
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.shared.db import worker_crud
|
||||
|
||||
|
||||
def get_store_archive_until(db: Session, group_id: str) -> datetime.datetime:
|
||||
# TODO: temporary file for this code, maybe other code belongs here, maybe not. do
|
||||
# decide
|
||||
|
||||
|
||||
def get_store_archive_until(
|
||||
db: Session, group_id: str
|
||||
) -> Union[datetime.datetime, None]:
|
||||
group = worker_crud.get_group(db, group_id)
|
||||
assert group, f"Group {group_id} not found."
|
||||
assert group.permissions and type(group.permissions) == dict, f"Group {group_id} has no permissions."
|
||||
assert group.permissions and isinstance(group.permissions, dict), (
|
||||
f"Group {group_id} has no permissions."
|
||||
)
|
||||
|
||||
max_lifespan = group.permissions.get("max_archive_lifespan_months", -1)
|
||||
if max_lifespan == -1: return None
|
||||
if max_lifespan == -1:
|
||||
return None
|
||||
|
||||
return datetime.datetime.now() + datetime.timedelta(days=30 * max_lifespan)
|
||||
|
||||
|
||||
def get_store_archive_until_or_never(db: Session, group_id: str) -> datetime.datetime:
|
||||
def get_store_archive_until_or_never(
|
||||
db: Session, group_id: str
|
||||
) -> Union[datetime.datetime, None]:
|
||||
try:
|
||||
return get_store_archive_until(db, group_id)
|
||||
except AssertionError as e:
|
||||
except AssertionError:
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user