Skip to content

Store

domain.report.ports.store

Summary

Sparse key-value store that backs precomputed report cubes outside Mongo.


Implementations should map each method onto a persistent backend (e.g. Redis); every method below raises NotImplementedError in the base class until overridden.

Classes

ReportStore

String key-value store used to persist report cube data.

Methods are asynchronous; all raise NotImplementedError in this base class and are expected to be overridden by concrete backends.

Functions
clear async
clear() -> None

Remove every entry this store holds.

Raises:

Type Description
NotImplementedError

Base class contract.

close async
close() -> None

Release any resources held by the store.

Raises:

Type Description
NotImplementedError

Base class contract.

delete async
delete(key: str) -> None

Remove the entry stored under key.

Parameters:

Name Type Description Default
key str

Storage key to remove.

required

Raises:

Type Description
NotImplementedError

Base class contract.

get async
get(key: str) -> Optional[str]

Return the value stored under key, or None when absent.

Parameters:

Name Type Description Default
key str

Storage key.

required

Returns:

Type Description
Optional[str]

Optional[str]: Stored value, or None.

Raises:

Type Description
NotImplementedError

Base class contract.

scan async
scan(pattern: str) -> List[str]

Return every stored key matching pattern.

Parameters:

Name Type Description Default
pattern str

Key pattern, e.g. cube:abc:*.

required

Returns:

Type Description
List[str]

List[str]: Matching keys.

Raises:

Type Description
NotImplementedError

Base class contract.

set async
set(key: str, value: str) -> None

Store value under key, overwriting any existing entry.

Parameters:

Name Type Description Default
key str

Storage key.

required
value str

Value to store.

required

Raises:

Type Description
NotImplementedError

Base class contract.