feat: add message center

This commit is contained in:
MingLiang Wang
2023-01-10 15:39:24 +08:00
parent ecec2d6efe
commit 31d3a012f9
8 changed files with 65 additions and 15 deletions
@@ -11,6 +11,7 @@ import { WebsocketProvider } from './sync.js';
import { getApis } from './apis/index.js';
import type { Apis, WorkspaceDetail, Callback } from './apis';
import { setDefaultAvatar } from '../utils.js';
import { MessageCode } from 'src/message/code.js';
export interface AffineProviderConstructorParams
extends ProviderConstructorParams {
@@ -196,7 +197,10 @@ export class AffineProvider extends BaseProvider {
return;
}
}
await this._apis.signInWithGoogle?.();
const user = await this._apis.signInWithGoogle?.();
if (!user) {
this._messageCenter.send(MessageCode.loginError);
}
}
public override async getUserInfo(): Promise<User | undefined> {
+9 -1
View File
@@ -1,4 +1,5 @@
import { Workspace as BlocksuiteWorkspace, uuidv4 } from '@blocksuite/store';
import { MessageCenter } from 'src/message';
import { Logger, User, WorkspaceInfo, WorkspaceMeta } from '../types';
import type { WorkspaceMetaCollectionScope } from '../workspace-meta-collection';
@@ -9,16 +10,23 @@ const defaultLogger = () => {
export interface ProviderConstructorParams {
logger?: Logger;
workspaces: WorkspaceMetaCollectionScope;
messageCenter: MessageCenter;
}
export class BaseProvider {
public readonly id: string = 'base';
protected _workspaces!: WorkspaceMetaCollectionScope;
protected _logger!: Logger;
protected _messageCenter!: MessageCenter;
public constructor({ logger, workspaces }: ProviderConstructorParams) {
public constructor({
logger,
workspaces,
messageCenter,
}: ProviderConstructorParams) {
this._logger = (logger || defaultLogger) as Logger;
this._workspaces = workspaces;
this._messageCenter = messageCenter;
}
/**