mirror of
https://github.com/flarum/framework.git
synced 2025-05-23 07:09:57 +08:00
Preload data just before boot, not when the store is initialised
This commit is contained in:
@ -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)
|
||||||
|
@ -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);
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user