mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-02 16:56:39 +00:00
add clear exit nodes pangctl command
This commit is contained in:
36
cli/commands/clearExitNodes.ts
Normal file
36
cli/commands/clearExitNodes.ts
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import { CommandModule } from "yargs";
|
||||||
|
import { db, exitNodes } from "@server/db";
|
||||||
|
import { eq } from "drizzle-orm";
|
||||||
|
|
||||||
|
type ClearExitNodesArgs = { };
|
||||||
|
|
||||||
|
export const clearExitNodes: CommandModule<
|
||||||
|
{},
|
||||||
|
ClearExitNodesArgs
|
||||||
|
> = {
|
||||||
|
command: "clear-exit-nodes",
|
||||||
|
describe:
|
||||||
|
"Clear all exit nodes from the database",
|
||||||
|
// no args
|
||||||
|
builder: (yargs) => {
|
||||||
|
return yargs;
|
||||||
|
},
|
||||||
|
handler: async (argv: {}) => {
|
||||||
|
try {
|
||||||
|
|
||||||
|
console.log(`Clearing all exit nodes from the database`);
|
||||||
|
|
||||||
|
// Delete all exit nodes
|
||||||
|
const deletedCount = await db
|
||||||
|
.delete(exitNodes)
|
||||||
|
.where(eq(exitNodes.exitNodeId, exitNodes.exitNodeId)); // delete all
|
||||||
|
|
||||||
|
console.log(`Deleted ${deletedCount.changes} exit node(s) from the database`);
|
||||||
|
|
||||||
|
process.exit(0);
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error:", error);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -4,10 +4,12 @@ import yargs from "yargs";
|
|||||||
import { hideBin } from "yargs/helpers";
|
import { hideBin } from "yargs/helpers";
|
||||||
import { setAdminCredentials } from "@cli/commands/setAdminCredentials";
|
import { setAdminCredentials } from "@cli/commands/setAdminCredentials";
|
||||||
import { resetUserSecurityKeys } from "@cli/commands/resetUserSecurityKeys";
|
import { resetUserSecurityKeys } from "@cli/commands/resetUserSecurityKeys";
|
||||||
|
import { clearExitNodes } from "./commands/clearExitNodes";
|
||||||
|
|
||||||
yargs(hideBin(process.argv))
|
yargs(hideBin(process.argv))
|
||||||
.scriptName("pangctl")
|
.scriptName("pangctl")
|
||||||
.command(setAdminCredentials)
|
.command(setAdminCredentials)
|
||||||
.command(resetUserSecurityKeys)
|
.command(resetUserSecurityKeys)
|
||||||
|
.command(clearExitNodes)
|
||||||
.demandCommand()
|
.demandCommand()
|
||||||
.help().argv;
|
.help().argv;
|
||||||
|
|||||||
Reference in New Issue
Block a user