fix: getUserInfo from tauri instead from affine cloud in app

This commit is contained in:
linonetwo
2023-02-09 21:13:31 +08:00
parent 85431de42b
commit d1f2b3f8af
2 changed files with 21 additions and 2 deletions

View File

@@ -13,6 +13,7 @@ import type { WorkspaceUnit } from 'src/workspace-unit.js';
import { createWorkspaceUnit, loadWorkspaceUnit } from '../local/utils.js';
import { WorkspaceWithPermission } from './ipc/types/workspace.js';
import { applyUpdate } from '../../utils/index.js';
import { User } from 'src/types/index.js';
/**
* init - createUser - create first workspace and ydoc - loadWorkspace - return the first workspace - wrapWorkspace - #initDocFromIPC - applyUpdate - on('update') - updateYDocument
@@ -20,7 +21,7 @@ import { applyUpdate } from '../../utils/index.js';
* (init - createUser - error) loadWorkspace - return the first workspace - wrapWorkspace - #initDocFromIPC - applyUpdate - on('update') - updateYDocument
*/
export class TauriIPCProvider extends LocalProvider {
static id = 'tauri-ipc';
public id = 'tauri-ipc';
static defaultUserEmail = 'xxx@xx.xx';
/**
* // TODO: We only have one user in this version of app client. But may support switch user later.
@@ -60,6 +61,22 @@ export class TauriIPCProvider extends LocalProvider {
}
}
/**
* get auth user info
* @returns
*/
public async getUserInfo(): Promise<User | undefined> {
const user = await this.#ipc?.getUser({
email: TauriIPCProvider.defaultUserEmail,
});
if (user?.name !== undefined) {
return {
...user,
avatar: user?.avatar_url || '',
};
}
}
async #initDocFromIPC(
workspaceID: string,
blocksuiteWorkspace: BlocksuiteWorkspace