feat: update le docs logic

This commit is contained in:
2026-06-09 20:14:27 +03:00
parent 14df805209
commit cc75f61e76
23 changed files with 420 additions and 262 deletions

View File

@@ -23,9 +23,13 @@ class S3DocumentsService:
self._key_prefix = key_prefix.strip('/')
self._presigned_ttl_seconds = presigned_ttl_seconds
def build_object_key(self, organization_id: str, document_id: str, file_name: str) -> str:
@staticmethod
def file_name_from_key(key: str) -> str:
return key.rsplit('/', 1)[-1]
def build_object_key(self, organization_id: str, document_type: str, file_name: str) -> str:
safe_name = file_name.replace('/', '_').replace('\\', '_')
return f'{self._key_prefix}/{organization_id}/{document_id}/{safe_name}'
return f'{self._key_prefix}/{organization_id}/{document_type}/{safe_name}'
def _client_kwargs(self) -> dict[str, object]:
kw: dict[str, object] = {'region_name': self._region}