mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
fix(core): fetch share docs on non-cloud workspace (#7144)
This commit is contained in:
@@ -17,7 +17,7 @@ export const useFilteredPageMetas = (
|
||||
} = {}
|
||||
) => {
|
||||
const shareDocsService = useService(ShareDocsService);
|
||||
const shareDocs = useLiveData(shareDocsService.shareDocs.list$);
|
||||
const shareDocs = useLiveData(shareDocsService.shareDocs?.list$);
|
||||
|
||||
const getPublicMode = useCallback(
|
||||
(id: string) => {
|
||||
@@ -33,7 +33,7 @@ export const useFilteredPageMetas = (
|
||||
|
||||
useEffect(() => {
|
||||
// TODO: loading & error UI
|
||||
shareDocsService.shareDocs.revalidate();
|
||||
shareDocsService.shareDocs?.revalidate();
|
||||
}, [shareDocsService]);
|
||||
|
||||
const favAdapter = useService(FavoriteItemsAdapter);
|
||||
|
||||
@@ -15,11 +15,11 @@ import { usePageHelper } from '../../components/blocksuite/block-suite-page-list
|
||||
export const useAllPageListConfig = () => {
|
||||
const currentWorkspace = useService(WorkspaceService).workspace;
|
||||
const shareDocService = useService(ShareDocsService);
|
||||
const shareDocs = useLiveData(shareDocService.shareDocs.list$);
|
||||
const shareDocs = useLiveData(shareDocService.shareDocs?.list$);
|
||||
|
||||
useEffect(() => {
|
||||
// TODO: loading & error UI
|
||||
shareDocService.shareDocs.revalidate();
|
||||
shareDocService.shareDocs?.revalidate();
|
||||
}, [shareDocService]);
|
||||
|
||||
const workspace = currentWorkspace.docCollection;
|
||||
|
||||
@@ -36,12 +36,12 @@ export class ShareDocsList extends Entity {
|
||||
|
||||
revalidate = effect(
|
||||
switchMap(() =>
|
||||
fromPromise(signal =>
|
||||
this.store.getWorkspacesShareDocs(
|
||||
fromPromise(signal => {
|
||||
return this.store.getWorkspacesShareDocs(
|
||||
this.workspaceService.workspace.id,
|
||||
signal
|
||||
)
|
||||
).pipe(
|
||||
);
|
||||
}).pipe(
|
||||
backoffRetry({
|
||||
when: isNetworkError,
|
||||
count: Infinity,
|
||||
|
||||
@@ -21,7 +21,7 @@ import { ShareDocsStore } from './stores/share-docs';
|
||||
export function configureShareDocsModule(framework: Framework) {
|
||||
framework
|
||||
.scope(WorkspaceScope)
|
||||
.service(ShareDocsService)
|
||||
.service(ShareDocsService, [WorkspaceService])
|
||||
.store(ShareDocsStore, [GraphQLService])
|
||||
.entity(ShareDocsList, [
|
||||
WorkspaceService,
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
import { WorkspaceFlavour } from '@affine/env/workspace';
|
||||
import type { WorkspaceService } from '@toeverything/infra';
|
||||
import { Service } from '@toeverything/infra';
|
||||
|
||||
import { ShareDocsList } from '../entities/share-docs-list';
|
||||
|
||||
export class ShareDocsService extends Service {
|
||||
shareDocs = this.framework.createEntity(ShareDocsList);
|
||||
constructor(private readonly workspaceService: WorkspaceService) {
|
||||
super();
|
||||
}
|
||||
|
||||
shareDocs =
|
||||
this.workspaceService.workspace.flavour === WorkspaceFlavour.AFFINE_CLOUD
|
||||
? this.framework.createEntity(ShareDocsList)
|
||||
: null;
|
||||
}
|
||||
|
||||
@@ -93,6 +93,12 @@ export interface CreateCopilotPromptInput {
|
||||
name: Scalars['String']['input'];
|
||||
}
|
||||
|
||||
export interface CreateUserInput {
|
||||
email: Scalars['String']['input'];
|
||||
name: InputMaybe<Scalars['String']['input']>;
|
||||
password: InputMaybe<Scalars['String']['input']>;
|
||||
}
|
||||
|
||||
export interface DeleteSessionInput {
|
||||
docId: Scalars['String']['input'];
|
||||
sessionIds: Array<Scalars['String']['input']>;
|
||||
@@ -122,6 +128,11 @@ export enum InvoiceStatus {
|
||||
Void = 'Void',
|
||||
}
|
||||
|
||||
export interface ListUserInput {
|
||||
first: InputMaybe<Scalars['Int']['input']>;
|
||||
skip: InputMaybe<Scalars['Int']['input']>;
|
||||
}
|
||||
|
||||
export enum OAuthProviderType {
|
||||
GitHub = 'GitHub',
|
||||
Google = 'Google',
|
||||
|
||||
Reference in New Issue
Block a user