const express = require('express'); const { query } = require('../db'); const router = express.Router(); // 모든 기본 포인트 조회 router.get('/', async (req, res) => { try { const result = await query( 'SELECT * FROM base_points ORDER BY created_at DESC' ); const basePoints = result.rows.map(row => ({ id: row.id.toString(), name: row.name, address: row.address, type: row.type, coordinates: { lat: parseFloat(row.lat), lng: parseFloat(row.lng) }, memo: row.memo })); res.json(basePoints); } catch (error) { console.error('Error fetching base points:', error); res.status(500).json({ error: error.message }); } }); // 기본 포인트 추가 router.post('/', async (req, res) => { try { const { name, address, type, coordinates, memo } = req.body; const result = await query( `INSERT INTO base_points (name, address, type, lat, lng, memo) VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, [name, address || null, type, coordinates.lat, coordinates.lng, memo || null] ); const basePoint = { id: result.rows[0].id.toString(), name: result.rows[0].name, address: result.rows[0].address, type: result.rows[0].type, coordinates: { lat: parseFloat(result.rows[0].lat), lng: parseFloat(result.rows[0].lng) }, memo: result.rows[0].memo }; res.json(basePoint); } catch (error) { console.error('Error creating base point:', error); res.status(500).json({ error: error.message }); } }); // 기본 포인트 삭제 router.delete('/:id', async (req, res) => { try { const { id } = req.params; await query('DELETE FROM base_points WHERE id = $1', [id]); res.json({ success: true }); } catch (error) { console.error('Error deleting base point:', error); res.status(500).json({ error: error.message }); } }); module.exports = router;