From 474ced6a3890898a3111dfac4536cd3ee58b81ce Mon Sep 17 00:00:00 2001 From: amaliadwiy Date: Thu, 5 Feb 2026 14:04:49 +0800 Subject: [PATCH] upd: update seeder data desa dummy Deskripsi: - untuk presentasi - untuk testing No Issues --- prisma/seed.ts | 94 ++++++++++++++++++- src/module/seeder/data/announcement.json | 16 ++++ .../seeder/data/announcement_member.json | 20 ++++ src/module/seeder/data/division.json | 18 ++++ src/module/seeder/data/division_member.json | 30 ++++++ src/module/seeder/data/user.json | 48 +++++++--- src/module/seeder/index.ts | 6 +- 7 files changed, 216 insertions(+), 16 deletions(-) create mode 100644 src/module/seeder/data/announcement.json create mode 100644 src/module/seeder/data/announcement_member.json create mode 100644 src/module/seeder/data/division.json create mode 100644 src/module/seeder/data/division_member.json diff --git a/prisma/seed.ts b/prisma/seed.ts index fe5a0db..2931f9c 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -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'; const prisma = new PrismaClient() // 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 -// Selain table yg disebutkan merupakan data dummy +// Selain table yg disebutkan, data lainnya merupakan data dummy async function main() { // ADMIN ROLE @@ -148,7 +148,7 @@ async function main() { }) } - // USER + // USER for (let data of seederUser) { await prisma.user.upsert({ 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 () => { diff --git a/src/module/seeder/data/announcement.json b/src/module/seeder/data/announcement.json new file mode 100644 index 0000000..9daaba6 --- /dev/null +++ b/src/module/seeder/data/announcement.json @@ -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" + } +] \ No newline at end of file diff --git a/src/module/seeder/data/announcement_member.json b/src/module/seeder/data/announcement_member.json new file mode 100644 index 0000000..d0e1964 --- /dev/null +++ b/src/module/seeder/data/announcement_member.json @@ -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" + } +] \ No newline at end of file diff --git a/src/module/seeder/data/division.json b/src/module/seeder/data/division.json new file mode 100644 index 0000000..b43fe30 --- /dev/null +++ b/src/module/seeder/data/division.json @@ -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" + } +] \ No newline at end of file diff --git a/src/module/seeder/data/division_member.json b/src/module/seeder/data/division_member.json new file mode 100644 index 0000000..b56b999 --- /dev/null +++ b/src/module/seeder/data/division_member.json @@ -0,0 +1,30 @@ +[ + { + "id": "div_mem_linmas_warga1", + "idDivision": "div_linmas", + "idUser": "user_warga1", + "isAdmin": false, + "isLeader": false + }, + { + "id": "div_mem_linmas_warga2", + "idDivision": "div_linmas", + "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 + } +] \ No newline at end of file diff --git a/src/module/seeder/data/user.json b/src/module/seeder/data/user.json index 2a5e29f..5b41cec 100644 --- a/src/module/seeder/data/user.json +++ b/src/module/seeder/data/user.json @@ -16,12 +16,12 @@ "idUserRole": "supadmin", "idVillage": "desaDummy", "idGroup": "group_rt01", - "idPosition": "pos_ketua_rt01", + "idPosition": "pos_keƘtua_rt01", "nik": "3201010101010001", - "name": "Kepala Desa", + "name": "Juli Ningrum", "phone": "081234567890", - "email": "kades@desamandiri.test", - "gender": "M" + "email": "juli@gmail.com", + "gender": "F" }, { "id": "user_sekdes", @@ -30,10 +30,10 @@ "idGroup": "group_rt01", "idPosition": "pos_sekretaris_rt01", "nik": "3201010101010002", - "name": "Sekretaris Desa", + "name": "Salwa Kusmawati", "phone": "081234567891", - "email": "sekdes@desamandiri.test", - "gender": "M" + "email": "salwa@gmail.com", + "gender": "F" }, { "id": "user_warga1", @@ -42,10 +42,10 @@ "idGroup": "group_rt01", "idPosition": "pos_staff_rt01", "nik": "3201010101010005", - "name": "Warga Satu", + "name": "Bakidin Wibowo", "phone": "081234567894", - "email": "wargasatu@desamandiri.test", - "gender": "F" + "email": "bakidin@gmail.com", + "gender": "M" }, { "id": "user_warga2", @@ -54,9 +54,33 @@ "idGroup": "group_rt01", "idPosition": "pos_staff_rt01", "nik": "3201010101010006", - "name": "Warga Dua", + "name": "Jais Kurniawan", "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": "081234567894", + "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": "081234567895", + "email": "agus@gmail.com", "gender": "M" } ] \ No newline at end of file diff --git a/src/module/seeder/index.ts b/src/module/seeder/index.ts index 0aad346..4256eaa 100644 --- a/src/module/seeder/index.ts +++ b/src/module/seeder/index.ts @@ -1,8 +1,12 @@ import seederAdmin from "./data/admin.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 seederDiscussion from "./data/discussion.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 seederPosition from "./data/position.json"; import seederProject from "./data/project.json"; @@ -12,5 +16,5 @@ import seederTheme from "./data/theme.json"; import seederUser from "./data/user.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 };