Tapis.Core.Reminders
1.0.0
See the version list below for details.
dotnet add package Tapis.Core.Reminders --version 1.0.0
NuGet\Install-Package Tapis.Core.Reminders -Version 1.0.0
<PackageReference Include="Tapis.Core.Reminders" Version="1.0.0" />
<PackageVersion Include="Tapis.Core.Reminders" Version="1.0.0" />
<PackageReference Include="Tapis.Core.Reminders" />
paket add Tapis.Core.Reminders --version 1.0.0
#r "nuget: Tapis.Core.Reminders, 1.0.0"
#:package Tapis.Core.Reminders@1.0.0
#addin nuget:?package=Tapis.Core.Reminders&version=1.0.0
#tool nuget:?package=Tapis.Core.Reminders&version=1.0.0
Tapis.Core.Reminders
Notlar ve hatırlatıcılar modülü. Her ürün (ServiceManagement, HostelManagement) bu paketi kendi API'sinde barındırır ve kendi tenant veritabanında kendi tablolarını tutar. Paket tenant çözümlemesi, kimlik doğrulama ya da ürün varlıkları bilmez; ihtiyaç duyduğu her şeyi port üzerinden alır.
İçerik
| Alan | Ne yapar |
|---|---|
Entities/ |
Note, Reminder, ReminderChecklistItem, ReminderAlarm, Notification, Attachment — hepsi OwnerUserId taşır |
Persistence/ |
ApplyRemindersModel(ModelBuilder) ile tablolar ürünün kendi DbContext'ine katılır (xmin damgası ve denetim interceptor'ı böylece otomatik gelir) |
Services/ |
not, hatırlatıcı, ek, bildirim servisleri; tekrar kuralı (RecurrenceService); alarm işleyici |
Scheduling/ |
sonraki alarma kadar uyuyan zamanlayıcı döngüsü ve sinyal |
Hubs/ |
RemindersHub — kullanıcı bazlı grup, NotificationCreated / UnreadCount olayları |
Controllers/ |
api/Notes, api/Reminders, api/ReminderAttachments, api/ReminderNotifications |
Ports/ |
IFileStorage, IReminderDbContextFactory, IReminderSchedulerSignal, IReminderRealtimeNotifier, IReminderClock |
Ürüne bağlama
// Program.cs
builder.Services.AddRemindersModule(builder.Configuration);
builder.Services.AddScoped<DbContext>(sp => sp.GetRequiredService<ServiceManagementDbContext>());
builder.Services.AddScoped<IReminderDbContextFactory, ServiceManagementReminderDbContextFactory>();
builder.Services.AddControllers().AddRemindersControllers();
...
app.MapRemindersModule(); // hub
// DbContext.OnModelCreating
builder.ApplyRemindersModel();
Yapılandırma Reminders bölümünden okunur (MaxSleepMinutes, MaxAttempts, RetryDelayMinutes, BatchSize,
IdleShutdownMinutes, Attachments:MaxSizeMb, Attachments:AllowedExtensions, Attachments:MaxFilesPerRecord,
Attachments:LocalRootPath).
Kurallar
- Kayıtlar kişiseldir: her sorgu token'daki
OwnerUserIdile süzülür, başka kullanıcının kaydı olmayan kayıtla aynı 404'ü alır. - Bildirim yalnız uygulama içidir: e-posta, SMS, WhatsApp gönderilmez ve bunlar için soyutlama yoktur.
- Ek dosyalar yalnız yetki denetimi yapan indirme ucundan akar; depolama anahtarı istemciye hiç verilmez.
- Tüm tarihler yerel saat (Europe/Istanbul) yazılır; modülde UTC kullanılmaz.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.EntityFrameworkCore (>= 10.0.10)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.10)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 10.0.0)
- Tapis.Core.Shared (>= 2.0.17)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.