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 ¬ificationRepo{db: db} }