Constructor UserModerationService
- Namespace
- UsluzionicaServer.Services
- Assembly
- UsluzionicaServer.dll
UserModerationService(AppDbContext, NotificationService, ILogger<UserModerationService>)
Deaktivacija i vraćanje naloga, sa SVIM posledicama.
Postoji kao zaseban servis zato što deaktivacija ima tri dela koja moraju da idu zajedno, a zovu je dva pozivaoca (admin ručno i rešavanje prijave). Da je logika prepisana na oba mesta, jedno bi pre ili kasnije zaboravilo jedan deo — i to tiho.
ŠTA JE RANIJE FALILO (zatečeno stanje pre ovog servisa):
IsActivese proveravao SAMO pri prijavi i osvežavanju tokena (AuthService). Oglasi deaktiviranog korisnika ostajali su u pretrazi — dakle baniš nalog, a sadržaj zbog kog si ga banovao i dalje stoji.Refresh tokeni se nisu poništavali. Access token traje 60 minuta, pa je banovan korisnik nastavljao da radi do sat vremena.
AdminService.DeactivateUserAsyncje bio TOGGLE (SetProperty(u => !u.IsActive)). Admin koji dvaput klikne na prijavu vratio bi nalog, a da to nigde ne vidi. Zato je ovde eksplicitno „deaktiviraj" ili „vrati", nikad „obrni".
public UserModerationService(AppDbContext db, NotificationService notifications, ILogger<UserModerationService> logger)
Parameters
dbAppDbContextnotificationsNotificationServiceloggerILogger<UserModerationService>