mirror of
https://github.com/h44z/wg-portal
synced 2025-02-26 05:49:14 +00:00
Public REST API implementation to handle peers, interfaces and users. It also includes some simple provisioning endpoints. The Swagger API documentation is available under /api/v1/doc.html
21 lines
702 B
Go
21 lines
702 B
Go
package users
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/h44z/wg-portal/internal/domain"
|
|
)
|
|
|
|
type UserDatabaseRepo interface {
|
|
GetUser(ctx context.Context, id domain.UserIdentifier) (*domain.User, error)
|
|
GetUserByEmail(ctx context.Context, email string) (*domain.User, error)
|
|
GetAllUsers(ctx context.Context) ([]domain.User, error)
|
|
FindUsers(ctx context.Context, search string) ([]domain.User, error)
|
|
SaveUser(ctx context.Context, id domain.UserIdentifier, updateFunc func(u *domain.User) (*domain.User, error)) error
|
|
DeleteUser(ctx context.Context, id domain.UserIdentifier) error
|
|
}
|
|
|
|
type PeerDatabaseRepo interface {
|
|
GetUserPeers(ctx context.Context, id domain.UserIdentifier) ([]domain.Peer, error)
|
|
}
|