Refactor time variable and exclude system users (#1)

This commit is contained in:
PawzyTheJawzy 2025-01-18 10:10:18 +00:00 committed by fivesevenblue
parent 1e08498b92
commit 4d4ad94bcc
Signed by: fsb
GPG key ID: A249DDC8F055E901

10
main.js
View file

@ -8,6 +8,8 @@ if (!USER_TOKEN) {
process.exit(1); process.exit(1);
} }
const PERIOD = process.env.PERIOD; // Time in days: int
const INSTANCE_URL = process.env.INSTANCE_URL; const INSTANCE_URL = process.env.INSTANCE_URL;
const API_BASE = `${INSTANCE_URL}/api`; const API_BASE = `${INSTANCE_URL}/api`;
@ -49,14 +51,16 @@ async function main() {
const users = response.data; const users = response.data;
const now = new Date(); const now = new Date();
const fiveDaysAgo = new Date(now - 5 * 24 * 60 * 60 * 1000); const timeAgo = new Date(now - PERIOD * 24 * 60 * 60 * 1000);
const usersToDelete = users.filter(user => { const usersToDelete = users.filter(user => {
const createdAt = new Date(user.createdAt); const createdAt = new Date(user.createdAt);
const updatedAt = new Date(user.updatedAt); const updatedAt = new Date(user.updatedAt);
const excludedUsers = ['instance.actor', 'relay.actor'];
return user.notesCount === 0 && return user.notesCount === 0 &&
createdAt < fiveDaysAgo && createdAt < timeAgo &&
updatedAt < fiveDaysAgo; updatedAt < timeAgo &&
!excludedUsers.includes(user.username)
}); });
console.log(`Found ${usersToDelete.length} users matching criteria (no posts, not updated, and older than 5 days)`); console.log(`Found ${usersToDelete.length} users matching criteria (no posts, not updated, and older than 5 days)`);