Use Express router for novelai endpoint

This commit is contained in:
valadaptive
2023-12-04 12:52:27 -05:00
parent 414c9bd5fb
commit e6b549bc48
2 changed files with 271 additions and 276 deletions

View File

@@ -3591,7 +3591,7 @@ require('./src/endpoints/secrets').registerEndpoints(app, jsonParser);
require('./src/endpoints/thumbnails').registerEndpoints(app, jsonParser); require('./src/endpoints/thumbnails').registerEndpoints(app, jsonParser);
// NovelAI generation // NovelAI generation
require('./src/endpoints/novelai').registerEndpoints(app, jsonParser); app.use('/api/novelai', require('./src/endpoints/novelai').router);
// Third-party extensions // Third-party extensions
require('./src/endpoints/extensions').registerEndpoints(app, jsonParser); require('./src/endpoints/extensions').registerEndpoints(app, jsonParser);

View File

@@ -1,8 +1,10 @@
const fetch = require('node-fetch').default; const fetch = require('node-fetch').default;
const express = require('express');
const util = require('util'); const util = require('util');
const { Readable } = require('stream'); const { Readable } = require('stream');
const { readSecret, SECRET_KEYS } = require('./secrets'); const { readSecret, SECRET_KEYS } = require('./secrets');
const { readAllChunks, extractFileFromZipBuffer } = require('../util'); const { readAllChunks, extractFileFromZipBuffer } = require('../util');
const { jsonParser } = require('../express-common');
const API_NOVELAI = 'https://api.novelai.net'; const API_NOVELAI = 'https://api.novelai.net';
@@ -60,13 +62,9 @@ function getBadWordsList(model) {
return list.slice(); return list.slice();
} }
/** const router = express.Router();
* Registers NovelAI API endpoints.
* @param {import('express').Express} app - Express app router.post('/status', jsonParser, async function (req, res) {
* @param {any} jsonParser - JSON parser middleware
*/
function registerEndpoints(app, jsonParser) {
app.post('/api/novelai/status', jsonParser, async function (req, res) {
if (!req.body) return res.sendStatus(400); if (!req.body) return res.sendStatus(400);
const api_key_novel = readSecret(SECRET_KEYS.NOVEL); const api_key_novel = readSecret(SECRET_KEYS.NOVEL);
@@ -98,9 +96,9 @@ function registerEndpoints(app, jsonParser) {
console.log(error); console.log(error);
return res.send({ error: true }); return res.send({ error: true });
} }
}); });
app.post('/api/novelai/generate', jsonParser, async function (req, res) { router.post('/generate', jsonParser, async function (req, res) {
if (!req.body) return res.sendStatus(400); if (!req.body) return res.sendStatus(400);
const api_key_novel = readSecret(SECRET_KEYS.NOVEL); const api_key_novel = readSecret(SECRET_KEYS.NOVEL);
@@ -225,9 +223,9 @@ function registerEndpoints(app, jsonParser) {
} catch (error) { } catch (error) {
return res.send({ error: true }); return res.send({ error: true });
} }
}); });
app.post('/api/novelai/generate-image', jsonParser, async (request, response) => { router.post('/generate-image', jsonParser, async (request, response) => {
if (!request.body) { if (!request.body) {
return response.sendStatus(400); return response.sendStatus(400);
} }
@@ -323,9 +321,9 @@ function registerEndpoints(app, jsonParser) {
console.log(error); console.log(error);
return response.sendStatus(500); return response.sendStatus(500);
} }
}); });
app.post('/api/novelai/generate-voice', jsonParser, async (request, response) => { router.post('/generate-voice', jsonParser, async (request, response) => {
const token = readSecret(SECRET_KEYS.NOVEL); const token = readSecret(SECRET_KEYS.NOVEL);
if (!token) { if (!token) {
@@ -363,9 +361,6 @@ function registerEndpoints(app, jsonParser) {
console.error(error); console.error(error);
return response.sendStatus(500); return response.sendStatus(500);
} }
}); });
}
module.exports = { module.exports = { router };
registerEndpoints,
};