persona-community-5/services/persona-api/internal/port/persona.go
rdev-worker 9c009926d1
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /implement-feature persona-model --requirements 'DB migration in pers...
2026-02-24 07:58:27 +00:00

25 lines
778 B
Go

package port
import (
"context"
"git.threesix.ai/jordan/persona-community-5/services/persona-api/internal/domain"
)
// PersonaRepository defines the interface for persona persistence operations.
type PersonaRepository interface {
// Create stores a new persona.
Create(ctx context.Context, persona *domain.Persona) error
// GetByID returns a persona by ID.
// Returns domain.ErrPersonaNotFound if not found.
GetByID(ctx context.Context, id domain.PersonaID) (*domain.Persona, error)
// List returns personas with pagination.
List(ctx context.Context, limit, offset int) ([]*domain.Persona, error)
// Update persists changes to an existing persona.
// Returns domain.ErrPersonaNotFound if not found.
Update(ctx context.Context, persona *domain.Persona) error
}