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"
// NotificationDB — интерфейс базы данных, который нужен NotificationRepo.
// Включает BulkInsert — для массовой вставки уведомлений.
type NotificationDB interface {
Query(query string) error
Exec(query string) error
BulkInsert(query string, args ...any) error
}
// NotificationRepo — интерфейс репозитория уведомлений.
// Структура неэкспортируемая — создать объект можно только через NewNotificationRepo.
type NotificationRepo interface{}
// notificationRepo — репозиторий уведомлений.
type notificationRepo struct {
db NotificationDB
}
// NewNotificationRepo создаёт репозиторий уведомлений.
func NewNotificationRepo(db NotificationDB) NotificationRepo {
slog.Info("репозиторий уведомлений создан")
return &notificationRepo{db: db}
}