440 lines
9.8 KiB
JavaScript
440 lines
9.8 KiB
JavaScript
const db = require('../models');
|
|
const Users = db.users;
|
|
|
|
const Reviews = db.reviews;
|
|
|
|
const Servers = db.servers;
|
|
|
|
const Votes = db.votes;
|
|
|
|
const ReviewsData = [
|
|
{
|
|
title: 'Amazing SkyBlock Experience',
|
|
|
|
content:
|
|
'The challenges are well-designed and the community is very supportive.',
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
status: 'submitted',
|
|
},
|
|
|
|
{
|
|
title: 'Factions Kingdom Review',
|
|
|
|
content:
|
|
'Intense battles and strategic gameplay make this server a must-try.',
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
status: 'published',
|
|
},
|
|
|
|
{
|
|
title: 'Creative World Insights',
|
|
|
|
content: 'A perfect place for builders to showcase their skills.',
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
status: 'draft',
|
|
},
|
|
|
|
{
|
|
title: 'Survival Haven Overview',
|
|
|
|
content: 'A challenging yet rewarding experience for survival enthusiasts.',
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
status: 'draft',
|
|
},
|
|
|
|
{
|
|
title: 'MiniGames Arena Fun',
|
|
|
|
content: 'Endless fun with a variety of mini-games to choose from.',
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
status: 'published',
|
|
},
|
|
];
|
|
|
|
const ServersData = [
|
|
{
|
|
name: 'SkyBlock Paradise',
|
|
|
|
description:
|
|
'A unique SkyBlock experience with custom challenges and rewards.',
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
name: 'Factions Kingdom',
|
|
|
|
description:
|
|
'Join a faction, build your base, and conquer others in this competitive server.',
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
name: 'Creative World',
|
|
|
|
description:
|
|
'Unleash your creativity with unlimited resources and plot protection.',
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
name: 'Survival Haven',
|
|
|
|
description:
|
|
'Survive and thrive in a challenging environment with a friendly community.',
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
name: 'MiniGames Arena',
|
|
|
|
description:
|
|
'Compete in various mini-games and earn rewards for your victories.',
|
|
|
|
// type code here for "relation_many" field
|
|
|
|
// type code here for "relation_many" field
|
|
},
|
|
];
|
|
|
|
const VotesData = [
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
voted_at: new Date('2023-10-01T10:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
voted_at: new Date('2023-10-01T11:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
voted_at: new Date('2023-10-01T12:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
voted_at: new Date('2023-10-01T13:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
voted_at: new Date('2023-10-01T14:00:00Z'),
|
|
},
|
|
];
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
async function associateReviewWithServer() {
|
|
const relatedServer0 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Review0 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0,
|
|
});
|
|
if (Review0?.setServer) {
|
|
await Review0.setServer(relatedServer0);
|
|
}
|
|
|
|
const relatedServer1 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Review1 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1,
|
|
});
|
|
if (Review1?.setServer) {
|
|
await Review1.setServer(relatedServer1);
|
|
}
|
|
|
|
const relatedServer2 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Review2 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2,
|
|
});
|
|
if (Review2?.setServer) {
|
|
await Review2.setServer(relatedServer2);
|
|
}
|
|
|
|
const relatedServer3 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Review3 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3,
|
|
});
|
|
if (Review3?.setServer) {
|
|
await Review3.setServer(relatedServer3);
|
|
}
|
|
|
|
const relatedServer4 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Review4 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 4,
|
|
});
|
|
if (Review4?.setServer) {
|
|
await Review4.setServer(relatedServer4);
|
|
}
|
|
}
|
|
|
|
async function associateReviewWithAuthor() {
|
|
const relatedAuthor0 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Review0 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0,
|
|
});
|
|
if (Review0?.setAuthor) {
|
|
await Review0.setAuthor(relatedAuthor0);
|
|
}
|
|
|
|
const relatedAuthor1 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Review1 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1,
|
|
});
|
|
if (Review1?.setAuthor) {
|
|
await Review1.setAuthor(relatedAuthor1);
|
|
}
|
|
|
|
const relatedAuthor2 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Review2 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2,
|
|
});
|
|
if (Review2?.setAuthor) {
|
|
await Review2.setAuthor(relatedAuthor2);
|
|
}
|
|
|
|
const relatedAuthor3 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Review3 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3,
|
|
});
|
|
if (Review3?.setAuthor) {
|
|
await Review3.setAuthor(relatedAuthor3);
|
|
}
|
|
|
|
const relatedAuthor4 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Review4 = await Reviews.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 4,
|
|
});
|
|
if (Review4?.setAuthor) {
|
|
await Review4.setAuthor(relatedAuthor4);
|
|
}
|
|
}
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
async function associateVoteWithServer() {
|
|
const relatedServer0 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Vote0 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0,
|
|
});
|
|
if (Vote0?.setServer) {
|
|
await Vote0.setServer(relatedServer0);
|
|
}
|
|
|
|
const relatedServer1 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Vote1 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1,
|
|
});
|
|
if (Vote1?.setServer) {
|
|
await Vote1.setServer(relatedServer1);
|
|
}
|
|
|
|
const relatedServer2 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Vote2 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2,
|
|
});
|
|
if (Vote2?.setServer) {
|
|
await Vote2.setServer(relatedServer2);
|
|
}
|
|
|
|
const relatedServer3 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Vote3 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3,
|
|
});
|
|
if (Vote3?.setServer) {
|
|
await Vote3.setServer(relatedServer3);
|
|
}
|
|
|
|
const relatedServer4 = await Servers.findOne({
|
|
offset: Math.floor(Math.random() * (await Servers.count())),
|
|
});
|
|
const Vote4 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 4,
|
|
});
|
|
if (Vote4?.setServer) {
|
|
await Vote4.setServer(relatedServer4);
|
|
}
|
|
}
|
|
|
|
async function associateVoteWithUser() {
|
|
const relatedUser0 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Vote0 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0,
|
|
});
|
|
if (Vote0?.setUser) {
|
|
await Vote0.setUser(relatedUser0);
|
|
}
|
|
|
|
const relatedUser1 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Vote1 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1,
|
|
});
|
|
if (Vote1?.setUser) {
|
|
await Vote1.setUser(relatedUser1);
|
|
}
|
|
|
|
const relatedUser2 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Vote2 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2,
|
|
});
|
|
if (Vote2?.setUser) {
|
|
await Vote2.setUser(relatedUser2);
|
|
}
|
|
|
|
const relatedUser3 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Vote3 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3,
|
|
});
|
|
if (Vote3?.setUser) {
|
|
await Vote3.setUser(relatedUser3);
|
|
}
|
|
|
|
const relatedUser4 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Vote4 = await Votes.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 4,
|
|
});
|
|
if (Vote4?.setUser) {
|
|
await Vote4.setUser(relatedUser4);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
up: async (queryInterface, Sequelize) => {
|
|
await Reviews.bulkCreate(ReviewsData);
|
|
|
|
await Servers.bulkCreate(ServersData);
|
|
|
|
await Votes.bulkCreate(VotesData);
|
|
|
|
await Promise.all([
|
|
// Similar logic for "relation_many"
|
|
|
|
await associateReviewWithServer(),
|
|
|
|
await associateReviewWithAuthor(),
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
await associateVoteWithServer(),
|
|
|
|
await associateVoteWithUser(),
|
|
]);
|
|
},
|
|
|
|
down: async (queryInterface, Sequelize) => {
|
|
await queryInterface.bulkDelete('reviews', null, {});
|
|
|
|
await queryInterface.bulkDelete('servers', null, {});
|
|
|
|
await queryInterface.bulkDelete('votes', null, {});
|
|
},
|
|
};
|