upd: update struktur database
Deskripsi: - update struktur database - tambah table admin dan role admin - update seeder No Issues
This commit is contained in:
@@ -13,6 +13,28 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model AdminRole {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
Admin Admin[]
|
||||
}
|
||||
|
||||
model Admin {
|
||||
id String @id @default(cuid())
|
||||
AdminRole AdminRole @relation(fields: [idAdminRole], references: [id])
|
||||
idAdminRole String
|
||||
name String
|
||||
phone String @unique
|
||||
email String? @unique
|
||||
gender String @default("M") //M= Male, F= Female
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model UserRole {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
@@ -67,12 +89,12 @@ model User {
|
||||
id String @id @default(cuid())
|
||||
UserRole UserRole @relation(fields: [idUserRole], references: [id])
|
||||
idUserRole String
|
||||
Village Village? @relation(fields: [idVillage], references: [id])
|
||||
idVillage String?
|
||||
Group Group? @relation(fields: [idGroup], references: [id])
|
||||
idGroup String?
|
||||
Position Position? @relation(fields: [idPosition], references: [id])
|
||||
idPosition String?
|
||||
Village Village @relation(fields: [idVillage], references: [id])
|
||||
idVillage String
|
||||
Group Group @relation(fields: [idGroup], references: [id])
|
||||
idGroup String
|
||||
Position Position @relation(fields: [idPosition], references: [id])
|
||||
idPosition String
|
||||
nik String @unique
|
||||
name String
|
||||
phone String @unique
|
||||
|
||||
110
prisma/seed.ts
110
prisma/seed.ts
@@ -1,8 +1,102 @@
|
||||
import { seederUser, seederUserRole } from '@/module/seeder';
|
||||
import { seederAdmin, seederAdminRole, seederDesa, seederGroup, seederPosition, 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
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// DESA
|
||||
for (let data of seederDesa) {
|
||||
await prisma.village.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name,
|
||||
desc: data.desc
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
desc: data.desc
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 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({
|
||||
@@ -27,10 +121,21 @@ async function main() {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name
|
||||
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,
|
||||
@@ -40,6 +145,7 @@ async function main() {
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
main().then(async () => {
|
||||
|
||||
26
src/module/seeder/data/admin.json
Normal file
26
src/module/seeder/data/admin.json
Normal file
@@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"id": "devAmalia",
|
||||
"idAdminRole": "dev",
|
||||
"name": "Amalia",
|
||||
"phone": "628980185458",
|
||||
"email": "amalia@bip.com",
|
||||
"gender": "F"
|
||||
},
|
||||
{
|
||||
"id": "devLukman",
|
||||
"idAdminRole": "dev",
|
||||
"name": "Lukman",
|
||||
"phone": "6287701790942",
|
||||
"email": "lukman@bip.com",
|
||||
"gender": "M"
|
||||
},
|
||||
{
|
||||
"id": "devLukman",
|
||||
"idAdminRole": "dev",
|
||||
"name": "Malik",
|
||||
"phone": "6289697338821",
|
||||
"email": "malik@bip.com",
|
||||
"gender": "M"
|
||||
}
|
||||
]
|
||||
10
src/module/seeder/data/admin_role.json
Normal file
10
src/module/seeder/data/admin_role.json
Normal file
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"id": "dev",
|
||||
"name": "Developer"
|
||||
},
|
||||
{
|
||||
"id": "admin",
|
||||
"name": "Admin"
|
||||
}
|
||||
]
|
||||
7
src/module/seeder/data/desa.json
Normal file
7
src/module/seeder/data/desa.json
Normal file
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"id": "desa1",
|
||||
"name": "Darmasaba",
|
||||
"desc": "-"
|
||||
}
|
||||
]
|
||||
7
src/module/seeder/data/group.json
Normal file
7
src/module/seeder/data/group.json
Normal file
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"id": "group1",
|
||||
"idVillage": "desa1",
|
||||
"name": "Dinas"
|
||||
}
|
||||
]
|
||||
7
src/module/seeder/data/position.json
Normal file
7
src/module/seeder/data/position.json
Normal file
@@ -0,0 +1,7 @@
|
||||
[
|
||||
{
|
||||
"id": "position1",
|
||||
"idGroup": "group1",
|
||||
"name": "Perbekel"
|
||||
}
|
||||
]
|
||||
@@ -1,29 +1,14 @@
|
||||
[
|
||||
{
|
||||
"id": "devAmalia",
|
||||
"idUserRole": "dev",
|
||||
"id": "supadminAmalia",
|
||||
"idUserRole": "supadmin",
|
||||
"idVillage": "desa1",
|
||||
"idGroup": "group1",
|
||||
"idPosition": "position1",
|
||||
"nik": "1111111",
|
||||
"name": "Amalia",
|
||||
"phone": "628980185458",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
@@ -1,9 +1,4 @@
|
||||
[
|
||||
{
|
||||
"id": "dev",
|
||||
"name": "Developer",
|
||||
"desc": "-"
|
||||
},
|
||||
{
|
||||
"id": "supadmin",
|
||||
"name": "Super Admin",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
import seederAdminRole from "./data/admin_role.json";
|
||||
import seederAdmin from "./data/admin.json";
|
||||
import seederUserRole from "./data/user_role.json";
|
||||
import seederUser from "./data/user.json";
|
||||
import seederDesa from "./data/desa.json";
|
||||
import seederGroup from "./data/group.json";
|
||||
import seederPosition from "./data/position.json";
|
||||
|
||||
export { seederUserRole, seederUser }
|
||||
export { seederAdminRole, seederAdmin, seederDesa, seederGroup, seederPosition, seederUserRole, seederUser, }
|
||||
@@ -14,9 +14,9 @@ export async function getAllUser(req: NextRequest) {
|
||||
where: {
|
||||
isActive: true,
|
||||
idUserRole: String(idUserRole),
|
||||
idPosition: idPosition,
|
||||
idVillage: idVillage,
|
||||
idGroup: idGroup,
|
||||
idPosition: String(idPosition),
|
||||
idVillage: String(idVillage),
|
||||
idGroup: String(idGroup),
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
|
||||
Reference in New Issue
Block a user