Introduce account document to user document

An account document is attached to a user document if an account of the
user is on the server. It may be missing if the user is on a remote server.
This commit is contained in:
Akihiko Odaki 2018-03-26 00:19:07 +09:00
parent a633f184ab
commit 19b9cb105d
70 changed files with 355 additions and 280 deletions

View file

@ -270,7 +270,7 @@ export default class MiOS extends EventEmitter {
// Parse response
res.json().then(i => {
me = i;
me.token = token;
me.account.token = token;
done();
});
})
@ -294,12 +294,12 @@ export default class MiOS extends EventEmitter {
const fetched = me => {
if (me) {
// デフォルトの設定をマージ
me.client_settings = Object.assign({
me.account.client_settings = Object.assign({
fetchOnScroll: true,
showMaps: true,
showPostFormOnTopOfTl: false,
gradientWindowHeader: false
}, me.client_settings);
}, me.account.client_settings);
// ローカルストレージにキャッシュ
localStorage.setItem('me', JSON.stringify(me));
@ -329,7 +329,7 @@ export default class MiOS extends EventEmitter {
fetched(cachedMe);
// 後から新鮮なデータをフェッチ
fetchme(cachedMe.token, freshData => {
fetchme(cachedMe.account.token, freshData => {
merge(cachedMe, freshData);
});
} else {
@ -437,7 +437,7 @@ export default class MiOS extends EventEmitter {
}
// Append a credential
if (this.isSignedIn) (data as any).i = this.i.token;
if (this.isSignedIn) (data as any).i = this.i.account.token;
// TODO
//const viaStream = localStorage.getItem('enableExperimental') == 'true';