From 9c1a8f1bfe570ecfeb601f9067a72fd512745a4b Mon Sep 17 00:00:00 2001 From: Ayush9791 Date: Wed, 27 May 2026 01:15:13 +0530 Subject: [PATCH] feat(auth): add demo user seeding for local development --- server/index.js | 4 ++++ server/utils/seedDemoUser.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 server/utils/seedDemoUser.js diff --git a/server/index.js b/server/index.js index 911ebe9..ac7844a 100644 --- a/server/index.js +++ b/server/index.js @@ -8,6 +8,7 @@ import multer from "multer"; import { v2 as cloudinary } from "cloudinary"; import streamifier from "streamifier"; import analyticsRoutes from "./routes/analytics.js"; +import seedDemoUser from "./utils/seedDemoUser.js"; const app = express(); @@ -24,6 +25,9 @@ app.use( // Connect to database connectDB(); +// Seed demo user +seedDemoUser(); + // Middleware app.use(express.json()); // In your server.js or app.js diff --git a/server/utils/seedDemoUser.js b/server/utils/seedDemoUser.js new file mode 100644 index 0000000..d518664 --- /dev/null +++ b/server/utils/seedDemoUser.js @@ -0,0 +1,32 @@ +import User from "../models/UserSchema.js"; +import bcrypt from "bcryptjs"; + +// Function to seed a demo user + +const seedDemoUser = async () => { + try { + const existingUser = await User.findOne({ + email: "demo@secureshare.com", + }); + + if (existingUser) { + console.log("Demo user already exists"); + return; + } + + const salt = await bcrypt.genSalt(12); + const hashedPassword = await bcrypt.hash("demo123", salt); + + await User.create({ + username: "demo_user", + email: "demo@secureshare.com", + password: hashedPassword, + }); + + console.log("Demo user seeded successfully"); + } catch (error) { + console.error("Error seeding demo user:", error.message); + } +}; + +export default seedDemoUser; \ No newline at end of file