NotificationModule 1.0.8
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 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
RabbitMqModulemodülünü projenize uygun şekilde dahil etmeniz gerekmektedir.RabbitMqModuleaşağıdaki link üzerinden erişebilirsiniz: http://172.16.33.42:5011/packages/rabbitmqmodule.
Program.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddNotificationModule();
}
Kullanım
// Dependency Injection ile enjekte edilen SendServiceLog ve SendUserActionLog
private readonly NotificatinService notificatinService;
// 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
notificatinService.SendNotification(notificationDto);
No packages depend on NotificationModule.
.NET 6.0
- Microsoft.Extensions.DependencyInjection (>= 6.0.2)
- Newtonsoft.Json (>= 13.0.3)
- RabbitMQ.Client (>= 6.8.1)