UNPKG

@hirebus/academy

Version:

React component library for academy and learning platforms

82 lines (81 loc) 2.12 kB
export declare enum CourseCategory { AllCourses = "All Courses", ProfessionalDevelopment = "Professional Development", SkillsDevelopment = "Skills Development", WorkplaceSuccess = "Workplace Success", Management = "Management", Leadership = "Leadership" } export declare enum MimeType { PDF = "application/pdf", MP4 = "video/mp4", PNG = "image/png", WEBP = "image/webp", JPG = "image/jpeg" } export declare enum CourseStatus { DRAFT = "Draft", ACTIVE = "Active", INACTIVE = "Inactive" } export interface CourseFileUpload { id: string; fileName: string; size: number | null; mimeType: MimeType; duration?: number; file: File; base64Thumbnail?: string; signedS3Url?: string; } export interface Chapter { courseContentId: string; title: string; priority: number; timestamp: number; keywords?: string[]; courseId: string; createdAt: string; updatedAt: string; } export type UploadStatus = 'Pending' | 'Uploaded'; export interface CourseFile { courseFileId: string; fileName: string; signedS3Url?: string; size: number | null; uploadedAt: string; updatedAt: string; courseId: string; uploadStatus?: UploadStatus; base64Thumbnail?: string; mimeType?: MimeType; duration?: number; } export interface Course { courseId: string; name: string; description: string; category: CourseCategory; tags: string[]; enrolledUsers?: string[]; completionRate?: number; status: CourseStatus; creatorId: number; courseFiles?: CourseFile[]; courseContent: Chapter[]; videoProgress?: number; createdAt: string; updatedAt: string; } export type CourseListResponse = Array<{ name: string; description: string; category: 'All Courses' | 'Professional Development' | 'Skills Development' | 'Workplace Success' | 'Management' | 'Leadership'; tags: Array<string>; courseId: string; enrolledUsers: Array<string>; status: 'Draft' | 'Active' | 'Inactive'; createdAt: string; updatedAt: string; }>;