@ -3,25 +3,47 @@
module . exports = async ( db , redis ) => {
console . log ( 'changing post/report/ban ip type storage format' ) ;
await db . collection ( 'posts' ) . updateMany ( {
'ip.cloak' : /PRUNED$/
/ * M a k e s u r e t h e y a l l e x i s t i n g o n e s a t l e a s t h a v e a t y p e
in case the site uses "dont store raw ips" * /
} , {
'$set' : {
'ip.type' : 3 ,
'ip.type' : 0 ,
}
} ) ;
} ) ;
await db . collection ( 'posts' ) . updateMany ( {
'ip.cloak' : /BP$/
'ip.raw' : /^([0-9]+(\.|$)){4}/
} , [ {
'$set' : {
'ip.type' : 0 ,
'ip.cloak' : {
$concat : [ '$ip.cloak' , '4' ]
}
}
} ] ) ;
await db . collection ( 'posts' ) . updateMany ( {
'ip.raw' : /:/
} , [ {
'$set' : {
'ip.type' : 1 ,
'ip.cloak' : {
$concat : [ '$ip.cloak' , '6' ]
}
}
} ] ) ;
await db . collection ( 'posts' ) . updateMany ( {
'ip.cloak' : /PRUNED$/
} , {
'$set' : {
'ip.type' : 2 ,
'ip.type' : 3 ,
}
} ) ;
await db . collection ( 'posts' ) . updateMany ( {
'ip.cloak' : /IP[46]*$/
'ip.cloak' : /BP $/
} , {
'$set' : {
'ip.type' : 0 , //wont try and figure out migrating ipv4 vs 6
'ip.type' : 2 ,
}
} ) ;
await db . collection ( 'posts' ) . updateMany ( { } , {
@ -32,24 +54,45 @@ module.exports = async(db, redis) => {
} ) ;
await db . collection ( 'bans' ) . updateMany ( {
'ip.cloak' : /PRUNED$/
/ * M a k e s u r e t h e y a l l e x i s t i n g o n e s a t l e a s t h a v e a t y p e
in case the site uses "dont store raw ips" * /
} , {
'$set' : {
'ip.type' : 3 ,
'ip.type' : 0 ,
}
} ) ;
await db . collection ( 'bans' ) . updateMany ( {
'ip.cloak' : /BP$/
'ip.raw' : /^([0-9]+(\.|$)){4}/
} , [ {
'$set' : {
'ip.type' : 0 ,
'ip.cloak' : {
$concat : [ '$ip.cloak' , '4' ]
}
}
} ] ) ;
await db . collection ( 'bans' ) . updateMany ( {
'ip.raw' : /:/
} , [ {
'$set' : {
'ip.type' : 1 ,
'ip.cloak' : {
$concat : [ '$ip.cloak' , '6' ]
}
}
} ] ) ;
await db . collection ( 'bans' ) . updateMany ( {
'ip.cloak' : /PRUNED$/
} , {
'$set' : {
'ip.type' : 2 ,
'ip.type' : 3 ,
}
} ) ;
await db . collection ( 'bans' ) . updateMany ( {
'ip.cloak' : /IP[46]*$/
'ip.cloak' : /BP $/
} , {
'$set' : {
'ip.type' : 0 ,
'ip.type' : 2 ,
}
} ) ;