UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

119 lines 3.94 kB
export interface CreateSiteData { name: string; slug: string; domain?: string; subdomain?: string; description?: string; templateId: string; ownerId: string; } export interface UpdateSiteData { name?: string; description?: string; domain?: string; subdomain?: string; status?: "DRAFT" | "ACTIVE" | "INACTIVE" | "ARCHIVED"; isPublished?: boolean; settings?: Record<string, unknown>; templateData?: Record<string, unknown>; } export interface SiteListOptions { ownerId?: string; status?: "DRAFT" | "ACTIVE" | "INACTIVE" | "ARCHIVED"; search?: string; page?: number; pageSize?: number; sortBy?: "name" | "createdAt" | "updatedAt"; sortOrder?: "asc" | "desc"; } export interface Site { id: string; name: string; slug: string; domain?: string | null; subdomain?: string | null; description?: string | null; templateId: string; templateData?: Record<string, unknown> | null; status: "DRAFT" | "ACTIVE" | "INACTIVE" | "ARCHIVED"; isPublished: boolean; publishedAt?: Date | null; ownerId: string; settings?: Record<string, unknown> | null; createdAt: Date; updatedAt: Date; _count?: { siteSections: number; pages: number; assets: number; siteUsers: number; }; } export declare class SiteApiService { getSites(options?: SiteListOptions): Promise<{ sites: Site[]; totalCount: number; page: number; pageSize: number; totalPages: number; }>; getSite(siteId: string, includeRelations?: boolean): Promise<Site | null>; getSiteBySlug(slug: string): Promise<Site | null>; getSiteByDomain(domain: string): Promise<Site | null>; createSite(data: CreateSiteData): Promise<Site>; updateSite(siteId: string, data: UpdateSiteData): Promise<Site>; deleteSite(siteId: string): Promise<void>; publishSite(siteId: string): Promise<Site>; unpublishSite(siteId: string): Promise<Site>; cloneSite(siteId: string, newData: { name: string; slug: string; ownerId: string; }): Promise<Site>; getSiteStats(ownerId?: string): Promise<{ total: number; published: number; draft: number; active: number; inactive: number; byTemplate: Record<string, number>; }>; searchSites(query: string, ownerId?: string, limit?: number): Promise<{ id: string; name: string; slug: string; domain?: string | null; }[]>; } export declare const siteApiService: SiteApiService; export declare const createSite: (data: CreateSiteData) => Promise<Site>; export declare const getSites: (options?: SiteListOptions) => Promise<{ sites: Site[]; totalCount: number; page: number; pageSize: number; totalPages: number; }>; export declare const getSite: (id: string, includeRelations?: boolean) => Promise<Site>; export declare const getSiteBySlug: (slug: string) => Promise<Site>; export declare const getSiteByDomain: (domain: string) => Promise<Site>; export declare const updateSite: (id: string, data: UpdateSiteData) => Promise<Site>; export declare const deleteSite: (id: string) => Promise<void>; export declare const publishSite: (id: string) => Promise<Site>; export declare const unpublishSite: (id: string) => Promise<Site>; export declare const cloneSite: (id: string, newData: Parameters<typeof siteApiService.cloneSite>[1]) => Promise<Site>; export declare const getSiteStats: (ownerId?: string) => Promise<{ total: number; published: number; draft: number; active: number; inactive: number; byTemplate: Record<string, number>; }>; export declare const searchSites: (query: string, ownerId?: string, limit?: number) => Promise<{ id: string; name: string; slug: string; domain?: string | null; }[]>; //# sourceMappingURL=site-api.d.ts.map