diff --git a/src/web/routes/guild.js b/src/web/routes/guild.js index a8be516..adf85d9 100644 --- a/src/web/routes/guild.js +++ b/src/web/routes/guild.js @@ -211,8 +211,10 @@ as.router.get("/guild", defineEventHandler(async event => { as.router.get("/explain", defineEventHandler(async event => { const {type} = await getValidatedQuery(event, schema.explain.parse) - const msg = type+" is unsupported" //TODO: actually explain (I'm sure I messed something up anyway, I'll leave it for now) - return pugSync.render(event, "explain.pug", {msg}) + const rule = linkRules.get(Number.parseInt(type)) + if (!rule) return pugSync.render(event, "explain.pug", {msg: "You cannot bridge to type-" + type + " channels because OOYE doesn't even know what they are yet."}) + else if (rule.unsupported) return pugSync.render(event, "explain.pug", {msg: "You cannot bridge to " + rule.humanName + " (type-" + type + " channels) because: " + rule.unsupported}) + else return pugSync.render(event, "explain.pug", {msg: "You can bridge to " + rule.humanName + " (type-" + type + " channels) just fine. Why are you even here?"}) })) as.router.get("/qr", defineEventHandler(async event => { diff --git a/src/web/routes/link.js b/src/web/routes/link.js index 2992249..1ec34a5 100644 --- a/src/web/routes/link.js +++ b/src/web/routes/link.js @@ -201,7 +201,7 @@ as.router.post("/api/link", defineEventHandler(async event => { //Ensure link rules are upheld const rule = guildRoute.linkRules.get(channel.type) - if (!rule || rule.unsupported) throw createError({status:400, message: "Bad Request", data: "You cannot bridge " + (rule ? (rule.humanName+"(type-" + channel.type+" channels)") : ("unknown-type ("+channel.type+") channels")) + " because: " + (rule ? rule.unsupported : "OOYE doesn't even know what they are yet.")}) + if (!rule || rule.unsupported) throw createError({status:400, message: "Bad Request", data: "You cannot bridge to " + (rule ? (rule.humanName+"(type-"+channel.type+" channels)") : ("unknown-type ("+channel.type+") channels")) + " because: " + (rule ? rule.unsupported : "OOYE doesn't even know what they are yet.")}) else if (foundSpace && rule.type === "TYPING") throw createError({status: 400, message: "Bad Request", data: "Matrix room cannot be of type m.space when bridging to "+rule.humanName}) else if (!foundSpace && rule.type === "SPACE") throw createError({status: 400, message: "Bad Request", data: "Matrix room must be of type m.space when bridging to "+rule.humanName})