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 shareDocsService = useService(ShareDocsService);
|
||||||
const shareDocs = useLiveData(shareDocsService.shareDocs.list$);
|
const shareDocs = useLiveData(shareDocsService.shareDocs?.list$);
|
||||||
|
|
||||||
const getPublicMode = useCallback(
|
const getPublicMode = useCallback(
|
||||||
(id: string) => {
|
(id: string) => {
|
||||||
@@ -33,7 +33,7 @@ export const useFilteredPageMetas = (
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// TODO: loading & error UI
|
// TODO: loading & error UI
|
||||||
shareDocsService.shareDocs.revalidate();
|
shareDocsService.shareDocs?.revalidate();
|
||||||
}, [shareDocsService]);
|
}, [shareDocsService]);
|
||||||
|
|
||||||
const favAdapter = useService(FavoriteItemsAdapter);
|
const favAdapter = useService(FavoriteItemsAdapter);
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ import { usePageHelper } from '../../components/blocksuite/block-suite-page-list
|
|||||||
export const useAllPageListConfig = () => {
|
export const useAllPageListConfig = () => {
|
||||||
const currentWorkspace = useService(WorkspaceService).workspace;
|
const currentWorkspace = useService(WorkspaceService).workspace;
|
||||||
const shareDocService = useService(ShareDocsService);
|
const shareDocService = useService(ShareDocsService);
|
||||||
const shareDocs = useLiveData(shareDocService.shareDocs.list$);
|
const shareDocs = useLiveData(shareDocService.shareDocs?.list$);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// TODO: loading & error UI
|
// TODO: loading & error UI
|
||||||
shareDocService.shareDocs.revalidate();
|
shareDocService.shareDocs?.revalidate();
|
||||||
}, [shareDocService]);
|
}, [shareDocService]);
|
||||||
|
|
||||||
const workspace = currentWorkspace.docCollection;
|
const workspace = currentWorkspace.docCollection;
|
||||||
|
|||||||
@@ -36,12 +36,12 @@ export class ShareDocsList extends Entity {
|
|||||||
|
|
||||||
revalidate = effect(
|
revalidate = effect(
|
||||||
switchMap(() =>
|
switchMap(() =>
|
||||||
fromPromise(signal =>
|
fromPromise(signal => {
|
||||||
this.store.getWorkspacesShareDocs(
|
return this.store.getWorkspacesShareDocs(
|
||||||
this.workspaceService.workspace.id,
|
this.workspaceService.workspace.id,
|
||||||
signal
|
signal
|
||||||
)
|
);
|
||||||
).pipe(
|
}).pipe(
|
||||||
backoffRetry({
|
backoffRetry({
|
||||||
when: isNetworkError,
|
when: isNetworkError,
|
||||||
count: Infinity,
|
count: Infinity,
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import { ShareDocsStore } from './stores/share-docs';
|
|||||||
export function configureShareDocsModule(framework: Framework) {
|
export function configureShareDocsModule(framework: Framework) {
|
||||||
framework
|
framework
|
||||||
.scope(WorkspaceScope)
|
.scope(WorkspaceScope)
|
||||||
.service(ShareDocsService)
|
.service(ShareDocsService, [WorkspaceService])
|
||||||
.store(ShareDocsStore, [GraphQLService])
|
.store(ShareDocsStore, [GraphQLService])
|
||||||
.entity(ShareDocsList, [
|
.entity(ShareDocsList, [
|
||||||
WorkspaceService,
|
WorkspaceService,
|
||||||
|
|||||||
@@ -1,7 +1,16 @@
|
|||||||
|
import { WorkspaceFlavour } from '@affine/env/workspace';
|
||||||
|
import type { WorkspaceService } from '@toeverything/infra';
|
||||||
import { Service } from '@toeverything/infra';
|
import { Service } from '@toeverything/infra';
|
||||||
|
|
||||||
import { ShareDocsList } from '../entities/share-docs-list';
|
import { ShareDocsList } from '../entities/share-docs-list';
|
||||||
|
|
||||||
export class ShareDocsService extends Service {
|
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'];
|
name: Scalars['String']['input'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface CreateUserInput {
|
||||||
|
email: Scalars['String']['input'];
|
||||||
|
name: InputMaybe<Scalars['String']['input']>;
|
||||||
|
password: InputMaybe<Scalars['String']['input']>;
|
||||||
|
}
|
||||||
|
|
||||||
export interface DeleteSessionInput {
|
export interface DeleteSessionInput {
|
||||||
docId: Scalars['String']['input'];
|
docId: Scalars['String']['input'];
|
||||||
sessionIds: Array<Scalars['String']['input']>;
|
sessionIds: Array<Scalars['String']['input']>;
|
||||||
@@ -122,6 +128,11 @@ export enum InvoiceStatus {
|
|||||||
Void = 'Void',
|
Void = 'Void',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ListUserInput {
|
||||||
|
first: InputMaybe<Scalars['Int']['input']>;
|
||||||
|
skip: InputMaybe<Scalars['Int']['input']>;
|
||||||
|
}
|
||||||
|
|
||||||
export enum OAuthProviderType {
|
export enum OAuthProviderType {
|
||||||
GitHub = 'GitHub',
|
GitHub = 'GitHub',
|
||||||
Google = 'Google',
|
Google = 'Google',
|
||||||
|
|||||||
Reference in New Issue
Block a user