|
|
@@ -1,5 +1,5 @@
|
|
|
// prisma/mongo/seed-admin.ts
|
|
|
-import { PrismaClient, MenuType } from '@prisma/mongo/client';
|
|
|
+import { PrismaClient, MenuType, AdType } from '@prisma/mongo/client';
|
|
|
import type { Prisma } from '@prisma/mongo/client';
|
|
|
|
|
|
const prisma = new PrismaClient();
|
|
|
@@ -1175,9 +1175,100 @@ async function seedMenus() {
|
|
|
// =============================================================================
|
|
|
|
|
|
async function main() {
|
|
|
+ const adsModules = [
|
|
|
+ {
|
|
|
+ adType: AdType.STARTUP,
|
|
|
+ adsModule: '启动页',
|
|
|
+ moduleDesc: '启动页(10:21)',
|
|
|
+ seq: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.CAROUSEL,
|
|
|
+ adsModule: '轮播',
|
|
|
+ moduleDesc: '轮播(2:1)',
|
|
|
+ seq: 2,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.POPUP_ICON,
|
|
|
+ adsModule: '弹窗-图标',
|
|
|
+ moduleDesc: '弹窗-图标(1:1)',
|
|
|
+ seq: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.POPUP_IMAGE,
|
|
|
+ adsModule: '弹窗-图片',
|
|
|
+ moduleDesc: '弹窗-图片(2:3)',
|
|
|
+ seq: 4,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.POPUP_OFFICIAL,
|
|
|
+ adsModule: '弹窗-官方',
|
|
|
+ moduleDesc: '弹窗-官方(2:3)',
|
|
|
+ seq: 5,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.WATERFALL_ICON,
|
|
|
+ adsModule: '瀑布流-图标',
|
|
|
+ moduleDesc: '瀑布流-图标(1:1)',
|
|
|
+ seq: 6,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.WATERFALL_TEXT,
|
|
|
+ adsModule: '瀑布流-文字',
|
|
|
+ moduleDesc: '瀑布流-文字',
|
|
|
+ seq: 7,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.WATERFALL_VIDEO,
|
|
|
+ adsModule: '瀑布流-视频',
|
|
|
+ moduleDesc: '瀑布流-视频(8:5)',
|
|
|
+ seq: 8,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.FLOATING_BOTTOM,
|
|
|
+ adsModule: '悬浮-底部',
|
|
|
+ moduleDesc: '悬浮-底部(1:1)',
|
|
|
+ seq: 9,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.FLOATING_EDGE,
|
|
|
+ adsModule: '悬浮-边缘',
|
|
|
+ moduleDesc: '悬浮-边缘(1:1)',
|
|
|
+ seq: 10,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.BANNER,
|
|
|
+ adsModule: 'banner',
|
|
|
+ moduleDesc: 'banner(4:1)',
|
|
|
+ seq: 11,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.PREROLL,
|
|
|
+ adsModule: '片头',
|
|
|
+ moduleDesc: '片头(8:5)',
|
|
|
+ seq: 12,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ adType: AdType.PAUSE,
|
|
|
+ adsModule: '暂停',
|
|
|
+ moduleDesc: '暂停(2:1)',
|
|
|
+ seq: 13,
|
|
|
+ },
|
|
|
+ ];
|
|
|
+
|
|
|
console.log('🌱 Starting database seeding...\n');
|
|
|
|
|
|
try {
|
|
|
+ console.log('cleaning ads modules...');
|
|
|
+ await prisma.adsModule.deleteMany();
|
|
|
+
|
|
|
+ console.log('seeding ads modules...');
|
|
|
+ for (const module of adsModules) {
|
|
|
+ await prisma.adsModule.create({
|
|
|
+ data: module,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
// Seed in order: users first, then menus
|
|
|
console.log('seeding users...');
|
|
|
await seedUsers();
|