Merge branch 'ditto-retroactive-policies' into 'main'

add cleanup script (apply policy to events created before it applied)

Closes #232

See merge request soapbox-pub/ditto!590
This commit is contained in:
Alex Gleason 2024-11-21 16:37:57 +00:00
commit f40a9d8a5a
2 changed files with 20 additions and 0 deletions

View file

@ -6,6 +6,7 @@
"hook": "deno run --allow-read --allow-run --allow-write https://deno.land/x/deno_hooks@0.1.1/mod.ts", "hook": "deno run --allow-read --allow-run --allow-write https://deno.land/x/deno_hooks@0.1.1/mod.ts",
"db:export": "deno run -A --env-file --deny-read=.env scripts/db-export.ts", "db:export": "deno run -A --env-file --deny-read=.env scripts/db-export.ts",
"db:import": "deno run -A --env-file --deny-read=.env scripts/db-import.ts", "db:import": "deno run -A --env-file --deny-read=.env scripts/db-import.ts",
"db:cleanup": "deno run -A --env-file --deny-read=.env scripts/db-policy.ts",
"db:migrate": "deno run -A --env-file --deny-read=.env scripts/db-migrate.ts", "db:migrate": "deno run -A --env-file --deny-read=.env scripts/db-migrate.ts",
"nostr:pull": "deno run -A --env-file --deny-read=.env scripts/nostr-pull.ts", "nostr:pull": "deno run -A --env-file --deny-read=.env scripts/nostr-pull.ts",
"debug": "deno run -A --env-file --deny-read=.env --inspect src/server.ts", "debug": "deno run -A --env-file --deny-read=.env --inspect src/server.ts",

19
scripts/db-policy.ts Normal file
View file

@ -0,0 +1,19 @@
import { policyWorker } from '@/workers/policy.ts';
import { Storages } from '@/storages.ts';
const db = await Storages.db();
let count = 0;
for await (const msg of db.req([{}])) {
const [type, , event] = msg;
if (type === 'EOSE') console.log('EOSE');
if (type !== 'EVENT') continue;
const [, , ok] = await policyWorker.call(event, AbortSignal.timeout(5000));
if (!ok) {
await db.remove([{ ids: [event.id] }]);
count += 1;
}
}
console.log(`Cleaned up ${count} events from the db.`);
Deno.exit(0);