Kategorien dazu
This commit is contained in:
@@ -10,7 +10,7 @@ export async function PUT(
|
||||
try {
|
||||
const { id } = await context.params;
|
||||
const body = await request.json();
|
||||
const { Datum, Wo, Was, Wieviel, Wie, TYP } = body;
|
||||
const { Datum, Wo, Was, Kat, Wieviel, Wie, TYP } = body;
|
||||
|
||||
if (!Datum || !Wo || !Was || !Wieviel || !Wie || TYP === undefined) {
|
||||
return NextResponse.json(
|
||||
@@ -23,7 +23,7 @@ export async function PUT(
|
||||
|
||||
const query = `
|
||||
UPDATE Ausgaben
|
||||
SET Datum = ?, Wo = ?, Was = ?, Wieviel = ?, Wie = ?, TYP = ?
|
||||
SET Datum = ?, Wo = ?, Was = ?, Kat = ?, Wieviel = ?, Wie = ?, TYP = ?
|
||||
WHERE ID = ?
|
||||
`;
|
||||
|
||||
@@ -31,6 +31,7 @@ export async function PUT(
|
||||
Datum,
|
||||
Wo,
|
||||
Was,
|
||||
Kat || 'L',
|
||||
parseFloat(Wieviel),
|
||||
Wie,
|
||||
TYP,
|
||||
|
||||
@@ -15,7 +15,7 @@ export async function GET(request: Request) {
|
||||
const pool = getDbPool();
|
||||
|
||||
let query = `SELECT
|
||||
ID, Datum, Wo, Was, Wieviel, Wie, TYP,
|
||||
ID, Datum, Wo, Was, Kat, Wieviel, Wie, TYP,
|
||||
CASE DAYOFWEEK(Datum)
|
||||
WHEN 1 THEN 'Sonntag'
|
||||
WHEN 2 THEN 'Montag'
|
||||
@@ -68,7 +68,7 @@ export async function GET(request: Request) {
|
||||
export async function POST(request: Request) {
|
||||
try {
|
||||
const body = await request.json();
|
||||
const { Datum, Wo, Was, Wieviel, Wie, TYP } = body;
|
||||
const { Datum, Wo, Was, Kat, Wieviel, Wie, TYP } = body;
|
||||
|
||||
if (!Datum || !Wo || !Was || !Wieviel || !Wie || TYP === undefined) {
|
||||
return NextResponse.json(
|
||||
@@ -80,14 +80,15 @@ export async function POST(request: Request) {
|
||||
const pool = getDbPool();
|
||||
|
||||
const query = `
|
||||
INSERT INTO Ausgaben (Datum, Wo, Was, Wieviel, Wie, TYP)
|
||||
VALUES (?, ?, ?, ?, ?, ?)
|
||||
INSERT INTO Ausgaben (Datum, Wo, Was, Kat, Wieviel, Wie, TYP)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?)
|
||||
`;
|
||||
|
||||
const [result] = await pool.query<ResultSetHeader>(query, [
|
||||
Datum,
|
||||
Wo,
|
||||
Was,
|
||||
Kat || 'L',
|
||||
parseFloat(Wieviel),
|
||||
Wie,
|
||||
TYP,
|
||||
|
||||
33
app/api/categories/route.ts
Normal file
33
app/api/categories/route.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
|
||||
export interface Category {
|
||||
value: string;
|
||||
label: string;
|
||||
}
|
||||
|
||||
// GET /api/categories - Fetch categories from categories.txt
|
||||
export async function GET() {
|
||||
try {
|
||||
const filePath = path.join(process.cwd(), 'categories.txt');
|
||||
const content = fs.readFileSync(filePath, 'utf-8');
|
||||
|
||||
const categories: Category[] = content
|
||||
.split('\n')
|
||||
.map((line) => line.trim())
|
||||
.filter((line) => line.includes('='))
|
||||
.map((line) => {
|
||||
const [value, label] = line.split('=');
|
||||
return { value: value.trim(), label: label.trim() };
|
||||
});
|
||||
|
||||
return NextResponse.json({ success: true, data: categories });
|
||||
} catch (error) {
|
||||
console.error('Error reading categories:', error);
|
||||
return NextResponse.json(
|
||||
{ success: false, error: 'Could not load categories' },
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user