@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
TypeScript
/**
* 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