diff --git a/apps/dokploy/esbuild.config.ts b/apps/dokploy/esbuild.config.ts index 9e6469ca..91854d94 100644 --- a/apps/dokploy/esbuild.config.ts +++ b/apps/dokploy/esbuild.config.ts @@ -21,6 +21,7 @@ try { entryPoints: { server: "server/server.ts", "reset-password": "reset-password.ts", + "reset-2fa": "reset-2fa.ts", }, bundle: true, platform: "node", diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 03ecb572..b53e7ecf 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -11,6 +11,7 @@ "build-next": "next build", "setup": "tsx -r dotenv/config setup.ts && sleep 5 && pnpm run migration:run", "reset-password": "node -r dotenv/config dist/reset-password.mjs", + "reset-2fa": "node -r dotenv/config dist/reset-2fa.mjs", "dev": "tsx -r dotenv/config ./server/server.ts --project tsconfig.server.json ", "dev-turbopack": "TURBOPACK=1 tsx -r dotenv/config ./server/server.ts --project tsconfig.server.json", "studio": "drizzle-kit studio --config ./server/db/drizzle.config.ts", diff --git a/apps/dokploy/reset-2fa.ts b/apps/dokploy/reset-2fa.ts new file mode 100644 index 00000000..573f31d7 --- /dev/null +++ b/apps/dokploy/reset-2fa.ts @@ -0,0 +1,27 @@ +import { findAdmin } from "@dokploy/server"; +import { db } from "@dokploy/server/db"; +import { users_temp } from "@dokploy/server/db/schema"; +import { eq } from "drizzle-orm"; + +(async () => { + try { + const result = await findAdmin(); + + const update = await db + .update(users_temp) + .set({ + twoFactorEnabled: false, + }) + .where(eq(users_temp.id, result.userId)); + + if (update) { + console.log("2FA reset successful"); + } else { + console.log("Password reset failed"); + } + + process.exit(0); + } catch (error) { + console.log("Error resetting 2FA", error); + } +})();