diff options
author | Paul Frazee <pfrazee@gmail.com> | 2022-07-18 15:24:37 -0500 |
---|---|---|
committer | Paul Frazee <pfrazee@gmail.com> | 2022-07-18 15:24:37 -0500 |
commit | 1d00f3b9840003601175d5394af34b29222db4e3 (patch) | |
tree | f835e910d5f11b84ce2403e307caea080c34ab79 /src/state/models/me.ts | |
parent | de87ec17d1673855fdfe2ccd125d734591969dd4 (diff) | |
download | voidsky-1d00f3b9840003601175d5394af34b29222db4e3.tar.zst |
Add mock API and reorg code for clarity
Diffstat (limited to 'src/state/models/me.ts')
-rw-r--r-- | src/state/models/me.ts | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/state/models/me.ts b/src/state/models/me.ts new file mode 100644 index 000000000..bc4b13148 --- /dev/null +++ b/src/state/models/me.ts @@ -0,0 +1,48 @@ +import {Instance, SnapshotOut, types, flow, getRoot} from 'mobx-state-tree' +import {RootStore} from './root-store' +import {withEnvironment} from '../env' + +export const MeModel = types + .model('Me') + .props({ + did: types.maybe(types.string), + name: types.maybe(types.string), + displayName: types.maybe(types.string), + description: types.maybe(types.string), + }) + .extend(withEnvironment) + .actions(self => ({ + load: flow(function* () { + const sess = (getRoot(self) as RootStore).session + if (sess.isAuthed) { + // TODO temporary + const userDb = self.env.adx.mockDb.mainUser + self.did = userDb.did + self.name = userDb.name + const profile = yield self.env.adx + .repo(self.did, true) + .collection('blueskyweb.xyz:Profiles') + .get('Profile', 'profile') + .catch(_ => undefined) + if (profile?.valid) { + self.displayName = profile.value.displayName + self.description = profile.value.description + } else { + self.displayName = '' + self.description = '' + } + } else { + self.did = undefined + self.name = undefined + self.displayName = undefined + self.description = undefined + } + }), + })) + +export interface Me extends Instance<typeof MeModel> {} +export interface MeSnapshot extends SnapshotOut<typeof MeModel> {} + +export function createDefaultMe() { + return {} +} |