Commit graph

44 commits

Author SHA1 Message Date
JakkrapartXD
80d7372dfa feat: add instructor endpoints for student progress tracking and quiz score management
Add four new instructor endpoints: getEnrolledStudents to view all enrolled students with progress, getQuizScores to view quiz scores for all students in a lesson, getQuizAttemptDetail to view detailed quiz attempt for a specific student, and searchStudents to search enrolled students by name/email/username. Add getQuizAttempts endpoint for students to retrieve their own quiz attempt history. All endpoints include
2026-02-02 18:02:19 +07:00
JakkrapartXD
18b8f4501f feat: add is_skippable field to Quiz model with default value true
Add is_skippable boolean field to Quiz schema, update quiz creation and update logic to handle the new field, and include it in student course content responses. Update seed data and type definitions accordingly.
2026-02-02 11:17:20 +07:00
JakkrapartXD
d7f824f353 feat: standardize login response format with code, message, and data wrapper
Update login endpoint to return consistent API response structure with code, message, and data fields. Wrap token, refreshToken, and user data inside a data object to match the standardized response format used across other endpoints.
2026-01-30 17:54:43 +07:00
JakkrapartXD
4ff57555a2 feat: conditionally hide correct_answers count based on show_answers_after_completion setting
Update quiz submission response to respect the show_answers_after_completion setting by conditionally including the correct_answers count. When show_answers_after_completion is false, correct_answers is now undefined instead of being exposed.
2026-01-30 17:51:33 +07:00
JakkrapartXD
10a71c9a15 feat: standardize category update response format with code, message, and data wrapper 2026-01-30 15:23:29 +07:00
JakkrapartXD
babccc4869 feat: add email verification endpoints with token-based verification and SMTP integration 2026-01-30 14:53:50 +07:00
JakkrapartXD
9ed2347843 feat: add certificate generation system with PDF template and Thai font support 2026-01-30 14:14:00 +07:00
JakkrapartXD
18816c4fb2 refactor: extract lesson completion logic into shared markLessonComplete method and add course progress tracking to video and quiz responses 2026-01-29 17:17:15 +07:00
JakkrapartXD
0641b2547a refactor: simplify instructor search to query all instructors without course-specific filtering 2026-01-29 16:17:25 +07:00
JakkrapartXD
f4a12c686b feat: Implement instructor search and improve instructor management with email/username lookup and avatar presigned URLs. 2026-01-29 15:52:10 +07:00
JakkrapartXD
53314dfd7e feat: implement avatar upload functionality with presigned URL support for user profiles and announcement attachments. 2026-01-28 11:49:11 +07:00
JakkrapartXD
d2b3842564 feat: enable file upload support for announcement creation with multipart form data handling. 2026-01-27 16:43:59 +07:00
JakkrapartXD
baf389643b feat: implement announcement management service with CRUD operations, attachment handling, and role-based access control for courses. 2026-01-27 14:00:20 +07:00
JakkrapartXD
be7348c74d feat: Implement granular API for video upload/update and attachment management with dedicated types and endpoints. 2026-01-26 17:23:26 +07:00
JakkrapartXD
bbfb62093e feat: Introduce announcements service, integrate MinIO for lesson media with presigned URLs, and restrict editing of pending courses. 2026-01-26 15:15:46 +07:00
JakkrapartXD
84e4d478c7 feat: add API endpoint and service logic for reordering quiz questions. 2026-01-26 12:00:59 +07:00
JakkrapartXD
5d6cab229f make admin approve api 2026-01-23 13:16:41 +07:00
JakkrapartXD
c982ab2c05 add check quizz for student 2026-01-22 17:30:35 +07:00
JakkrapartXD
76f8ab120a add quastion to api 2026-01-22 17:16:52 +07:00
JakkrapartXD
5c2b5d55aa update api chapterlesson 2026-01-22 15:56:56 +07:00
JakkrapartXD
9a7eb50d17 feat: Add student and instructor chapter/lesson controllers and refactor instructor lesson file upload endpoints with TSOA. 2026-01-21 16:52:38 +07:00
JakkrapartXD
04e2da43c4 feat: Implement lesson creation with file uploads (video, attachments) and quiz data, integrating MinIO for storage. 2026-01-20 16:51:42 +07:00
JakkrapartXD
2a461a1e4f feat: add listCourseResponse and getCourseResponse interfaces for course API responses. 2026-01-20 14:18:58 +07:00
JakkrapartXD
fbe0c9311f chore: delete course response type definitions. 2026-01-20 14:15:51 +07:00
JakkrapartXD
057f640272 refactor: Standardize type naming conventions and file casing for course and category types. 2026-01-20 07:13:59 +00:00
JakkrapartXD
6bbbde062a feat: Implement chapter and lesson management with new services and types, and introduce Minio service. 2026-01-20 13:39:42 +07:00
JakkrapartXD
40b95ad902 feat: Implement comprehensive chapter and lesson management with new types, services, and Minio integration. 2026-01-20 13:34:31 +07:00
JakkrapartXD
0308995d8e feat: Implement lesson access control logic including enrollment, prerequisite, and quiz completion checks. 2026-01-19 17:08:06 +07:00
JakkrapartXD
4c9ad1cea7 feat: Implement student course management functionalities and standardize multi-language text types across course and category definitions. 2026-01-19 14:14:59 +07:00
JakkrapartXD
b5ca6b2e0f feat: Introduce API endpoints and refactor service methods for adding, removing, listing, and setting primary course instructors. 2026-01-16 17:52:36 +07:00
JakkrapartXD
2e536ad193 feat: Add instructor capabilities to update, delete, and submit courses for review. 2026-01-16 17:36:32 +07:00
JakkrapartXD
8a2ca592bc feat: Implement instructor-specific course management with dedicated controller, service, types, and validation. 2026-01-16 15:43:14 +07:00
JakkrapartXD
8960e90dbd feat: Filter user listings by deactivation status, include a total count in the response, and simplify account activation to use user ID directly. 2026-01-16 11:16:51 +07:00
JakkrapartXD
000de75dd1 feat: Implement instructor-specific course management and refactor course creation into dedicated modules. 2026-01-16 11:12:12 +07:00
JakkrapartXD
1aa3190ca4 feat: implement course listing and retrieval API with dedicated controller, service, and types. 2026-01-15 17:57:32 +07:00
JakkrapartXD
4b335b6b49 feat: implement category management API with CRUD operations for categories. 2026-01-15 16:53:13 +07:00
JakkrapartXD
1caeac6226 feat: Implement cuser management with role updates, activation, and deactivation. 2026-01-15 15:26:30 +07:00
JakkrapartXD
a59b144ebf feat: Introduce admin user management API with user listing, retrieval, account activation/deactivation, and case-insensitive role validation. 2026-01-15 14:09:14 +07:00
JakkrapartXD
fc76f086c7 a 2026-01-14 17:01:40 +07:00
JakkrapartXD
d8a9909eb9 chage api use token 2026-01-14 13:42:54 +07:00
JakkrapartXD
d8d3dff2e7 get me api 2026-01-13 17:55:00 +07:00
JakkrapartXD
f026c14f0c auth api 2026-01-13 06:49:37 +00:00
JakkrapartXD
1a7473362b api login 2026-01-09 10:14:20 +00:00
JakkrapartXD
9fde77468a migration to typescript 2026-01-09 06:28:15 +00:00