This commit is contained in:
2026-04-13 08:14:09 +03:00
commit 0449337ae7
39 changed files with 2726 additions and 0 deletions
+26
View File
@@ -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}
}