forked from mrrfv/cloudflare-gateway-pihole-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cf_list_delete.js
44 lines (35 loc) · 1.23 KB
/
cf_list_delete.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import {
deleteZeroTrustListsAtOnce,
deleteZeroTrustListsOneByOne,
getZeroTrustLists,
} from "./lib/api.js";
import { FAST_MODE } from "./lib/constants.js";
import { notifyWebhook } from "./lib/helpers.js";
(async () => {
const { result: lists } = await getZeroTrustLists();
if (!lists) {
console.warn(
"No file lists found - this is not an issue if it's your first time running this script. Exiting."
);
return;
}
const cgpsLists = lists.filter(({ name }) => name.startsWith("CGPS List"));
if (!cgpsLists.length) {
console.warn(
"No lists with matching name found - this is not an issue if you haven't created any filter lists before. Exiting."
);
return;
}
console.log(
`Got ${lists.length} lists, ${cgpsLists.length} of which are CGPS lists that will be deleted.`
);
console.log(`Deleting ${cgpsLists.length} lists...`);
if (FAST_MODE) {
await deleteZeroTrustListsAtOnce(cgpsLists);
// TODO: make this less repetitive
await notifyWebhook(`CF List Delete script finished running (${cgpsLists.length} lists)`);
return;
}
await deleteZeroTrustListsOneByOne(cgpsLists);
await notifyWebhook(`CF List Delete script finished running (${cgpsLists.length} lists)`);
})();