import EmberObject from "@ember/object"; import { ajax } from "discourse/lib/ajax"; import DiscourseURL from "discourse/lib/url"; import Category from "discourse/models/category"; import discourseComputed from "discourse-common/utils/decorators"; export default class Permalink extends EmberObject { static findAll(filter) { return ajax("/admin/permalinks.json", { data: { filter } }).then(function ( permalinks ) { return permalinks.map((p) => Permalink.create(p)); }); } save() { return ajax("/admin/permalinks.json", { type: "POST", data: { url: this.url, permalink_type: this.permalink_type, permalink_type_value: this.permalink_type_value, }, }); } @discourseComputed("category_id") category(category_id) { return Category.findById(category_id); } @discourseComputed("external_url") linkIsExternal(external_url) { return !DiscourseURL.isInternal(external_url); } destroy() { return ajax("/admin/permalinks/" + this.id + ".json", { type: "DELETE", }); } }