mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-26 02:35:58 +08:00
fix: types of data center call
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
import { createContext, MutableRefObject, useContext } from 'react';
|
||||
import type { Workspace } from '@affine/datacenter';
|
||||
import type { AccessTokenMessage, Workspace } from '@affine/datacenter';
|
||||
import type {
|
||||
Page as StorePage,
|
||||
Workspace as StoreWorkspace,
|
||||
} from '@blocksuite/store';
|
||||
import type { EditorContainer } from '@blocksuite/editor';
|
||||
export type LoadWorkspaceHandler = (
|
||||
workspaceId: string
|
||||
// user?: AccessTokenMessage | null
|
||||
workspaceId: string,
|
||||
user?: AccessTokenMessage | null
|
||||
) => Promise<StoreWorkspace | null> | null;
|
||||
export type CreateEditorHandler = (page: StorePage) => EditorContainer | null;
|
||||
|
||||
export interface AppStateValue {
|
||||
// user: AccessTokenMessage | null;
|
||||
user: AccessTokenMessage | null;
|
||||
workspacesMeta: Workspace[];
|
||||
|
||||
currentWorkspaceId: string;
|
||||
@@ -38,7 +38,7 @@ export interface AppStateContext extends AppStateValue {
|
||||
}
|
||||
|
||||
export const AppState = createContext<AppStateContext>({
|
||||
// user: null,
|
||||
user: null,
|
||||
workspacesMeta: [],
|
||||
|
||||
currentWorkspaceId: '',
|
||||
|
||||
@@ -15,19 +15,17 @@ const DynamicBlocksuite = ({
|
||||
setCreateEditorHandler,
|
||||
}: Props) => {
|
||||
useEffect(() => {
|
||||
const openWorkspace: LoadWorkspaceHandler = (workspaceId: string, user) =>
|
||||
// eslint-disable-next-line no-async-promise-executor
|
||||
new Promise(async resolve => {
|
||||
if (workspaceId) {
|
||||
const workspace = await getDataCenter().then(dc =>
|
||||
dc.getWorkspace(workspaceId, 'affine')
|
||||
);
|
||||
|
||||
resolve(workspace);
|
||||
} else {
|
||||
resolve(null);
|
||||
}
|
||||
});
|
||||
const openWorkspace: LoadWorkspaceHandler = async (
|
||||
workspaceId: string,
|
||||
user
|
||||
) => {
|
||||
if (workspaceId) {
|
||||
const dc = await getDataCenter();
|
||||
return dc.getWorkspace(workspaceId, { providerId: 'affine' });
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
setLoadWorkspaceHandler(openWorkspace);
|
||||
}, [setLoadWorkspaceHandler]);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo, useState, useEffect, useCallback, useRef } from 'react';
|
||||
import type { ReactNode } from 'react';
|
||||
import dynamic from 'next/dynamic';
|
||||
import { getWorkspaces } from '@affine/datacenter';
|
||||
import { getDataCenter } from '@affine/datacenter';
|
||||
import { AppState, AppStateContext } from './context';
|
||||
import type {
|
||||
AppStateValue,
|
||||
@@ -16,7 +16,8 @@ const DynamicBlocksuite = dynamic(() => import('./dynamic-blocksuite'), {
|
||||
|
||||
export const AppStateProvider = ({ children }: { children?: ReactNode }) => {
|
||||
const refreshWorkspacesMeta = async () => {
|
||||
const workspacesMeta = await getWorkspaces().catch(() => {
|
||||
const dc = await getDataCenter();
|
||||
const workspacesMeta = await dc.apis.getWorkspaces().catch(() => {
|
||||
return [];
|
||||
});
|
||||
setState(state => ({ ...state, workspacesMeta }));
|
||||
|
||||
Reference in New Issue
Block a user