import
This commit is contained in:
@@ -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 ¬ificationRepo{db: db}
|
||||
}
|
||||
Reference in New Issue
Block a user