feat(landscape): multi-photo gallery like rooms with uploads and ordering
This commit is contained in:
@@ -7,12 +7,12 @@ export async function PUT(request: NextRequest, { params }: { params: { id: stri
|
||||
await requireRole('admin');
|
||||
const id = parseInt(params.id, 10);
|
||||
const body = await request.json();
|
||||
const { name, description, photo, distance_km, visit_time, suggestion, active, sort_order } = body;
|
||||
const { name, description, photos, featured_photo, distance_km, visit_time, suggestion, active, sort_order } = body;
|
||||
|
||||
const { rows } = await db.query(
|
||||
`UPDATE places SET name = $1, description = $2, photo = $3, distance_km = $4, visit_time = $5, suggestion = $6, active = $7, sort_order = $8
|
||||
WHERE id = $9 RETURNING *`,
|
||||
[name, description, photo || null, distance_km || null, visit_time || null, suggestion || null, active, sort_order || 0, id]
|
||||
`UPDATE places SET name = $1, description = $2, photos = $3, featured_photo = $4, distance_km = $5, visit_time = $6, suggestion = $7, active = $8, sort_order = $9
|
||||
WHERE id = $10 RETURNING *`,
|
||||
[name, description, photos || '{}', featured_photo || null, distance_km || null, visit_time || null, suggestion || null, active, sort_order || 0, id]
|
||||
);
|
||||
|
||||
if (rows.length === 0) {
|
||||
|
||||
@@ -16,17 +16,17 @@ export async function POST(request: NextRequest) {
|
||||
try {
|
||||
await requireRole('admin');
|
||||
const body = await request.json();
|
||||
const { name, description, photo, distance_km, visit_time, suggestion, sort_order } = body;
|
||||
const { name, description, photos, featured_photo, distance_km, visit_time, suggestion, sort_order } = body;
|
||||
|
||||
if (!name || !description) {
|
||||
return NextResponse.json({ error: 'Missing required fields' }, { status: 400 });
|
||||
}
|
||||
|
||||
const { rows } = await db.query(
|
||||
`INSERT INTO places (name, description, photo, distance_km, visit_time, suggestion, sort_order)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
||||
`INSERT INTO places (name, description, photos, featured_photo, distance_km, visit_time, suggestion, sort_order)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
||||
RETURNING *`,
|
||||
[name, description, photo || null, distance_km || null, visit_time || null, suggestion || null, sort_order || 0]
|
||||
[name, description, photos || '{}', featured_photo || null, distance_km || null, visit_time || null, suggestion || null, sort_order || 0]
|
||||
);
|
||||
|
||||
return NextResponse.json({ data: rows[0] });
|
||||
|
||||
Reference in New Issue
Block a user