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()}`);
    }
  }
}
