forked from mirrors/homebox
27 lines
845 B
Go
27 lines
845 B
Go
package repo
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/hay-kot/content/backend/internal/types"
|
|
)
|
|
|
|
type UserRepository interface {
|
|
// GetOneId returns a user by id
|
|
GetOneId(ctx context.Context, ID uuid.UUID) (types.UserOut, error)
|
|
// GetOneEmail returns a user by email
|
|
GetOneEmail(ctx context.Context, email string) (types.UserOut, error)
|
|
// GetAll returns all users
|
|
GetAll(ctx context.Context) ([]types.UserOut, error)
|
|
// Get Super Users
|
|
GetSuperusers(ctx context.Context) ([]types.UserOut, error)
|
|
// Create creates a new user
|
|
Create(ctx context.Context, user types.UserCreate) (types.UserOut, error)
|
|
// Update updates a user
|
|
Update(ctx context.Context, ID uuid.UUID, user types.UserUpdate) error
|
|
// Delete deletes a user
|
|
Delete(ctx context.Context, ID uuid.UUID) error
|
|
|
|
DeleteAll(ctx context.Context) error
|
|
}
|