discourse/app/assets/javascripts/admin/addon/models/permalink.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

43 lines
1.1 KiB
JavaScript
Raw Normal View History

import Category from "discourse/models/category";
import DiscourseURL from "discourse/lib/url";
2019-11-09 03:13:35 +08:00
import EmberObject from "@ember/object";
2016-07-01 01:55:44 +08:00
import { ajax } from "discourse/lib/ajax";
import discourseComputed from "discourse-common/utils/decorators";
2019-11-09 03:13:35 +08:00
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() {
2016-07-01 01:55:44 +08:00
return ajax("/admin/permalinks.json", {
2015-07-15 20:54:28 +08:00
type: "POST",
data: {
url: this.url,
permalink_type: this.permalink_type,
permalink_type_value: this.permalink_type_value,
2015-07-15 20:54:28 +08:00
},
});
}
2015-07-15 20:54:28 +08:00
@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", {
2016-07-01 01:55:44 +08:00
type: "DELETE",
});
}
}