package port import ( "context" "github.com/orchard9/rdev/internal/domain" ) // NotifyProvisioner manages per-project email delivery accounts on the notify service. type NotifyProvisioner interface { // CreateProjectNotify creates a notify account and send key for a project. // Grants the account access to the shared host and returns credentials. CreateProjectNotify(ctx context.Context, projectID string) (*domain.NotifyCredentials, error) // DeleteProjectNotify removes the notify account for a project. DeleteProjectNotify(ctx context.Context, projectID string) error // GetProjectNotify returns notify credentials for a project, or nil if not provisioned. GetProjectNotify(ctx context.Context, projectID string) (*domain.NotifyCredentials, error) // TestConnection verifies the admin API key and notify service are reachable. TestConnection(ctx context.Context) error }