23 lines
534 B
TypeScript
23 lines
534 B
TypeScript
/* eslint-disable import/no-cycle */
|
|
import { makeAutoObservable } from 'mobx';
|
|
import { getDomainName } from 'services/user/tools';
|
|
import type { User } from 'services/user/types';
|
|
import type RootStore from './root';
|
|
|
|
export default class UserStore {
|
|
root: RootStore;
|
|
user?: User = undefined;
|
|
|
|
constructor(rootStore: RootStore) {
|
|
makeAutoObservable(this);
|
|
this.root = rootStore;
|
|
}
|
|
|
|
hydrate = (user: User) => {
|
|
this.user = user;
|
|
};
|
|
get domainName() {
|
|
return this.user && getDomainName(this.user);
|
|
}
|
|
}
|