Compare commits
5 commits
Author | SHA1 | Date | |
---|---|---|---|
9dc4faa985 | |||
6846adc169 | |||
2b21f02c11 | |||
563d308c3c | |||
3075db223e |
3 changed files with 17 additions and 33 deletions
31
README.md
31
README.md
File diff suppressed because one or more lines are too long
17
main.js
17
main.js
|
@ -8,8 +8,7 @@ if (!USER_TOKEN) {
|
|||
process.exit(1);
|
||||
}
|
||||
|
||||
const PERIOD = process.env.PERIOD; // Time in days: int
|
||||
|
||||
console.log("Spierdalaj");
|
||||
const INSTANCE_URL = process.env.INSTANCE_URL;
|
||||
const API_BASE = `${INSTANCE_URL}/api`;
|
||||
|
||||
|
@ -51,19 +50,17 @@ async function main() {
|
|||
|
||||
const users = response.data;
|
||||
const now = new Date();
|
||||
const timeAgo = new Date(now - PERIOD * 24 * 60 * 60 * 1000);
|
||||
const fiveDaysAgo = new Date(now - 5 * 24 * 60 * 60 * 1000);
|
||||
|
||||
const usersToDelete = users.filter(user => {
|
||||
const createdAt = new Date(user.createdAt);
|
||||
const updatedAt = new Date(user.updatedAt);
|
||||
const excludedUsers = ['instance.actor', 'relay.actor'];
|
||||
return user.notesCount === 0 &&
|
||||
createdAt < timeAgo &&
|
||||
updatedAt < timeAgo &&
|
||||
!excludedUsers.includes(user.username)
|
||||
return user.notesCount === 0 &&
|
||||
createdAt < fiveDaysAgo &&
|
||||
updatedAt < fiveDaysAgo;
|
||||
});
|
||||
|
||||
console.log(`Found ${usersToDelete.length} users matching criteria (no posts, not updated, and older than ${PERIOD} days)`);
|
||||
console.log(`Found ${usersToDelete.length} users matching criteria (no posts, not updated, and older than 5 days)`);
|
||||
|
||||
console.log('\nUsers to be deleted:');
|
||||
usersToDelete.forEach(user => {
|
||||
|
@ -75,7 +72,7 @@ async function main() {
|
|||
console.log();
|
||||
|
||||
const confirmed = await askForConfirmation(`Are you sure you want to delete ${usersToDelete.length} users?`);
|
||||
|
||||
|
||||
if (!confirmed) {
|
||||
console.log('Operation cancelled by user');
|
||||
rl.close();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"dependencies": {
|
||||
"dependencies": { // Kus
|
||||
"axios": "^1.7.8",
|
||||
"dotenv": "^16.4.5",
|
||||
"readline": "^1.3.0"
|
||||
|
|
Loading…
Reference in a new issue