UNPKG

@iota-big3/sdk-education-admin-api-v2

Version:

Clean Education Admin API v2 with Perfect Delegation Patterns and Relationship Intelligence

96 lines 2.53 kB
/** * Education Admin API v2 - Clean Implementation * Built on proven delegation patterns with relationship intelligence * Zero legacy baggage, 100% TypeScript compliance * * Core Features: * - Perfect Delegation to sdk-education-core services * - Relationship Intelligence (Competitive Differentiator) * - Chattanooga Prep Integration Ready * - Production-ready with Result<T,E> patterns * - Enterprise security and observability */ import { EventEmitter } from 'events'; import { Express } from 'express'; interface Result<T, E = Error> { success: boolean; data?: T; error?: E; message?: string; } interface AdminAPIConfig { port?: number; enableRelationshipIntelligence?: boolean; chattanoogaMode?: boolean; aiInsightsEnabled?: boolean; services?: { database?: any; events?: any; auth?: any; observability?: any; }; security?: { enableCors?: boolean; enableHelmet?: boolean; enableRateLimit?: boolean; }; } /** * AdminAPI v2 - Clean delegation-based implementation * Orchestrates education services with relationship intelligence */ export declare class AdminAPI extends EventEmitter { private app; private config; private services; private server; private startTime; private requestCount; private errorCount; constructor(config?: AdminAPIConfig); /** * Setup Express middleware with delegation patterns */ private setupMiddleware; /** * Setup API routes with relationship intelligence */ private setupRoutes; /** * Error handler */ private setupErrorHandler; /** * Async wrapper for route handlers */ private wrapAsync; private getStudents; private getStudent; private createStudent; private getCourses; private getCourse; private createCourse; private getRelationshipHealthDashboard; private getStaffRelationshipImpact; private getPolicyDecisionAnalysis; private getChattanoogaMetrics; private getAdminDashboard; private getStudentCount; private getCourseCount; private getActiveRelationshipCount; /** * Start the AdminAPI server */ start(port?: number): Promise<void>; /** * Stop the AdminAPI server */ stop(): Promise<void>; /** * Get Express app instance (for testing) */ getApp(): Express; } export type { AdminAPIConfig, Result }; export default AdminAPI; //# sourceMappingURL=index.d.ts.map