refactor: remove package @affine/datacenter (#1705)

This commit is contained in:
Himself65
2023-03-27 17:48:22 -05:00
committed by GitHub
parent 021bf6534b
commit ed29c5fbd9
87 changed files with 187 additions and 5231 deletions

View File

@@ -1,26 +1,30 @@
import { currentAffineUserAtom } from '@affine/workspace/affine/atom';
import {
createAffineAuth,
parseIdToken,
setLoginStorage,
SignMethod,
} from '@affine/workspace/affine/login';
import { useSetAtom } from 'jotai';
import { useRouter } from 'next/router';
import { useCallback } from 'react';
import { apis } from '../../shared/apis';
import { toast } from '../../utils';
export const affineAuth = createAffineAuth();
export function useAffineLogIn() {
const router = useRouter();
const setUser = useSetAtom(currentAffineUserAtom);
return useCallback(async () => {
const response = await affineAuth.generateToken(SignMethod.Google);
if (response) {
setLoginStorage(response);
apis.auth.setLogin(response);
const user = parseIdToken(response.token);
setUser(user);
router.reload();
} else {
toast('Login failed');
}
}, [router]);
}, [router, setUser]);
}

View File

@@ -1,3 +1,4 @@
import { currentAffineUserAtom } from '@affine/workspace/affine/atom';
import { clearLoginStorage } from '@affine/workspace/affine/login';
import { WorkspaceFlavour } from '@affine/workspace/type';
import { useSetAtom } from 'jotai';
@@ -6,13 +7,12 @@ import { useCallback } from 'react';
import { jotaiWorkspacesAtom } from '../../atoms';
import { WorkspacePlugins } from '../../plugins';
import { apis } from '../../shared/apis';
export function useAffineLogOut() {
const set = useSetAtom(jotaiWorkspacesAtom);
const router = useRouter();
const setCurrentUser = useSetAtom(currentAffineUserAtom);
return useCallback(() => {
apis.auth.clear();
set(workspaces =>
workspaces.filter(
workspace => workspace.flavour !== WorkspaceFlavour.AFFINE
@@ -20,6 +20,7 @@ export function useAffineLogOut() {
);
WorkspacePlugins[WorkspaceFlavour.AFFINE].cleanup?.();
clearLoginStorage();
setCurrentUser(null);
router.reload();
}, [router, set]);
}, [router, set, setCurrentUser]);
}

View File

@@ -7,7 +7,6 @@ import {
} from '@affine/workspace/affine/login';
import useSWR from 'swr';
import { apis } from '../../shared/apis';
import { affineAuth } from './use-affine-log-in';
const logger = new DebugLogger('auth-token');
@@ -22,7 +21,6 @@ const revalidate = async () => {
const response = await affineAuth.refreshToken(storage);
if (response) {
setLoginStorage(response);
apis.auth.setLogin(response);
}
}
}

View File

@@ -1,4 +1,4 @@
import { PermissionType } from '@affine/datacenter';
import { PermissionType } from '@affine/workspace/affine/api';
import type { AffineOfficialWorkspace } from '../../shared';

View File

@@ -1,9 +1,9 @@
import type { Member } from '@affine/datacenter';
import type { Member } from '@affine/workspace/affine/api';
import { useCallback } from 'react';
import useSWR from 'swr';
import { QueryKey } from '../../plugins/affine/fetcher';
import { apis } from '../../shared/apis';
import { affineApis } from '../../shared/apis';
export function useMembers(workspaceId: string) {
const { data, mutate } = useSWR<Member[]>(
@@ -15,7 +15,7 @@ export function useMembers(workspaceId: string) {
const inviteMember = useCallback(
async (email: string) => {
await apis.inviteMember({
await affineApis.inviteMember({
id: workspaceId,
email,
});
@@ -26,8 +26,7 @@ export function useMembers(workspaceId: string) {
const removeMember = useCallback(
async (permissionId: number) => {
// fixme: what about the workspaceId?
await apis.removeMember({
await affineApis.removeMember({
permissionId,
});
return mutate();

View File

@@ -4,13 +4,13 @@ import useSWR from 'swr';
import { jotaiStore, jotaiWorkspacesAtom } from '../../atoms';
import { QueryKey } from '../../plugins/affine/fetcher';
import type { AffineWorkspace } from '../../shared';
import { apis } from '../../shared/apis';
import { affineApis } from '../../shared/apis';
export function useToggleWorkspacePublish(workspace: AffineWorkspace) {
const { mutate } = useSWR(QueryKey.getWorkspaces);
return useCallback(
async (isPublish: boolean) => {
await apis.updateWorkspace({
await affineApis.updateWorkspace({
id: workspace.id,
public: isPublish,
});