fix error + format

This commit is contained in:
2025-04-29 00:29:00 +02:00
parent 3307f89d7d
commit 99f1890257
63 changed files with 9380 additions and 7015 deletions
+61 -60
View File
@@ -1,78 +1,79 @@
const fs = require('fs');
const swaggerAutogen = require('swagger-autogen')();
const fs = require('fs')
const swaggerAutogen = require('swagger-autogen')()
const doc = {
info: {
title: 'IPost API',
description: 'the official IPost.rocks API documentation',
},
host: 'ipost.rocks',
schemes: ['https'],
securityDefinitions: {
appTokenAuthHeader: {
type: 'apiKey',
in: 'header', // can be 'header', 'query' or 'cookie'
name: 'ipost-auth-token', // name of the header, query parameter or cookie
description: 'authenticate using the authentication object in the header'
}
}
};
const outputFile = './swagger-api.json';
const tempFile = './swagger-output.json';
const endpointsFiles = ['./server.js'];
function pushdirectory(currentpath) {
fs.readdirSync(currentpath, {
withFileTypes: true
}).forEach(dirent => {
if (dirent.isFile()) {
endpointsFiles.push(currentpath + dirent.name);
} else {
pushdirectory(currentpath + dirent.name + "/");
}
});
info: {
title: 'IPost API',
description: 'the official IPost.rocks API documentation',
},
host: 'ipost.rocks',
schemes: ['https'],
securityDefinitions: {
appTokenAuthHeader: {
type: 'apiKey',
in: 'header', // can be 'header', 'query' or 'cookie'
name: 'ipost-auth-token', // name of the header, query parameter or cookie
description:
'authenticate using the authentication object in the header',
},
},
}
pushdirectory("./routes/");
const outputFile = './swagger-api.json'
const tempFile = './swagger-output.json'
const endpointsFiles = ['./server.js']
swaggerAutogen(tempFile, endpointsFiles, doc);
function pushdirectory(currentpath) {
fs.readdirSync(currentpath, {
withFileTypes: true,
}).forEach((dirent) => {
if (dirent.isFile()) {
endpointsFiles.push(currentpath + dirent.name)
} else {
pushdirectory(currentpath + dirent.name + '/')
}
})
}
pushdirectory('./routes/')
swaggerAutogen(tempFile, endpointsFiles, doc)
/*
Replace some error codes with own error codes, as described in error_codes.txt
*/
const to_replace = {
"401": "login error (invalid cookie)",
"402": "login error (bad cookie)",
"403": "login error (no cookie)",
"410": "argument/data error",
"411": "argument/data error",
"412": "argument/data error",
"413": "argument/data error",
"414": "argument/data error",
"415": "argument/data error",
"416": "argument/data error",
"417": "argument/data error",
"418": "argument/data error",
"419": "argument/data error",
"420": "invalid authetication object",
401: 'login error (invalid cookie)',
402: 'login error (bad cookie)',
403: 'login error (no cookie)',
410: 'argument/data error',
411: 'argument/data error',
412: 'argument/data error',
413: 'argument/data error',
414: 'argument/data error',
415: 'argument/data error',
416: 'argument/data error',
417: 'argument/data error',
418: 'argument/data error',
419: 'argument/data error',
420: 'invalid authetication object',
}
let file = JSON.parse(fs.readFileSync(tempFile, 'utf8'));
let file = JSON.parse(fs.readFileSync(tempFile, 'utf8'))
for (let path in file.paths) {
for (let method in file.paths[path]) {
for (let response in file.paths[path][method].responses) {
if (to_replace[response]) {
file.paths[path][method].responses[response].description = to_replace[response];
}
for (let method in file.paths[path]) {
for (let response in file.paths[path][method].responses) {
if (to_replace[response]) {
file.paths[path][method].responses[response].description =
to_replace[response]
}
}
}
}
}
file = JSON.stringify(file);
file = JSON.stringify(file)
console.log(file)
fs.writeFileSync(outputFile, file);
fs.rmSync(tempFile);
fs.writeFileSync(outputFile, file)
fs.rmSync(tempFile)