Preload data just before boot, not when the store is initialised

This commit is contained in:
Toby Zerner
2015-07-22 09:54:49 +09:30
parent 49e9ab362a
commit 23cd3320c0
2 changed files with 11 additions and 10 deletions

View File

@ -1,15 +1,22 @@
import Session from 'flarum/Session'; import Session from 'flarum/Session';
/** /**
* The `session` initializer creates the application session and preloads it * The `preload` initializer creates the application session and preloads it
* with data that has been set on the application's `preload` property. * with data that has been set on the application's `preload` property. It also
* preloads any data on the application's `preload` property into the store.
* Finally, it sets the application's `forum` instance to the one that was
* preloaded.
* *
* `app.preload.session` should be the same as the response from the /api/token * `app.preload.session` should be the same as the response from the /api/token
* endpoint: it should contain `token` and `userId` keys. * endpoint: it should contain `token` and `userId` keys.
* *
* @param {App} app * @param {App} app
*/ */
export default function session(app) { export default function preload(app) {
app.store.pushPayload({data: app.preload.data});
app.forum = app.store.getById('forums', 1);
app.session = new Session( app.session = new Session(
app.preload.session.token, app.preload.session.token,
app.store.getById('users', app.preload.session.userId) app.store.getById('users', app.preload.session.userId)

View File

@ -9,9 +9,7 @@ import Notification from 'flarum/models/Notification';
/** /**
* The `store` initializer creates the application's data store and registers * The `store` initializer creates the application's data store and registers
* the default resource types to their models. It then preloads any data on the * the default resource types to their models.
* application's `preload` property into the store. Finally, it sets the
* application's `forum` instance to the one that was preloaded.
* *
* @param {App} app * @param {App} app
*/ */
@ -25,8 +23,4 @@ export default function store(app) {
activity: Activity, activity: Activity,
notifications: Notification notifications: Notification
}); });
app.store.pushPayload({data: app.preload.data});
app.forum = app.store.getById('forums', 1);
} }