package store import ( "context" "errors" "time" ) // Postgres is the production Store. **Skeleton** mirroring the pattern used // by services/admin-api/internal/store/postgres.go: every method returns // errPGUnimplemented until the pgxpool wiring lands. The schema is // authoritative in db/trust/migrations/0004_approval_sessions.*.sql. type Postgres struct { // pool *pgxpool.Pool // kept out of go.mod in the skeleton } var errPGUnimplemented = errors.New("postgres store is a skeleton; use NewMemory for Phase 1") // NewPostgres returns a zero-value Postgres. Real wiring is Phase 2. func NewPostgres( /* conn string, logger */ ) (*Postgres, error) { return &Postgres{}, nil } func (p *Postgres) CreateSession(_ context.Context, _ Session) error { return errPGUnimplemented } func (p *Postgres) GetSession(_ context.Context, _ string) (Session, error) { return Session{}, errPGUnimplemented } func (p *Postgres) SavePreview(_ context.Context, _ Preview) error { return errPGUnimplemented } func (p *Postgres) GetPreview(_ context.Context, _ string) (Preview, error) { return Preview{}, errPGUnimplemented } func (p *Postgres) ConsumePreview(_ context.Context, _ string, _ time.Time) (Preview, error) { return Preview{}, errPGUnimplemented } func (p *Postgres) SaveApproval(_ context.Context, _ Approval) error { return errPGUnimplemented } func (p *Postgres) MarkApprovalLogged(_ context.Context, _ string, _ int64, _ time.Time) error { return errPGUnimplemented } func (p *Postgres) MarkApprovalTLogError(_ context.Context, _ string, _ string) error { return errPGUnimplemented }