ok
This commit is contained in:
@@ -1,9 +1,19 @@
|
||||
import type { FastifyInstance } from 'fastify'
|
||||
import type { TrueApiEnv } from '../config.js'
|
||||
import { parseUpdXml } from '../services/upd-parser.js'
|
||||
import { checkCodesAuth, AppError } from '../services/cises-service.js'
|
||||
|
||||
const VALID_ENVS = ['sandbox', 'prod']
|
||||
|
||||
function parseEnv(query: Record<string, string>): TrueApiEnv {
|
||||
const env = query.env
|
||||
if (env && VALID_ENVS.includes(env)) return env as TrueApiEnv
|
||||
return 'sandbox'
|
||||
}
|
||||
|
||||
export async function updRoutes(app: FastifyInstance): Promise<void> {
|
||||
app.post('/api/upload-upd', async (request, reply) => {
|
||||
const env = parseEnv(request.query as Record<string, string>)
|
||||
const data = await request.file()
|
||||
if (!data) {
|
||||
return reply.status(400).send({ error: 'No file uploaded' })
|
||||
@@ -25,7 +35,7 @@ export async function updRoutes(app: FastifyInstance): Promise<void> {
|
||||
}
|
||||
|
||||
try {
|
||||
const checkResults = await checkCodesAuth({ codes: parsed.codes })
|
||||
const checkResults = await checkCodesAuth(env, { codes: parsed.codes })
|
||||
|
||||
return {
|
||||
document: {
|
||||
@@ -40,7 +50,10 @@ export async function updRoutes(app: FastifyInstance): Promise<void> {
|
||||
}
|
||||
} catch (err) {
|
||||
if (err instanceof AppError) {
|
||||
return reply.status(err.statusCode).send({ error: err.message })
|
||||
return reply.status(err.statusCode).send({
|
||||
error: err.message,
|
||||
debugInfo: err.debugInfo,
|
||||
})
|
||||
}
|
||||
throw err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user