You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
456 B
18 lines
456 B
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
from typing import Protocol
|
|
|
|
|
|
class StorageAdapter(Protocol):
|
|
async def check(self) -> dict[str, str]:
|
|
...
|
|
|
|
async def put_file(self, source_path: str, storage_key: str) -> dict[str, str | None]:
|
|
...
|
|
|
|
async def download_file(self, storage_key: str, destination_path: Path) -> Path:
|
|
...
|
|
|
|
async def object_exists(self, storage_key: str) -> bool:
|
|
...
|
|
|