diff --git a/src/lib/utils/db.ts b/src/lib/utils/db.ts index 566edbd..e04e2f9 100644 --- a/src/lib/utils/db.ts +++ b/src/lib/utils/db.ts @@ -30,9 +30,9 @@ export const resetDatabase = () => { export const prepareDatabase = async (jsonFile: string | object) => { const jsonFileData = typeof jsonFile === 'string' ? JSON.parse(jsonFile) : jsonFile; const data = await parseOpenAPI(jsonFileData); - const countOperations = Object.keys(data.operations).length + Object.keys(data.webhooks).length; - if (countOperations === 0) { - return countOperations; + const elementsCount = Object.keys(data.operations).length + Object.keys(data.webhooks).length; + if (elementsCount === 0) { + return elementsCount; } const db = resetDatabase(); db.exec( @@ -51,7 +51,7 @@ export const prepareDatabase = async (jsonFile: string | object) => { ); }); - return countOperations; + return elementsCount; }; export const getGlobalData = async () => { const db = getDb(); diff --git a/src/routes/api/openapi/+server.ts b/src/routes/api/openapi/+server.ts index 1acaf99..9f38ae7 100644 --- a/src/routes/api/openapi/+server.ts +++ b/src/routes/api/openapi/+server.ts @@ -16,7 +16,10 @@ export const PUT: RequestHandler = async ({ request, url }) => { } const data = await request.json(); - await prepareDatabase(data); + const elementsCount = await prepareDatabase(data); + if (elementsCount === 0) { + error(400, 'No operations or webhooks found in the provided JSON.'); + } return json({}); };