@@ -13,32 +13,35 @@ namespace Backbone.Job.IdentityDeletion.Workers;
13
13
14
14
public class ActualDeletionWorker : IHostedService
15
15
{
16
- public static ILogger < ActualDeletionWorker > Logger = null ! ;
16
+ public static ILogger < ActualDeletionWorker > ? Logger = null ! ;
17
17
18
18
private readonly IHostApplicationLifetime _host ;
19
19
private readonly IMediator _mediator ;
20
20
private readonly IPushNotificationSender _pushNotificationSender ;
21
+ private readonly ILogger < ActualDeletionWorker > _logger ;
21
22
private readonly List < IIdentityDeleter > _identityDeleters ;
22
23
23
24
public ActualDeletionWorker (
24
25
IHostApplicationLifetime host ,
25
26
IEnumerable < IIdentityDeleter > identityDeleters ,
26
27
IMediator mediator ,
27
- IPushNotificationSender pushNotificationSender )
28
+ IPushNotificationSender pushNotificationSender ,
29
+ ILogger < ActualDeletionWorker > logger )
28
30
{
29
31
_host = host ;
30
32
_identityDeleters = identityDeleters . ToList ( ) ;
31
33
_mediator = mediator ;
32
34
_pushNotificationSender = pushNotificationSender ;
35
+ _logger = Logger ?? logger ;
33
36
}
34
37
35
38
public async Task StartAsync ( CancellationToken cancellationToken )
36
39
{
37
- Logger . LogError ( "StartAsync start" ) ;
40
+ _logger . LogError ( "StartAsync start" ) ;
38
41
await StartProcessing ( cancellationToken ) ;
39
42
40
43
_host . StopApplication ( ) ;
41
- Logger . LogError ( "StartAsync end" ) ;
44
+ _logger . LogError ( "StartAsync end" ) ;
42
45
}
43
46
44
47
public Task StopAsync ( CancellationToken cancellationToken )
@@ -48,36 +51,36 @@ public Task StopAsync(CancellationToken cancellationToken)
48
51
49
52
public async Task StartProcessing ( CancellationToken cancellationToken )
50
53
{
51
- Logger . LogError ( "StartProcessing start" ) ;
54
+ _logger . LogError ( "StartProcessing start" ) ;
52
55
var response = await _mediator . Send ( new TriggerRipeDeletionProcessesCommand ( ) , cancellationToken ) ;
53
56
54
- Logger . LogError ( "There are {count} ripe deletion processes to be executed" , response . Results . Count ) ;
57
+ _logger . LogError ( "There are {count} ripe deletion processes to be executed" , response . Results . Count ) ;
55
58
56
59
var addressesWithTriggeredDeletionProcesses = response . Results . Where ( x => x . Value . IsSuccess ) . Select ( x => x . Key ) ;
57
60
var erroringDeletionTriggers = response . Results . Where ( x => x . Value . IsFailure ) ;
58
61
59
62
await ExecuteDeletion ( addressesWithTriggeredDeletionProcesses , cancellationToken ) ;
60
63
LogErroringDeletionTriggers ( erroringDeletionTriggers ) ;
61
- Logger . LogError ( "StartProcessing end" ) ;
64
+ _logger . LogError ( "StartProcessing end" ) ;
62
65
}
63
66
64
67
private async Task ExecuteDeletion ( IEnumerable < IdentityAddress > addresses , CancellationToken cancellationToken )
65
68
{
66
- Logger . LogError ( "ExecuteDeletion start" ) ;
69
+ _logger . LogError ( "ExecuteDeletion start" ) ;
67
70
foreach ( var identityAddress in addresses )
68
71
{
69
72
await ExecuteDeletion ( identityAddress , cancellationToken ) ;
70
73
}
71
74
72
- Logger . LogError ( "ExecuteDeletion end" ) ;
75
+ _logger . LogError ( "ExecuteDeletion end" ) ;
73
76
}
74
77
75
78
private async Task ExecuteDeletion ( IdentityAddress identityAddress , CancellationToken cancellationToken )
76
79
{
77
- Logger . LogError ( "ExecuteDeletion start" ) ;
80
+ _logger . LogError ( "ExecuteDeletion start" ) ;
78
81
await NotifyIdentityAboutStartingDeletion ( identityAddress , cancellationToken ) ;
79
82
await Delete ( identityAddress ) ;
80
- Logger . LogError ( "ExecuteDeletion end" ) ;
83
+ _logger . LogError ( "ExecuteDeletion end" ) ;
81
84
}
82
85
83
86
private async Task NotifyIdentityAboutStartingDeletion ( IdentityAddress identityAddress , CancellationToken cancellationToken )
@@ -90,26 +93,26 @@ await _pushNotificationSender.SendNotification(
90
93
91
94
private async Task Delete ( IdentityAddress identityAddress )
92
95
{
93
- Logger . LogError ( "Delete start" ) ;
96
+ _logger . LogError ( "Delete start" ) ;
94
97
var identity = await _mediator . Send ( new GetIdentityQuery ( identityAddress . Value ) ) ;
95
98
96
99
foreach ( var identityDeleter in _identityDeleters )
97
100
{
98
- Logger . LogError ( "Executing {name}" , identityDeleter . GetType ( ) . FullName ) ;
101
+ _logger . LogError ( "Executing {name}" , identityDeleter . GetType ( ) . FullName ) ;
99
102
await identityDeleter . Delete ( identityAddress ) ;
100
103
}
101
104
102
105
var usernames = identity . Devices . Select ( d => d . Username ) ;
103
106
104
107
await _mediator . Send ( new HandleCompletedDeletionProcessCommand ( identityAddress . Value , usernames ) ) ;
105
- Logger . LogError ( "Delete end" ) ;
108
+ _logger . LogError ( "Delete end" ) ;
106
109
}
107
110
108
111
private void LogErroringDeletionTriggers ( IEnumerable < KeyValuePair < IdentityAddress , UnitResult < DomainError > > > erroringDeletionTriggers )
109
112
{
110
113
foreach ( var erroringDeletion in erroringDeletionTriggers )
111
114
{
112
- Logger . ErrorWhenTriggeringDeletionProcessForIdentity ( erroringDeletion . Value . Error . Code , erroringDeletion . Value . Error . Message ) ;
115
+ _logger . ErrorWhenTriggeringDeletionProcessForIdentity ( erroringDeletion . Value . Error . Code , erroringDeletion . Value . Error . Message ) ;
113
116
}
114
117
}
115
118
}
0 commit comments