import { PrismaClient } from '@prisma/client'; import { ProgressStatus } from '@prisma/client'; const prisma = new PrismaClient(); export async function seedHospitals(): Promise { try { const sales1 = await prisma.user.findFirst({ where: { username: 'sales1' } }); const sales2 = await prisma.user.findFirst({ where: { username: 'sales2' } }); if (!sales1 || !sales2) { throw new Error('User sales1 or sales2 not found'); } const sales1Area = await prisma.userArea.findFirst({ where: { user_id: sales1.id } }); const sales2Area = await prisma.userArea.findFirst({ where: { user_id: sales2.id } }); if (!sales1Area || !sales2Area) { throw new Error('UserArea for sales1 or sales2 not found'); } const city1 = await prisma.city.findFirst({ where: { province_id: sales1Area.province_id } }); const city2 = await prisma.city.findFirst({ where: { province_id: sales2Area.province_id } }); if (!city1 || !city2) { throw new Error('City not found for one of province id'); } const hospitals = [ { name: 'RS Sehat Selalu', hospital_code: 'RSS001', type: 'Tipe B', ownership: 'Swasta', address: 'Jl. Kesehatan No. 1', contact: '021-123456', image: null, progress_status: ProgressStatus.cari_data, note: 'Calon potensial', province_id: sales1Area.province_id, city_id: city1.id, created_by: sales1.id, }, { name: 'RS Harapan Bangsa', hospital_code: 'RSB002', type: 'Tipe C', ownership: 'Pemerintah', address: 'Jl. Harapan No. 2', contact: '021-654321', image: null, progress_status: ProgressStatus.cari_data, note: null, province_id: sales1Area.province_id, city_id: city1.id, created_by: sales1.id, }, { name: 'RS Mitra Medika', hospital_code: 'RSM003', type: 'Tipe D', ownership: 'Swasta', address: 'Jl. Mitra No. 3', contact: '021-999999', image: null, progress_status: ProgressStatus.cari_data, note: 'Baru dihubungi', province_id: sales1Area.province_id, city_id: city1.id, created_by: sales1.id, }, { name: 'RS Sembuh Bersama', hospital_code: 'RSB004', type: 'Tipe B', ownership: 'Swasta', address: 'Jl. Bersama No. 4', contact: '0274-111111', image: null, progress_status: ProgressStatus.cari_data, note: null, province_id: sales2Area.province_id, city_id: city2.id, created_by: sales2.id, }, { name: 'RS Kasih Ibu', hospital_code: 'RSK005', type: 'Tipe C', ownership: 'Yayasan', address: 'Jl. Kasih No. 5', contact: '0274-222222', image: null, progress_status: ProgressStatus.cari_data, note: 'Perlu follow up', province_id: sales2Area.province_id, city_id: city2.id, created_by: sales2.id, }, { name: 'RS Bhakti Sehat', hospital_code: 'RSB006', type: 'Tipe D', ownership: 'Swasta', address: 'Jl. Bhakti No. 6', contact: '0274-333333', image: null, progress_status: ProgressStatus.cari_data, note: null, province_id: sales2Area.province_id, city_id: city2.id, created_by: sales2.id, }, ]; for (const hospital of hospitals) { await prisma.hospital.create({ data: hospital }); } console.log('✅ Hospital seeded!'); } catch (err: any) { console.error('❌ Error seeding hospital:', err.message); } } // const { PrismaClient } = require('@prisma/client'); // const prisma = new PrismaClient(); // async function seedHospitals() { // try { // const sales1 = await prisma.user.findFirst({ where: { username: 'sales1' } }); // const sales2 = await prisma.user.findFirst({ where: { username: 'sales2' } }); // if (!sales1 || !sales2) { // throw new Error('User sales1 or sales2 not found'); // } // // Ambil province_id dari user_areas // const sales1Area = await prisma.userArea.findFirst({ where: { user_id: sales1.id } }); // const sales2Area = await prisma.userArea.findFirst({ where: { user_id: sales2.id } }); // if (!sales1Area || !sales2Area) { // throw new Error('UserArea for sales1 or sales2 not found'); // } // // Ambil city yang berada di province_id tersebut // const city1 = await prisma.city.findFirst({ where: { province_id: sales1Area.province_id } }); // const city2 = await prisma.city.findFirst({ where: { province_id: sales2Area.province_id } }); // if (!city1 || !city2) { // throw new Error('City not found for one of province id'); // } // // Data rumah sakit // const hospitals = [ // { // name: 'RS Sehat Selalu', // hospital_code: 'RSS001', // type: 'Tipe B', // ownership: 'Swasta', // address: 'Jl. Kesehatan No. 1', // // simrs_type: 'MediSoft', // contact: '021-123456', // image: null, // progress_status: 'cari_data', // note: 'Calon potensial', // province_id: sales1Area.province_id, // city_id: city1.id, // created_by: sales1.id, // }, // { // name: 'RS Harapan Bangsa', // hospital_code: 'RSB002', // type: 'Tipe C', // ownership: 'Pemerintah', // address: 'Jl. Harapan No. 2', // // simrs_type: 'Hospicare', // contact: '021-654321', // image: null, // progress_status: 'cari_data', // note: null, // province_id: sales1Area.province_id, // city_id: city1.id, // created_by: sales1.id, // }, // { // name: 'RS Mitra Medika', // hospital_code: 'RSM003', // type: 'Tipe D', // ownership: 'Swasta', // address: 'Jl. Mitra No. 3', // // simrs_type: 'SimRS Platinum', // contact: '021-999999', // image: null, // progress_status: 'cari_data', // note: 'Baru dihubungi', // province_id: sales1Area.province_id, // city_id: city1.id, // created_by: sales1.id, // }, // { // name: 'RS Sembuh Bersama', // hospital_code: 'RSB004', // type: 'Tipe B', // ownership: 'Swasta', // address: 'Jl. Bersama No. 4', // // simrs_type: 'MediSoft', // contact: '0274-111111', // image: null, // progress_status: 'cari_data', // note: null, // province_id: sales2Area.province_id, // city_id: city2.id, // created_by: sales2.id, // }, // { // name: 'RS Kasih Ibu', // hospital_code: 'RSK005', // type: 'Tipe C', // ownership: 'Yayasan', // address: 'Jl. Kasih No. 5', // // simrs_type: 'Hospicare', // contact: '0274-222222', // image: null, // progress_status: 'cari_data', // note: 'Perlu follow up', // province_id: sales2Area.province_id, // city_id: city2.id, // created_by: sales2.id, // }, // { // name: 'RS Bhakti Sehat', // hospital_code: 'RSB006', // type: 'Tipe D', // ownership: 'Swasta', // address: 'Jl. Bhakti No. 6', // // simrs_type: 'SimRS Platinum', // contact: '0274-333333', // image: null, // progress_status: 'cari_data', // note: null, // province_id: sales2Area.province_id, // city_id: city2.id, // created_by: sales2.id, // }, // ]; // // Masukkan ke DB // for (const hospital of hospitals) { // await prisma.hospital.create({ data: hospital }); // } // console.log('✅ Hospital seeded!'); // } catch (err) { // console.error('❌ Error seeding hospital:', err.message); // } // } // module.exports = { seedHospitals };