Compare commits
6 Commits
amalia/04-
...
join
| Author | SHA1 | Date | |
|---|---|---|---|
| e62909b070 | |||
| 30611802f4 | |||
| 854921935a | |||
| 191e567e12 | |||
| 474ced6a38 | |||
| 2b746b77e6 |
@@ -1,10 +1,10 @@
|
|||||||
import { seederAdmin, seederAdminRole, seederDesa, seederDiscussion, seederDiscussionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederTheme, seederUser, seederUserRole } from '@/module/seeder';
|
import { seederAdmin, seederAdminRole, seederAnnouncement, seederAnnouncementMember, seederDesa, seederDiscussion, seederDiscussionMember, seederDivision, seederDivisionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederTheme, seederUser, seederUserRole } from '@/module/seeder';
|
||||||
import { PrismaClient } from '@prisma/client';
|
import { PrismaClient } from '@prisma/client';
|
||||||
const prisma = new PrismaClient()
|
const prisma = new PrismaClient()
|
||||||
|
|
||||||
// DATA YG DI SEEDER MERUPAKAN DATA REAL(DARMASABA) & DATA DUMMY (MANDALA)
|
// DATA YG DI SEEDER MERUPAKAN DATA REAL(DARMASABA) & DATA DUMMY (MANDALA)
|
||||||
// DATA JSON GABUNGAN (REAL & DUMMY) ADALAH adminRole, admin, theme, desa, group, position, user, userRole, user
|
// DATA JSON GABUNGAN (REAL & DUMMY) ADALAH adminRole, admin, theme, desa, group, position, user, userRole, user
|
||||||
// Selain table yg disebutkan merupakan data dummy
|
// Selain table yg disebutkan, data lainnya merupakan data dummy
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
// ADMIN ROLE
|
// ADMIN ROLE
|
||||||
@@ -148,7 +148,7 @@ async function main() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// USER
|
// USER
|
||||||
for (let data of seederUser) {
|
for (let data of seederUser) {
|
||||||
await prisma.user.upsert({
|
await prisma.user.upsert({
|
||||||
where: {
|
where: {
|
||||||
@@ -297,6 +297,94 @@ async function main() {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DIVISION
|
||||||
|
for (let data of seederDivision) {
|
||||||
|
await prisma.division.upsert({
|
||||||
|
where: {
|
||||||
|
id: data.id
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
name: data.name,
|
||||||
|
desc: data.desc,
|
||||||
|
createdBy: data.createdBy
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
id: data.id,
|
||||||
|
idVillage: data.idVillage,
|
||||||
|
idGroup: data.idGroup,
|
||||||
|
name: data.name,
|
||||||
|
desc: data.desc,
|
||||||
|
createdBy: data.createdBy,
|
||||||
|
isActive: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// DIVISION MEMBER
|
||||||
|
for (let data of seederDivisionMember) {
|
||||||
|
await prisma.divisionMember.upsert({
|
||||||
|
where: {
|
||||||
|
id: data.id
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
idUser: data.idUser,
|
||||||
|
isAdmin: data.isAdmin,
|
||||||
|
isLeader: data.isLeader
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
id: data.id,
|
||||||
|
idDivision: data.idDivision,
|
||||||
|
idUser: data.idUser,
|
||||||
|
isAdmin: data.isAdmin,
|
||||||
|
isLeader: data.isLeader,
|
||||||
|
isActive: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ANNOUNCEMENT
|
||||||
|
for (let data of seederAnnouncement) {
|
||||||
|
await prisma.announcement.upsert({
|
||||||
|
where: {
|
||||||
|
id: data.id
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
title: data.title,
|
||||||
|
desc: data.desc,
|
||||||
|
createdBy: data.createdBy
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
id: data.id,
|
||||||
|
idVillage: data.idVillage,
|
||||||
|
title: data.title,
|
||||||
|
desc: data.desc,
|
||||||
|
createdBy: data.createdBy,
|
||||||
|
isActive: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ANNOUNCEMENT MEMBER
|
||||||
|
for (let data of seederAnnouncementMember) {
|
||||||
|
await prisma.announcementMember.upsert({
|
||||||
|
where: {
|
||||||
|
id: data.id
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
idAnnouncement: data.idAnnouncement,
|
||||||
|
idGroup: data.idGroup,
|
||||||
|
idDivision: data.idDivision
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
id: data.id,
|
||||||
|
idAnnouncement: data.idAnnouncement,
|
||||||
|
idGroup: data.idGroup,
|
||||||
|
idDivision: data.idDivision,
|
||||||
|
isActive: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
main().then(async () => {
|
main().then(async () => {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"gender": "F"
|
"gender": "F"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "devMalik",
|
"id": "devLukman",
|
||||||
"idAdminRole": "dev",
|
"idAdminRole": "dev",
|
||||||
"name": "Malik",
|
"name": "Malik",
|
||||||
"phone": "6289697338821",
|
"phone": "6289697338821",
|
||||||
|
|||||||
16
src/module/seeder/data/announcement.json
Normal file
16
src/module/seeder/data/announcement.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "ann_pembangunan_jalan",
|
||||||
|
"idVillage": "desaDummy",
|
||||||
|
"title": "Pembangunan Jalan Desa Tahap 2",
|
||||||
|
"desc": "Pada bulan ini akan dilakukan pembangunan jalan desa tahap 2 yang mencakup wilayah RT 01 dan RT 02. Mohon kerjasama warga untuk menyesuaikan aktivitas selama masa pembangunan.",
|
||||||
|
"createdBy": "user_kades"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ann_rapat_warga",
|
||||||
|
"idVillage": "desaDummy",
|
||||||
|
"title": "Rapat Bulanan",
|
||||||
|
"desc": "Rapat bulanan akan diselenggarakan pada hari Sabtu, 25 Februari 2026 pukul 09.00 WIB di Balai Desa. Hadirilah tepat waktu.",
|
||||||
|
"createdBy": "user_kades"
|
||||||
|
}
|
||||||
|
]
|
||||||
20
src/module/seeder/data/announcement_member.json
Normal file
20
src/module/seeder/data/announcement_member.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "ann_mem_pembangunan_jalan_rt01",
|
||||||
|
"idAnnouncement": "ann_pembangunan_jalan",
|
||||||
|
"idGroup": "group_rt01",
|
||||||
|
"idDivision": "div_pelayanan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ann_mem_pembangunan_jalan_rt02",
|
||||||
|
"idAnnouncement": "ann_pembangunan_jalan",
|
||||||
|
"idGroup": "group_rt01",
|
||||||
|
"idDivision": "div_umum"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "ann_mem_rapat_warga_all",
|
||||||
|
"idAnnouncement": "ann_rapat_warga",
|
||||||
|
"idGroup": "group_rt01",
|
||||||
|
"idDivision": "div_umum"
|
||||||
|
}
|
||||||
|
]
|
||||||
18
src/module/seeder/data/division.json
Normal file
18
src/module/seeder/data/division.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "div_pelayanan",
|
||||||
|
"idVillage": "desaDummy",
|
||||||
|
"idGroup": "group_rt01",
|
||||||
|
"name": "Seksi Pelayanan",
|
||||||
|
"desc": "Bertanggung jawab atas pelayanan administrasi umum, perizinan, dan kebutuhan dokumen masyarakat desa.",
|
||||||
|
"createdBy": "user_kades"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "div_umum",
|
||||||
|
"idVillage": "desaDummy",
|
||||||
|
"idGroup": "group_rt01",
|
||||||
|
"name": "Urusan Tata Usaha dan Umum",
|
||||||
|
"desc": "Menangani administrasi perkantoran, arsip desa, inventaris aset, dan operasional kantor desa.",
|
||||||
|
"createdBy": "user_kades"
|
||||||
|
}
|
||||||
|
]
|
||||||
30
src/module/seeder/data/division_member.json
Normal file
30
src/module/seeder/data/division_member.json
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "div_mem_linmas_warga1",
|
||||||
|
"idDivision": "div_pelayanan",
|
||||||
|
"idUser": "user_warga1",
|
||||||
|
"isAdmin": false,
|
||||||
|
"isLeader": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "div_mem_linmas_warga2",
|
||||||
|
"idDivision": "div_pelayanan",
|
||||||
|
"idUser": "user_warga2",
|
||||||
|
"isAdmin": false,
|
||||||
|
"isLeader": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "div_mem_umum_warga3",
|
||||||
|
"idDivision": "div_umum",
|
||||||
|
"idUser": "user_warga3",
|
||||||
|
"isAdmin": false,
|
||||||
|
"isLeader": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "div_mem_umum_warga4",
|
||||||
|
"idDivision": "div_umum",
|
||||||
|
"idUser": "user_warga4",
|
||||||
|
"isAdmin": false,
|
||||||
|
"isLeader": false
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -18,10 +18,10 @@
|
|||||||
"idGroup": "group_rt01",
|
"idGroup": "group_rt01",
|
||||||
"idPosition": "pos_ketua_rt01",
|
"idPosition": "pos_ketua_rt01",
|
||||||
"nik": "3201010101010001",
|
"nik": "3201010101010001",
|
||||||
"name": "Kepala Desa",
|
"name": "Juli Ningrum",
|
||||||
"phone": "081234567890",
|
"phone": "081234567890",
|
||||||
"email": "kades@desamandiri.test",
|
"email": "juli@gmail.com",
|
||||||
"gender": "M"
|
"gender": "F"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "user_sekdes",
|
"id": "user_sekdes",
|
||||||
@@ -30,10 +30,10 @@
|
|||||||
"idGroup": "group_rt01",
|
"idGroup": "group_rt01",
|
||||||
"idPosition": "pos_sekretaris_rt01",
|
"idPosition": "pos_sekretaris_rt01",
|
||||||
"nik": "3201010101010002",
|
"nik": "3201010101010002",
|
||||||
"name": "Sekretaris Desa",
|
"name": "Salwa Kusmawati",
|
||||||
"phone": "081234567891",
|
"phone": "081234567891",
|
||||||
"email": "sekdes@desamandiri.test",
|
"email": "salwa@gmail.com",
|
||||||
"gender": "M"
|
"gender": "F"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "user_warga1",
|
"id": "user_warga1",
|
||||||
@@ -42,10 +42,10 @@
|
|||||||
"idGroup": "group_rt01",
|
"idGroup": "group_rt01",
|
||||||
"idPosition": "pos_staff_rt01",
|
"idPosition": "pos_staff_rt01",
|
||||||
"nik": "3201010101010005",
|
"nik": "3201010101010005",
|
||||||
"name": "Warga Satu",
|
"name": "Bakidin Wibowo",
|
||||||
"phone": "081234567894",
|
"phone": "6",
|
||||||
"email": "wargasatu@desamandiri.test",
|
"email": "bakidin@gmail.com",
|
||||||
"gender": "F"
|
"gender": "M"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "user_warga2",
|
"id": "user_warga2",
|
||||||
@@ -54,9 +54,33 @@
|
|||||||
"idGroup": "group_rt01",
|
"idGroup": "group_rt01",
|
||||||
"idPosition": "pos_staff_rt01",
|
"idPosition": "pos_staff_rt01",
|
||||||
"nik": "3201010101010006",
|
"nik": "3201010101010006",
|
||||||
"name": "Warga Dua",
|
"name": "Jais Kurniawan",
|
||||||
"phone": "081234567895",
|
"phone": "081234567895",
|
||||||
"email": "wargadua@desamandiri.test",
|
"email": "jais@gmail.com",
|
||||||
|
"gender": "M"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "user_warga3",
|
||||||
|
"idUserRole": "user",
|
||||||
|
"idVillage": "desaDummy",
|
||||||
|
"idGroup": "group_rt01",
|
||||||
|
"idPosition": "pos_staff_rt01",
|
||||||
|
"nik": "3201010101010007",
|
||||||
|
"name": "Safira Oktaviani S.I.Kom",
|
||||||
|
"phone": "081234567896",
|
||||||
|
"email": "safira@gmail.com",
|
||||||
|
"gender": "F"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "user_warga4",
|
||||||
|
"idUserRole": "user",
|
||||||
|
"idVillage": "desaDummy",
|
||||||
|
"idGroup": "group_rt01",
|
||||||
|
"idPosition": "pos_staff_rt01",
|
||||||
|
"nik": "3201010101010008",
|
||||||
|
"name": "Agus Setiawan",
|
||||||
|
"phone": "081234567897",
|
||||||
|
"email": "agus@gmail.com",
|
||||||
"gender": "M"
|
"gender": "M"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
import seederAdmin from "./data/admin.json";
|
import seederAdmin from "./data/admin.json";
|
||||||
import seederAdminRole from "./data/admin_role.json";
|
import seederAdminRole from "./data/admin_role.json";
|
||||||
|
import seederAnnouncement from "./data/announcement.json";
|
||||||
|
import seederAnnouncementMember from "./data/announcement_member.json";
|
||||||
import seederDesa from "./data/desa.json";
|
import seederDesa from "./data/desa.json";
|
||||||
import seederDiscussion from "./data/discussion.json";
|
import seederDiscussion from "./data/discussion.json";
|
||||||
import seederDiscussionMember from "./data/discussion_member.json";
|
import seederDiscussionMember from "./data/discussion_member.json";
|
||||||
|
import seederDivision from "./data/division.json";
|
||||||
|
import seederDivisionMember from "./data/division_member.json";
|
||||||
import seederGroup from "./data/group.json";
|
import seederGroup from "./data/group.json";
|
||||||
import seederPosition from "./data/position.json";
|
import seederPosition from "./data/position.json";
|
||||||
import seederProject from "./data/project.json";
|
import seederProject from "./data/project.json";
|
||||||
@@ -12,5 +16,5 @@ import seederTheme from "./data/theme.json";
|
|||||||
import seederUser from "./data/user.json";
|
import seederUser from "./data/user.json";
|
||||||
import seederUserRole from "./data/user_role.json";
|
import seederUserRole from "./data/user_role.json";
|
||||||
|
|
||||||
export { seederAdmin, seederAdminRole, seederDesa, seederDiscussion, seederDiscussionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederTheme, seederUser, seederUserRole };
|
export { seederAdmin, seederAdminRole, seederAnnouncement, seederAnnouncementMember, seederDesa, seederDiscussion, seederDiscussionMember, seederDivision, seederDivisionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederTheme, seederUser, seederUserRole };
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user