mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-04 19:02:33 -06:00
2701-есть флоу для оператора и красивый список накладных
This commit is contained in:
@@ -435,3 +435,25 @@ func (r *pgRepository) DecrementBalance(serverID uuid.UUID) error {
|
||||
Where("id = ? AND balance > 0", serverID).
|
||||
UpdateColumn("balance", gorm.Expr("balance - ?", 1)).Error
|
||||
}
|
||||
|
||||
// === Уведомления о черновиках ===
|
||||
|
||||
// GetServerUsersForDraftNotification возвращает Admin/Owner пользователей,
|
||||
// которым нужно отправить уведомление о новом черновике
|
||||
func (r *pgRepository) GetServerUsersForDraftNotification(serverID uuid.UUID, excludeUserID uuid.UUID) ([]account.ServerUser, error) {
|
||||
var users []account.ServerUser
|
||||
err := r.db.Preload("User").
|
||||
Where("server_id = ?", serverID).
|
||||
Where("role IN ?", []account.Role{account.RoleOwner, account.RoleAdmin}).
|
||||
Where("mute_draft_notifications = ?", false).
|
||||
Where("user_id != ?", excludeUserID).
|
||||
Find(&users).Error
|
||||
return users, err
|
||||
}
|
||||
|
||||
// SetMuteDraftNotifications включает/выключает уведомления для пользователя
|
||||
func (r *pgRepository) SetMuteDraftNotifications(userID, serverID uuid.UUID, mute bool) error {
|
||||
return r.db.Model(&account.ServerUser{}).
|
||||
Where("user_id = ? AND server_id = ?", userID, serverID).
|
||||
Update("mute_draft_notifications", mute).Error
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user