mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
fix: create workspace optimize
This commit is contained in:
@@ -128,20 +128,20 @@ export class DataCenter {
|
||||
* login to all providers, it will default run all auth ,
|
||||
* maybe need a params to control which provider to auth
|
||||
*/
|
||||
public async login() {
|
||||
this.providers.forEach(p => {
|
||||
// TODO: may be add params of auth
|
||||
p.auth();
|
||||
});
|
||||
public async login(providerId = 'affine') {
|
||||
const provider = this.providerMap.get(providerId);
|
||||
assert(provider, `provide '${providerId}' is not registered`);
|
||||
await provider.auth();
|
||||
provider.loadWorkspaces();
|
||||
}
|
||||
|
||||
/**
|
||||
* logout from all providers
|
||||
*/
|
||||
public async logout() {
|
||||
this.providers.forEach(p => {
|
||||
p.logout();
|
||||
});
|
||||
public async logout(providerId = 'affine') {
|
||||
const provider = this.providerMap.get(providerId);
|
||||
assert(provider, `provide '${providerId}' is not registered`);
|
||||
await provider.logout();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -28,6 +28,11 @@ export class AffineProvider extends BaseProvider {
|
||||
constructor({ apis, ...params }: AffineProviderConstructorParams) {
|
||||
super(params);
|
||||
this._apis = apis || getApis();
|
||||
this.init().then(() => {
|
||||
if (this._apis.token.isLogin) {
|
||||
this.loadWorkspaces();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
override async init() {
|
||||
@@ -78,7 +83,12 @@ export class AffineProvider extends BaseProvider {
|
||||
|
||||
let ws = this._wsMap.get(room);
|
||||
if (!ws) {
|
||||
ws = new WebsocketProvider('/', room, doc);
|
||||
const wsUrl = `${
|
||||
window.location.protocol === 'https:' ? 'wss' : 'ws'
|
||||
}://${window.location.host}/api/sync/`;
|
||||
ws = new WebsocketProvider(wsUrl, room, doc, {
|
||||
params: { token: this._apis.token.refresh },
|
||||
});
|
||||
this._wsMap.set(room, ws);
|
||||
}
|
||||
// close all websocket links
|
||||
@@ -186,8 +196,7 @@ export class AffineProvider extends BaseProvider {
|
||||
return;
|
||||
}
|
||||
}
|
||||
const user = await this._apis.signInWithGoogle?.();
|
||||
assert(user);
|
||||
await this._apis.signInWithGoogle?.();
|
||||
}
|
||||
|
||||
public override async getUserInfo(): Promise<User | undefined> {
|
||||
|
||||
@@ -189,6 +189,7 @@ export const getAuthorizer = () => {
|
||||
|
||||
return [signInWithGoogle, onAuthStateChanged] as const;
|
||||
} catch (e) {
|
||||
getLogger('getAuthorizer')(e);
|
||||
return [] as const;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -95,6 +95,7 @@ export class LocalProvider extends BaseProvider {
|
||||
|
||||
this.linkLocal(blocksuiteWorkspace);
|
||||
blocksuiteWorkspace.meta.setName(meta.name);
|
||||
|
||||
if (!meta.avatar) {
|
||||
// set default avatar
|
||||
const blob = await getDefaultHeadImgBlob(meta.name);
|
||||
|
||||
Reference in New Issue
Block a user