geo/frontend/lib/api/index.ts

209 lines
6.9 KiB
TypeScript

// ── 基础客户端 ─────────────────────────────────────────────────────────────────
export { fetchWithAuth, getApiUrl, API_BASE } from "./client";
// ── 各模块 API ─────────────────────────────────────────────────────────────────
export { authApi } from "./auth";
export { queriesApi } from "./queries";
export type { ApiQueryItem, QueryListResponse, CreateQueryPayload, UpdateQueryPayload } from "./queries";
export { citationsApi } from "./citations";
export type { CitationRecord, CitationListResponse, CitationStats } from "./citations";
export { reportsApi } from "./reports";
export { subscriptionsApi } from "./subscriptions";
export type { SubscriptionInfo } from "./subscriptions";
export { adminApi } from "./admin";
export type { AdminStatsData, AdminUser, AdminUserListResponse, AdminActionResponse } from "./admin";
export { agentsApi } from "./agents";
export { lifecycleApi } from "./lifecycle";
export { contentsApi } from "./contents";
export { clientsApi } from "./clients";
export { knowledgeApi } from "./knowledge";
export { contentGenerationApi } from "./content";
export { distributionApi } from "./distribution";
export { analyticsApi } from "./analytics";
export { alertsApi } from "./alerts";
export { brandsApi } from "./brands";
export type { CreateBrandPayload, UpdateBrandPayload, AddCompetitorPayload } from "./brands";
export { suggestionsApi } from "./suggestions";
export { onboardingApi } from "./onboarding";
export { platformRulesApi } from "./platform-rules";
export { imageApi, IMAGE_GENERATION_CONFIG } from "./image";
export { organizationApi } from "./organization";
export type {
OrganizationMember,
OrganizationInfo,
MemberRole,
MemberStatus,
InviteMemberPayload,
UpdateMemberRolePayload,
} from "./organization";
export { detectionApi } from "./detection";
export { strategyApi } from "./strategy";
export { monitoringApi } from "./monitoring";
export type {
MonitoringRecordCreate,
MonitoringRecord,
MonitoringRecordList,
MonitoringChangeReport,
MonitoringStatusUpdate,
MonitoringRecordResponse,
} from "./monitoring";
export { competitorAnalysisApi } from "./competitor-analysis";
export type {
CompetitorAnalysisRequest,
CompetitorInsight,
CompetitorInsightList,
CompetitorInsightResponse,
CompetitorGapSummary,
} from "./competitor-analysis";
export { schemaAdvisorApi } from "./schema-advisor";
export type {
SchemaAdviseRequest,
SchemaSuggestion,
SchemaSuggestionList,
SchemaSuggestionResponse,
} from "./schema-advisor";
export { trendsApi } from "./trends";
export type {
TrendInsightRequest,
TrendInsight,
TrendInsightList,
TrendInsightResponse,
TrendSummary,
} from "./trends";
export { competitorApi } from "./competitor";
export type {
Competitor,
CompetitorListResponse,
AddCompetitorRequest,
CompetitorRecommendation,
CompetitorInsightDetail,
} from "./competitor";
export { usageApi } from "./usage";
export type { UsageQuota, UsageResponse } from "./usage";
// ── 类型导出 ───────────────────────────────────────────────────────────────────
export type { Agent, AgentRunLog } from "./agents";
export type {
GeoProject,
ProjectStage,
ProjectStatus,
LifecycleStats,
CreateProjectPayload,
UpdateProjectPayload,
} from "./lifecycle";
export type {
Content,
ContentType,
ContentStatus,
KnowledgeEntry,
CreateContentPayload,
UpdateContentPayload,
} from "./contents";
export type {
Client,
ClientStatus,
CreateClientPayload,
UpdateClientPayload,
} from "./clients";
export type {
KnowledgeBase,
KnowledgeDocument,
SearchResult,
SearchResponse,
CreateKnowledgeBasePayload,
UploadDocumentPayload,
} from "./knowledge";
export type {
OverviewStatsResponse,
TopContentItem,
TopContentResponse,
InsightResponse,
PublishRecordCreate,
PublishRecordResponse,
MetricsUpdateRequest,
MetricsResponse,
ContentPerformanceResponse,
} from "./analytics";
export type {
PlatformInfo,
PlatformListResponse,
ValidationIssue,
ContentValidateResponse,
ScheduleItem,
PublishStrategyResponse,
ContentFormatResponse,
ScheduleCreateResponse,
} from "./distribution";
export type {
ContentGenerateRequest,
ContentGenerateResponse,
PipelineStage,
TopicItem,
GenerateTopicsResponse,
} from "./content";
// ── 向后兼容:聚合 api 对象 ────────────────────────────────────────────────────
import { authApi } from "./auth";
import { queriesApi } from "./queries";
import { citationsApi } from "./citations";
import { reportsApi } from "./reports";
import { subscriptionsApi } from "./subscriptions";
import { adminApi } from "./admin";
import { agentsApi } from "./agents";
import { lifecycleApi } from "./lifecycle";
import { contentsApi } from "./contents";
import { clientsApi } from "./clients";
import { knowledgeApi } from "./knowledge";
import { contentGenerationApi } from "./content";
import { distributionApi } from "./distribution";
import { analyticsApi } from "./analytics";
import { alertsApi } from "./alerts";
import { brandsApi } from "./brands";
import { suggestionsApi } from "./suggestions";
import { onboardingApi } from "./onboarding";
import { platformRulesApi } from "./platform-rules";
import { imageApi } from "./image";
import { detectionApi } from "./detection";
import { strategyApi } from "./strategy";
import { monitoringApi } from "./monitoring";
import { competitorAnalysisApi } from "./competitor-analysis";
import { schemaAdvisorApi } from "./schema-advisor";
import { trendsApi } from "./trends";
import { competitorApi } from "./competitor";
import { usageApi } from "./usage";
/**
* 聚合 API 对象,保持与原 `import { api } from "@/lib/api"` 的向后兼容。
* 新代码推荐直接从 "@/lib/api" 导入各模块(如 `import { authApi } from "@/lib/api"`)。
*/
export const api = {
auth: authApi,
queries: queriesApi,
citations: citationsApi,
reports: reportsApi,
subscriptions: subscriptionsApi,
admin: adminApi,
agents: agentsApi,
lifecycle: lifecycleApi,
contents: contentsApi,
clients: clientsApi,
knowledge: knowledgeApi,
contentGeneration: contentGenerationApi,
distribution: distributionApi,
analytics: analyticsApi,
alerts: alertsApi,
brands: brandsApi,
suggestions: suggestionsApi,
onboarding: onboardingApi,
platformRules: platformRulesApi,
image: imageApi,
detection: detectionApi,
strategy: strategyApi,
monitoring: monitoringApi,
competitorAnalysis: competitorAnalysisApi,
schemaAdvisor: schemaAdvisorApi,
trends: trendsApi,
competitor: competitorApi,
usage: usageApi,
};