diff --git a/src/api/routes/service/config/all/get.ts b/src/api/routes/service/config/all/get.ts new file mode 100644 index 0000000..ec2f128 --- /dev/null +++ b/src/api/routes/service/config/all/get.ts @@ -0,0 +1,10 @@ +import type { FastifyReply } from 'fastify'; +import type { RequestWithUser } from '../../../../structures/interfaces'; +import { getConfig } from '../../../../utils/Util'; + +export const middlewares = ['auth', 'admin']; + +export const run = async (req: RequestWithUser, res: FastifyReply) => res.send({ + message: 'Successfully retrieved config', + config: (await getConfig()) +}); diff --git a/src/api/routes/service/config/get.ts b/src/api/routes/service/config/get.ts new file mode 100644 index 0000000..e49b058 --- /dev/null +++ b/src/api/routes/service/config/get.ts @@ -0,0 +1,27 @@ +import type { FastifyReply } from 'fastify'; +import type { RequestWithUser } from '../../../structures/interfaces'; +import { getConfig } from '../../../utils/Util'; + +export const middlewares = ['auth', 'admin']; + +export const run = async (req: RequestWithUser, res: FastifyReply) => { + const config = await getConfig(); + + return res.send({ + message: 'Successfully retrieved config', + config: { + version: process.env.npm_package_version, + serviceName: config.serviceName, + maxUploadSize: config.maxSize, + filenameLength: config.generatedFilenameLength, + albumLinkLength: config.generatedAlbumLength, + chunkSize: config.chunkSize, + publicMode: config.publicMode, + userAccounts: config.userAccounts, + metaThemeColor: config.metaThemeColor, + metaDescription: config.metaDescription, + metaKeywords: config.metaKeywords, + metaTwitterHandle: config.metaTwitterHandle + } + }); +}; diff --git a/src/api/routes/service/configAllGET.js b/src/api/routes/service/configAllGET.js deleted file mode 100644 index fe9dae6..0000000 --- a/src/api/routes/service/configAllGET.js +++ /dev/null @@ -1,17 +0,0 @@ -const Route = require('../../structures/Route'); -const Util = require('../../utils/Util'); - -class configGET extends Route { - constructor() { - super('/service/config/all', 'get', { adminOnly: true }); - } - - run(req, res) { - return res.json({ - message: 'Successfully retrieved config', - config: Util.config - }); - } -} - -module.exports = configGET; diff --git a/src/api/routes/service/configGET.js b/src/api/routes/service/configGET.js deleted file mode 100644 index 4baf627..0000000 --- a/src/api/routes/service/configGET.js +++ /dev/null @@ -1,30 +0,0 @@ -const Route = require('../../structures/Route'); -const Util = require('../../utils/Util'); - -class configGET extends Route { - constructor() { - super('/service/config', 'get', { bypassAuth: true }); - } - - run(req, res) { - return res.json({ - message: 'Successfully retrieved config', - config: { - version: process.env.npm_package_version, - serviceName: Util.config.serviceName, - maxUploadSize: Util.config.maxSize, - filenameLength: Util.config.generatedFilenameLength, - albumLinkLength: Util.config.generatedAlbumLength, - chunkSize: Util.config.chunkSize, - publicMode: Util.config.publicMode, - userAccounts: Util.config.userAccounts, - metaThemeColor: Util.config.metaThemeColor, - metaDescription: Util.config.metaDescription, - metaKeywords: Util.config.metaKeywords, - metaTwitterHandle: Util.metaTwitterHandle - } - }); - } -} - -module.exports = configGET; diff --git a/src/api/routes/service/restart/post.ts b/src/api/routes/service/restart/post.ts new file mode 100644 index 0000000..aa2e4cc --- /dev/null +++ b/src/api/routes/service/restart/post.ts @@ -0,0 +1,11 @@ +import type { FastifyReply } from 'fastify'; +import type { RequestWithUser } from '../../../structures/interfaces'; + +export const middlewares = ['auth', 'admin']; + +export const run = async (req: RequestWithUser, res: FastifyReply) => { + void res.send({ + message: 'Successfully triggered restart' + }); + process.exit(0); +}; diff --git a/src/api/routes/service/restartPOST.js b/src/api/routes/service/restartPOST.js deleted file mode 100644 index 530cc91..0000000 --- a/src/api/routes/service/restartPOST.js +++ /dev/null @@ -1,14 +0,0 @@ -const Route = require('../../structures/Route'); - -class restartPOST extends Route { - constructor() { - super('/service/restart', 'post', { adminOnly: true }); - } - - run(req, res) { - res.json({ message: 'Restarting...' }); - process.exit(0); - } -} - -module.exports = restartPOST; diff --git a/src/api/routes/service/versionGET.js b/src/api/routes/service/versionGET.js deleted file mode 100644 index dfb994a..0000000 --- a/src/api/routes/service/versionGET.js +++ /dev/null @@ -1,15 +0,0 @@ -const Route = require('../../structures/Route'); - -class versionGET extends Route { - constructor() { - super('/version', 'get', { bypassAuth: true }); - } - - run(req, res) { - return res.json({ - version: process.env.npm_package_version - }); - } -} - -module.exports = versionGET; diff --git a/src/api/routes/version/get.ts b/src/api/routes/version/get.ts new file mode 100644 index 0000000..911994e --- /dev/null +++ b/src/api/routes/version/get.ts @@ -0,0 +1,5 @@ +import type { FastifyRequest, FastifyReply } from 'fastify'; + +export const run = async (req: FastifyRequest, res: FastifyReply) => res.send({ + version: process.env.npm_package_version +});