28 lines
952 B
Go
Raw Normal View History

2023-07-07 21:24:02 +02:00
package mail
2023-06-21 00:03:44 +02:00
import (
"context"
"github.com/h44z/wg-portal/internal/domain"
2023-07-07 21:24:02 +02:00
"io"
2023-06-21 00:03:44 +02:00
)
2023-07-07 21:24:02 +02:00
type Mailer interface {
Send(ctx context.Context, subject, body string, to []string, options *domain.MailOptions) error
}
type ConfigFileManager interface {
GetInterfaceConfig(ctx context.Context, id domain.InterfaceIdentifier) (io.Reader, error)
GetPeerConfig(ctx context.Context, id domain.PeerIdentifier) (io.Reader, error)
GetPeerConfigQrCode(ctx context.Context, id domain.PeerIdentifier) (io.Reader, error)
}
2023-06-21 00:03:44 +02:00
type UserDatabaseRepo interface {
GetUser(ctx context.Context, id domain.UserIdentifier) (*domain.User, error)
}
type WireguardDatabaseRepo interface {
GetInterfaceAndPeers(ctx context.Context, id domain.InterfaceIdentifier) (*domain.Interface, []domain.Peer, error)
GetPeer(ctx context.Context, id domain.PeerIdentifier) (*domain.Peer, error)
GetInterface(ctx context.Context, id domain.InterfaceIdentifier) (*domain.Interface, error)
}