Package at.aimon.memory.postgres
Class PostgresWorkspaceStore
java.lang.Object
at.aimon.memory.postgres.PostgresWorkspaceStore
- All Implemented Interfaces:
at.aimon.core.memory.WorkspaceStore
public final class PostgresWorkspaceStore
extends Object
implements at.aimon.core.memory.WorkspaceStore
Postgres-backed
WorkspaceStore per design §5.1 / §5.5.
Each workspace maps to a single row in mem_workspace keyed by
id. The metadata map is stored in a JSONB column as a flat
String→String object. created_at round-trips through
Timestamp ↔ Instant.
Cascading deletes on mem_observation and mem_representation
are handled by ON DELETE CASCADE in V1__init.sql, so delete(at.aimon.core.memory.Workspace)
is a single statement.
ACL note: findAll(Principal) currently performs no access
control filtering — that is deferred to a future stage. Today every caller
sees every row, matching the in-memory reference implementation. Production
deployments must extend this method once an ACL model is in place.
-
Constructor Summary
ConstructorsConstructorDescriptionPostgresWorkspaceStore(DataSource dataSource, com.fasterxml.jackson.databind.ObjectMapper mapper) -
Method Summary
-
Constructor Details
-
PostgresWorkspaceStore
public PostgresWorkspaceStore(DataSource dataSource, com.fasterxml.jackson.databind.ObjectMapper mapper)
-
-
Method Details
-
create
public at.aimon.core.memory.Workspace create(at.aimon.core.memory.Workspace workspace) - Specified by:
createin interfaceat.aimon.core.memory.WorkspaceStore
-
findById
- Specified by:
findByIdin interfaceat.aimon.core.memory.WorkspaceStore
-
findAll
- Specified by:
findAllin interfaceat.aimon.core.memory.WorkspaceStore
-
delete
public void delete(at.aimon.core.memory.Workspace workspace) - Specified by:
deletein interfaceat.aimon.core.memory.WorkspaceStore
-