diff --git a/packages/data-center/src/datacenter.ts b/packages/data-center/src/datacenter.ts index c15861223e..add13ec0ee 100644 --- a/packages/data-center/src/datacenter.ts +++ b/packages/data-center/src/datacenter.ts @@ -438,6 +438,18 @@ export class DataCenter { return []; } + /** + * accept invitation + * @param {string} inviteCode + */ + async acceptInvitation(inviteCode: string, providerStr = 'affine') { + const provider = this.providerMap.get(providerStr); + if (provider) { + return await provider.acceptInvitation(inviteCode); + } + return []; + } + onMessage(cb: (message: Message) => void) { return this._messageCenter.onMessage(cb); } diff --git a/packages/data-center/src/provider/affine/affine.ts b/packages/data-center/src/provider/affine/affine.ts index 41b93b7dc2..acc1ce0cfb 100644 --- a/packages/data-center/src/provider/affine/affine.ts +++ b/packages/data-center/src/provider/affine/affine.ts @@ -99,6 +99,7 @@ export class AffineProvider extends BaseProvider { ws_details: Record; metadata: Record; }) { + this._logger('receive server message'); Object.entries(ws_details).forEach(([id, detail]) => { const { name, avatar } = metadata[id]; assert(name); @@ -442,4 +443,8 @@ export class AffineProvider extends BaseProvider { public override async getWorkspaceMembers(id: string) { return this._apis.getWorkspaceMembers({ id }); } + + public override async acceptInvitation(invitingCode: string): Promise { + await this._apis.acceptInviting({ invitingCode }); + } } diff --git a/packages/data-center/src/provider/base.ts b/packages/data-center/src/provider/base.ts index fed8626811..11547c6a66 100644 --- a/packages/data-center/src/provider/base.ts +++ b/packages/data-center/src/provider/base.ts @@ -233,4 +233,14 @@ export class BaseProvider { workspaceId; return Promise.resolve([]); } + + /** + * accept invitation + * @param {string} inviteCode + * @returns + */ + public async acceptInvitation(inviteCode: string): Promise { + inviteCode; + return; + } }