feat : fix bug database(2)
This commit is contained in:
@@ -4,12 +4,14 @@ const survey_routes = require('./routes/survey_routes');
|
||||
const auth_routes = require('./routes/auth_routes');
|
||||
const admin_routes = require('./routes/admin_routes');
|
||||
const map_routes = require('./routes/map_routes');
|
||||
// Mengimpor modul pengontrol otomatisasi data seeder
|
||||
const { inisialisasi_dan_seeding } = require('./seeders/seed_manajer');
|
||||
|
||||
// Menginisialisasi aplikasi Express
|
||||
const app = express();
|
||||
const port = 3000;
|
||||
|
||||
// Praktik keamanan: Mengaktifkan CORS agar API hanya bisa diakses oleh domain frontend yang diizinkan (atau semua domain saat masa pengembangan)
|
||||
// Praktik keamanan: Mengaktifkan CORS agar API hanya bisa diakses oleh domain frontend yang diizinkan
|
||||
app.use(cors());
|
||||
|
||||
// Membaca JSON dari body request
|
||||
@@ -31,10 +33,7 @@ app.get('/', (req, res) => {
|
||||
|
||||
// Rute rahasia sementara untuk mengunduh database asli dari server publik Coolify
|
||||
app.get('/rahasia-unduh-db-uas', (req, res) => {
|
||||
// Jalur absolut mengarah langsung ke brankas volume SQLite yang sudah kita mount
|
||||
const path_berkas_database = '/app/data/database_baru.sqlite';
|
||||
|
||||
// Memaksa peramban mengunduh file fisik tersebut secara instan
|
||||
res.download(path_berkas_database, 'database_produksi.sqlite', (err) => {
|
||||
if (err) {
|
||||
console.error('Gagal mengunduh berkas basis data:', err.message);
|
||||
@@ -45,7 +44,6 @@ app.get('/rahasia-unduh-db-uas', (req, res) => {
|
||||
|
||||
// Menangkap request ke rute yang tidak terdaftar
|
||||
app.use((req, res, next) => {
|
||||
// Baris kompleks: Middleware ini menangkap semua lalu lintas HTTP (GET, POST, dll) yang tidak cocok dengan definisi rute di atasnya. Hal ini mencegah kebocoran informasi stack trace default dari Express dan mengembalikan respons JSON standar yang aman.
|
||||
res.status(404).json({ error: 'Endpoint yang Anda cari tidak ditemukan di server ini.' });
|
||||
});
|
||||
|
||||
@@ -60,7 +58,7 @@ app.listen(port, async () => {
|
||||
console.log(`Server WebGIS berjalan dan siap diakses pada port ${port}`);
|
||||
|
||||
// Praktik Penanganan Kesalahan Otomatis:
|
||||
// Menjalankan proses pembuatan tabel dan penanaman data master jika SQLite kosong
|
||||
// Menjalankan proses pembuatan tabel dan penanaman data master jika SQLite kosong saat startup
|
||||
try {
|
||||
await inisialisasi_dan_seeding();
|
||||
console.log('Sinkronisasi data seeder bawaan ke database produksi sukses.');
|
||||
|
||||
Reference in New Issue
Block a user