rework internal order system
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
-- Migration 049: Add parent_id to categories for subcategory support
|
||||||
|
-- (048 already created the table without parent_id)
|
||||||
|
|
||||||
|
ALTER TABLE ausruestung_kategorien_katalog
|
||||||
|
ADD COLUMN IF NOT EXISTS parent_id INT REFERENCES ausruestung_kategorien_katalog(id) ON DELETE CASCADE;
|
||||||
|
|
||||||
|
-- Unique: top-level categories by name
|
||||||
|
CREATE UNIQUE INDEX IF NOT EXISTS ausruestung_kat_top_unique
|
||||||
|
ON ausruestung_kategorien_katalog (name) WHERE parent_id IS NULL;
|
||||||
|
|
||||||
|
-- Unique: subcategories by (parent_id, name)
|
||||||
|
CREATE UNIQUE INDEX IF NOT EXISTS ausruestung_kat_child_unique
|
||||||
|
ON ausruestung_kategorien_katalog (parent_id, name) WHERE parent_id IS NOT NULL;
|
||||||
@@ -286,8 +286,8 @@ async function getRequests(filters?: { status?: string; anfrager_id?: string })
|
|||||||
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
||||||
const result = await pool.query(
|
const result = await pool.query(
|
||||||
`SELECT a.*,
|
`SELECT a.*,
|
||||||
u.vorname || ' ' || u.nachname AS anfrager_name,
|
u.display_name AS anfrager_name,
|
||||||
u2.vorname || ' ' || u2.nachname AS bearbeitet_von_name,
|
u2.display_name AS bearbeitet_von_name,
|
||||||
(SELECT COUNT(*)::int FROM ausruestung_anfrage_positionen p WHERE p.anfrage_id = a.id) AS positionen_count
|
(SELECT COUNT(*)::int FROM ausruestung_anfrage_positionen p WHERE p.anfrage_id = a.id) AS positionen_count
|
||||||
FROM ausruestung_anfragen a
|
FROM ausruestung_anfragen a
|
||||||
LEFT JOIN users u ON u.id = a.anfrager_id
|
LEFT JOIN users u ON u.id = a.anfrager_id
|
||||||
@@ -314,8 +314,8 @@ async function getMyRequests(userId: string) {
|
|||||||
async function getRequestById(id: number) {
|
async function getRequestById(id: number) {
|
||||||
const reqResult = await pool.query(
|
const reqResult = await pool.query(
|
||||||
`SELECT a.*,
|
`SELECT a.*,
|
||||||
u.vorname || ' ' || u.nachname AS anfrager_name,
|
u.display_name AS anfrager_name,
|
||||||
u2.vorname || ' ' || u2.nachname AS bearbeitet_von_name
|
u2.display_name AS bearbeitet_von_name
|
||||||
FROM ausruestung_anfragen a
|
FROM ausruestung_anfragen a
|
||||||
LEFT JOIN users u ON u.id = a.anfrager_id
|
LEFT JOIN users u ON u.id = a.anfrager_id
|
||||||
LEFT JOIN users u2 ON u2.id = a.bearbeitet_von
|
LEFT JOIN users u2 ON u2.id = a.bearbeitet_von
|
||||||
|
|||||||
Reference in New Issue
Block a user