34108/backend/src/db/seeders/20231127130745-sample-data.js
2025-09-16 17:25:21 +00:00

1005 lines
25 KiB
JavaScript

const db = require('../models');
const Users = db.users;
const Admins = db.admins;
const CompanyInsights = db.company_insights;
const PlacementDrives = db.placement_drives;
const Students = db.students;
const Tpos = db.tpos;
const Organizations = db.organizations;
const AdminsData = [
{
full_name: 'Vikram Singh',
email: 'vikram.singh@example.com',
// type code here for "relation_one" field
// type code here for "relation_one" field
},
{
full_name: 'Neha Gupta',
email: 'neha.gupta@example.com',
// type code here for "relation_one" field
// type code here for "relation_one" field
},
{
full_name: 'Rajesh Kumar',
email: 'rajesh.kumar@example.com',
// type code here for "relation_one" field
// type code here for "relation_one" field
},
{
full_name: 'Pooja Agarwal',
email: 'pooja.agarwal@example.com',
// type code here for "relation_one" field
// type code here for "relation_one" field
},
{
full_name: 'Amit Desai',
email: 'amit.desai@example.com',
// type code here for "relation_one" field
// type code here for "relation_one" field
},
];
const CompanyInsightsData = [
{
company_name: 'TechCorp',
students_placed: 50,
average_package: 8.5,
department_breakdown: 'CS: 20, IT: 15, ECE: 15',
// type code here for "relation_one" field
},
{
company_name: 'Innovate Solutions',
students_placed: 30,
average_package: 7.2,
department_breakdown: 'CS: 10, IT: 10, ECE: 10',
// type code here for "relation_one" field
},
{
company_name: 'FutureTech',
students_placed: 40,
average_package: 9,
department_breakdown: 'CS: 15, IT: 15, ECE: 10',
// type code here for "relation_one" field
},
{
company_name: 'Pioneer Systems',
students_placed: 25,
average_package: 6.8,
department_breakdown: 'CS: 10, IT: 5, ECE: 10',
// type code here for "relation_one" field
},
{
company_name: 'Visionary Inc.',
students_placed: 35,
average_package: 7.5,
department_breakdown: 'CS: 15, IT: 10, ECE: 10',
// type code here for "relation_one" field
},
];
const PlacementDrivesData = [
{
title: 'Tech Drive 2023',
start_date: new Date('2023-11-01T09:00:00Z'),
end_date: new Date('2023-11-05T17:00:00Z'),
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
title: 'Innovate 2023',
start_date: new Date('2023-12-01T09:00:00Z'),
end_date: new Date('2023-12-03T17:00:00Z'),
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
title: 'Career Fest 2023',
start_date: new Date('2023-10-15T09:00:00Z'),
end_date: new Date('2023-10-17T17:00:00Z'),
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
title: 'Job Fair 2023',
start_date: new Date('2023-09-20T09:00:00Z'),
end_date: new Date('2023-09-22T17:00:00Z'),
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
title: 'Opportunity Expo 2023',
start_date: new Date('2023-08-10T09:00:00Z'),
end_date: new Date('2023-08-12T17:00:00Z'),
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
];
const StudentsData = [
{
full_name: 'Aarushi Patel',
email: 'aarushi.patel@example.com',
phone_number: '9876543210',
// type code here for "relation_one" field
// type code here for "files" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Meera Shah',
email: 'meera.shah@example.com',
phone_number: '9876543211',
// type code here for "relation_one" field
// type code here for "files" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Nisha Mehta',
email: 'nisha.mehta@example.com',
phone_number: '9876543212',
// type code here for "relation_one" field
// type code here for "files" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Riya Desai',
email: 'riya.desai@example.com',
phone_number: '9876543213',
// type code here for "relation_one" field
// type code here for "files" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Sneha Joshi',
email: 'sneha.joshi@example.com',
phone_number: '9876543214',
// type code here for "relation_one" field
// type code here for "files" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
];
const TposData = [
{
full_name: 'Kavita Rao',
email: 'kavita.rao@example.com',
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Anjali Verma',
email: 'anjali.verma@example.com',
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Priya Nair',
email: 'priya.nair@example.com',
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Sonal Kapoor',
email: 'sonal.kapoor@example.com',
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
{
full_name: 'Radhika Iyer',
email: 'radhika.iyer@example.com',
// type code here for "relation_one" field
// type code here for "relation_many" field
// type code here for "relation_one" field
},
];
const OrganizationsData = [
{
name: 'Tech University',
},
{
name: 'Innovate Institute',
},
{
name: 'Future College',
},
{
name: 'Pioneer Academy',
},
{
name: 'Vision University',
},
];
// Similar logic for "relation_many"
async function associateUserWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const User0 = await Users.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (User0?.setOrganization) {
await User0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const User1 = await Users.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (User1?.setOrganization) {
await User1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const User2 = await Users.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (User2?.setOrganization) {
await User2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const User3 = await Users.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (User3?.setOrganization) {
await User3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const User4 = await Users.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (User4?.setOrganization) {
await User4.setOrganization(relatedOrganization4);
}
}
async function associateAdminWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin0 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (Admin0?.setOrganization) {
await Admin0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin1 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (Admin1?.setOrganization) {
await Admin1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin2 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (Admin2?.setOrganization) {
await Admin2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin3 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Admin3?.setOrganization) {
await Admin3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin4 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (Admin4?.setOrganization) {
await Admin4.setOrganization(relatedOrganization4);
}
}
async function associateAdminWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin0 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (Admin0?.setOrganization) {
await Admin0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin1 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (Admin1?.setOrganization) {
await Admin1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin2 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (Admin2?.setOrganization) {
await Admin2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin3 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Admin3?.setOrganization) {
await Admin3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Admin4 = await Admins.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (Admin4?.setOrganization) {
await Admin4.setOrganization(relatedOrganization4);
}
}
async function associateCompanyInsightWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const CompanyInsight0 = await CompanyInsights.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (CompanyInsight0?.setOrganization) {
await CompanyInsight0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const CompanyInsight1 = await CompanyInsights.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (CompanyInsight1?.setOrganization) {
await CompanyInsight1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const CompanyInsight2 = await CompanyInsights.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (CompanyInsight2?.setOrganization) {
await CompanyInsight2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const CompanyInsight3 = await CompanyInsights.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (CompanyInsight3?.setOrganization) {
await CompanyInsight3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const CompanyInsight4 = await CompanyInsights.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (CompanyInsight4?.setOrganization) {
await CompanyInsight4.setOrganization(relatedOrganization4);
}
}
async function associatePlacementDrifeWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife0 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (PlacementDrife0?.setOrganization) {
await PlacementDrife0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife1 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (PlacementDrife1?.setOrganization) {
await PlacementDrife1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife2 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (PlacementDrife2?.setOrganization) {
await PlacementDrife2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife3 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (PlacementDrife3?.setOrganization) {
await PlacementDrife3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife4 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (PlacementDrife4?.setOrganization) {
await PlacementDrife4.setOrganization(relatedOrganization4);
}
}
// Similar logic for "relation_many"
async function associatePlacementDrifeWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife0 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (PlacementDrife0?.setOrganization) {
await PlacementDrife0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife1 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (PlacementDrife1?.setOrganization) {
await PlacementDrife1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife2 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (PlacementDrife2?.setOrganization) {
await PlacementDrife2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife3 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (PlacementDrife3?.setOrganization) {
await PlacementDrife3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const PlacementDrife4 = await PlacementDrives.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (PlacementDrife4?.setOrganization) {
await PlacementDrife4.setOrganization(relatedOrganization4);
}
}
async function associateStudentWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student0 = await Students.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (Student0?.setOrganization) {
await Student0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student1 = await Students.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (Student1?.setOrganization) {
await Student1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student2 = await Students.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (Student2?.setOrganization) {
await Student2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student3 = await Students.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Student3?.setOrganization) {
await Student3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student4 = await Students.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (Student4?.setOrganization) {
await Student4.setOrganization(relatedOrganization4);
}
}
// Similar logic for "relation_many"
async function associateStudentWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student0 = await Students.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (Student0?.setOrganization) {
await Student0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student1 = await Students.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (Student1?.setOrganization) {
await Student1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student2 = await Students.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (Student2?.setOrganization) {
await Student2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student3 = await Students.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Student3?.setOrganization) {
await Student3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Student4 = await Students.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (Student4?.setOrganization) {
await Student4.setOrganization(relatedOrganization4);
}
}
async function associateTpoWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo0 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (Tpo0?.setOrganization) {
await Tpo0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo1 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (Tpo1?.setOrganization) {
await Tpo1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo2 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (Tpo2?.setOrganization) {
await Tpo2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo3 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Tpo3?.setOrganization) {
await Tpo3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo4 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (Tpo4?.setOrganization) {
await Tpo4.setOrganization(relatedOrganization4);
}
}
// Similar logic for "relation_many"
async function associateTpoWithOrganization() {
const relatedOrganization0 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo0 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 0,
});
if (Tpo0?.setOrganization) {
await Tpo0.setOrganization(relatedOrganization0);
}
const relatedOrganization1 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo1 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 1,
});
if (Tpo1?.setOrganization) {
await Tpo1.setOrganization(relatedOrganization1);
}
const relatedOrganization2 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo2 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 2,
});
if (Tpo2?.setOrganization) {
await Tpo2.setOrganization(relatedOrganization2);
}
const relatedOrganization3 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo3 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 3,
});
if (Tpo3?.setOrganization) {
await Tpo3.setOrganization(relatedOrganization3);
}
const relatedOrganization4 = await Organizations.findOne({
offset: Math.floor(Math.random() * (await Organizations.count())),
});
const Tpo4 = await Tpos.findOne({
order: [['id', 'ASC']],
offset: 4,
});
if (Tpo4?.setOrganization) {
await Tpo4.setOrganization(relatedOrganization4);
}
}
module.exports = {
up: async (queryInterface, Sequelize) => {
await Admins.bulkCreate(AdminsData);
await CompanyInsights.bulkCreate(CompanyInsightsData);
await PlacementDrives.bulkCreate(PlacementDrivesData);
await Students.bulkCreate(StudentsData);
await Tpos.bulkCreate(TposData);
await Organizations.bulkCreate(OrganizationsData);
await Promise.all([
// Similar logic for "relation_many"
await associateUserWithOrganization(),
await associateAdminWithOrganization(),
await associateAdminWithOrganization(),
await associateCompanyInsightWithOrganization(),
await associatePlacementDrifeWithOrganization(),
// Similar logic for "relation_many"
await associatePlacementDrifeWithOrganization(),
await associateStudentWithOrganization(),
// Similar logic for "relation_many"
await associateStudentWithOrganization(),
await associateTpoWithOrganization(),
// Similar logic for "relation_many"
await associateTpoWithOrganization(),
]);
},
down: async (queryInterface, Sequelize) => {
await queryInterface.bulkDelete('admins', null, {});
await queryInterface.bulkDelete('company_insights', null, {});
await queryInterface.bulkDelete('placement_drives', null, {});
await queryInterface.bulkDelete('students', null, {});
await queryInterface.bulkDelete('tpos', null, {});
await queryInterface.bulkDelete('organizations', null, {});
},
};