NotificationModule 1.0.13

NotificationModule

NotificationModule, Roboliza sisteminde çeşitli bildirimleri yönetmek ve iletmek için kullanılan bir bildirim modülüdür. Sistemdeki önemli olaylar, hata mesajları veya kullanıcı etkileşimleri gibi bildirimler, RabbitMQ aracılığıyla yönlendirilir. Modül, RabbitMQ tabanlı bildirim iletimini sağlar.NotificationModule içinde yer alan GlobalExceptionFilter attribute'u sayesinde, sistemde oluşan tüm istisnalar otomatik olarak yakalanır ve bu hatalar, ilgili birimlerin Roboliza sistemine bildirim olarak iletilmesini sağlar.

Bildirim Türleri

1. SendNotification

SendNotification, Roboliza sisteminde oluşan önemli olayları ve hataları RabbitMQ aracılığıyla dış sistemlere iletmek için kullanılır.

  • Kullanım: Bu sınıf, sistemde meydana gelen olayları veya hataları diğer servislerle paylaşarak merkezi bir bildirim sistemi oluşturur.
  • Yapı: Instance tabanlı sınıf, DI (Dependency Injection) kullanır.

Projeye Ekleme

Windows : %appdata%\NuGet\NuGet.Config Lİnux Veya Mac : ~/.nuget/NuGet/NuGet.Config

  ...
<packageSources>
    ...
    <add key="localnuget.roboliza.com" value="http://172.16.33.42:5011/v3/index.json" protocolVersion="3" allowInsecureConnections="true" />
    <add key="nuget.roboliza.com" value="https://nuget.roboliza.com/v3/index.json" protocolVersion="3" allowInsecureConnections="true" /> 
</packageSources>

Dockerfile Dosyasına Ekleme

RUN dotnet nuget add source http://172.16.33.42:5011/v3/index.json
RUN dotnet nuget add source https://nuget.roboliza.com/v3/index.json

Notification Modülünü Dahil Etme

  • Gereklilikler: Notification modulünü projenize doğru bir şekilde dahil edebilmek için, öncelikle RabbitMqModule modülünü ve RobolizaSharedTypes modülünü projenize uygun şekilde dahil etmeniz gerekmektedir.

RabbitMqModule bu link üzerinden erişebilirsiniz: http://172.16.33.42:5011/packages/rabbitmqmodule. RobolizaSharedTypes bu link üzerinden erişebilirsiniz: https://nuget.roboliza.com/packages/robolizasharedtypes.

Program.cs

public void ConfigureServices(IServiceCollection services)
{
    var serviceName = "ServiceName";
    services.AddNotificationModule(serviceName);  
}

GlobalException Dahil Etme

Program.cs

public void ConfigureServices(IServiceCollection services)
{
    // Sistemde oluşan olası hataları veya exception'ları yakalayıp bildirim göndermek isterseniz aşağıdaki yapılandırmayı ekleyebilirsiniz.
    services.AddControllers(opt =>
    {
        opt.Filters.Add<GlobalExceptionNotification>();
    });
}

Kullanım

// Dependency Injection ile enjekte edilen SendServiceLog ve SendUserActionLog
private readonly NotificationService notificationService;

// Notification DTO oluşturma
NotificationDto notificationDto = new()
{
    ActionID = 0,
    Type = "ERR_INTERNAL_SERVER",
    Title = "Bir Hata Oluştu",
    Message = "NotificationModule",
    UserTypes = new UserType[] { UserType.SuperAdmin, UserType.Admin, UserType.Developer }
};

// Bildirim gönderme
notificationService.SendNotification(notificationDto);

No packages depend on NotificationModule.

Version Downloads Last updated
1.0.14 10 12/10/2025
1.0.13 318 02/14/2025
1.0.12 11 02/14/2025
1.0.11 44 01/15/2025
1.0.10 11 01/15/2025
1.0.9 30 01/13/2025
1.0.8 12 01/13/2025