@@ -21,7 +21,13 @@ import {
2121 CreateSpacePayload ,
2222 UpdateSpacePayload ,
2323 Role ,
24- WorkspaceMember , QuickNote , QuickNoteEditorData , CreateWorkspacePayload , UpdateWorkspacePayload ,
24+ WorkspaceMember ,
25+ QuickNote ,
26+ QuickNoteEditorData ,
27+ CreateWorkspacePayload ,
28+ UpdateWorkspacePayload ,
29+ PublishViewPayload ,
30+ UploadPublishNamespacePayload ,
2531} from '@/application/types' ;
2632import { GlobalComment , Reaction } from '@/application/comment.type' ;
2733import { initGrantService , refreshToken } from '@/application/services/js-services/http/gotrue' ;
@@ -328,6 +334,48 @@ export async function getUserWorkspaceInfo (): Promise<{
328334 return Promise . reject ( data ) ;
329335}
330336
337+ export async function publishView ( workspaceId : string , viewId : string , payload ?: PublishViewPayload ) {
338+ const url = `/api/workspace/${ workspaceId } /page-view/${ viewId } /publish` ;
339+ const response = await axiosInstance ?. post < {
340+ code : number ;
341+ message : string ;
342+ } > ( url , payload ) ;
343+
344+ if ( response ?. data . code === 0 ) {
345+ return ;
346+ }
347+
348+ return Promise . reject ( response ?. data ) ;
349+ }
350+
351+ export async function unpublishView ( workspaceId : string , viewId : string ) {
352+ const url = `/api/workspace/${ workspaceId } /page-view/${ viewId } /unpublish` ;
353+ const response = await axiosInstance ?. delete < {
354+ code : number ;
355+ message : string ;
356+ } > ( url ) ;
357+
358+ if ( response ?. data . code === 0 ) {
359+ return ;
360+ }
361+
362+ return Promise . reject ( response ?. data ) ;
363+ }
364+
365+ export async function updatePublishNamespace ( workspaceId : string , payload : UploadPublishNamespacePayload ) {
366+ const url = `/api/workspace/${ workspaceId } /publish-namespace` ;
367+ const response = await axiosInstance ?. put < {
368+ code : number ;
369+ message : string ;
370+ } > ( url , payload ) ;
371+
372+ if ( response ?. data . code === 0 ) {
373+ return ;
374+ }
375+
376+ return Promise . reject ( response ?. data ) ;
377+ }
378+
331379export async function getPublishViewMeta ( namespace : string , publishName : string ) {
332380 const url = `/api/workspace/v1/published/${ namespace } /${ publishName } ` ;
333381 const response = await axiosInstance ?. get < {
@@ -491,6 +539,9 @@ export async function getPublishInfoWithViewId (viewId: string) {
491539 data ?: {
492540 namespace : string ;
493541 publish_name : string ;
542+ publisher_email : string ;
543+ view_id : string ;
544+ publish_timestamp : string ;
494545 } ;
495546 message : string ;
496547 } > ( url ) ;
@@ -596,6 +647,75 @@ export async function getView (workspaceId: string, viewId: string, depth: numbe
596647 return Promise . reject ( data ) ;
597648}
598649
650+ export async function getPublishNamespace ( workspaceId : string ) {
651+ const url = `/api/workspace/${ workspaceId } /publish-namespace` ;
652+ const response = await axiosInstance ?. get < {
653+ code : number ;
654+ data ?: string ;
655+ message : string ;
656+ } > ( url ) ;
657+
658+ const data = response ?. data ;
659+
660+ if ( data ?. code === 0 && data . data ) {
661+ return data . data ;
662+ }
663+
664+ return Promise . reject ( data ) ;
665+ }
666+
667+ export async function getPublishHomepage ( workspaceId : string ) {
668+ const url = `/api/workspace/${ workspaceId } /publish-default` ;
669+ const response = await axiosInstance ?. get < {
670+ code : number ;
671+ data ?: {
672+ namespace : string ;
673+ publish_name : string ;
674+ publisher_email : string ;
675+ view_id : string ;
676+ } ;
677+ message : string ;
678+ } > ( url ) ;
679+
680+ const data = response ?. data ;
681+
682+ if ( data ?. code === 0 && data . data ) {
683+ return data . data ;
684+ }
685+
686+ return Promise . reject ( data ) ;
687+ }
688+
689+ export async function updatePublishHomepage ( workspaceId : string , viewId : string ) {
690+ const url = `/api/workspace/${ workspaceId } /publish-default` ;
691+ const response = await axiosInstance ?. put < {
692+ code : number ;
693+ message : string ;
694+ } > ( url , {
695+ view_id : viewId ,
696+ } ) ;
697+
698+ if ( response ?. data . code === 0 ) {
699+ return ;
700+ }
701+
702+ return Promise . reject ( response ?. data ) ;
703+ }
704+
705+ export async function removePublishHomepage ( workspaceId : string ) {
706+ const url = `/api/workspace/${ workspaceId } /publish-default` ;
707+ const response = await axiosInstance ?. delete < {
708+ code : number ;
709+ message : string ;
710+ } > ( url ) ;
711+
712+ if ( response ?. data . code === 0 ) {
713+ return ;
714+ }
715+
716+ return Promise . reject ( response ?. data ) ;
717+ }
718+
599719export async function getPublishOutline ( publishNamespace : string ) {
600720 const url = `/api/workspace/published-outline/${ publishNamespace } ` ;
601721 const response = await axiosInstance ?. get < {
0 commit comments