"feat: add EventItem, EventReview models with seed data and mock files, update User and Event schemas"
This commit is contained in:
61
03_source/cms_backend/prisma/seeds/eventReview.ts
Normal file
61
03_source/cms_backend/prisma/seeds/eventReview.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import { _mock } from './_mock';
|
||||
import { _tags } from './assets';
|
||||
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
const generateAttachments = () => Array.from({ length: 20 }, (_, index) => _mock.image.event(index));
|
||||
|
||||
const generateReviews = () => {
|
||||
const attachments = generateAttachments();
|
||||
|
||||
return Array.from({ length: 8 }, (_, index) => ({
|
||||
// id: _mock.id(index),
|
||||
name: _mock.fullName(index),
|
||||
postedAt: _mock.time(index),
|
||||
comment: _mock.sentence(index),
|
||||
isPurchased: _mock.boolean(index),
|
||||
rating: _mock.number.rating(index),
|
||||
avatarUrl: _mock.image.avatar(index),
|
||||
helpful: _mock.number.nativeL(index),
|
||||
attachments: (index === 1 && attachments.slice(0, 1)) || (index === 3 && attachments.slice(2, 4)) || (index === 5 && attachments.slice(5, 8)) || [],
|
||||
}));
|
||||
};
|
||||
|
||||
export const _eventsReview = () => {
|
||||
return generateReviews();
|
||||
};
|
||||
|
||||
async function eventReview() {
|
||||
const temp_pr = _eventsReview();
|
||||
|
||||
for (let i = 0; i < temp_pr.length; i++) {
|
||||
const temp = await prisma.eventReview.upsert({
|
||||
where: { id: i.toString() },
|
||||
update: {},
|
||||
create: {
|
||||
name: temp_pr[i].name,
|
||||
rating: temp_pr[i].rating,
|
||||
comment: temp_pr[i].comment,
|
||||
helpful: temp_pr[i].helpful,
|
||||
avatarUrl: temp_pr[i].avatarUrl,
|
||||
isPurchased: temp_pr[i].isPurchased,
|
||||
attachments: temp_pr[i].attachments,
|
||||
postedAt: temp_pr[i].postedAt,
|
||||
},
|
||||
});
|
||||
}
|
||||
console.log('seed eventReview done');
|
||||
}
|
||||
|
||||
const EventReview = eventReview()
|
||||
.then(async () => {
|
||||
await prisma.$disconnect();
|
||||
})
|
||||
.catch(async (e) => {
|
||||
console.error(e);
|
||||
await prisma.$disconnect();
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
export { EventReview as EventReviewSeed };
|
Reference in New Issue
Block a user