Documentation
¶
Index ¶
- Variables
- type ConfirmationSender
- type GitHubRepositoryChecker
- type SubscriptionRepository
- type SubscriptionService
- func (s *SubscriptionService) Confirm(ctx context.Context, token string) error
- func (s *SubscriptionService) ListByEmail(ctx context.Context, email string) ([]app.Subscription, error)
- func (s *SubscriptionService) Subscribe(ctx context.Context, email, ownerRepo string) error
- func (s *SubscriptionService) Unsubscribe(ctx context.Context, token string) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidEmail = errors.New("invalid email") ErrInvalidRepository = errors.New("invalid repository") ErrInvalidToken = errors.New("invalid token") ErrRepositoryNotFound = errors.New("repository not found") ErrSubscriptionConflict = errors.New("subscription conflict") ErrTokenNotFound = errors.New("token not found") )
Functions ¶
This section is empty.
Types ¶
type ConfirmationSender ¶
type ConfirmationSender interface {
SendConfirmation(ctx context.Context, email notifier.ConfirmationEmail) error
}
type GitHubRepositoryChecker ¶
type SubscriptionRepository ¶
type SubscriptionRepository interface {
Create(ctx context.Context, subscription *repository.Subscription) (repository.Subscription, error)
ExistsActiveOrPending(ctx context.Context, email, repository string) (bool, error)
FindByConfirmToken(ctx context.Context, token string) (repository.Subscription, error)
FindByUnsubscribeToken(ctx context.Context, token string) (repository.Subscription, error)
ListActiveByEmail(ctx context.Context, email string) ([]repository.Subscription, error)
UpdateStatus(ctx context.Context, id int64, status app.SubscriptionStatus) error
}
type SubscriptionService ¶
type SubscriptionService struct {
// contains filtered or unexported fields
}
func NewSubscriptionService ¶
func NewSubscriptionService( subscriptions SubscriptionRepository, githubChecker GitHubRepositoryChecker, confirmationSender ConfirmationSender, log *slog.Logger, confirmURLBase string, ) *SubscriptionService
func (*SubscriptionService) Confirm ¶
func (s *SubscriptionService) Confirm(ctx context.Context, token string) error
func (*SubscriptionService) ListByEmail ¶
func (s *SubscriptionService) ListByEmail(ctx context.Context, email string) ([]app.Subscription, error)
func (*SubscriptionService) Subscribe ¶
func (s *SubscriptionService) Subscribe(ctx context.Context, email, ownerRepo string) error
func (*SubscriptionService) Unsubscribe ¶
func (s *SubscriptionService) Unsubscribe(ctx context.Context, token string) error
Directories
¶
| Path | Synopsis |
|---|---|
|
Package restapi GitHub Release Notification API
|
Package restapi GitHub Release Notification API |
Click to show internal directories.
Click to hide internal directories.