187 lines
4.3 KiB
TypeScript
187 lines
4.3 KiB
TypeScript
import { seederAdmin, seederAdminRole, seederDesa, seederGroup, seederPosition, seederTheme, seederUser, seederUserRole } from '@/module/seeder';
|
|
import { PrismaClient } from '@prisma/client';
|
|
const prisma = new PrismaClient()
|
|
|
|
async function main() {
|
|
// ADMIN ROLE
|
|
for (let data of seederAdminRole) {
|
|
await prisma.adminRole.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
name: data.name
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
name: data.name,
|
|
},
|
|
})
|
|
}
|
|
|
|
// ADMIN
|
|
for (let data of seederAdmin) {
|
|
await prisma.admin.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
name: data.name,
|
|
idAdminRole: data.idAdminRole,
|
|
phone: data.phone,
|
|
email: data.email,
|
|
gender: data.gender
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
idAdminRole: data.idAdminRole,
|
|
phone: data.phone,
|
|
email: data.email,
|
|
gender: data.gender,
|
|
name: data.name
|
|
},
|
|
})
|
|
}
|
|
|
|
// THEME
|
|
for (let data of seederTheme) {
|
|
await prisma.colorTheme.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
name: data.name,
|
|
utama: data.utama,
|
|
bgUtama: data.bgUtama,
|
|
bgIcon: data.bgIcon,
|
|
bgFiturHome: data.bgFiturHome,
|
|
bgFiturDivision: data.bgFiturDivisi,
|
|
bgTotalKegiatan: data.bgTotalKegiatan
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
name: data.name,
|
|
utama: data.utama,
|
|
bgUtama: data.bgUtama,
|
|
bgIcon: data.bgIcon,
|
|
bgFiturHome: data.bgFiturHome,
|
|
bgFiturDivision: data.bgFiturDivisi,
|
|
bgTotalKegiatan: data.bgTotalKegiatan
|
|
}
|
|
})
|
|
}
|
|
|
|
// DESA
|
|
for (let data of seederDesa) {
|
|
await prisma.village.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
name: data.name,
|
|
desc: data.desc,
|
|
idTheme: "theme1"
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
name: data.name,
|
|
desc: data.desc,
|
|
idTheme: "theme1"
|
|
}
|
|
})
|
|
}
|
|
|
|
// GROUP
|
|
for (let data of seederGroup) {
|
|
await prisma.group.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
name: data.name,
|
|
idVillage: data.idVillage
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
name: data.name,
|
|
idVillage: data.idVillage
|
|
}
|
|
})
|
|
}
|
|
|
|
// POSITION
|
|
for (let data of seederPosition) {
|
|
await prisma.position.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
name: data.name,
|
|
idGroup: data.idGroup
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
name: data.name,
|
|
idGroup: data.idGroup
|
|
}
|
|
})
|
|
}
|
|
|
|
// USER ROLE
|
|
for (let data of seederUserRole) {
|
|
await prisma.userRole.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
name: data.name
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
name: data.name,
|
|
desc: data.desc
|
|
},
|
|
})
|
|
}
|
|
|
|
// USER
|
|
for (let data of seederUser) {
|
|
await prisma.user.upsert({
|
|
where: {
|
|
id: data.id
|
|
},
|
|
update: {
|
|
idVillage: data.idVillage,
|
|
idGroup: data.idGroup,
|
|
idPosition: data.idPosition,
|
|
idUserRole: data.idUserRole,
|
|
nik: data.nik,
|
|
name: data.name,
|
|
// phone: data.phone,
|
|
email: data.email,
|
|
gender: data.gender
|
|
},
|
|
create: {
|
|
id: data.id,
|
|
idVillage: data.idVillage,
|
|
idGroup: data.idGroup,
|
|
idPosition: data.idPosition,
|
|
idUserRole: data.idUserRole,
|
|
nik: data.nik,
|
|
name: data.name,
|
|
phone: data.phone,
|
|
email: data.email,
|
|
gender: data.gender
|
|
},
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
main().then(async () => {
|
|
await prisma.$disconnect()
|
|
}).catch(async (e) => {
|
|
console.error(e)
|
|
await prisma.$disconnect()
|
|
process.exit(1)
|
|
}) |