package port import ( "context" "git.threesix.ai/jordan/slack5-1770606136/services/preferences-api/internal/domain" ) // PreferenceRepository defines the interface for preference persistence operations. type PreferenceRepository interface { // Get returns preferences for a user. // Returns nil, nil when no row exists for the given userID. Get(ctx context.Context, userID string) (*domain.UserPreferences, error) // Upsert creates or updates preferences for a user. // Uses ON CONFLICT to handle both insert and update atomically. Upsert(ctx context.Context, prefs *domain.UserPreferences) error }