@@ -14,7 +14,6 @@ type AdoptedProbe = {
14
14
}
15
15
16
16
export class AdoptedProbes {
17
- private adoptedProbesByIp : Map < AdoptedProbe [ 'ip' ] , Omit < AdoptedProbe , 'ip' > > = new Map ( ) ;
18
17
private connectedIpToUuid : Map < string , string > = new Map ( ) ;
19
18
private connectedUuidToIp : Map < string , string > = new Map ( ) ;
20
19
@@ -37,7 +36,6 @@ export class AdoptedProbes {
37
36
this . connectedUuidToIp = new Map ( allSockets . map ( socket => [ socket . data . probe . uuid , socket . data . probe . ipAddress ] ) ) ;
38
37
39
38
const adoptedProbes = await this . sql ( TABLE_NAME ) . select < AdoptedProbe [ ] > ( 'ip' , 'uuid' , 'lastSyncDate' ) ;
40
- this . adoptedProbesByIp = new Map ( adoptedProbes . map ( ( { ip, uuid, lastSyncDate } ) => [ ip , { uuid, lastSyncDate } ] ) ) ;
41
39
await Promise . all ( adoptedProbes . map ( ( { ip, uuid } ) => this . syncProbeIds ( ip , uuid ) ) ) ;
42
40
await Promise . all ( adoptedProbes . map ( ( { ip, lastSyncDate } ) => this . updateSyncDate ( ip , lastSyncDate ) ) ) ;
43
41
}
@@ -62,18 +60,18 @@ export class AdoptedProbes {
62
60
}
63
61
64
62
private async updateSyncDate ( ip : string , lastSyncDate : string ) {
65
- if ( this . isToday ( lastSyncDate ) ) {
63
+ if ( this . isToday ( lastSyncDate ) ) { // date is already synced
66
64
return ;
67
65
}
68
66
69
67
const probeIsConnected = this . connectedIpToUuid . has ( ip ) ;
70
68
71
- if ( probeIsConnected ) {
69
+ if ( probeIsConnected ) { // date is old, but probe is connected, therefore updating the sync date
72
70
await this . updateLastSyncDate ( ip ) ;
73
71
return ;
74
72
}
75
73
76
- if ( this . isMoreThan30DaysAgo ( lastSyncDate ) ) {
74
+ if ( this . isMoreThan30DaysAgo ( lastSyncDate ) ) { // probe wasn't connected for >30 days, removing adoption
77
75
await this . deleteAdoptedProbe ( ip ) ;
78
76
}
79
77
}
0 commit comments