core: allow homepage config injection

This commit is contained in:
undefined committed 2022-11-26 20:28:11 +08:00
1 parent 4f41c0ae56
commit a2ea3812df
5 files changed
+11 -16

No files matched your search

+1 -1
View File
@@ -114,7 +114,7 @@ export class HomeHandler extends Handler {
}
async get({ domainId }) {
const homepageConfig = system.get('hydrooj.homepage');
const homepageConfig = this.domain.homepage || system.get('hydrooj.homepage');
const info = yaml.load(homepageConfig) as any;
const contents = [];
for (const column of info) {
+3 -6
View File
@@ -453,18 +453,15 @@ export async function apply(pluginContext: Context) {
rewrite: (p) => p.replace('/fs', ''),
});
app.use(async (ctx, next) => {
for (const key in captureAllRoutes) {
if (ctx.path.startsWith(key)) return captureAllRoutes[key](ctx, next);
}
if (!ctx.path.startsWith('/fs/')) return await next();
if (ctx.request.search.toLowerCase().includes('x-amz-credential')) return await proxyMiddleware(ctx, next);
ctx.request.path = ctx.path = ctx.path.split('/fs')[1];
return await next();
});
app.use(Compress());
app.use(async (ctx, next) => {
for (const key in captureAllRoutes) {
if (ctx.path.startsWith(key)) return captureAllRoutes[key](ctx, next);
}
return next();
});
for (const addon of [...global.addons].reverse()) {
const dir = resolve(addon, 'public');
if (!fs.existsSync(dir)) continue;