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/app/assets/javascripts/discourse/app/initializers/inject-objects.js

41 lines
1.1 KiB
JavaScript

import { setDefaultOwner } from "discourse-common/lib/get-owner";
import { isLegacyEmber } from "discourse-common/config/environment";
import User from "discourse/models/user";
import deprecated from "discourse-common/lib/deprecated";
export default {
name: "inject-objects",
initialize(container, app) {
// This is required for Ember CLI tests to work
setDefaultOwner(app.__container__);
// Backwards compatibility for Discourse.SiteSettings and Discourse.User
if (!isLegacyEmber()) {
Object.defineProperty(app, "SiteSettings", {
get() {
deprecated(
`use injected siteSettings instead of Discourse.SiteSettings`,
{
since: "2.8",
dropFrom: "2.9",
}
);
return container.lookup("site-settings:main");
},
});
Object.defineProperty(app, "User", {
get() {
deprecated(
`import discourse/models/user instead of using Discourse.User`,
{
since: "2.8",
dropFrom: "2.9",
}
);
return User;
},
});
}
},
};