import api from "@/lib/api-client"; import { IPagination, QueryParams } from "@/lib/types.ts"; import { IPublicSpace, IPublicSpaceDirectory, IPublicSpaceInfo, IPublicSpacePage, IPublicSpaceTree, IPublishedSpaceItem, IPublishSpace, } from "@/features/public-space/types/public-space.types.ts"; export async function getPublishedSpaces( params?: QueryParams, ): Promise> { const req = await api.post>( "/public-spaces", params, ); return req.data; } export async function getPublicSpaceInfo( spaceSlug: string, ): Promise { const req = await api.post("/public-spaces/info", { spaceSlug, }); return req.data; } export async function getPublicSpaceTree( spaceSlug: string, ): Promise { const req = await api.post("/public-spaces/tree", { spaceSlug, }); return req.data; } export async function getPublicSpacePage(params: { spaceSlug: string; pageSlugId?: string; contentless?: boolean; }): Promise { const req = await api.post( "/public-spaces/page-info", params, ); return req.data; } export async function getPublicSpaceDirectory(): Promise { const req = await api.post( "/public-spaces/directory", {}, ); return req.data; } export async function getPublicSpaceForSpace( spaceId: string, ): Promise { const req = await api.post("/public-spaces/for-space", { spaceId, }); return req.data; } export async function publishSpace(data: IPublishSpace): Promise { const req = await api.post("/public-spaces/publish", data); return req.data; }