import DiscourseRoute from "discourse/routes/discourse"; import { ajax } from "discourse/lib/ajax"; import { defaultHomepage } from "discourse/lib/utilities"; import { inject as service } from "@ember/service"; export default class ChatMessageRoute extends DiscourseRoute { @service chat; async model(params) { return ajax(`/chat/message/${params.messageId}.json`) .then((response) => { this.transitionTo( "chat.channel.near-message", response.chat_channel_title, response.chat_channel_id, params.messageId ); }) .catch(() => this.replaceWith("/404")); } beforeModel() { if (!this.chat.userCanChat) { return this.transitionTo(`discovery.${defaultHomepage()}`); } } }