@basicsu/courses-mcp
Version:
Interactive programming courses from Basics - MCP server for Cursor
75 lines • 2.72 kB
TypeScript
export interface UserProfile {
id: string;
email: string;
full_name: string;
username: string;
}
export interface CourseEnrollment {
id: string;
course_id: string;
user_id: string;
progress: number;
started_at: string;
completed_at?: string;
last_accessed_at: string;
title: string;
description: string;
difficulty_level: string;
slug?: string;
tags: string[];
primary_category: string;
estimated_duration?: string;
}
export interface Course {
id: string;
title: string;
description: string;
difficulty_level: string;
status: string;
tags: string[];
primary_category: string;
estimated_duration?: string;
is_featured: boolean;
slug?: string;
}
export interface CourseLesson {
id: string;
module_id: string;
title: string;
content?: string;
lesson_type: string;
duration_minutes?: number;
order_index: number;
is_free: boolean;
}
export interface CourseModule {
id: string;
course_id: string;
title: string;
description?: string;
order_index: number;
}
export declare function getUserProfile(email: string): Promise<UserProfile | null>;
export declare function getUserPreferences(userProfileId: string): Promise<any | null>;
export declare function getUserEnrollments(email: string): Promise<CourseEnrollment[]>;
export declare function getPublishedCourses(): Promise<Course[]>;
export declare function getCourseByIdentifier(identifier: string): Promise<Course | null>;
export declare function getCourseModules(courseId: string): Promise<CourseModule[]>;
export declare function getCourseLessons(moduleId: string): Promise<CourseLesson[]>;
export declare function getCourseFirstLesson(courseId: string): Promise<CourseLesson | null>;
export declare function enrollUserInCourse(userId: string, courseId: string): Promise<boolean>;
export declare function updateUserProgress(userId: string, courseId: string, progress: number): Promise<boolean>;
export declare function verifyAuthCode(email: string, authCode: string): Promise<{
success: boolean;
message: string;
}>;
export declare function getLessonSteps(lessonId: string): Promise<any[]>;
export declare function getStepById(stepId: string): Promise<any | null>;
export declare function markStepComplete(userProfileId: string, stepId: string): Promise<boolean>;
export declare function getUserStepProgress(userProfileId: string, courseId: string): Promise<{
totalSteps: number;
completedSteps: number;
progress: number;
}>;
export declare function getNextStep(userId: string, lessonId: string, currentStepId?: string): Promise<any | null>;
//# sourceMappingURL=database-helper.d.ts.map