@@ -8,6 +8,9 @@
|
|||||||
"start": "next start",
|
"start": "next start",
|
||||||
"lint": "next lint"
|
"lint": "next lint"
|
||||||
},
|
},
|
||||||
|
"prisma": {
|
||||||
|
"seed": "tsx prisma/seed.ts"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mantine/carousel": "^7.11.0",
|
"@mantine/carousel": "^7.11.0",
|
||||||
"@mantine/charts": "^7.11.0",
|
"@mantine/charts": "^7.11.0",
|
||||||
@@ -53,4 +56,4 @@
|
|||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
}
|
}
|
||||||
@@ -76,7 +76,7 @@ model User {
|
|||||||
nik String @unique
|
nik String @unique
|
||||||
name String
|
name String
|
||||||
phone String @unique
|
phone String @unique
|
||||||
email String @unique
|
email String? @unique
|
||||||
gender String @default("M") //M= Male, F= Female
|
gender String @default("M") //M= Male, F= Female
|
||||||
isActive Boolean @default(true)
|
isActive Boolean @default(true)
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
|
|||||||
51
prisma/seed.ts
Normal file
51
prisma/seed.ts
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
import { seederUser, seederUserRole } from '@/module/seeder';
|
||||||
|
import { PrismaClient } from '@prisma/client';
|
||||||
|
const prisma = new PrismaClient()
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
// 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: {
|
||||||
|
name: data.name
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
id: data.id,
|
||||||
|
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)
|
||||||
|
})
|
||||||
29
src/module/seeder/data/user.json
Normal file
29
src/module/seeder/data/user.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "devAmalia",
|
||||||
|
"idUserRole": "dev",
|
||||||
|
"nik": "1111111",
|
||||||
|
"name": "Amalia",
|
||||||
|
"phone": "6298980185458",
|
||||||
|
"email": "amalia@bip.com",
|
||||||
|
"gender": "F"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "devLukman",
|
||||||
|
"idUserRole": "dev",
|
||||||
|
"nik": "2222222",
|
||||||
|
"name": "Lukman",
|
||||||
|
"phone": "6287701790942",
|
||||||
|
"email": "lukman@bip.com",
|
||||||
|
"gender": "M"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "devMalik",
|
||||||
|
"idUserRole": "dev",
|
||||||
|
"nik": "3333333",
|
||||||
|
"name": "Malik",
|
||||||
|
"phone": "6289697338821",
|
||||||
|
"email": "malik@bip.com",
|
||||||
|
"gender": "M"
|
||||||
|
}
|
||||||
|
]
|
||||||
32
src/module/seeder/data/user_role.json
Normal file
32
src/module/seeder/data/user_role.json
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "dev",
|
||||||
|
"name": "Developer",
|
||||||
|
"desc": "-"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "supadmin",
|
||||||
|
"name": "Super Admin",
|
||||||
|
"desc": "-"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "cosupadmin",
|
||||||
|
"name": "Wakil Super Admin",
|
||||||
|
"desc": "-"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "admin",
|
||||||
|
"name": "Admin",
|
||||||
|
"desc": "-"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "coadmin",
|
||||||
|
"name": "Wakil Admin",
|
||||||
|
"desc": "-"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "user",
|
||||||
|
"name": "User",
|
||||||
|
"desc": "-"
|
||||||
|
}
|
||||||
|
]
|
||||||
4
src/module/seeder/index.ts
Normal file
4
src/module/seeder/index.ts
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
import seederUserRole from "./data/user_role.json";
|
||||||
|
import seederUser from "./data/user.json";
|
||||||
|
|
||||||
|
export { seederUserRole, seederUser }
|
||||||
Reference in New Issue
Block a user