Refactor to middleware, support old routes

This commit is contained in:
Tom Moor
2023-11-01 23:52:18 -04:00
parent a48d8fac88
commit b2ad6ca9bc
2 changed files with 37 additions and 26 deletions

View File

@@ -0,0 +1,27 @@
import { Context, Next } from "koa";
import { Op } from "sequelize";
import { parseDomain } from "@shared/utils/domains";
import env from "@server/env";
import { Share } from "@server/models";
export default function shareDomains() {
return async function shareDomainsMiddleware(ctx: Context, next: Next) {
const isCustomDomain = parseDomain(ctx.host).custom;
const isDevelopment = env.ENVIRONMENT === "development";
if (isDevelopment || (isCustomDomain && env.isCloudHosted)) {
const share = await Share.unscoped().findOne({
where: {
domain: ctx.hostname,
published: true,
revokedAt: {
[Op.is]: null,
},
},
});
ctx.state.rootShare = share;
}
return next();
};
}