feat: Add ability to expose Swagger specification (#1577)

This commit is contained in:
Hannes
2026-03-11 11:39:42 +01:00
committed by GitHub
parent 7604a31a74
commit bb907d62e4
8 changed files with 48 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
/*!
* Copyright (c) 2024 PLANKA Software GmbH
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
*/
const fs = require('fs');
const path = require('path');
const SWAGGER_PATH = path.join(sails.config.appPath, 'swagger.json');
module.exports = {
async fn() {
if (!sails.config.custom.swaggerExposed) {
return this.res.notFound();
}
let specification;
try {
const content = fs.readFileSync(SWAGGER_PATH, 'utf8');
specification = JSON.parse(content);
} catch (error) {
sails.log.warn('swagger.json not found, run "npm run swagger:generate" to create it');
return this.res.notFound();
}
return specification;
},
};