3.2 KiB
3.2 KiB
Backend API Erweiterung - Changelog
Datum: 7. Mai 2026
Commit: 0f8475c
Autor: Peter (OpenClaw)
Neue API-Endpunkte
Dashboard (/api/dashboard)
| Methode | Endpoint | Beschreibung |
|---|---|---|
| GET | /summary |
Übersicht Einnahmen, Ausgaben, Kredite, Stunden |
| GET | /cashflow |
Monatlicher Cashflow (6 Monate) |
| GET | /tax-preview |
Steuer-Vorschau für aktuelles Jahr |
Customers (/api/customers)
| Methode | Endpoint | Beschreibung |
|---|---|---|
| GET | / |
Alle Kunden (mit Suche) |
| GET | /:id |
Einzelner Kunde mit Rechnungen |
| POST | / |
Kunde erstellen |
| PUT | /:id |
Kunde aktualisieren |
| DELETE | /:id |
Kunde löschen |
Invoices (/api/invoices)
| Methode | Endpoint | Beschreibung |
|---|---|---|
| GET | / |
Alle Rechnungen (mit Filter) |
| GET | /:id |
Einzelne Rechnung mit Zahlungen |
| POST | / |
Rechnung erstellen |
| PUT | /:id |
Rechnung aktualisieren |
| DELETE | /:id |
Rechnung löschen |
| POST | /:id/payment |
Zahlung hinzufügen |
Datenbank-Schema Erweiterungen
Neue Tabellen
CREATE TABLE kunden (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(255) NOT NULL UNIQUE,
adresse TEXT,
plz VARCHAR(10),
ort VARCHAR(100),
email VARCHAR(255),
telefon VARCHAR(50),
notizen TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE rechnung_zahlungen (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
rechnung_id UUID REFERENCES rechnungen(id) ON DELETE CASCADE,
betrag DECIMAL(10,2) NOT NULL,
datum DATE NOT NULL DEFAULT CURRENT_DATE,
methode VARCHAR(50),
notizen TEXT,
created_at TIMESTAMP DEFAULT NOW()
);
-- Weitere Tabellen für Nebenkosten:
-- mieter, mietvertraege, objektkosten, vorauszahlungen
-- nebenkostenabrechnungen, abrechnungspositionen
Erweiterte Tabellen
objekte- hinzugefügt:plz,ort,wohnflaeche_qm,bemerkung
Technische Details
Server.js Änderungen
// Neue Routen importieren
const dashboardRoutes = require('./routes/dashboard');
const customersRoutes = require('./routes/customers');
const invoicesRoutes = require('./routes/invoices');
// Routen registrieren
app.use('/api/dashboard', dashboardRoutes);
app.use('/api/customers', customersRoutes);
app.use('/api/invoices', invoicesRoutes);
Abhängigkeiten
- Keine neuen npm-Pakete
- Nutzt bestehende PostgreSQL-Verbindung
- Kompatibel mit bestehendem Frontend
Deployment
# Auf CT141:
cd /root/buchhaltungs-app/backend
docker build -t buchhaltung-gitea_backend:latest .
docker restart backend
Frontend Integration
Die neuen Endpunkte entsprechen den im Frontend erwarteten URLs:
- Dashboard Übersicht ✓
- Kundenliste ✓
- Rechnungsliste ✓
- Nebenkosten-Module ✓
Testing
# Login
curl -X POST http://192.168.0.141/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'
# Dashboard
curl http://192.168.0.141/api/dashboard/summary
# Alle Endpunkte
curl http://192.168.0.141/api/customers
curl http://192.168.0.141/api/invoices
Deploy-Status: ✅ Erfolgreich auf CT141 (192.168.0.141)