@@ -100,11 +100,11 @@ async function detectExcessiveClicks(
100100 startDate ?: Date ,
101101 suspiciousActivities ?: SuspiciousActivity [ ]
102102) {
103- let clicksQuery = admin . firestore ( ) . collection ( 'clicks' ) ;
103+ let clicksQuery : admin . firestore . Query = admin . firestore ( ) . collection ( 'clicks' ) ;
104104
105- if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) as admin . firestore . Query ;
106- if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) as admin . firestore . Query ;
107- if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) as admin . firestore . Query ;
105+ if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) ;
106+ if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) ;
107+ if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) ;
108108
109109 const clicksSnapshot = await clicksQuery . get ( ) ;
110110
@@ -135,11 +135,11 @@ async function detectSuspiciousConversions(
135135 startDate ?: Date ,
136136 suspiciousActivities ?: SuspiciousActivity [ ]
137137) {
138- let conversionsQuery = admin . firestore ( ) . collection ( 'conversions' ) ;
138+ let conversionsQuery : admin . firestore . Query = admin . firestore ( ) . collection ( 'conversions' ) ;
139139
140- if ( campaignId ) conversionsQuery = conversionsQuery . where ( 'campaignId' , '==' , campaignId ) as admin . firestore . Query ;
141- if ( affiliateId ) conversionsQuery = conversionsQuery . where ( 'affiliateId' , '==' , affiliateId ) as admin . firestore . Query ;
142- if ( startDate ) conversionsQuery = conversionsQuery . where ( 'timestamp' , '>=' , startDate ) as admin . firestore . Query ;
140+ if ( campaignId ) conversionsQuery = conversionsQuery . where ( 'campaignId' , '==' , campaignId ) ;
141+ if ( affiliateId ) conversionsQuery = conversionsQuery . where ( 'affiliateId' , '==' , affiliateId ) ;
142+ if ( startDate ) conversionsQuery = conversionsQuery . where ( 'timestamp' , '>=' , startDate ) ;
143143
144144 const conversionsSnapshot = await conversionsQuery . get ( ) ;
145145
@@ -165,11 +165,11 @@ async function detectTimePatterns(
165165 startDate ?: Date ,
166166 suspiciousActivities ?: SuspiciousActivity [ ]
167167) {
168- let clicksQuery = admin . firestore ( ) . collection ( 'clicks' ) ;
168+ let clicksQuery : admin . firestore . Query = admin . firestore ( ) . collection ( 'clicks' ) ;
169169
170- if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) as admin . firestore . Query ;
171- if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) as admin . firestore . Query ;
172- if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) as admin . firestore . Query ;
170+ if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) ;
171+ if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) ;
172+ if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) ;
173173
174174 const clicksSnapshot = await clicksQuery . get ( ) ;
175175
@@ -206,11 +206,11 @@ async function detectSuspiciousIPs(
206206) {
207207 console . log ( '🛡️ ANTIFRAUD - Analyse IP et blacklist...' ) ;
208208
209- let clicksQuery = admin . firestore ( ) . collection ( 'clicks' ) ;
209+ let clicksQuery : admin . firestore . Query = admin . firestore ( ) . collection ( 'clicks' ) ;
210210
211- if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) as admin . firestore . Query ;
212- if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) as admin . firestore . Query ;
213- if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) as admin . firestore . Query ;
211+ if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) ;
212+ if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) ;
213+ if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) ;
214214
215215 const clicksSnapshot = await clicksQuery . get ( ) ;
216216
@@ -222,7 +222,7 @@ async function detectSuspiciousIPs(
222222 const ip = data . ip || 'unknown' ;
223223 const hasFlags = data . antifraudFlags && data . antifraudFlags . length > 0 ;
224224
225- if ( hasFlags || data . validated === false ) {
225+ if ( hasFlags ) {
226226 suspiciousIPs [ ip ] = ( suspiciousIPs [ ip ] || 0 ) + 1 ;
227227 }
228228 } ) ;
@@ -248,11 +248,11 @@ async function detectBotsAndSuspiciousUserAgents(
248248) {
249249 console . log ( '🛡️ ANTIFRAUD - Détection bots et user-agents...' ) ;
250250
251- let clicksQuery = admin . firestore ( ) . collection ( 'clicks' ) ;
251+ let clicksQuery : admin . firestore . Query = admin . firestore ( ) . collection ( 'clicks' ) ;
252252
253- if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) as admin . firestore . Query ;
254- if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) as admin . firestore . Query ;
255- if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) as admin . firestore . Query ;
253+ if ( campaignId ) clicksQuery = clicksQuery . where ( 'campaignId' , '==' , campaignId ) ;
254+ if ( affiliateId ) clicksQuery = clicksQuery . where ( 'affiliateId' , '==' , affiliateId ) ;
255+ if ( startDate ) clicksQuery = clicksQuery . where ( 'timestamp' , '>=' , startDate ) ;
256256
257257 const clicksSnapshot = await clicksQuery . get ( ) ;
258258
@@ -324,9 +324,9 @@ function calculateRiskScore(suspiciousActivities: SuspiciousActivity[]): number
324324
325325 suspiciousActivities . forEach ( activity => {
326326 switch ( activity . severity ) {
327- case 'high' : score += 30 ; break ;
328- case 'medium' : score += 15 ; break ;
329- case 'low' : score += 5 ; break ;
327+ case 'high' : score += 30 ; break ;
328+ case 'medium' : score += 15 ; break ;
329+ case 'low' : score += 5 ; break ;
330330 }
331331 } ) ;
332332
0 commit comments