Commit graph

133 commits

Author SHA1 Message Date
JakkrapartXD
bf5d939910 feat: add role-based frontend URL routing for password reset and email verification
Add separate frontend URL environment variables for student and instructor portals. Update password reset and email verification services to route users to the appropriate frontend based on their role (INSTRUCTOR vs STUDENT).
2026-01-30 17:29:08 +07:00
JakkrapartXD
16322454b1 feat: change default is_published value to true for chapters and lessons 2026-01-30 17:16:21 +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
14c1222a4e a 2026-01-30 08:02:50 +00: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
344e1e4341 feat: track approval metadata and rejection reason in course status updates 2026-01-30 10:15:43 +07:00
JakkrapartXD
ed8aaf4ec2 refactor: remove thumbnail_url requirement from course creation validator 2026-01-29 17:58:05 +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
24c37df4ef refactor: reorder searchInstructors endpoint and fix role code to uppercase INSTRUCTOR, add lesson completion tracking on quiz pass 2026-01-29 16:39:33 +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
07ab43a785 feat: update getCourseById endpoint to return single course response type and improve error handling. 2026-01-28 17:08:44 +07:00
JakkrapartXD
b303c50865 feat: add dedicated thumbnail upload endpoint for courses with old file cleanup and presigned URL generation. 2026-01-28 16:47:08 +07:00
JakkrapartXD
10821d093c feat: add presigned URL generation for course thumbnails across all course services. 2026-01-28 15:31:21 +07:00
JakkrapartXD
b28dd410e2 refactor: simplify avatar deletion logic and improve error handling in user service. 2026-01-28 15:01:48 +07:00
JakkrapartXD
cf12ef965e feat: add thumbnail upload support to course creation endpoint with multipart form data handling. 2026-01-28 14:38:11 +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
470f4a5577 chore: remove outdated API endpoint creation workflow documentation. 2026-01-28 09:47:22 +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
dd5a8c1cc8 feat: reorder Security decorator in announcements controller for consistency. 2026-01-27 14:36:28 +07:00
JakkrapartXD
52a013f431 feat: add JWT authentication requirement to announcements retrieval endpoint. 2026-01-27 14:23:51 +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
f1a83f479e add workflow 2026-01-27 10:00:29 +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
8fc11381ad reorder lesson fix path 2026-01-23 13:33:47 +07:00
JakkrapartXD
5d6cab229f make admin approve api 2026-01-23 13:16:41 +07:00
JakkrapartXD
6acb536aef add filter APPROVED to couse to see olny APPROVED course 2026-01-23 11:29:46 +07:00
JakkrapartXD
6e5a8d01e6 add skill to project 2026-01-23 10:53:48 +07:00
JakkrapartXD
5e7d265ffb add filter to course 2026-01-23 10:37:30 +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
dcf0385a87 protech 2026-01-22 16:22:33 +07:00
JakkrapartXD
5c2b5d55aa update api chapterlesson 2026-01-22 15:56:56 +07:00
JakkrapartXD
bb79e6aedc feat: Remove createLessonWithFiles endpoint and its associated imports and types. 2026-01-22 10:22:53 +07:00
JakkrapartXD
fc3e2820cc feat: Introduce dedicated instructor and student controllers for chapter and lesson management, including quiz questions. 2026-01-21 16:52:54 +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
cad3f276f5 refactor: add type assertions for request parameters and explicitly type multer middleware. 2026-01-20 10:03:06 +00: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
715d94fbf9 feat: Create course and automatically assign the creator as the primary instructor using a transaction. 2026-01-19 14:48:45 +07:00
JakkrapartXD
a38389cc9f feat: Add instructor registration endpoint and rename student registration to learner registration. 2026-01-19 07:30:28 +00:00
JakkrapartXD
e379ed83c8 refactor: Split category management into separate public and admin controllers, adjusting routes and tags accordingly. 2026-01-19 14:19:51 +07:00