blurpritn adn site builde cleanup

This commit is contained in:
IGNY8 VPS (Salman)
2025-12-01 02:22:02 +00:00
parent 3f2385d4d9
commit a7a772a78c
33 changed files with 1591 additions and 1308 deletions

View File

@@ -2297,104 +2297,8 @@ export async function deleteTaxonomy(id: number): Promise<void> {
});
}
// Site Builder API
export interface SiteBlueprint {
id: number;
name: string;
description?: string;
config_json: Record<string, any>;
structure_json: Record<string, any>;
status: string;
hosting_type: string;
version: number;
deployed_version?: number;
account_id?: number;
site_id?: number;
sector_id?: number;
created_at: string;
updated_at: string;
pages?: PageBlueprint[];
gating_messages?: string[];
}
export interface PageBlueprint {
id: number;
site_blueprint_id: number;
site_blueprint?: number;
slug: string;
title: string;
type: string;
blocks_json: any[];
status: string;
order: number;
created_at: string;
updated_at: string;
}
export async function fetchSiteBlueprints(filters?: {
site_id?: number;
sector_id?: number;
status?: string;
page?: number;
page_size?: number;
}): Promise<{ count: number; next: string | null; previous: string | null; results: SiteBlueprint[] }> {
const params = new URLSearchParams();
if (filters?.site_id) params.append('site_id', filters.site_id.toString());
if (filters?.sector_id) params.append('sector_id', filters.sector_id.toString());
if (filters?.status) params.append('status', filters.status);
if (filters?.page) params.append('page', filters.page.toString());
if (filters?.page_size) params.append('page_size', filters.page_size.toString());
const queryString = params.toString();
const endpoint = queryString
? `/v1/site-builder/blueprints/?${queryString}`
: `/v1/site-builder/blueprints/`;
return fetchAPI(endpoint);
}
export async function fetchSiteBlueprintById(id: number): Promise<SiteBlueprint> {
return fetchAPI(`/v1/site-builder/blueprints/${id}/`);
}
// Stage 3: Site Progress API
export interface SiteProgress {
blueprint_id: number;
blueprint_name: string;
overall_status: 'in_progress' | 'complete' | 'blocked';
cluster_coverage?: {
total_clusters: number;
covered_clusters: number;
details: Array<{
cluster_id: number;
cluster_name: string;
role: string;
coverage_status: string;
validation_messages: string[];
tasks_count: number;
content_count: number;
hub_pages: number;
supporting_pages: number;
attribute_pages: number;
is_complete: boolean;
}>;
};
taxonomy_coverage?: {
total_taxonomies: number;
defined_taxonomies: number;
details: any[];
};
validation_flags?: {
clusters_attached: boolean;
taxonomies_defined: boolean;
sitemap_generated: boolean;
all_pages_generated: boolean;
};
}
export async function fetchSiteProgress(blueprintId: number): Promise<SiteProgress> {
return fetchAPI(`/v1/site-builder/blueprints/${blueprintId}/progress/`);
}
// Legacy: Site Builder API removed
// SiteBlueprint, PageBlueprint, and related functions deprecated
// Stage 4: Sync Health API
export interface SyncStatus {