add docker compose

This commit is contained in:
2025-03-26 23:21:26 -03:00
parent b1e8f19d39
commit 7021833476
11 changed files with 71 additions and 15 deletions

View File

@@ -106,14 +106,22 @@ if TYPE_CHECKING:
@dataclass
class PrefixKey(str):
prefix: str
delimiter: str | None = '#'
else:
class PrefixKey(str):
def __init__(self, prefix: str | None = None) -> None:
def __new__(cls, prefix: str, delimiter: str | None = '#') -> str:
if not delimiter:
return super().__new__(cls, prefix)
return super().__new__(cls, prefix + delimiter)
def __init__(self, prefix: str, delimiter: str = '#') -> None:
# __init__ is used to store the parameters for later reference.
# For immutable types like str, __init__ cannot change the instance's value.
self.prefix = prefix
self.delimiter = delimiter
class Key(ABC, dict):
@@ -672,10 +680,9 @@ class DynamoDBCollection:
match key.get(PK), key.get(SK):
case ComposeKey(), _: # Remove prefix from Partition Key
prefix = key[PK].prefix + key[PK].delimiter
items = _remove_prefix(items, PK, prefix)
items = _remove_prefix(items, PK, key[PK].prefix + key[PK].delimiter)
case _, PrefixKey(): # Remove prefix from Sort Key
items = _remove_prefix(items, SK, key[SK].prefix)
items = _remove_prefix(items, SK, key[SK])
return {
'items': items,