sozsoft-platform/api/modules/Sozsoft.Notifications/Sozsoft.Notifications.Application.Contracts/NotificationRules/INotificationRuleAppService.cs
2026-09-20 23:23:39 +03:00

35 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Sozsoft.Notifications.NotificationRules;
public interface INotificationRuleAppService : ICrudAppService<
NotificationRuleDto,
Guid,
PagedAndSortedResultRequestDto,
CreateUpdateNotificationRuleDto>
{
/// <summary>
/// Kullanicinin kurallarina konu olan bildirim tipleri. Tercih ekrani satirlari bu tiplerden
/// kurar; eslesme ad uzerinden degil <c>Id</c> uzerinden yapilir.
/// </summary>
Task<List<NotificationTypeDto>> GetMyNotificationTypesAsync();
Task<List<NotificationRuleDto>> GetMyNotificationRules();
/// <summary>
/// Elle bildirim diyaloguna kuralin ozetini verir. Parametre adi <c>id</c> olamaz: ABP o adi
/// gorunce ucu <c>{id}</c> rotasina tasir ve cagri CRUD'un Get ucuna duserdi.
/// </summary>
Task<NotificationRuleSummaryDto> GetRuleSummaryAsync(Guid ruleId);
/// <summary>Kullanicinin bir tur/kanal icin kendi tercihini yazar.</summary>
Task PostMyNotificationRule(CreateUpdateNotificationRuleDto Input);
/// <summary>Bir turdeki kullanici tercihlerini siler; kural yeniden varsayilana doner.</summary>
Task DeleteMyNotificationRules(Guid NotificationTypeId);
}