183 lines
3.8 KiB
JavaScript
183 lines
3.8 KiB
JavaScript
const db = require('../models');
|
|
const Users = db.users;
|
|
|
|
const Calls = db.calls;
|
|
|
|
const Chats = db.chats;
|
|
|
|
const Messages = db.messages;
|
|
|
|
const CallsData = [
|
|
{
|
|
// type code here for "relation_many" field
|
|
|
|
start_time: new Date('2023-10-01T09:00:00Z'),
|
|
|
|
end_time: new Date('2023-10-01T09:30:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_many" field
|
|
|
|
start_time: new Date('2023-10-01T10:00:00Z'),
|
|
|
|
end_time: new Date('2023-10-01T10:20:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_many" field
|
|
|
|
start_time: new Date('2023-10-01T11:00:00Z'),
|
|
|
|
end_time: new Date('2023-10-01T11:15:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_many" field
|
|
|
|
start_time: new Date('2023-10-01T12:00:00Z'),
|
|
|
|
end_time: new Date('2023-10-01T12:30:00Z'),
|
|
},
|
|
];
|
|
|
|
const ChatsData = [
|
|
{
|
|
// type code here for "relation_many" field
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_many" field
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_many" field
|
|
// type code here for "relation_many" field
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_many" field
|
|
// type code here for "relation_many" field
|
|
},
|
|
];
|
|
|
|
const MessagesData = [
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
content: 'Hello, how are you?',
|
|
|
|
sent_at: new Date('2023-10-01T10:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
content: "I'm good, thanks!",
|
|
|
|
sent_at: new Date('2023-10-01T10:01:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
content: 'Are we meeting today?',
|
|
|
|
sent_at: new Date('2023-10-01T11:00:00Z'),
|
|
},
|
|
|
|
{
|
|
// type code here for "relation_one" field
|
|
|
|
content: 'Yes, at 3 PM.',
|
|
|
|
sent_at: new Date('2023-10-01T11:05:00Z'),
|
|
},
|
|
];
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
async function associateMessageWithSender() {
|
|
const relatedSender0 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Message0 = await Messages.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0,
|
|
});
|
|
if (Message0?.setSender) {
|
|
await Message0.setSender(relatedSender0);
|
|
}
|
|
|
|
const relatedSender1 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Message1 = await Messages.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1,
|
|
});
|
|
if (Message1?.setSender) {
|
|
await Message1.setSender(relatedSender1);
|
|
}
|
|
|
|
const relatedSender2 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Message2 = await Messages.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2,
|
|
});
|
|
if (Message2?.setSender) {
|
|
await Message2.setSender(relatedSender2);
|
|
}
|
|
|
|
const relatedSender3 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const Message3 = await Messages.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3,
|
|
});
|
|
if (Message3?.setSender) {
|
|
await Message3.setSender(relatedSender3);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
up: async (queryInterface, Sequelize) => {
|
|
await Calls.bulkCreate(CallsData);
|
|
|
|
await Chats.bulkCreate(ChatsData);
|
|
|
|
await Messages.bulkCreate(MessagesData);
|
|
|
|
await Promise.all([
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
await associateMessageWithSender(),
|
|
]);
|
|
},
|
|
|
|
down: async (queryInterface, Sequelize) => {
|
|
await queryInterface.bulkDelete('calls', null, {});
|
|
|
|
await queryInterface.bulkDelete('chats', null, {});
|
|
|
|
await queryInterface.bulkDelete('messages', null, {});
|
|
},
|
|
};
|