This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/plugins/chat/assets/javascripts/discourse/routes/chat-message.js
Roman Rizzi d07b472b79
DEV: /channel -> /c chat route rename (#19782)
* DEV: Rnemae channel path to just c

Also swap the channel id and channel slug params to be consistent with core.

* linting

* channel_path

* params in wrong order

* Drop slugify helper and channel route without slug

* Request slug and route models through the channel model if possible

* Add client side redirection for backwards-compatibility

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2023-01-27 09:58:12 -03:00

30 lines
814 B
JavaScript

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",
response.chat_channel_title,
response.chat_channel_id,
{
queryParams: { messageId: params.messageId },
}
);
})
.catch(() => this.replaceWith("/404"));
}
beforeModel() {
if (!this.chat.userCanChat) {
return this.transitionTo(`discovery.${defaultHomepage()}`);
}
}
}