import
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package repository
|
||||
|
||||
import "log/slog"
|
||||
|
||||
// UserDB — интерфейс базы данных, который нужен UserRepo.
|
||||
// Включает QueryRow — для поиска одного пользователя по ID/email.
|
||||
type UserDB interface {
|
||||
Query(query string) error
|
||||
QueryRow(query string) error
|
||||
Exec(query string) error
|
||||
}
|
||||
|
||||
// UserRepo — интерфейс репозитория пользователей.
|
||||
// Структура неэкспортируемая — создать объект можно только через NewUserRepo.
|
||||
type UserRepo interface{}
|
||||
|
||||
// userRepo — репозиторий пользователей.
|
||||
type userRepo struct {
|
||||
db UserDB
|
||||
}
|
||||
|
||||
// NewUserRepo создаёт репозиторий пользователей.
|
||||
func NewUserRepo(db UserDB) UserRepo {
|
||||
slog.Info("репозиторий пользователей создан")
|
||||
return &userRepo{db: db}
|
||||
}
|
||||
Reference in New Issue
Block a user