fix yandere

This commit is contained in:
skidoodle 2023-09-16 23:15:55 +02:00
parent 159cc3a2b6
commit cb4ea60dfc
13 changed files with 2859 additions and 337 deletions

View file

@ -1,66 +1,93 @@
import { NextApiRequest, NextApiResponse } from 'next'
export default function handler(req: NextApiRequest, res: NextApiResponse) {
const { ev, szint, vizsgatargy, evszak, tipus, file } = req.query
const pdfBaseUrl = 'https://dload-oktatas.educatio.hu/erettsegi/feladatok_'
const zipBaseUrl =
'https://www.oktatas.hu/bin/content/dload/erettsegi/feladatok_'
const { ev, szint, vizsgatargy, idoszak, tipus, file } = req.query
const baseUrl = 'https://dload-oktatas.educatio.hu/erettsegi/feladatok_'
const missingParams = []
if (!ev) missingParams.push('ev')
if (!szint) missingParams.push('szint')
if (!evszak) missingParams.push('evszak')
if (!vizsgatargy) missingParams.push('vizsgatargy')
if (!tipus) missingParams.push('tipus')
const missingParams = []
if (!ev) missingParams.push('ev')
if (!szint) missingParams.push('szint')
if (!idoszak) missingParams.push('evszak')
if (!vizsgatargy) missingParams.push('vizsgatargy')
if (!tipus) missingParams.push('tipus')
if (missingParams.length > 0) {
return res
.status(400)
.json({ error: `Hiányzó paraméterek: ${missingParams.join(', ')}` })
}
if (missingParams.length > 0) {
return res
.status(400)
.json({ error: `Hiányzó paraméterek: ${missingParams.join(', ')}` })
}
let honap
if (evszak === 'osz') {
honap = 'okt'
} else if (evszak === 'tavasz') {
honap = 'maj'
} else {
return res.status(400).json({ error: 'Érvénytelen évszak' })
}
let honap
switch (idoszak) {
case 'osz':
honap = 'okt'
break
case 'tavasz':
honap = 'maj'
break
default:
return res.status(400).json({ error: 'Érvénytelen évszak' })
}
let prefix
if (szint === 'emelt') {
prefix = `e_${vizsgatargy}`
} else if (szint === 'kozep') {
prefix = `k_${vizsgatargy}`
}
let prefix
switch (szint) {
case 'emelt':
prefix = `e_${vizsgatargy}`
break
case 'kozep':
prefix = `k_${vizsgatargy}`
break
default:
return res.status(400).json({ error: 'Érvénytelen szint' })
}
let pdfUrl, zipUrl
if (vizsgatargy === 'inf' || vizsgatargy === 'infoism') {
if (file === 'forras' && tipus === 'fl') {
zipUrl = `${zipBaseUrl}${ev}${evszak}_${szint}/${prefix}for_${ev!.slice(
-2
)}${honap}_${tipus}.zip`
} else if (file === 'megoldas' && tipus === 'ut') {
zipUrl = `${zipBaseUrl}${ev}${evszak}_${szint}/${prefix}meg_${ev!.slice(
-2
)}${honap}_${tipus}.zip`
} else if (file === 'megoldas' && tipus === 'fl') {
zipUrl = `${zipBaseUrl}${ev}${evszak}_${szint}/${prefix}meg_${ev!.slice(
-2
)}${honap}_ut.zip`
} else if (file === 'forras' && tipus === 'ut') {
zipUrl = `${zipBaseUrl}${ev}${evszak}_${szint}/${prefix}for_${ev!.slice(
-2
)}${honap}_fl.zip`
} else {
return res.status(400).json({ error: 'Érvénytelen fájltípus' })
}
} else {
pdfUrl = `${pdfBaseUrl}${ev}${evszak}_${szint}/${prefix}_${ev!.slice(
-2
)}${honap}_${tipus}.pdf`
}
const forras = 'for'
const megoldas = 'meg'
const shortev = ev!.slice(-2)
res.status(200).json({ pdfUrl, zipUrl })
let pdfUrl, zipUrl
switch (vizsgatargy) {
case 'inf':
case 'infoism':
switch (file) {
case 'forras':
switch (tipus) {
case 'fl':
zipUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}${forras}_${shortev}${honap}_${tipus}.zip`
pdfUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}_${shortev}${honap}_${tipus}.pdf`
break
case 'ut':
zipUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}${forras}_${shortev}${honap}_fl.zip`
pdfUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}_${shortev}${honap}_${tipus}.pdf`
break
default:
return res.status(400).json({ error: 'Érvénytelen fájltípus' })
}
break
case 'megoldas':
switch (tipus) {
case 'ut':
zipUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}${megoldas}_${shortev}${honap}_${tipus}.zip`
pdfUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}_${shortev}${honap}_${tipus}.pdf`
break
case 'fl':
zipUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}${megoldas}_${shortev}${honap}_ut.zip`
pdfUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}_${shortev}${honap}_${tipus}.pdf`
break
default:
return res.status(400).json({ error: 'Érvénytelen fájltípus' })
}
break
default:
return res.status(400).json({ error: 'Érvénytelen fájltípus' })
}
break
default:
pdfUrl = `${baseUrl}${ev}${idoszak}_${szint}/${prefix}_${ev!.slice(
-2
)}${honap}_${tipus}.pdf`
break
}
res.status(200).json({ pdfUrl, zipUrl })
}