go-tell/internal/repository/interfaces.go

28 lines
888 B
Go
Raw Normal View History

package repository
import (
"context"
"github.com/example/cms/internal/domain"
)
type IUserRepository interface {
FindOrCreateByIdentity(context.Context, domain.User) (domain.User, error)
}
type IUserLookup interface {
FindByID(context.Context, uint) (domain.User, error)
}
type IAdminRepository interface {
FindByEmail(context.Context, string) (domain.Admin, error)
}
type ISessionRepository interface {
Create(context.Context, domain.Session) error
FindValid(context.Context, string) (domain.Session, error)
}
type IContentRepository interface {
2026-09-19 15:24:27 +02:00
List(context.Context, int, int, string, string, []string) ([]domain.Content, error)
2026-09-19 15:11:12 +02:00
ListCategories(context.Context) ([]domain.Category, error)
2026-09-19 15:14:16 +02:00
ListBadges(context.Context) ([]domain.Badge, error)
FindBySlug(context.Context, string) (domain.Content, error)
Update(context.Context, domain.Content, domain.ContentHistory) error
}