basics-courses-mcp
Version:
Interactive programming courses from Basics - MCP server for Cursor
126 lines • 4.44 kB
TypeScript
export interface UserProfile {
id: string;
user_id: string;
email: string;
username: string;
full_name: string;
role: 'user' | 'creator' | 'admin';
learning_mode: 'beginner' | 'intermediate' | 'advanced';
question_mode: 'none' | 'minimal' | 'moderate' | 'comprehensive';
auth_code: string;
development_experience?: string;
media_influence?: any;
analogy_preferences?: any;
}
export interface Course {
id: string;
title: string;
description: string;
slug: string;
creator_id: string;
status: 'draft' | 'published' | 'archived';
difficulty_level: string;
primary_category: string;
tags: string[];
estimated_duration?: string;
is_featured: boolean;
enrollment_count: number;
average_rating: number;
total_ratings: number;
created_at: string;
updated_at: string;
published_at?: string;
}
export interface CourseModule {
id: string;
course_id: string;
title: string;
description?: string;
order_index: number;
is_published: boolean;
created_at: string;
updated_at: string;
}
export interface CourseLesson {
id: string;
module_id: string;
title: string;
content?: string;
lesson_type: 'text' | 'video' | 'quiz' | 'code';
duration_minutes?: number;
order_index: number;
is_free: boolean;
is_published: boolean;
created_at: string;
updated_at: string;
}
export interface LessonStep {
id: string;
lesson_id: string;
title: string;
content: string;
step_type: 'content' | 'code' | 'quiz' | 'exercise';
order_index: number;
is_published: boolean;
quiz_step_ids: string[];
created_at: string;
updated_at: string;
}
export interface CourseEnrollment {
id: string;
user_id: string;
course_id: string;
progress: number;
started_at: string;
completed_at?: string;
last_accessed_at: string;
created_at: string;
updated_at: string;
title: string;
description: string;
difficulty_level: string;
slug: string;
tags: string[];
primary_category: string;
estimated_duration?: string;
}
export interface StepProgress {
id: string;
user_id: string;
step_id: string;
completed_at: string;
time_spent_seconds?: number;
created_at: string;
}
export declare function getUserProfile(email: string): Promise<UserProfile | null>;
export declare function getUserPreferences(userProfileId: string): Promise<any | null>;
export declare function updateQuestionPreference(userProfileId: string, questionMode: 'none' | 'minimal' | 'moderate' | 'comprehensive'): Promise<boolean>;
export declare function updateLearningMode(userProfileId: string, learningMode: 'beginner' | 'intermediate' | 'advanced'): Promise<boolean>;
export declare function verifyAuthCode(email: string, authCode: string): Promise<{
success: boolean;
message: string;
}>;
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 getLessonSteps(lessonId: string): Promise<LessonStep[]>;
export declare function getStepById(stepId: string): Promise<LessonStep | null>;
export declare function getUserEnrollments(email: string): Promise<CourseEnrollment[]>;
export declare function enrollUserInCourse(userId: string, courseId: string): Promise<boolean>;
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<LessonStep | null>;
export declare function getCourseStats(courseId: string): Promise<{
totalEnrollments: number;
averageRating: number;
totalRatings: number;
completionRate: number;
}>;
export declare function updateUserProgress(userId: string, courseId: string, progress: number): Promise<boolean>;
export declare function getCourseFirstLesson(courseId: string): Promise<CourseLesson | null>;
//# sourceMappingURL=database-helper-old.d.ts.map