22 lines
838 B
JavaScript
22 lines
838 B
JavaScript
import { config } from '../config.js'
|
|
|
|
/**
|
|
* Admin-Panel (/admin.html) und Rechnungsanalyse (/kalkulation.html) sind abgeschaltet (Etappe 4). Links aus
|
|
* aelteren Team-Mails fuehren ins Ticketsystem; /admin.html?gutschrift=<id> oeffnet den Antrag unter
|
|
* Kunden -> Gutschriften.
|
|
*/
|
|
const ANTRAG_ID = /^[A-Za-z0-9._-]{1,64}$/
|
|
|
|
const toTicketsystem = (pathFor) => (req, res, next) => {
|
|
if (req.method !== 'GET' && req.method !== 'HEAD') return next()
|
|
return res.redirect(302, `${config.womsBaseUrl}${pathFor(req)}`)
|
|
}
|
|
|
|
export default {
|
|
admin: toTicketsystem((req) => {
|
|
const antrag = typeof req.query.gutschrift === 'string' ? req.query.gutschrift : ''
|
|
return ANTRAG_ID.test(antrag) ? `/customers/gutschriften?antrag=${encodeURIComponent(antrag)}` : '/customers'
|
|
}),
|
|
kalkulation: toTicketsystem(() => '/customers'),
|
|
}
|