mirror of
https://ghfast.top/https://github.com/discourse/discourse-bcc.git
synced 2026-07-16 11:36:23 +08:00
38 lines
1 KiB
JavaScript
38 lines
1 KiB
JavaScript
import { Result } from "discourse/adapters/rest";
|
|
import { ajax } from "discourse/lib/ajax";
|
|
import { withPluginApi } from "discourse/lib/plugin-api";
|
|
|
|
export default {
|
|
name: "setup-bcc",
|
|
after: "inject-objects",
|
|
|
|
initialize(container) {
|
|
let composer = container.factoryFor("model:composer");
|
|
if (composer) {
|
|
composer.class.serializeOnCreate("use_bcc");
|
|
composer.class.serializeToDraft("use_bcc");
|
|
}
|
|
|
|
withPluginApi((api) => {
|
|
api.modifyClass(
|
|
"adapter:post",
|
|
(Superclass) =>
|
|
class extends Superclass {
|
|
createRecord(store, type, args) {
|
|
if (type === "post" && args.use_bcc) {
|
|
return ajax("/posts/bcc", {
|
|
method: "POST",
|
|
data: args,
|
|
}).then((json) => {
|
|
return new Result(json.post, json);
|
|
});
|
|
} else {
|
|
delete args.use_bcc;
|
|
return super.createRecord(store, type, args);
|
|
}
|
|
}
|
|
}
|
|
);
|
|
});
|
|
},
|
|
};
|