Repository navigation
Expand file tree
/
Copy pathseed.js
More file actions
1 lines (1 loc) · 1.37 KB
/
Copy pathseed.js
File metadata and controls
1 lines (1 loc) · 1.37 KB
1
require("dotenv").config();const connect=require("./config/db"),User=require("./models/User"),Project=require("./models/Project"),Task=require("./models/Task");(async()=>{try{await connect();let admin=await User.findOne({email:"admin@example.com"});if(!admin)admin=await User.create({name:"Demo Admin",email:"admin@example.com",password:"Admin@123",role:"admin"});let user=await User.findOne({email:"user@example.com"});if(!user)user=await User.create({name:"Demo User",email:"user@example.com",password:"User@123",role:"user"});let p=await Project.findOne({name:"Demo Project",owner:admin._id});if(!p)p=await Project.create({name:"Demo Project",description:"Sample Kanban project",owner:admin._id,members:[admin._id,user._id]});if(!(await Task.exists({project:p._id})))await Task.insertMany([{project:p._id,title:"Plan project",description:"Review requirements",status:"todo",priority:"high",assignee:user._id,order:0},{project:p._id,title:"Build board",description:"Implement Kanban workflow",status:"in-progress",priority:"medium",assignee:user._id,order:0},{project:p._id,title:"Set up repository",description:"Repository and CI are ready",status:"done",priority:"low",assignee:admin._id,order:0}]);console.log("Seed complete. Admin: admin@example.com / Admin@123 | User: user@example.com / User@123")}catch(e){console.error(e);process.exitCode=1}finally{await require("mongoose").disconnect()}})();