Buchungskalender: origin/main (Aufträge) zusammenführen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Opus 5.5 committed 2026-10-07 15:46:31 +00:00
commit fd971309a8
145 files changed
+42590 -129

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
/**
* Arbeitsblaetter fuers Ticketsystem. Mount: /api/team/arbeitsblaetter, in team/index.js hinter requireStaffJwt (jeder
* Mitarbeiter, daher kein eigener Schutz).
* GET /abgerechnet?ticketId=<id> { abgerechnet: { <Blatt-ID>: '<Rechnungsnummer>' | 'Entwurf' } }, ohne Betraege
*/
import { Router } from 'express'
import { sendeFehler } from '../../services/auftraege/fehler.js'
import { abgerechnetFuerTicket } from '../../services/auftraege/projektkonto.js'
const router = Router()
// Appwrite-UID: erst pruefen, dann an Appwrite geben
const KENNUNG = /^[A-Za-z0-9][A-Za-z0-9._-]{0,35}$/
router.get('/abgerechnet', async (req, res) => {
const ticketId = req.query.ticketId
if (typeof ticketId !== 'string' || !KENNUNG.test(ticketId)) return res.status(400).json({ error: 'ticketId fehlt oder ist ungültig.' })
try {
res.json({ abgerechnet: await abgerechnetFuerTicket(ticketId) })
} catch (err) {
sendeFehler(res, 'Abgerechnete Arbeitsblätter laden', err)
}
})
export default router
+3
View File
@@ -5,6 +5,7 @@ import { funktionenAdminRouter } from '../admin/funktionenAdmin.js'
import { offersAdminRouter } from '../offers.js'
import { storageTasksAdminRouter } from '../storageTasks.js'
import { takeoverAdminRouter } from '../takeoverCredits.js'
import arbeitsblaetterTeamRoutes from './arbeitsblaetter.js'
import customersRoutes from './customers.js'
import filesRoutes from './files.js'
import previewRoutes from './preview.js'
@@ -31,5 +32,7 @@ router.use('/termine', termineTeamRoutes)
router.use('/shop', shopTeamRoutes)
// Buchungskalender: Stand je Projekt und Entscheidung ueber die Anfrage
router.use('/unterkunft', unterkunftTeamRoutes)
// Abgerechnete Arbeitsblaetter (Abzeichen am Ticket, alle Mitarbeiter)
router.use('/arbeitsblaetter', arbeitsblaetterTeamRoutes)
export default router