feat: implement full authentication system and CRUD APIs for users, rumah ibadah, and penduduk miskin with database updates.
This commit is contained in:
+21
-48
@@ -26,6 +26,8 @@ CREATE TABLE `penduduk_miskin` (
|
||||
`jumlah_jiwa` int(11) NOT NULL DEFAULT 1,
|
||||
`lat` double NOT NULL,
|
||||
`lng` double NOT NULL,
|
||||
`foto_rumah` varchar(255) DEFAULT NULL,
|
||||
`foto_kk` varchar(255) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
@@ -44,39 +46,6 @@ CREATE TABLE `log_bantuan` (
|
||||
CONSTRAINT `fk_log_miskin` FOREIGN KEY (`miskin_id`) REFERENCES `penduduk_miskin` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 4. Tabel jalan
|
||||
DROP TABLE IF EXISTS `jalan`;
|
||||
CREATE TABLE `jalan` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`nama` varchar(255) NOT NULL,
|
||||
`status` varchar(100) NOT NULL DEFAULT 'Kabupaten',
|
||||
`panjang` double NOT NULL DEFAULT 0,
|
||||
`geom` geometry NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 5. Tabel parsil
|
||||
DROP TABLE IF EXISTS `parsil`;
|
||||
CREATE TABLE `parsil` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`nama` varchar(255) NOT NULL,
|
||||
`status` varchar(100) NOT NULL DEFAULT 'SHM',
|
||||
`luas` double NOT NULL DEFAULT 0,
|
||||
`geom` geometry NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- 6. Tabel spbu
|
||||
DROP TABLE IF EXISTS `spbu`;
|
||||
CREATE TABLE `spbu` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`nama` varchar(255) NOT NULL,
|
||||
`no_wa` varchar(20) DEFAULT NULL,
|
||||
`is_24_jam` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`lat` double NOT NULL,
|
||||
`lng` double NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- Data Contoh (Sample Data) untuk Pontianak
|
||||
|
||||
@@ -98,20 +67,24 @@ INSERT INTO `log_bantuan` (`miskin_id`, `ibadah_id`, `tipe_bantuan`, `tanggal`,
|
||||
(2, 2, 'Pendidikan', '2026-05-20', 'Bantuan biaya sekolah anak'),
|
||||
(3, 1, 'Uang Tunai', '2026-06-01', 'Santunan tunai darurat');
|
||||
|
||||
-- Data Contoh SPBU
|
||||
INSERT INTO `spbu` (`nama`, `no_wa`, `is_24_jam`, `lat`, `lng`) VALUES
|
||||
('SPBU Ahmad Yani', '081234567890', 1, -0.0485, 109.3490),
|
||||
('SPBU Oesman Sapta Odang', '081234567891', 0, -0.0345, 109.3512),
|
||||
('SPBU Kota Baru', '081234567892', 1, -0.0512, 109.3198);
|
||||
|
||||
-- Data Contoh Jalan (Polyline)
|
||||
-- Menggunakan ST_GeomFromText untuk membuat LineString
|
||||
INSERT INTO `jalan` (`nama`, `status`, `panjang`, `geom`) VALUES
|
||||
('Jl. Jenderal Ahmad Yani', 'Nasional', 2500, ST_GeomFromText('LINESTRING(109.3400 -0.0380, 109.3450 -0.0450, 109.3500 -0.0520)')),
|
||||
('Jl. Gajah Mada', 'Provinsi', 1800, ST_GeomFromText('LINESTRING(109.3350 -0.0290, 109.3410 -0.0280, 109.3480 -0.0270)'));
|
||||
|
||||
-- Data Contoh Parsil (Polygon)
|
||||
-- Menggunakan ST_GeomFromText untuk membuat Polygon (pastikan koordinat berputar kembali ke titik awal untuk menutup polygon)
|
||||
INSERT INTO `parsil` (`nama`, `status`, `luas`, `geom`) VALUES
|
||||
('Parsil Tanah A', 'SHM', 150, ST_GeomFromText('POLYGON((109.3360 -0.0250, 109.3375 -0.0250, 109.3375 -0.0260, 109.3360 -0.0260, 109.3360 -0.0250))')),
|
||||
('Parsil Tanah B', 'HGB', 320, ST_GeomFromText('POLYGON((109.3405 -0.0310, 109.3420 -0.0310, 109.3420 -0.0330, 109.3405 -0.0330, 109.3405 -0.0310))'));
|
||||
-- 7. Tabel users
|
||||
DROP TABLE IF EXISTS `users`;
|
||||
CREATE TABLE `users` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(100) NOT NULL UNIQUE,
|
||||
`password` varchar(255) NOT NULL,
|
||||
`role` enum('admin', 'pengelola') NOT NULL,
|
||||
`ibadah_id` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
CONSTRAINT `fk_users_ibadah` FOREIGN KEY (`ibadah_id`) REFERENCES `rumah_ibadah` (`id`) ON DELETE SET NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- Data Contoh Pengguna (Default Users)
|
||||
-- Password admin: password
|
||||
-- Password pengelola: password (terhubung ke Masjid Raya Mujahidin, ibadah_id = 1)
|
||||
INSERT INTO `users` (`username`, `password`, `role`, `ibadah_id`) VALUES
|
||||
('admin', '$2y$10$qqKxivn4646czFu/ffwa/uZxJrkj3T9xmsrRbyxJbHx6jllpOOfDO', 'admin', NULL),
|
||||
('pengelola_mujahidin', '$2y$10$qqKxivn4646czFu/ffwa/uZxJrkj3T9xmsrRbyxJbHx6jllpOOfDO', 'pengelola', 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user