Compare commits

...

3 Commits

2 changed files with 14 additions and 13 deletions

View File

@ -18,15 +18,15 @@ jobs:
key: ${{ secrets.DEPLOY_SSH_KEY }} key: ${{ secrets.DEPLOY_SSH_KEY }}
port: 22 port: 22
script: | script: |
cd /root/bwscheddebrock_trassenplaner || exit cd /home/${{ secrets.DEPLOY_USER }}/bwscheddebrock_trassenplaner || exit
git pull origin main git pull origin main
# .env-Datei generieren # .env-Datei aus Gitea-Secrets generieren
echo "DB_HOST=postgis" > .env echo "DB_HOST=${{ secrets.DB_HOST }}" > .env
echo "DB_PORT=5432" >> .env echo "DB_PORT=${{ secrets.DB_PORT }}" >> .env
echo "DB_USER=trassenplaner_tool_user" >> .env echo "DB_USER=${{ secrets.DB_USER }}" >> .env
echo "DB_PASSWORD='${{ secrets.DB_PASSWORD }}'" >> .env echo "DB_PASSWORD='${{ secrets.DB_PASSWORD }}'" >> .env
echo "DB_NAME=enwelo" >> .env echo "DB_NAME=${{ secrets.DB_NAME }}" >> .env
echo "DB_SCHEMA=wind_projekt_bwscheddebrock" >> .env echo "DB_SCHEMA=wind_projekt_bwscheddebrock" >> .env
docker compose up -d --build --force-recreate docker compose up -d --build --force-recreate

View File

@ -158,7 +158,7 @@ app.get('/api/poi', async (req, res) => {
SELECT SELECT
id, id,
ST_AsGeoJSON(ST_Transform(geom, 4326)) as geometry ST_AsGeoJSON(ST_Transform(geom, 4326)) as geometry
FROM "netzverknüpfungspunkt" FROM netzverknüpfungspunkt
`; `;
const result = await client.query(query); const result = await client.query(query);
const geojson = { const geojson = {
@ -258,7 +258,7 @@ app.post('/api/variants', async (req, res) => {
const routeName = properties.name || 'Neue Trasse'; const routeName = properties.name || 'Neue Trasse';
const varianteValue = properties.Variante || (properties.name ? properties.name.replace('Variante ', '') : 'A'); const varianteValue = properties.Variante || (properties.name ? properties.name.replace('Variante ', '') : 'A');
const geoJsonStr = JSON.stringify(geometry); const geoJsonStr = JSON.stringify(geometry);
// Safety Check: DON'T delete/save if geometry is empty or invalid // Safety Check: DON'T delete/save if geometry is empty or invalid
if (!geometry || !geometry.coordinates || geometry.coordinates.length < 2) { if (!geometry || !geometry.coordinates || geometry.coordinates.length < 2) {
console.log(`Aborting save for ${varianteValue}: Geometry is too short or empty.`); console.log(`Aborting save for ${varianteValue}: Geometry is too short or empty.`);
@ -267,7 +267,7 @@ app.post('/api/variants', async (req, res) => {
try { try {
await client.query('BEGIN'); await client.query('BEGIN');
// Delete existing variant if it exists // Delete existing variant if it exists
await client.query('DELETE FROM kabeltrasse WHERE "Variante" = $1 OR name = $2', [varianteValue, routeName]); await client.query('DELETE FROM kabeltrasse WHERE "Variante" = $1 OR name = $2', [varianteValue, routeName]);
@ -280,10 +280,10 @@ app.post('/api/variants', async (req, res) => {
) )
RETURNING id RETURNING id
`; `;
const insertRes = await client.query(insertQuery, [geoJsonStr, routeName, varianteValue]); const insertRes = await client.query(insertQuery, [geoJsonStr, routeName, varianteValue]);
await client.query('COMMIT'); await client.query('COMMIT');
res.json({ success: true, id: insertRes.rows[0].id }); res.json({ success: true, id: insertRes.rows[0].id });
} catch (sqlErr) { } catch (sqlErr) {
await client.query('ROLLBACK'); await client.query('ROLLBACK');
@ -320,6 +320,7 @@ app.patch('/api/owners/:id', async (req, res) => {
} }
}); });
app.listen(3000, () => { const PORT = process.env.PORT || 80;
console.log(`Server running at http://localhost:3000`); app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running on port ${PORT}`);
}); });