postgres
import "github.com/prescriptoo/prescriptoo-api/services/admin/internal/adapters/postgres"Package postgres provides PostgreSQL driven adapter implementations.
Index
- func NewAdminRepository() ports.AdminRepository
- func NewDoctorVerificationRepository() ports.DoctorVerificationRepository
- func NewPgAdminRepository(db *pgxpool.Pool) ports.AdminRepository
- type MutationRunner
- type VerificationStore
- func (r *VerificationStore) Get(ctx context.Context, id string) (*types.DoctorVerification, error)
- func (r *VerificationStore) Latest(ctx context.Context, ids []string) ([]types.DoctorVerification, error)
- func (r *VerificationStore) ListPending(ctx context.Context, limit int, cursor string) (*types.DoctorVerificationPage, error)
- func (r *VerificationStore) Review(ctx context.Context, input ports.VerificationReview) (*types.DoctorVerification, error)
- func (r *VerificationStore) Submit(ctx context.Context, op audit.OperationContext, v types.DoctorVerification) (*types.DoctorVerification, error)
func NewAdminRepository
func NewAdminRepository() ports.AdminRepositoryNewAdminRepository returns an in-memory stub implementation.
func NewDoctorVerificationRepository
func NewDoctorVerificationRepository() ports.DoctorVerificationRepositoryNewDoctorVerificationRepository returns an in-memory stub implementation.
func NewPgAdminRepository
func NewPgAdminRepository(db *pgxpool.Pool) ports.AdminRepositoryNewPgAdminRepository returns the PostgreSQL implementation used by the API.
type MutationRunner
MutationRunner commits owner-managed business writes and their audit records together.
type MutationRunner struct {
DB *pgxpool.Pool
Audit audit.TransactionalRecorderFactory
}func (MutationRunner) Run
func (w MutationRunner) Run(ctx context.Context, op audit.OperationContext, fn func(ports.AdminRepository) error) errorRun runs a mutation with transaction-bound repositories and mandatory recording.
type VerificationStore
VerificationStore persists review history and its audit entries in the same transaction.
type VerificationStore struct {
DB *pgxpool.Pool
Audit audit.TransactionalRecorderFactory
}func (*VerificationStore) Get
func (r *VerificationStore) Get(ctx context.Context, id string) (*types.DoctorVerification, error)Get reads a persisted submission by ID.
func (*VerificationStore) Latest
func (r *VerificationStore) Latest(ctx context.Context, ids []string) ([]types.DoctorVerification, error)Latest reads the latest submission for each requested professional profile.
func (*VerificationStore) ListPending
func (r *VerificationStore) ListPending(ctx context.Context, limit int, cursor string) (*types.DoctorVerificationPage, error)ListPending returns a newest-first cursor page of pending submissions.
func (*VerificationStore) Review
func (r *VerificationStore) Review(ctx context.Context, input ports.VerificationReview) (*types.DoctorVerification, error)Review locks a pending submission and commits its decision and audit record together.
func (*VerificationStore) Submit
func (r *VerificationStore) Submit(ctx context.Context, op audit.OperationContext, v types.DoctorVerification) (*types.DoctorVerification, error)Submit atomically stores a submission and its initiating audit record.
Generated by gomarkdoc