From 2a394a4882d32491b0dce4c5cd15e576f6c4c858 Mon Sep 17 00:00:00 2001 From: tonytech Date: Tue, 3 Mar 2026 11:03:56 +0800 Subject: [PATCH] =?UTF-8?q?chore(api):=20=E6=8E=A5=E5=85=A5=20orval=20?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=20API=20=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 orval.config.ts:从 OpenAPI spec 自动生成 TypeScript 代码 - 新增 src/api/request.ts:orval mutator,复用现有 axios 实例 - 新增 src/api/generated/:自动生成的 API 函数和类型定义(106个接口,155个类型) - 新增 api-spec.json:后端 OpenAPI 规范快照 - package.json 新增脚本:api:fetch / api:gen / api:update Co-Authored-By: Claude Sonnet 4.6 --- reading-platform-frontend/.gitignore | 5 + reading-platform-frontend/api-spec.json | 1 + reading-platform-frontend/orval.config.ts | 25 + reading-platform-frontend/package-lock.json | 4160 +++++++++++++++++ reading-platform-frontend/package.json | 6 +- .../src/api/generated/README.md | 15 + .../src/api/generated/api.ts | 2420 ++++++++++ .../api/generated/model/bindStudentParams.ts | 12 + .../generated/model/changePasswordParams.ts | 12 + .../api/generated/model/classCreateRequest.ts | 21 + .../api/generated/model/classUpdateRequest.ts | 23 + .../src/api/generated/model/clazz.ts | 20 + .../api/generated/model/completeTaskParams.ts | 13 + .../src/api/generated/model/course.ts | 69 + .../generated/model/courseCreateRequest.ts | 89 + .../src/api/generated/model/courseLesson.ts | 22 + .../src/api/generated/model/coursePackage.ts | 21 + .../generated/model/courseUpdateRequest.ts | 91 + .../api/generated/model/deleteFileParams.ts | 11 + .../generated/model/getActiveTenantsParams.ts | 11 + .../generated/model/getActivitiesParams.ts | 11 + .../api/generated/model/getClassPageParams.ts | 15 + .../generated/model/getCoursePage1Params.ts | 14 + .../generated/model/getCoursePageParams.ts | 14 + .../api/generated/model/getCourses1Params.ts | 13 + .../api/generated/model/getCoursesParams.ts | 13 + .../model/getGrowthRecordPage1Params.ts | 14 + .../model/getGrowthRecordPageParams.ts | 14 + .../model/getGrowthRecordsByStudentParams.ts | 13 + .../src/api/generated/model/getItemsParams.ts | 14 + .../api/generated/model/getLibrariesParams.ts | 11 + .../src/api/generated/model/getLogs1Params.ts | 14 + .../src/api/generated/model/getLogsParams.ts | 13 + .../api/generated/model/getMyLessonsParams.ts | 15 + .../model/getMyNotifications1Params.ts | 13 + .../model/getMyNotificationsParams.ts | 13 + .../api/generated/model/getPackages1Params.ts | 14 + .../api/generated/model/getPackagesParams.ts | 13 + .../generated/model/getParentPageParams.ts | 14 + .../model/getPopularCoursesParams.ts | 11 + .../model/getRecentGrowthRecordsParams.ts | 11 + .../model/getSchedulePlans1Params.ts | 13 + .../generated/model/getSchedulePlansParams.ts | 12 + .../model/getScheduleTemplatesParams.ts | 12 + .../generated/model/getStudentPageParams.ts | 15 + .../api/generated/model/getTaskPage1Params.ts | 15 + .../api/generated/model/getTaskPageParams.ts | 15 + .../model/getTasksByStudentParams.ts | 13 + .../generated/model/getTeacherPageParams.ts | 14 + .../generated/model/getTenantPageParams.ts | 15 + .../api/generated/model/getThemesParams.ts | 11 + .../src/api/generated/model/growthRecord.ts | 24 + .../model/growthRecordCreateRequest.ts | 27 + .../model/growthRecordUpdateRequest.ts | 25 + .../src/api/generated/model/index.ts | 162 + .../src/api/generated/model/lesson.ts | 26 + .../generated/model/lessonCreateRequest.ts | 30 + .../generated/model/lessonUpdateRequest.ts | 26 + .../src/api/generated/model/localTime.ts | 17 + .../src/api/generated/model/loginRequest.ts | 19 + .../src/api/generated/model/loginResponse.ts | 25 + .../src/api/generated/model/notification.ts | 23 + .../src/api/generated/model/operationLog.ts | 22 + .../api/generated/model/pageResultClazz.ts | 16 + .../api/generated/model/pageResultCourse.ts | 16 + .../model/pageResultCoursePackage.ts | 16 + .../generated/model/pageResultGrowthRecord.ts | 16 + .../api/generated/model/pageResultLesson.ts | 16 + .../generated/model/pageResultNotification.ts | 16 + .../generated/model/pageResultOperationLog.ts | 16 + .../api/generated/model/pageResultParent.ts | 16 + .../generated/model/pageResultResourceItem.ts | 16 + .../generated/model/pageResultSchedulePlan.ts | 16 + .../model/pageResultScheduleTemplate.ts | 16 + .../generated/model/pageResultSchoolCourse.ts | 16 + .../api/generated/model/pageResultStudent.ts | 16 + .../src/api/generated/model/pageResultTask.ts | 16 + .../api/generated/model/pageResultTeacher.ts | 16 + .../api/generated/model/pageResultTenant.ts | 16 + .../src/api/generated/model/parent.ts | 24 + .../generated/model/parentCreateRequest.ts | 25 + .../generated/model/parentUpdateRequest.ts | 25 + .../generated/model/resetPassword1Params.ts | 11 + .../generated/model/resetPasswordParams.ts | 11 + .../src/api/generated/model/resourceItem.ts | 22 + .../api/generated/model/resourceLibrary.ts | 18 + .../src/api/generated/model/resultClazz.ts | 14 + .../src/api/generated/model/resultCourse.ts | 14 + .../api/generated/model/resultCourseLesson.ts | 14 + .../generated/model/resultCoursePackage.ts | 14 + .../api/generated/model/resultGrowthRecord.ts | 14 + .../src/api/generated/model/resultLesson.ts | 14 + .../api/generated/model/resultListCourse.ts | 14 + .../generated/model/resultListCourseLesson.ts | 14 + .../generated/model/resultListGrowthRecord.ts | 14 + .../api/generated/model/resultListLesson.ts | 14 + .../model/resultListMapStringObject.ts | 14 + .../resultListMapStringObjectDataItem.ts | 9 + .../model/resultListResourceLibrary.ts | 14 + .../api/generated/model/resultListStudent.ts | 14 + .../model/resultListTenantResponse.ts | 14 + .../api/generated/model/resultListTheme.ts | 14 + .../generated/model/resultLoginResponse.ts | 14 + .../src/api/generated/model/resultLong.ts | 13 + .../generated/model/resultMapStringObject.ts | 14 + .../model/resultMapStringObjectData.ts | 9 + .../generated/model/resultMapStringString.ts | 14 + .../model/resultMapStringStringData.ts | 9 + .../api/generated/model/resultNotification.ts | 14 + .../generated/model/resultPageResultClazz.ts | 14 + .../generated/model/resultPageResultCourse.ts | 14 + .../model/resultPageResultCoursePackage.ts | 14 + .../model/resultPageResultGrowthRecord.ts | 14 + .../generated/model/resultPageResultLesson.ts | 14 + .../model/resultPageResultNotification.ts | 14 + .../model/resultPageResultOperationLog.ts | 14 + .../generated/model/resultPageResultParent.ts | 14 + .../model/resultPageResultResourceItem.ts | 14 + .../model/resultPageResultSchedulePlan.ts | 14 + .../model/resultPageResultScheduleTemplate.ts | 14 + .../model/resultPageResultSchoolCourse.ts | 14 + .../model/resultPageResultStudent.ts | 14 + .../generated/model/resultPageResultTask.ts | 14 + .../model/resultPageResultTeacher.ts | 14 + .../generated/model/resultPageResultTenant.ts | 14 + .../src/api/generated/model/resultParent.ts | 14 + .../api/generated/model/resultResourceItem.ts | 14 + .../generated/model/resultResourceLibrary.ts | 14 + .../api/generated/model/resultSchedulePlan.ts | 14 + .../generated/model/resultScheduleTemplate.ts | 14 + .../api/generated/model/resultSchoolCourse.ts | 14 + .../src/api/generated/model/resultStudent.ts | 14 + .../src/api/generated/model/resultTask.ts | 14 + .../src/api/generated/model/resultTeacher.ts | 14 + .../src/api/generated/model/resultTenant.ts | 14 + .../src/api/generated/model/resultTheme.ts | 14 + .../generated/model/resultUserInfoResponse.ts | 14 + .../src/api/generated/model/resultVoid.ts | 14 + .../src/api/generated/model/resultVoidData.ts | 9 + .../src/api/generated/model/schedulePlan.ts | 20 + .../api/generated/model/scheduleTemplate.ts | 19 + .../src/api/generated/model/schoolCourse.ts | 22 + .../src/api/generated/model/student.ts | 25 + .../generated/model/studentCreateRequest.ts | 29 + .../generated/model/studentUpdateRequest.ts | 33 + .../src/api/generated/model/task.ts | 25 + .../api/generated/model/taskCreateRequest.ts | 31 + .../api/generated/model/taskUpdateRequest.ts | 27 + .../src/api/generated/model/teacher.ts | 25 + .../generated/model/teacherCreateRequest.ts | 27 + .../generated/model/teacherUpdateRequest.ts | 27 + .../src/api/generated/model/tenant.ts | 26 + .../generated/model/tenantCreateRequest.ts | 39 + .../src/api/generated/model/tenantResponse.ts | 39 + .../generated/model/tenantUpdateRequest.ts | 37 + .../src/api/generated/model/theme.ts | 20 + .../generated/model/updateSettings1Body.ts | 9 + .../api/generated/model/updateSettingsBody.ts | 9 + .../generated/model/updateTenantQuotaBody.ts | 9 + .../generated/model/updateTenantStatusBody.ts | 9 + .../src/api/generated/model/uploadFileBody.ts | 11 + .../api/generated/model/userInfoResponse.ts | 29 + reading-platform-frontend/src/api/request.ts | 10 + 163 files changed, 9554 insertions(+), 1 deletion(-) create mode 100644 reading-platform-frontend/.gitignore create mode 100644 reading-platform-frontend/api-spec.json create mode 100644 reading-platform-frontend/orval.config.ts create mode 100644 reading-platform-frontend/src/api/generated/README.md create mode 100644 reading-platform-frontend/src/api/generated/api.ts create mode 100644 reading-platform-frontend/src/api/generated/model/bindStudentParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/changePasswordParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/classCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/clazz.ts create mode 100644 reading-platform-frontend/src/api/generated/model/completeTaskParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/course.ts create mode 100644 reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/courseLesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/coursePackage.ts create mode 100644 reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/deleteFileParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getClassPageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getCourses1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getCoursesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getItemsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getLogs1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getLogsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getPackages1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getPackagesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getParentPageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/getThemesParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/growthRecord.ts create mode 100644 reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/index.ts create mode 100644 reading-platform-frontend/src/api/generated/model/lesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/localTime.ts create mode 100644 reading-platform-frontend/src/api/generated/model/loginRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/loginResponse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/notification.ts create mode 100644 reading-platform-frontend/src/api/generated/model/operationLog.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultClazz.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultLesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultNotification.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultParent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultStudent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultTask.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts create mode 100644 reading-platform-frontend/src/api/generated/model/pageResultTenant.ts create mode 100644 reading-platform-frontend/src/api/generated/model/parent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resourceItem.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resourceLibrary.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultClazz.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultLesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListLesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListStudent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultListTheme.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultLong.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultMapStringString.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultNotification.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultParent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultResourceItem.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultStudent.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultTask.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultTeacher.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultTenant.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultTheme.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultVoid.ts create mode 100644 reading-platform-frontend/src/api/generated/model/resultVoidData.ts create mode 100644 reading-platform-frontend/src/api/generated/model/schedulePlan.ts create mode 100644 reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts create mode 100644 reading-platform-frontend/src/api/generated/model/schoolCourse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/student.ts create mode 100644 reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/task.ts create mode 100644 reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/teacher.ts create mode 100644 reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/tenant.ts create mode 100644 reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/tenantResponse.ts create mode 100644 reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts create mode 100644 reading-platform-frontend/src/api/generated/model/theme.ts create mode 100644 reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts create mode 100644 reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts create mode 100644 reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts create mode 100644 reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts create mode 100644 reading-platform-frontend/src/api/generated/model/uploadFileBody.ts create mode 100644 reading-platform-frontend/src/api/generated/model/userInfoResponse.ts create mode 100644 reading-platform-frontend/src/api/request.ts diff --git a/reading-platform-frontend/.gitignore b/reading-platform-frontend/.gitignore new file mode 100644 index 0000000..d1abaa7 --- /dev/null +++ b/reading-platform-frontend/.gitignore @@ -0,0 +1,5 @@ +node_modules/ +dist/ +.env.local + +# orval 生成的文件已提交到 git,无需忽略 diff --git a/reading-platform-frontend/api-spec.json b/reading-platform-frontend/api-spec.json new file mode 100644 index 0000000..de3524f --- /dev/null +++ b/reading-platform-frontend/api-spec.json @@ -0,0 +1 @@ +{"openapi":"3.0.1","info":{"title":"Reading Platform API","description":"Reading Platform Backend Service API Documentation","contact":{"name":"Reading Platform Team","email":"support@reading-platform.com"},"version":"1.0.0"},"servers":[{"url":"http://localhost:3002","description":"Generated server url"}],"security":[{"Bearer":[]}],"tags":[{"name":"School - Course Packages","description":"Course Packages for School"},{"name":"Admin - Operation Logs","description":"Operation Log Management for Admin"},{"name":"School - School Courses","description":"School Custom Course Management"},{"name":"School - Task","description":"Task Management APIs for School"},{"name":"Admin - Settings","description":"Admin System Settings Management"},{"name":"Parent - Task","description":"Task APIs for Parent"},{"name":"Auth","description":"Authentication APIs"},{"name":"Admin - Tenant","description":"Tenant Management APIs for Admin"},{"name":"Teacher - Schedule","description":"Teacher Schedule View"},{"name":"Admin - Stats","description":"Admin Statistics Dashboard"},{"name":"Admin - Resources","description":"Resource Library Management for Admin"},{"name":"Admin - Course","description":"System Course Management APIs for Admin"},{"name":"Teacher - School Courses","description":"School Courses for Teacher"},{"name":"School - Operation Logs","description":"Operation Log for School"},{"name":"School - Stats","description":"School Statistics Dashboard"},{"name":"School - Schedule","description":"School Schedule Management"},{"name":"School - Parent","description":"Parent Management APIs for School"},{"name":"Parent - Child","description":"Child Information APIs for Parent"},{"name":"Teacher - Task","description":"Task APIs for Teacher"},{"name":"School - Export","description":"School Data Export"},{"name":"Teacher - Notification","description":"Notification APIs for Teacher"},{"name":"School - Student","description":"Student Management APIs for School"},{"name":"School - Class","description":"Class Management APIs for School"},{"name":"Parent - Growth Record","description":"Growth Record APIs for Parent"},{"name":"Teacher - Course","description":"Course APIs for Teacher"},{"name":"Admin - Themes","description":"Theme Management for Admin"},{"name":"Admin - Course Lessons","description":"Course Lesson Management for Admin"},{"name":"School - Settings","description":"School Settings Management"},{"name":"Teacher - Course Lessons","description":"Course Lessons for Teacher"},{"name":"Teacher - Dashboard","description":"Teacher Dashboard"},{"name":"Admin - Course Packages","description":"Course Package Management for Admin"},{"name":"School - Teacher","description":"Teacher Management APIs for School"},{"name":"File Upload","description":"File Upload APIs"},{"name":"Teacher - Growth Record","description":"Growth Record APIs for Teacher"},{"name":"Teacher - Lesson","description":"Lesson APIs for Teacher"},{"name":"School - Growth Record","description":"Growth Record Management APIs for School"},{"name":"Parent - Notification","description":"Notification APIs for Parent"}],"paths":{"/api/v1/teacher/tasks/{id}":{"get":{"tags":["Teacher - Task"],"summary":"Get task by ID","operationId":"getTask","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTask"}}}}}},"put":{"tags":["Teacher - Task"],"summary":"Update task","operationId":"updateTask","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTask"}}}}}},"delete":{"tags":["Teacher - Task"],"summary":"Delete task","operationId":"deleteTask","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/teacher/lessons/{id}":{"get":{"tags":["Teacher - Lesson"],"summary":"Get lesson by ID","operationId":"getLesson","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultLesson"}}}}}},"put":{"tags":["Teacher - Lesson"],"summary":"Update lesson","operationId":"updateLesson","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LessonUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultLesson"}}}}}}},"/api/v1/teacher/growth-records/{id}":{"get":{"tags":["Teacher - Growth Record"],"summary":"Get growth record by ID","operationId":"getGrowthRecord","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}},"put":{"tags":["Teacher - Growth Record"],"summary":"Update growth record","operationId":"updateGrowthRecord","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthRecordUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}},"delete":{"tags":["Teacher - Growth Record"],"summary":"Delete growth record","operationId":"deleteGrowthRecord","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/teachers/{id}":{"get":{"tags":["School - Teacher"],"summary":"Get teacher by ID","operationId":"getTeacher","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTeacher"}}}}}},"put":{"tags":["School - Teacher"],"summary":"Update teacher","operationId":"updateTeacher","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeacherUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTeacher"}}}}}},"delete":{"tags":["School - Teacher"],"summary":"Delete teacher","operationId":"deleteTeacher","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/tasks/{id}":{"get":{"tags":["School - Task"],"summary":"Get task by ID","operationId":"getTask_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTask"}}}}}},"put":{"tags":["School - Task"],"summary":"Update task","operationId":"updateTask_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTask"}}}}}},"delete":{"tags":["School - Task"],"summary":"Delete task","operationId":"deleteTask_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/students/{id}":{"get":{"tags":["School - Student"],"summary":"Get student by ID","operationId":"getStudent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultStudent"}}}}}},"put":{"tags":["School - Student"],"summary":"Update student","operationId":"updateStudent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultStudent"}}}}}},"delete":{"tags":["School - Student"],"summary":"Delete student","operationId":"deleteStudent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/settings":{"get":{"tags":["School - Settings"],"summary":"Get school settings","operationId":"getSettings","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringString"}}}}}},"put":{"tags":["School - Settings"],"summary":"Update school settings","operationId":"updateSettings","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/school-courses/{id}":{"get":{"tags":["School - School Courses"],"summary":"Get school course by ID","operationId":"getCourse_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchoolCourse"}}}}}},"put":{"tags":["School - School Courses"],"summary":"Update school course","operationId":"updateCourse","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchoolCourse"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchoolCourse"}}}}}},"delete":{"tags":["School - School Courses"],"summary":"Delete school course","operationId":"deleteCourse","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/schedules/{id}":{"get":{"tags":["School - Schedule"],"summary":"Get schedule plan by ID","operationId":"getSchedulePlan_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchedulePlan"}}}}}},"put":{"tags":["School - Schedule"],"summary":"Update schedule plan","operationId":"updateSchedulePlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchedulePlan"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchedulePlan"}}}}}},"delete":{"tags":["School - Schedule"],"summary":"Delete schedule plan","operationId":"deleteSchedulePlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/parents/{id}":{"get":{"tags":["School - Parent"],"summary":"Get parent by ID","operationId":"getParent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultParent"}}}}}},"put":{"tags":["School - Parent"],"summary":"Update parent","operationId":"updateParent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParentUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultParent"}}}}}},"delete":{"tags":["School - Parent"],"summary":"Delete parent","operationId":"deleteParent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/growth-records/{id}":{"get":{"tags":["School - Growth Record"],"summary":"Get growth record by ID","operationId":"getGrowthRecord_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}},"put":{"tags":["School - Growth Record"],"summary":"Update growth record","operationId":"updateGrowthRecord_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthRecordUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}},"delete":{"tags":["School - Growth Record"],"summary":"Delete growth record","operationId":"deleteGrowthRecord_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/classes/{id}":{"get":{"tags":["School - Class"],"summary":"Get class by ID","operationId":"getClass","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultClazz"}}}}}},"put":{"tags":["School - Class"],"summary":"Update class","operationId":"updateClass","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultClazz"}}}}}},"delete":{"tags":["School - Class"],"summary":"Delete class","operationId":"deleteClass","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/parent/growth-records/{id}":{"get":{"tags":["Parent - Growth Record"],"summary":"Get growth record by ID","operationId":"getGrowthRecord_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}},"put":{"tags":["Parent - Growth Record"],"summary":"Update growth record","operationId":"updateGrowthRecord_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthRecordUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}},"delete":{"tags":["Parent - Growth Record"],"summary":"Delete growth record","operationId":"deleteGrowthRecord_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/themes/{id}":{"get":{"tags":["Admin - Themes"],"summary":"Get theme by ID","operationId":"getTheme","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTheme"}}}}}},"put":{"tags":["Admin - Themes"],"summary":"Update theme","operationId":"updateTheme","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTheme"}}}}}},"delete":{"tags":["Admin - Themes"],"summary":"Delete theme","operationId":"deleteTheme","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/tenants/{id}":{"get":{"tags":["Admin - Tenant"],"summary":"Get tenant by ID","operationId":"getTenant","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTenant"}}}}}},"put":{"tags":["Admin - Tenant"],"summary":"Update tenant","operationId":"updateTenant","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTenant"}}}}}},"delete":{"tags":["Admin - Tenant"],"summary":"Delete tenant","operationId":"deleteTenant","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/tenants/{id}/status":{"put":{"tags":["Admin - Tenant"],"summary":"Update tenant status","operationId":"updateTenantStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringObject"}}}}}}},"/api/v1/admin/tenants/{id}/quota":{"put":{"tags":["Admin - Tenant"],"summary":"Update tenant quota","operationId":"updateTenantQuota","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTenant"}}}}}}},"/api/v1/admin/settings":{"get":{"tags":["Admin - Settings"],"summary":"Get admin system settings","operationId":"getSettings_1","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringString"}}}}}},"put":{"tags":["Admin - Settings"],"summary":"Update admin system settings","operationId":"updateSettings_1","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/resources/libraries/{id}":{"put":{"tags":["Admin - Resources"],"summary":"Update resource library","operationId":"updateLibrary","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceLibrary"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultResourceLibrary"}}}}}},"delete":{"tags":["Admin - Resources"],"summary":"Delete resource library","operationId":"deleteLibrary","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/resources/items/{id}":{"put":{"tags":["Admin - Resources"],"summary":"Update resource item","operationId":"updateItem","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceItem"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultResourceItem"}}}}}},"delete":{"tags":["Admin - Resources"],"summary":"Delete resource item","operationId":"deleteItem","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/courses/{id}":{"get":{"tags":["Admin - Course"],"summary":"Get course by ID","operationId":"getCourse_3","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourse"}}}}}},"put":{"tags":["Admin - Course"],"summary":"Update course","operationId":"updateCourse_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseUpdateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourse"}}}}}},"delete":{"tags":["Admin - Course"],"summary":"Delete course","operationId":"deleteCourse_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/courses/{courseId}/lessons/{id}":{"get":{"tags":["Admin - Course Lessons"],"summary":"Get lesson by ID","operationId":"getLesson_2","parameters":[{"name":"courseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourseLesson"}}}}}},"put":{"tags":["Admin - Course Lessons"],"summary":"Update course lesson","operationId":"updateLesson_1","parameters":[{"name":"courseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseLesson"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourseLesson"}}}}}},"delete":{"tags":["Admin - Course Lessons"],"summary":"Delete course lesson","operationId":"deleteLesson","parameters":[{"name":"courseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/course-packages/{id}":{"get":{"tags":["Admin - Course Packages"],"summary":"Get course package by ID","operationId":"getPackage_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCoursePackage"}}}}}},"put":{"tags":["Admin - Course Packages"],"summary":"Update course package","operationId":"updatePackage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoursePackage"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCoursePackage"}}}}}},"delete":{"tags":["Admin - Course Packages"],"summary":"Delete course package","operationId":"deletePackage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/teacher/tasks":{"get":{"tags":["Teacher - Task"],"summary":"Get task page","operationId":"getTaskPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultTask"}}}}}},"post":{"tags":["Teacher - Task"],"summary":"Create task","operationId":"createTask","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTask"}}}}}}},"/api/v1/teacher/notifications/{id}/read":{"post":{"tags":["Teacher - Notification"],"summary":"Mark notification as read","operationId":"markAsRead","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/teacher/notifications/read-all":{"post":{"tags":["Teacher - Notification"],"summary":"Mark all notifications as read","operationId":"markAllAsRead","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/teacher/lessons":{"get":{"tags":["Teacher - Lesson"],"summary":"Get my lessons","operationId":"getMyLessons","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultLesson"}}}}}},"post":{"tags":["Teacher - Lesson"],"summary":"Create lesson","operationId":"createLesson","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LessonCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultLesson"}}}}}}},"/api/v1/teacher/lessons/{id}/start":{"post":{"tags":["Teacher - Lesson"],"summary":"Start lesson","operationId":"startLesson","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/teacher/lessons/{id}/complete":{"post":{"tags":["Teacher - Lesson"],"summary":"Complete lesson","operationId":"completeLesson","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/teacher/lessons/{id}/cancel":{"post":{"tags":["Teacher - Lesson"],"summary":"Cancel lesson","operationId":"cancelLesson","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/teacher/growth-records":{"get":{"tags":["Teacher - Growth Record"],"summary":"Get growth record page","operationId":"getGrowthRecordPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"studentId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultGrowthRecord"}}}}}},"post":{"tags":["Teacher - Growth Record"],"summary":"Create growth record","operationId":"createGrowthRecord","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthRecordCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}}},"/api/v1/school/teachers":{"get":{"tags":["School - Teacher"],"summary":"Get teacher page","operationId":"getTeacherPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultTeacher"}}}}}},"post":{"tags":["School - Teacher"],"summary":"Create teacher","operationId":"createTeacher","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeacherCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTeacher"}}}}}}},"/api/v1/school/teachers/{id}/reset-password":{"post":{"tags":["School - Teacher"],"summary":"Reset teacher password","operationId":"resetPassword","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"newPassword","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/tasks":{"get":{"tags":["School - Task"],"summary":"Get task page","operationId":"getTaskPage_1","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultTask"}}}}}},"post":{"tags":["School - Task"],"summary":"Create task","operationId":"createTask_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTask"}}}}}}},"/api/v1/school/students":{"get":{"tags":["School - Student"],"summary":"Get student page","operationId":"getStudentPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"grade","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultStudent"}}}}}},"post":{"tags":["School - Student"],"summary":"Create student","operationId":"createStudent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StudentCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultStudent"}}}}}}},"/api/v1/school/school-courses":{"get":{"tags":["School - School Courses"],"summary":"Get school courses","operationId":"getCourses_1","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultSchoolCourse"}}}}}},"post":{"tags":["School - School Courses"],"summary":"Create school course","operationId":"createCourse","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchoolCourse"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchoolCourse"}}}}}}},"/api/v1/school/schedules":{"get":{"tags":["School - Schedule"],"summary":"Get schedule plans","operationId":"getSchedulePlans_1","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"classId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultSchedulePlan"}}}}}},"post":{"tags":["School - Schedule"],"summary":"Create schedule plan","operationId":"createSchedulePlan","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchedulePlan"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchedulePlan"}}}}}}},"/api/v1/school/schedules/templates":{"get":{"tags":["School - Schedule"],"summary":"Get schedule templates","operationId":"getScheduleTemplates","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultScheduleTemplate"}}}}}},"post":{"tags":["School - Schedule"],"summary":"Create schedule template","operationId":"createScheduleTemplate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleTemplate"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultScheduleTemplate"}}}}}}},"/api/v1/school/parents":{"get":{"tags":["School - Parent"],"summary":"Get parent page","operationId":"getParentPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultParent"}}}}}},"post":{"tags":["School - Parent"],"summary":"Create parent","operationId":"createParent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParentCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultParent"}}}}}}},"/api/v1/school/parents/{parentId}/students/{studentId}":{"post":{"tags":["School - Parent"],"summary":"Bind student to parent","operationId":"bindStudent","parameters":[{"name":"parentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"studentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"relationship","in":"query","required":false,"schema":{"type":"string"}},{"name":"isPrimary","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}},"delete":{"tags":["School - Parent"],"summary":"Unbind student from parent","operationId":"unbindStudent","parameters":[{"name":"parentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"studentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/parents/{id}/reset-password":{"post":{"tags":["School - Parent"],"summary":"Reset parent password","operationId":"resetPassword_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"newPassword","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/growth-records":{"get":{"tags":["School - Growth Record"],"summary":"Get growth record page","operationId":"getGrowthRecordPage_1","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"studentId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultGrowthRecord"}}}}}},"post":{"tags":["School - Growth Record"],"summary":"Create growth record","operationId":"createGrowthRecord_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthRecordCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}}},"/api/v1/school/classes":{"get":{"tags":["School - Class"],"summary":"Get class page","operationId":"getClassPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"grade","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultClazz"}}}}}},"post":{"tags":["School - Class"],"summary":"Create class","operationId":"createClass","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClassCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultClazz"}}}}}}},"/api/v1/school/classes/{id}/teachers":{"post":{"tags":["School - Class"],"summary":"Assign teachers to class","operationId":"assignTeachers","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/school/classes/{id}/students":{"post":{"tags":["School - Class"],"summary":"Assign students to class","operationId":"assignStudents","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int64"}}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/parent/tasks/{taskId}/complete":{"post":{"tags":["Parent - Task"],"summary":"Complete task","operationId":"completeTask","parameters":[{"name":"taskId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"studentId","in":"query","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"content","in":"query","required":false,"schema":{"type":"string"}},{"name":"attachments","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/parent/notifications/{id}/read":{"post":{"tags":["Parent - Notification"],"summary":"Mark notification as read","operationId":"markAsRead_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/parent/notifications/read-all":{"post":{"tags":["Parent - Notification"],"summary":"Mark all notifications as read","operationId":"markAllAsRead_1","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/parent/growth-records":{"post":{"tags":["Parent - Growth Record"],"summary":"Create growth record","operationId":"createGrowthRecord_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthRecordCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultGrowthRecord"}}}}}}},"/api/v1/files/upload":{"post":{"tags":["File Upload"],"summary":"Upload file","operationId":"uploadFile","requestBody":{"content":{"application/json":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringString"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["Auth"],"summary":"User logout","operationId":"logout","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["Auth"],"summary":"User login","operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultLoginResponse"}}}}}}},"/api/v1/auth/change-password":{"post":{"tags":["Auth"],"summary":"Change password","operationId":"changePassword","parameters":[{"name":"oldPassword","in":"query","required":true,"schema":{"type":"string"}},{"name":"newPassword","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/themes":{"get":{"tags":["Admin - Themes"],"summary":"Get all themes","operationId":"getThemes","parameters":[{"name":"enabledOnly","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListTheme"}}}}}},"post":{"tags":["Admin - Themes"],"summary":"Create theme","operationId":"createTheme","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Theme"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTheme"}}}}}}},"/api/v1/admin/tenants":{"get":{"tags":["Admin - Tenant"],"summary":"Get tenant page","operationId":"getTenantPage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"packageType","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultTenant"}}}}}},"post":{"tags":["Admin - Tenant"],"summary":"Create tenant","operationId":"createTenant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTenant"}}}}}}},"/api/v1/admin/tenants/{id}/reset-password":{"post":{"tags":["Admin - Tenant"],"summary":"Reset tenant school account password","operationId":"resetTenantPassword","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringString"}}}}}}},"/api/v1/admin/resources/libraries":{"get":{"tags":["Admin - Resources"],"summary":"Get all resource libraries","operationId":"getLibraries","parameters":[{"name":"tenantId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListResourceLibrary"}}}}}},"post":{"tags":["Admin - Resources"],"summary":"Create resource library","operationId":"createLibrary","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceLibrary"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultResourceLibrary"}}}}}}},"/api/v1/admin/resources/items":{"get":{"tags":["Admin - Resources"],"summary":"Get resource items","operationId":"getItems","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"libraryId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultResourceItem"}}}}}},"post":{"tags":["Admin - Resources"],"summary":"Create resource item","operationId":"createItem","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceItem"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultResourceItem"}}}}}}},"/api/v1/admin/courses":{"get":{"tags":["Admin - Course"],"summary":"Get system course page","operationId":"getCoursePage_1","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"category","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultCourse"}}}}}},"post":{"tags":["Admin - Course"],"summary":"Create system course","operationId":"createCourse_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseCreateRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourse"}}}}}}},"/api/v1/admin/courses/{id}/publish":{"post":{"tags":["Admin - Course"],"summary":"Publish course","operationId":"publishCourse","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/courses/{id}/archive":{"post":{"tags":["Admin - Course"],"summary":"Archive course","operationId":"archiveCourse","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/admin/courses/{courseId}/lessons":{"get":{"tags":["Admin - Course Lessons"],"summary":"Get lessons for a course","operationId":"getLessons_1","parameters":[{"name":"courseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListCourseLesson"}}}}}},"post":{"tags":["Admin - Course Lessons"],"summary":"Create course lesson","operationId":"createLesson_1","parameters":[{"name":"courseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseLesson"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourseLesson"}}}}}}},"/api/v1/admin/course-packages":{"get":{"tags":["Admin - Course Packages"],"summary":"Get course packages","operationId":"getPackages_1","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultCoursePackage"}}}}}},"post":{"tags":["Admin - Course Packages"],"summary":"Create course package","operationId":"createPackage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoursePackage"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCoursePackage"}}}}}}},"/api/v1/teacher/school-courses":{"get":{"tags":["Teacher - School Courses"],"summary":"Get school courses","operationId":"getCourses","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultSchoolCourse"}}}}}}},"/api/v1/teacher/school-courses/{id}":{"get":{"tags":["Teacher - School Courses"],"summary":"Get school course by ID","operationId":"getCourse","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchoolCourse"}}}}}}},"/api/v1/teacher/schedules":{"get":{"tags":["Teacher - Schedule"],"summary":"Get teacher schedule plans","operationId":"getSchedulePlans","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultSchedulePlan"}}}}}}},"/api/v1/teacher/schedules/{id}":{"get":{"tags":["Teacher - Schedule"],"summary":"Get schedule plan by ID","operationId":"getSchedulePlan","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultSchedulePlan"}}}}}}},"/api/v1/teacher/notifications":{"get":{"tags":["Teacher - Notification"],"summary":"Get my notifications","operationId":"getMyNotifications","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"isRead","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultNotification"}}}}}}},"/api/v1/teacher/notifications/{id}":{"get":{"tags":["Teacher - Notification"],"summary":"Get notification by ID","operationId":"getNotification","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultNotification"}}}}}}},"/api/v1/teacher/notifications/unread-count":{"get":{"tags":["Teacher - Notification"],"summary":"Get unread count","operationId":"getUnreadCount","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultLong"}}}}}}},"/api/v1/teacher/lessons/today":{"get":{"tags":["Teacher - Lesson"],"summary":"Get today's lessons","operationId":"getTodayLessons","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListLesson"}}}}}}},"/api/v1/teacher/dashboard":{"get":{"tags":["Teacher - Dashboard"],"summary":"Get teacher dashboard overview","operationId":"getDashboard","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringObject"}}}}}}},"/api/v1/teacher/dashboard/weekly":{"get":{"tags":["Teacher - Dashboard"],"summary":"Get weekly lessons","operationId":"getWeeklyLessons","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListMapStringObject"}}}}}}},"/api/v1/teacher/dashboard/today":{"get":{"tags":["Teacher - Dashboard"],"summary":"Get today's lessons","operationId":"getTodayLessons_1","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListMapStringObject"}}}}}}},"/api/v1/teacher/courses":{"get":{"tags":["Teacher - Course"],"summary":"Get course page","operationId":"getCoursePage","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}},{"name":"category","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultCourse"}}}}}}},"/api/v1/teacher/courses/{id}":{"get":{"tags":["Teacher - Course"],"summary":"Get course by ID","operationId":"getCourse_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourse"}}}}}}},"/api/v1/teacher/courses/{courseId}/lessons":{"get":{"tags":["Teacher - Course Lessons"],"summary":"Get lessons for a course","operationId":"getLessons","parameters":[{"name":"courseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListCourseLesson"}}}}}}},"/api/v1/teacher/courses/{courseId}/lessons/{id}":{"get":{"tags":["Teacher - Course Lessons"],"summary":"Get lesson by ID","operationId":"getLesson_1","parameters":[{"name":"courseId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCourseLesson"}}}}}}},"/api/v1/teacher/courses/all":{"get":{"tags":["Teacher - Course"],"summary":"Get all courses","operationId":"getAllCourses","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListCourse"}}}}}}},"/api/v1/school/stats":{"get":{"tags":["School - Stats"],"summary":"Get school statistics","operationId":"getStats","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringObject"}}}}}}},"/api/v1/school/operation-logs":{"get":{"tags":["School - Operation Logs"],"summary":"Get school operation logs","operationId":"getLogs","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"module","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultOperationLog"}}}}}}},"/api/v1/school/export/teachers":{"get":{"tags":["School - Export"],"summary":"Export teachers to Excel","operationId":"exportTeachers","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/api/v1/school/export/students":{"get":{"tags":["School - Export"],"summary":"Export students to Excel","operationId":"exportStudents","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/api/v1/school/export/lessons":{"get":{"tags":["School - Export"],"summary":"Export lessons to Excel","operationId":"exportLessons","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/api/v1/school/export/growth-records":{"get":{"tags":["School - Export"],"summary":"Export growth records to Excel","operationId":"exportGrowthRecords","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string","format":"byte"}}}}}}}},"/api/v1/school/course-packages":{"get":{"tags":["School - Course Packages"],"summary":"Get available course packages","operationId":"getPackages","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultCoursePackage"}}}}}}},"/api/v1/school/course-packages/{id}":{"get":{"tags":["School - Course Packages"],"summary":"Get course package by ID","operationId":"getPackage","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultCoursePackage"}}}}}}},"/api/v1/parent/tasks/{id}":{"get":{"tags":["Parent - Task"],"summary":"Get task by ID","operationId":"getTask_2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultTask"}}}}}}},"/api/v1/parent/tasks/student/{studentId}":{"get":{"tags":["Parent - Task"],"summary":"Get tasks by student ID","operationId":"getTasksByStudent","parameters":[{"name":"studentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultTask"}}}}}}},"/api/v1/parent/notifications":{"get":{"tags":["Parent - Notification"],"summary":"Get my notifications","operationId":"getMyNotifications_1","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"isRead","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultNotification"}}}}}}},"/api/v1/parent/notifications/{id}":{"get":{"tags":["Parent - Notification"],"summary":"Get notification by ID","operationId":"getNotification_1","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultNotification"}}}}}}},"/api/v1/parent/notifications/unread-count":{"get":{"tags":["Parent - Notification"],"summary":"Get unread count","operationId":"getUnreadCount_1","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultLong"}}}}}}},"/api/v1/parent/growth-records/student/{studentId}":{"get":{"tags":["Parent - Growth Record"],"summary":"Get growth records by student ID","operationId":"getGrowthRecordsByStudent","parameters":[{"name":"studentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultGrowthRecord"}}}}}}},"/api/v1/parent/growth-records/student/{studentId}/recent":{"get":{"tags":["Parent - Growth Record"],"summary":"Get recent growth records","operationId":"getRecentGrowthRecords","parameters":[{"name":"studentId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListGrowthRecord"}}}}}}},"/api/v1/parent/children":{"get":{"tags":["Parent - Child"],"summary":"Get my children","operationId":"getMyChildren","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListStudent"}}}}}}},"/api/v1/parent/children/{id}":{"get":{"tags":["Parent - Child"],"summary":"Get child by ID","operationId":"getChild","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultStudent"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["Auth"],"summary":"Get current user info","operationId":"getCurrentUser","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultUserInfoResponse"}}}}}}},"/api/v1/admin/tenants/active":{"get":{"tags":["Admin - Tenant"],"summary":"Get all active tenants","operationId":"getAllActiveTenants","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListTenantResponse"}}}}}}},"/api/v1/admin/stats":{"get":{"tags":["Admin - Stats"],"summary":"Get overall statistics","operationId":"getStats_1","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultMapStringObject"}}}}}}},"/api/v1/admin/stats/trend":{"get":{"tags":["Admin - Stats"],"summary":"Get trend data (last 6 months)","operationId":"getTrendData","responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListMapStringObject"}}}}}}},"/api/v1/admin/stats/tenants/active":{"get":{"tags":["Admin - Stats"],"summary":"Get active tenants","operationId":"getActiveTenants","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListMapStringObject"}}}}}}},"/api/v1/admin/stats/courses/popular":{"get":{"tags":["Admin - Stats"],"summary":"Get popular courses","operationId":"getPopularCourses","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListMapStringObject"}}}}}}},"/api/v1/admin/stats/activities":{"get":{"tags":["Admin - Stats"],"summary":"Get recent activities","operationId":"getActivities","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":10}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultListMapStringObject"}}}}}}},"/api/v1/admin/operation-logs":{"get":{"tags":["Admin - Operation Logs"],"summary":"Get operation logs","operationId":"getLogs_1","parameters":[{"name":"pageNum","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"tenantId","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"module","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultPageResultOperationLog"}}}}}}},"/api/v1/school/schedules/templates/{id}":{"delete":{"tags":["School - Schedule"],"summary":"Delete schedule template","operationId":"deleteScheduleTemplate","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}},"/api/v1/files/delete":{"delete":{"tags":["File Upload"],"summary":"Delete file","operationId":"deleteFile","parameters":[{"name":"filePath","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"404":{"description":"Not Found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"403":{"description":"Forbidden","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"405":{"description":"Method Not Allowed","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"401":{"description":"Unauthorized","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}},"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ResultVoid"}}}}}}}},"components":{"schemas":{"ResultVoid":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object"}}},"TaskUpdateRequest":{"type":"object","properties":{"title":{"type":"string","description":"Task title"},"description":{"type":"string","description":"Description"},"type":{"type":"string","description":"Task type"},"startDate":{"type":"string","description":"Start date","format":"date"},"dueDate":{"type":"string","description":"Due date","format":"date"},"status":{"type":"string","description":"Status"},"attachments":{"type":"string","description":"Attachments (JSON array)"}},"description":"Task Update Request"},"ResultTask":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Task"}}},"Task":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"title":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"courseId":{"type":"integer","format":"int64"},"creatorId":{"type":"integer","format":"int64"},"creatorRole":{"type":"string"},"startDate":{"type":"string","format":"date"},"dueDate":{"type":"string","format":"date"},"status":{"type":"string"},"attachments":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"LessonUpdateRequest":{"type":"object","properties":{"title":{"type":"string","description":"Lesson title"},"lessonDate":{"type":"string","description":"Lesson date","format":"date"},"startTime":{"$ref":"#/components/schemas/LocalTime"},"endTime":{"$ref":"#/components/schemas/LocalTime"},"location":{"type":"string","description":"Location"},"status":{"type":"string","description":"Status"},"notes":{"type":"string","description":"Notes"}},"description":"Lesson Update Request"},"LocalTime":{"type":"object","properties":{"hour":{"type":"integer","format":"int32"},"minute":{"type":"integer","format":"int32"},"second":{"type":"integer","format":"int32"},"nano":{"type":"integer","format":"int32"}},"description":"End time"},"Lesson":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"courseId":{"type":"integer","format":"int64"},"classId":{"type":"integer","format":"int64"},"teacherId":{"type":"integer","format":"int64"},"title":{"type":"string"},"lessonDate":{"type":"string","format":"date"},"startTime":{"$ref":"#/components/schemas/LocalTime"},"endTime":{"$ref":"#/components/schemas/LocalTime"},"location":{"type":"string"},"status":{"type":"string"},"notes":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultLesson":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Lesson"}}},"GrowthRecordUpdateRequest":{"type":"object","properties":{"type":{"type":"string","description":"Type"},"title":{"type":"string","description":"Title"},"content":{"type":"string","description":"Content"},"images":{"type":"string","description":"Images (JSON array)"},"recordDate":{"type":"string","description":"Record date","format":"date"},"tags":{"type":"array","description":"Tags","items":{"type":"string","description":"Tags"}}},"description":"Growth Record Update Request"},"GrowthRecord":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"studentId":{"type":"integer","format":"int64"},"type":{"type":"string"},"title":{"type":"string"},"content":{"type":"string"},"images":{"type":"string"},"recordedBy":{"type":"integer","format":"int64"},"recorderRole":{"type":"string"},"recordDate":{"type":"string","format":"date"},"tags":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultGrowthRecord":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/GrowthRecord"}}},"TeacherUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone"},"email":{"type":"string","description":"Email"},"avatarUrl":{"type":"string","description":"Avatar URL"},"gender":{"type":"string","description":"Gender"},"bio":{"type":"string","description":"Bio"},"status":{"type":"string","description":"Status"}},"description":"Teacher Update Request"},"ResultTeacher":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Teacher"}}},"Teacher":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"username":{"type":"string"},"password":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string"},"avatarUrl":{"type":"string"},"gender":{"type":"string"},"bio":{"type":"string"},"status":{"type":"string"},"lastLoginAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"StudentUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"gender":{"type":"string","description":"Gender"},"birthDate":{"type":"string","description":"Birth date","format":"date"},"avatarUrl":{"type":"string","description":"Avatar URL"},"grade":{"type":"string","description":"Grade"},"studentNo":{"type":"string","description":"Student number"},"readingLevel":{"type":"string","description":"Reading level"},"interests":{"type":"string","description":"Interests"},"notes":{"type":"string","description":"Notes"},"status":{"type":"string","description":"Status"}},"description":"Student Update Request"},"ResultStudent":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Student"}}},"Student":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"name":{"type":"string"},"gender":{"type":"string"},"birthDate":{"type":"string","format":"date"},"avatarUrl":{"type":"string"},"grade":{"type":"string"},"studentNo":{"type":"string"},"readingLevel":{"type":"string"},"interests":{"type":"string"},"notes":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"SchoolCourse":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"coverUrl":{"type":"string"},"category":{"type":"string"},"ageRange":{"type":"string"},"status":{"type":"string"},"createdBy":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultSchoolCourse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SchoolCourse"}}},"SchedulePlan":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"name":{"type":"string"},"classId":{"type":"integer","format":"int64"},"startDate":{"type":"string","format":"date"},"endDate":{"type":"string","format":"date"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultSchedulePlan":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/SchedulePlan"}}},"ParentUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone"},"email":{"type":"string","description":"Email"},"avatarUrl":{"type":"string","description":"Avatar URL"},"gender":{"type":"string","description":"Gender"},"status":{"type":"string","description":"Status"}},"description":"Parent Update Request"},"Parent":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"username":{"type":"string"},"password":{"type":"string"},"name":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string"},"avatarUrl":{"type":"string"},"gender":{"type":"string"},"status":{"type":"string"},"lastLoginAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultParent":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Parent"}}},"ClassUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"Class name"},"grade":{"type":"string","description":"Grade"},"description":{"type":"string","description":"Description"},"capacity":{"type":"integer","description":"Capacity","format":"int32"},"status":{"type":"string","description":"Status"}},"description":"Class Update Request"},"Clazz":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"name":{"type":"string"},"grade":{"type":"string"},"description":{"type":"string"},"capacity":{"type":"integer","format":"int32"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultClazz":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Clazz"}}},"Theme":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"displayName":{"type":"string"},"color":{"type":"string"},"icon":{"type":"string"},"sortOrder":{"type":"integer","format":"int32"},"isEnabled":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultTheme":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Theme"}}},"TenantUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"Tenant name"},"contactName":{"type":"string","description":"Contact person"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"address":{"type":"string","description":"Address"},"logoUrl":{"type":"string","description":"Logo URL"},"status":{"type":"string","description":"Status"},"expireAt":{"type":"string","description":"Expiration date","format":"date-time"},"maxStudents":{"type":"integer","description":"Max students","format":"int32"},"maxTeachers":{"type":"integer","description":"Max teachers","format":"int32"},"packageType":{"type":"string","description":"Package type (optional)"},"startDate":{"type":"string","description":"Start date (optional)"}},"description":"Tenant Update Request"},"ResultTenant":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Tenant"}}},"Tenant":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"contactPhone":{"type":"string"},"contactEmail":{"type":"string"},"address":{"type":"string"},"logoUrl":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"},"tempPassword":{"type":"string"},"loginAccount":{"type":"string"},"contactPerson":{"type":"string"},"expireDate":{"type":"string","format":"date-time"},"studentQuota":{"type":"integer","format":"int32"},"teacherQuota":{"type":"integer","format":"int32"}}},"ResultMapStringObject":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"type":"object"}}}},"ResourceLibrary":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultResourceLibrary":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ResourceLibrary"}}},"ResourceItem":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"libraryId":{"type":"integer","format":"int64"},"name":{"type":"string"},"code":{"type":"string"},"description":{"type":"string"},"quantity":{"type":"integer","format":"int32"},"availableQuantity":{"type":"integer","format":"int32"},"location":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultResourceItem":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ResourceItem"}}},"CourseUpdateRequest":{"type":"object","properties":{"name":{"type":"string","description":"Course name"},"code":{"type":"string","description":"Course code"},"description":{"type":"string","description":"Description"},"coverUrl":{"type":"string","description":"Cover URL"},"coverImagePath":{"type":"string","description":"Cover image path"},"category":{"type":"string","description":"Category"},"ageRange":{"type":"string","description":"Age range"},"difficultyLevel":{"type":"string","description":"Difficulty level"},"durationMinutes":{"type":"integer","description":"Duration in minutes","format":"int32"},"objectives":{"type":"string","description":"Objectives"},"status":{"type":"string","description":"Status"},"coreContent":{"type":"string","description":"Core content"},"introSummary":{"type":"string","description":"Course summary"},"introHighlights":{"type":"string","description":"Course highlights"},"introGoals":{"type":"string","description":"Course goals"},"introSchedule":{"type":"string","description":"Content schedule"},"introKeyPoints":{"type":"string","description":"Key points and difficulties"},"introMethods":{"type":"string","description":"Teaching methods"},"introEvaluation":{"type":"string","description":"Evaluation methods"},"introNotes":{"type":"string","description":"Notes and precautions"},"scheduleRefData":{"type":"string","description":"Schedule reference data (JSON)"},"environmentConstruction":{"type":"string","description":"Environment construction content"},"themeId":{"type":"integer","description":"Theme ID","format":"int64"},"pictureBookName":{"type":"string","description":"Picture book name"},"ebookPaths":{"type":"string","description":"Ebook paths (JSON array)"},"audioPaths":{"type":"string","description":"Audio paths (JSON array)"},"videoPaths":{"type":"string","description":"Video paths (JSON array)"},"otherResources":{"type":"string","description":"Other resources (JSON array)"},"pptPath":{"type":"string","description":"PPT file path"},"pptName":{"type":"string","description":"PPT file name"},"posterPaths":{"type":"string","description":"Poster paths (JSON array)"},"tools":{"type":"string","description":"Teaching tools (JSON array)"},"studentMaterials":{"type":"string","description":"Student materials"},"lessonPlanData":{"type":"string","description":"Lesson plan data (JSON)"},"activitiesData":{"type":"string","description":"Activities data (JSON)"},"assessmentData":{"type":"string","description":"Assessment data (JSON)"},"gradeTags":{"type":"string","description":"Grade tags (JSON array)"},"domainTags":{"type":"string","description":"Domain tags (JSON array)"},"hasCollectiveLesson":{"type":"boolean","description":"Has collective lesson"}},"description":"Course Update Request"},"Course":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"name":{"type":"string"},"code":{"type":"string"},"description":{"type":"string"},"coverUrl":{"type":"string"},"category":{"type":"string"},"ageRange":{"type":"string"},"difficultyLevel":{"type":"string"},"durationMinutes":{"type":"integer","format":"int32"},"objectives":{"type":"string"},"status":{"type":"string"},"isSystem":{"type":"integer","format":"int32"},"coreContent":{"type":"string"},"introSummary":{"type":"string"},"introHighlights":{"type":"string"},"introGoals":{"type":"string"},"introSchedule":{"type":"string"},"introKeyPoints":{"type":"string"},"introMethods":{"type":"string"},"introEvaluation":{"type":"string"},"introNotes":{"type":"string"},"scheduleRefData":{"type":"string"},"environmentConstruction":{"type":"string"},"themeId":{"type":"integer","format":"int64"},"pictureBookName":{"type":"string"},"coverImagePath":{"type":"string"},"ebookPaths":{"type":"string"},"audioPaths":{"type":"string"},"videoPaths":{"type":"string"},"otherResources":{"type":"string"},"pptPath":{"type":"string"},"pptName":{"type":"string"},"posterPaths":{"type":"string"},"tools":{"type":"string"},"studentMaterials":{"type":"string"},"lessonPlanData":{"type":"string"},"activitiesData":{"type":"string"},"assessmentData":{"type":"string"},"gradeTags":{"type":"string"},"domainTags":{"type":"string"},"hasCollectiveLesson":{"type":"integer","format":"int32"},"version":{"type":"string"},"parentId":{"type":"integer","format":"int64"},"isLatest":{"type":"integer","format":"int32"},"submittedAt":{"type":"string","format":"date-time"},"submittedBy":{"type":"integer","format":"int64"},"reviewedAt":{"type":"string","format":"date-time"},"reviewedBy":{"type":"integer","format":"int64"},"reviewComment":{"type":"string"},"reviewChecklist":{"type":"string"},"publishedAt":{"type":"string","format":"date-time"},"usageCount":{"type":"integer","format":"int32"},"teacherCount":{"type":"integer","format":"int32"},"avgRating":{"type":"number"},"createdBy":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultCourse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Course"}}},"CourseLesson":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"courseId":{"type":"integer","format":"int64"},"title":{"type":"string"},"description":{"type":"string"},"content":{"type":"string"},"sortOrder":{"type":"integer","format":"int32"},"durationMinutes":{"type":"integer","format":"int32"},"videoUrl":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultCourseLesson":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/CourseLesson"}}},"CoursePackage":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"coverUrl":{"type":"string"},"courseCount":{"type":"integer","format":"int32"},"price":{"type":"number"},"status":{"type":"string"},"isSystem":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultCoursePackage":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/CoursePackage"}}},"TaskCreateRequest":{"required":["title"],"type":"object","properties":{"title":{"type":"string","description":"Task title"},"description":{"type":"string","description":"Description"},"type":{"type":"string","description":"Task type: reading, homework, activity"},"courseId":{"type":"integer","description":"Course ID","format":"int64"},"startDate":{"type":"string","description":"Start date","format":"date"},"dueDate":{"type":"string","description":"Due date","format":"date"},"attachments":{"type":"string","description":"Attachments (JSON array)"},"targetType":{"type":"string","description":"Target type: class, student"},"targetIds":{"type":"array","description":"Target IDs","items":{"type":"integer","description":"Target IDs","format":"int64"}}},"description":"Task Create Request"},"LessonCreateRequest":{"required":["courseId","lessonDate","teacherId","title"],"type":"object","properties":{"courseId":{"type":"integer","description":"Course ID","format":"int64"},"classId":{"type":"integer","description":"Class ID","format":"int64"},"teacherId":{"type":"integer","description":"Teacher ID","format":"int64"},"title":{"type":"string","description":"Lesson title"},"lessonDate":{"type":"string","description":"Lesson date","format":"date"},"startTime":{"$ref":"#/components/schemas/LocalTime"},"endTime":{"$ref":"#/components/schemas/LocalTime"},"location":{"type":"string","description":"Location"},"notes":{"type":"string","description":"Notes"}},"description":"Lesson Create Request"},"GrowthRecordCreateRequest":{"required":["studentId","title","type"],"type":"object","properties":{"studentId":{"type":"integer","description":"Student ID","format":"int64"},"type":{"type":"string","description":"Type: reading, behavior, achievement, milestone"},"title":{"type":"string","description":"Title"},"content":{"type":"string","description":"Content"},"images":{"type":"string","description":"Images (JSON array)"},"recordDate":{"type":"string","description":"Record date","format":"date"},"tags":{"type":"array","description":"Tags","items":{"type":"string","description":"Tags"}}},"description":"Growth Record Create Request"},"TeacherCreateRequest":{"required":["name","password","username"],"type":"object","properties":{"username":{"type":"string","description":"Username"},"password":{"type":"string","description":"Password"},"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone"},"email":{"type":"string","description":"Email"},"gender":{"type":"string","description":"Gender"},"bio":{"type":"string","description":"Bio"}},"description":"Teacher Create Request"},"StudentCreateRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name"},"gender":{"type":"string","description":"Gender"},"birthDate":{"type":"string","description":"Birth date","format":"date"},"grade":{"type":"string","description":"Grade"},"studentNo":{"type":"string","description":"Student number"},"readingLevel":{"type":"string","description":"Reading level"},"interests":{"type":"string","description":"Interests"},"notes":{"type":"string","description":"Notes"}},"description":"Student Create Request"},"ScheduleTemplate":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"name":{"type":"string"},"description":{"type":"string"},"content":{"type":"string"},"isPublic":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"ResultScheduleTemplate":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/ScheduleTemplate"}}},"ParentCreateRequest":{"required":["name","password","username"],"type":"object","properties":{"username":{"type":"string","description":"Username"},"password":{"type":"string","description":"Password"},"name":{"type":"string","description":"Name"},"phone":{"type":"string","description":"Phone"},"email":{"type":"string","description":"Email"},"gender":{"type":"string","description":"Gender"}},"description":"Parent Create Request"},"ClassCreateRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Class name"},"grade":{"type":"string","description":"Grade"},"description":{"type":"string","description":"Description"},"capacity":{"type":"integer","description":"Capacity","format":"int32"}},"description":"Class Create Request"},"ResultMapStringString":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":{"type":"string"}}}},"LoginRequest":{"required":["password","username"],"type":"object","properties":{"username":{"type":"string","description":"Username","example":"admin"},"password":{"type":"string","description":"Password","example":"admin123"},"role":{"type":"string","description":"Login role","example":"admin"}},"description":"Login Request"},"LoginResponse":{"type":"object","properties":{"token":{"type":"string","description":"JWT Token"},"userId":{"type":"integer","description":"User ID","format":"int64"},"username":{"type":"string","description":"Username"},"name":{"type":"string","description":"User name"},"role":{"type":"string","description":"User role"},"tenantId":{"type":"integer","description":"Tenant ID","format":"int64"}},"description":"Login Response"},"ResultLoginResponse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/LoginResponse"}}},"TenantCreateRequest":{"required":["code","name"],"type":"object","properties":{"name":{"type":"string","description":"Tenant name"},"code":{"type":"string","description":"Tenant code / login account"},"contactName":{"type":"string","description":"Contact person"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"address":{"type":"string","description":"Address"},"logoUrl":{"type":"string","description":"Logo URL"},"expireAt":{"type":"string","description":"Expiration date","format":"date-time"},"maxStudents":{"type":"integer","description":"Max students","format":"int32"},"maxTeachers":{"type":"integer","description":"Max teachers","format":"int32"},"password":{"type":"string","description":"Initial password (default: 123456)"},"packageType":{"type":"string","description":"Package type (optional)"},"startDate":{"type":"string","description":"Start date (optional)"}},"description":"Tenant Create Request"},"CourseCreateRequest":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Course name"},"code":{"type":"string","description":"Course code"},"description":{"type":"string","description":"Description"},"coverUrl":{"type":"string","description":"Cover URL"},"coverImagePath":{"type":"string","description":"Cover image path"},"category":{"type":"string","description":"Category"},"ageRange":{"type":"string","description":"Age range"},"difficultyLevel":{"type":"string","description":"Difficulty level"},"durationMinutes":{"type":"integer","description":"Duration in minutes","format":"int32"},"objectives":{"type":"string","description":"Objectives"},"coreContent":{"type":"string","description":"Core content"},"introSummary":{"type":"string","description":"Course summary"},"introHighlights":{"type":"string","description":"Course highlights"},"introGoals":{"type":"string","description":"Course goals"},"introSchedule":{"type":"string","description":"Content schedule"},"introKeyPoints":{"type":"string","description":"Key points and difficulties"},"introMethods":{"type":"string","description":"Teaching methods"},"introEvaluation":{"type":"string","description":"Evaluation methods"},"introNotes":{"type":"string","description":"Notes and precautions"},"scheduleRefData":{"type":"string","description":"Schedule reference data (JSON)"},"environmentConstruction":{"type":"string","description":"Environment construction content"},"themeId":{"type":"integer","description":"Theme ID","format":"int64"},"pictureBookName":{"type":"string","description":"Picture book name"},"ebookPaths":{"type":"string","description":"Ebook paths (JSON array)"},"audioPaths":{"type":"string","description":"Audio paths (JSON array)"},"videoPaths":{"type":"string","description":"Video paths (JSON array)"},"otherResources":{"type":"string","description":"Other resources (JSON array)"},"pptPath":{"type":"string","description":"PPT file path"},"pptName":{"type":"string","description":"PPT file name"},"posterPaths":{"type":"string","description":"Poster paths (JSON array)"},"tools":{"type":"string","description":"Teaching tools (JSON array)"},"studentMaterials":{"type":"string","description":"Student materials"},"lessonPlanData":{"type":"string","description":"Lesson plan data (JSON)"},"activitiesData":{"type":"string","description":"Activities data (JSON)"},"assessmentData":{"type":"string","description":"Assessment data (JSON)"},"gradeTags":{"type":"string","description":"Grade tags (JSON array)"},"domainTags":{"type":"string","description":"Domain tags (JSON array)"},"hasCollectiveLesson":{"type":"boolean","description":"Has collective lesson"}},"description":"Course Create Request"},"PageResultTask":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Task"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultTask":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultTask"}}},"PageResultSchoolCourse":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/SchoolCourse"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultSchoolCourse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultSchoolCourse"}}},"PageResultSchedulePlan":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/SchedulePlan"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultSchedulePlan":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultSchedulePlan"}}},"Notification":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"title":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"},"senderId":{"type":"integer","format":"int64"},"senderRole":{"type":"string"},"recipientType":{"type":"string"},"recipientId":{"type":"integer","format":"int64"},"isRead":{"type":"integer","format":"int32"},"readAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"deleted":{"type":"integer","format":"int32"}}},"PageResultNotification":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultNotification":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultNotification"}}},"ResultNotification":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/Notification"}}},"ResultLong":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"integer","format":"int64"}}},"PageResultLesson":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Lesson"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultLesson":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultLesson"}}},"ResultListLesson":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Lesson"}}}},"PageResultGrowthRecord":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/GrowthRecord"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultGrowthRecord":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultGrowthRecord"}}},"ResultListMapStringObject":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object"}}}}},"PageResultCourse":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Course"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultCourse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultCourse"}}},"ResultListCourseLesson":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/CourseLesson"}}}},"ResultListCourse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Course"}}}},"PageResultTeacher":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Teacher"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultTeacher":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultTeacher"}}},"PageResultStudent":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Student"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultStudent":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultStudent"}}},"PageResultScheduleTemplate":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleTemplate"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultScheduleTemplate":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultScheduleTemplate"}}},"PageResultParent":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Parent"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultParent":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultParent"}}},"OperationLog":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"tenantId":{"type":"integer","format":"int64"},"userId":{"type":"integer","format":"int64"},"userRole":{"type":"string"},"action":{"type":"string"},"module":{"type":"string"},"targetType":{"type":"string"},"targetId":{"type":"integer","format":"int64"},"details":{"type":"string"},"ipAddress":{"type":"string"},"userAgent":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"PageResultOperationLog":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OperationLog"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultOperationLog":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultOperationLog"}}},"PageResultCoursePackage":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CoursePackage"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultCoursePackage":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultCoursePackage"}}},"PageResultClazz":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Clazz"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultClazz":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultClazz"}}},"ResultListGrowthRecord":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/GrowthRecord"}}}},"ResultListStudent":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Student"}}}},"ResultUserInfoResponse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/UserInfoResponse"}}},"UserInfoResponse":{"type":"object","properties":{"id":{"type":"integer","description":"User ID","format":"int64"},"username":{"type":"string","description":"Username"},"name":{"type":"string","description":"User name"},"email":{"type":"string","description":"Email"},"phone":{"type":"string","description":"Phone"},"avatarUrl":{"type":"string","description":"Avatar URL"},"role":{"type":"string","description":"User role"},"tenantId":{"type":"integer","description":"Tenant ID","format":"int64"}},"description":"User Info Response"},"ResultListTheme":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/Theme"}}}},"PageResultTenant":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Tenant"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultTenant":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultTenant"}}},"ResultListTenantResponse":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TenantResponse"}}}},"TenantResponse":{"type":"object","properties":{"id":{"type":"integer","description":"Tenant ID","format":"int64"},"name":{"type":"string","description":"Tenant name"},"loginAccount":{"type":"string","description":"Login account (tenant code)"},"contactPerson":{"type":"string","description":"Contact person"},"contactPhone":{"type":"string","description":"Contact phone"},"contactEmail":{"type":"string","description":"Contact email"},"address":{"type":"string","description":"Address"},"logoUrl":{"type":"string","description":"Logo URL"},"status":{"type":"string","description":"Status"},"expireDate":{"type":"string","description":"Expiration date","format":"date-time"},"studentQuota":{"type":"integer","description":"Max students / student quota","format":"int32"},"teacherQuota":{"type":"integer","description":"Max teachers / teacher quota","format":"int32"},"createdAt":{"type":"string","description":"Created at","format":"date-time"}},"description":"Tenant Response"},"ResultListResourceLibrary":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ResourceLibrary"}}}},"PageResultResourceItem":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"pageSize":{"type":"integer","format":"int64"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ResourceItem"}},"page":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"ResultPageResultResourceItem":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/PageResultResourceItem"}}}},"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"x-openapi":{"x-setting":{"customCode":200,"language":"zh-CN","enableSwaggerModels":true,"swaggerModelName":"Swagger Models","enableReloadCacheParameter":false,"enableAfterScript":true,"enableDocumentManage":true,"enableVersion":false,"enableRequestCache":true,"enableFilterMultipartApis":false,"enableFilterMultipartApiMethodType":"POST","enableHost":false,"enableHostText":"","enableDynamicParameter":false,"enableDebug":true,"enableFooter":true,"enableFooterCustom":false,"enableSearch":true,"enableOpenApi":true,"enableHomeCustom":false,"enableGroup":true,"enableResponseCode":true},"x-markdownFiles":[]}} \ No newline at end of file diff --git a/reading-platform-frontend/orval.config.ts b/reading-platform-frontend/orval.config.ts new file mode 100644 index 0000000..d1dc048 --- /dev/null +++ b/reading-platform-frontend/orval.config.ts @@ -0,0 +1,25 @@ +import { defineConfig } from 'orval' + +export default defineConfig({ + readingPlatform: { + input: { + // 本地开发:使用下载的规范文件(运行 npm run api:fetch 更新) + // 服务器直连时改为:'http://8.148.151.56:3002/v3/api-docs' + target: './api-spec.json', + }, + output: { + // 自动生成到这个目录,不要手动修改这里的文件 + target: 'src/api/generated/api.ts', + schemas: 'src/api/generated/model', + client: 'axios', + // 复用项目里已有的 axios 实例(带 token、错误处理) + override: { + mutator: { + path: 'src/api/request.ts', + name: 'request', + }, + }, + prettier: true, + }, + }, +}) diff --git a/reading-platform-frontend/package-lock.json b/reading-platform-frontend/package-lock.json index 391244c..6f3c82b 100644 --- a/reading-platform-frontend/package-lock.json +++ b/reading-platform-frontend/package-lock.json @@ -29,6 +29,7 @@ "@types/node": "^20.11.28", "@vitejs/plugin-vue": "^5.0.4", "@vue/tsconfig": "^0.5.1", + "orval": "^7.13.2", "sass-embedded": "^1.97.3", "typescript": "~5.4.0", "unplugin-auto-import": "^0.17.5", @@ -76,6 +77,68 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.0.1.tgz", + "integrity": "sha512-Oc96zvmxx1fqoSEdUmfmvvb59/KDOnUoJ7s2t7bISyAn0XEz57LCCw8k2Y4Pf3mwKaZLMciESALORLgfe2frCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.15", + "js-yaml": "^4.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/philsturgeon" + } + }, + "node_modules/@apidevtools/openapi-schemas": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", + "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@apidevtools/swagger-methods": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz", + "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@apidevtools/swagger-parser": { + "version": "12.1.0", + "resolved": "https://registry.npmmirror.com/@apidevtools/swagger-parser/-/swagger-parser-12.1.0.tgz", + "integrity": "sha512-e5mJoswsnAX0jG+J09xHFYQXb/bUc5S3pLpMxUuRUA2H8T2kni3yEoyz2R3Dltw5f4A6j6rPNMpWTK+iVDFlng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@apidevtools/json-schema-ref-parser": "14.0.1", + "@apidevtools/openapi-schemas": "^2.1.0", + "@apidevtools/swagger-methods": "^3.0.2", + "ajv": "^8.17.1", + "ajv-draft-04": "^1.0.0", + "call-me-maybe": "^1.0.2" + }, + "peerDependencies": { + "openapi-types": ">=7" + } + }, + "node_modules/@asyncapi/specs": { + "version": "6.11.1", + "resolved": "https://registry.npmmirror.com/@asyncapi/specs/-/specs-6.11.1.tgz", + "integrity": "sha512-A3WBLqAKGoJ2+6FWFtpjBlCQ1oFCcs4GxF7zsIGvNqp/klGUHjlA3aAcZ9XMMpLGE8zPeYDz2x9FmO6DSuKraQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.11" + } + }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", @@ -138,6 +201,16 @@ "dev": true, "license": "(Apache-2.0 AND BSD-3-Clause)" }, + "node_modules/@commander-js/extra-typings": { + "version": "14.0.0", + "resolved": "https://registry.npmmirror.com/@commander-js/extra-typings/-/extra-typings-14.0.0.tgz", + "integrity": "sha512-hIn0ncNaJRLkZrxBIp5AsW/eXEHNKYQBh0aPdoUqNgD+Io3NIykQqpKFyKcuasZhicGaEZJX/JBSIkZ4e5x8Dg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "commander": "~14.0.0" + } + }, "node_modules/@ctrl/tinycolor": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", @@ -448,6 +521,23 @@ "node": ">=12" } }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/netbsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", @@ -465,6 +555,23 @@ "node": ">=12" } }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/openbsd-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", @@ -482,6 +589,23 @@ "node": ">=12" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", @@ -550,6 +674,13 @@ "node": ">=12" } }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==", + "dev": true, + "license": "MIT" + }, "node_modules/@fullcalendar/core": { "version": "6.1.20", "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.20.tgz", @@ -599,12 +730,115 @@ "vue": "^3.0.11" } }, + "node_modules/@gerrit0/mini-shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmmirror.com/@gerrit0/mini-shiki/-/mini-shiki-3.23.0.tgz", + "integrity": "sha512-bEMORlG0cqdjVyCEuU0cDQbORWX+kYCeo0kV1lbxF5bt4r7SID2l9bqsxJEM0zndaxpOUT7riCyIVEuqq/Ynxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/engine-oniguruma": "^3.23.0", + "@shikijs/langs": "^3.23.0", + "@shikijs/themes": "^3.23.0", + "@shikijs/types": "^3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@ibm-cloud/openapi-ruleset": { + "version": "1.33.7", + "resolved": "https://registry.npmmirror.com/@ibm-cloud/openapi-ruleset/-/openapi-ruleset-1.33.7.tgz", + "integrity": "sha512-xAhFrqqIEl7MIeb7otM33CVFBB8qHkyNp68ac/PJfA8zKg1LkZIJINntRUxC54gKHmz45rUYXNEBVvpyi/N6sg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@ibm-cloud/openapi-ruleset-utilities": "1.9.0", + "@stoplight/spectral-formats": "^1.8.2", + "@stoplight/spectral-functions": "^1.9.3", + "@stoplight/spectral-rulesets": "^1.21.3", + "chalk": "^4.1.2", + "inflected": "^2.1.0", + "jsonschema": "^1.5.0", + "lodash": "^4.17.23", + "loglevel": "^1.9.2", + "loglevel-plugin-prefix": "0.8.4", + "minimatch": "^6.2.0", + "validator": "^13.15.23" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ibm-cloud/openapi-ruleset-utilities": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/@ibm-cloud/openapi-ruleset-utilities/-/openapi-ruleset-utilities-1.9.0.tgz", + "integrity": "sha512-AoFbSarOqFBYH+1TZ9Ahkm2IWYSi5v0pBk88fpV+5b3qGJukypX8PwvCWADjuyIccKg48/F73a6hTTkBzDQ2UA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ibm-cloud/openapi-ruleset/node_modules/minimatch": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-6.2.3.tgz", + "integrity": "sha512-5rvZbDy5y2k40rre/0OBbYnl03en25XPU3gOVO7532beGMjAipq88VdS9OeLOZNrD+Tb0lDhBJHZ7Gcd8qKlPg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT" }, + "node_modules/@jsep-plugin/assignment": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@jsep-plugin/assignment/-/assignment-1.3.0.tgz", + "integrity": "sha512-VVgV+CXrhbMI3aSusQyclHkenWSAm95WaiKrMxRFam3JSUiIaQjoMIw2sEs/OX4XifnqeQUN4DYbJjlA8EfktQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@jsep-plugin/regex/-/regex-1.0.4.tgz", + "integrity": "sha512-q7qL4Mgjs1vByCaTnDFcBnV9HS7GVPJX5vyVoCgZHNSC9rjwIlmbXG5sUuorR5ndfHAIlJ8pVStxvjXHbNvtUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/ternary": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/@jsep-plugin/ternary/-/ternary-1.1.4.tgz", + "integrity": "sha512-ck5wiqIbqdMX6WRQztBL7ASDty9YLgJ3sSAK5ZpBzXeySvFGCzIvM6UiAI4hTZ22fEcYQVV/zhUbNscggW+Ukg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -643,6 +877,602 @@ "node": ">= 8" } }, + "node_modules/@orval/angular": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/angular/-/angular-7.13.2.tgz", + "integrity": "sha512-vcG3vlDWU3wHdB0u0O7pG2BFQCpPmny0Jx2L+wGti9sjFCcN2SJT9hSRF//EVY1ZQQx/2CZHV3N+DnEEJRO5gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2" + } + }, + "node_modules/@orval/axios": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/axios/-/axios-7.13.2.tgz", + "integrity": "sha512-fFAQuHonmzSHjaJWojNj2rju8RrTIHRhDe/YTnRorl74MXjzoioMRPzjlpFul0h3kcrmGyK/o+AzY2nO0FEyNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2" + } + }, + "node_modules/@orval/core": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/core/-/core-7.13.2.tgz", + "integrity": "sha512-7Z0hz5+un9/3B2TyBoQdhUUET4Zuiw3kd9SPIzzSxR7vvFfklr683Ztp0gJV3S+Uwpt4g6fyezp3IYtLYo0mag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@apidevtools/swagger-parser": "^12.0.0", + "@ibm-cloud/openapi-ruleset": "^1.32.1", + "@stoplight/spectral-core": "^1.20.0", + "acorn": "^8.15.0", + "chalk": "^4.1.2", + "compare-versions": "^6.1.1", + "debug": "^4.4.3", + "esbuild": "^0.25.9", + "esutils": "2.0.3", + "fs-extra": "^11.3.1", + "globby": "11.1.0", + "lodash.isempty": "^4.4.0", + "lodash.uniq": "^4.5.0", + "lodash.uniqby": "^4.7.0", + "lodash.uniqwith": "^4.5.0", + "micromatch": "^4.0.8", + "openapi3-ts": "4.5.0", + "swagger2openapi": "^7.0.8", + "typedoc": "^0.28.12" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@orval/core/node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/@orval/core/node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@orval/fetch": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/fetch/-/fetch-7.13.2.tgz", + "integrity": "sha512-Oj81JbRPC5GN71Bg2p/o7zM07QK/W/qhh9KyHekjwspVQZ7X/WTAmq8/QWgsn95+utCNirIh/nsh/al+v36kyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2", + "openapi3-ts": "4.5.0" + } + }, + "node_modules/@orval/hono": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/hono/-/hono-7.13.2.tgz", + "integrity": "sha512-k3CAN4T3SwnhAXOpwmzp6SAnkLrpFZfU6l/EdNy5VSdfpNE+o3MFiQS0sL28zMRUhMIH5l6ZuwAY92fGQqZTxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2", + "@orval/zod": "7.13.2", + "fs-extra": "^11.3.1", + "lodash.uniq": "^4.5.0", + "openapi3-ts": "4.5.0" + } + }, + "node_modules/@orval/hono/node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@orval/mcp": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/mcp/-/mcp-7.13.2.tgz", + "integrity": "sha512-RPIF5WIm1DxOy7tYUbhFQUnWv7RK9+gSIz79gFMKdyhci+XrcvgyQU3rx6rFCXC/k3fwX2QXOYcTptR2EOHScg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2", + "@orval/fetch": "7.13.2", + "@orval/zod": "7.13.2", + "openapi3-ts": "4.5.0" + } + }, + "node_modules/@orval/mock": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/mock/-/mock-7.13.2.tgz", + "integrity": "sha512-1jF8SUx/L6E+sNfP9u69U+DnRbeWOcXbFPKc8iTqEr6o+xF3RnpQfDE+ipRsX3DEJVi96XRFq6EhYpuxKXezLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2", + "openapi3-ts": "4.5.0" + } + }, + "node_modules/@orval/query": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/query/-/query-7.13.2.tgz", + "integrity": "sha512-s8LoQkbDXrfS4jwvy3RiM6SJLXrUogVkbE9oOGA6cYnjZDVG3gGtdcr8+2GkKGTXJFggMBR1JsV6I6IVdLBYoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2", + "@orval/fetch": "7.13.2", + "chalk": "^4.1.2", + "lodash.omitby": "^4.6.0" + } + }, + "node_modules/@orval/swr": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/swr/-/swr-7.13.2.tgz", + "integrity": "sha512-O4bvu1gQwcrn86gCPHHhuSswOSx+0ySQVi4gT4cc2YKg0r5VF4TBiHCewpd3Q69R37vfOgBsK7PWZrKn9ZPFeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2", + "@orval/fetch": "7.13.2" + } + }, + "node_modules/@orval/zod": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/@orval/zod/-/zod-7.13.2.tgz", + "integrity": "sha512-qOyIojDhZDQJhkUwlC01xnH9rAthBYA5xdCxMKqLr4alzaOSNjt2q9TRyrEvGOAYTJXeXwfnX6kUxqAOc/i2rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@orval/core": "7.13.2", + "lodash.uniq": "^4.5.0", + "openapi3-ts": "4.5.0" + } + }, "node_modules/@parcel/watcher": { "version": "2.5.6", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", @@ -1326,6 +2156,55 @@ "win32" ] }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmmirror.com/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmmirror.com/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmmirror.com/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmmirror.com/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmmirror.com/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true, + "license": "MIT" + }, "node_modules/@simonwep/pickr": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.2.tgz", @@ -1336,6 +2215,354 @@ "nanopop": "^2.1.0" } }, + "node_modules/@stoplight/better-ajv-errors": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@stoplight/better-ajv-errors/-/better-ajv-errors-1.0.3.tgz", + "integrity": "sha512-0p9uXkuB22qGdNfy3VeEhxkU5uwvp/KrBTAbrLBURv6ilxIVwanKwjMc41lQfIVgPGcOkmLbTolfFrSsueu7zA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": "^12.20 || >= 14.13" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@stoplight/json": { + "version": "3.21.7", + "resolved": "https://registry.npmmirror.com/@stoplight/json/-/json-3.21.7.tgz", + "integrity": "sha512-xcJXgKFqv/uCEgtGlPxy3tPA+4I+ZI4vAuMJ885+ThkTHFVkC+0Fm58lA9NlsyjnkpxFh4YiQWpH+KefHdbA0A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.3", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "jsonc-parser": "~2.2.1", + "lodash": "^4.17.21", + "safe-stable-stringify": "^1.1" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json-ref-readers": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@stoplight/json-ref-readers/-/json-ref-readers-1.2.2.tgz", + "integrity": "sha512-nty0tHUq2f1IKuFYsLM4CXLZGHdMn+X/IwEUIpeSOXt0QjMUbL0Em57iJUDzz+2MkWG83smIigNZ3fauGjqgdQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-fetch": "^2.6.0", + "tslib": "^1.14.1" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/json-ref-readers/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@stoplight/json-ref-resolver": { + "version": "3.1.6", + "resolved": "https://registry.npmmirror.com/@stoplight/json-ref-resolver/-/json-ref-resolver-3.1.6.tgz", + "integrity": "sha512-YNcWv3R3n3U6iQYBsFOiWSuRGE5su1tJSiX6pAPRVk7dP0L7lqCteXGzuVRQ0gMZqUl8v1P0+fAKxF6PLo9B5A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "^3.21.0", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^12.3.0 || ^13.0.0", + "@types/urijs": "^1.19.19", + "dependency-graph": "~0.11.0", + "fast-memoize": "^2.5.2", + "immer": "^9.0.6", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "urijs": "^1.19.11" + }, + "engines": { + "node": ">=8.3.0" + } + }, + "node_modules/@stoplight/ordered-object-literal": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@stoplight/ordered-object-literal/-/ordered-object-literal-1.0.5.tgz", + "integrity": "sha512-COTiuCU5bgMUtbIFBuyyh2/yVVzlr5Om0v5utQDgBCuQUOPgU1DwoffkTfg4UBQOvByi5foF4w4T+H9CoRe5wg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/path": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/@stoplight/path/-/path-1.3.2.tgz", + "integrity": "sha512-lyIc6JUlUA8Ve5ELywPC8I2Sdnh1zc1zmbYgVarhXIp9YeAB0ReeqmGEOWNtlHkbP2DAA1AL65Wfn2ncjK/jtQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/@stoplight/spectral-core": { + "version": "1.21.0", + "resolved": "https://registry.npmmirror.com/@stoplight/spectral-core/-/spectral-core-1.21.0.tgz", + "integrity": "sha512-oj4e/FrDLUhBRocIW+lRMKlJ/q/rDZw61HkLbTFsdMd+f/FTkli2xHNB1YC6n1mrMKjjvy7XlUuFkC7XxtgbWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "~3.21.0", + "@stoplight/path": "1.3.2", + "@stoplight/spectral-parsers": "^1.0.0", + "@stoplight/spectral-ref-resolver": "^1.0.4", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "~13.6.0", + "@types/es-aggregate-error": "^1.0.2", + "@types/json-schema": "^7.0.11", + "ajv": "^8.17.1", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.1", + "es-aggregate-error": "^1.0.7", + "jsonpath-plus": "^10.3.0", + "lodash": "~4.17.23", + "lodash.topath": "^4.5.2", + "minimatch": "3.1.2", + "nimma": "0.2.3", + "pony-cause": "^1.1.1", + "simple-eval": "1.0.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@stoplight/spectral-core/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@stoplight/spectral-formats": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/@stoplight/spectral-formats/-/spectral-formats-1.8.2.tgz", + "integrity": "sha512-c06HB+rOKfe7tuxg0IdKDEA5XnjL2vrn/m/OVIIxtINtBzphZrOgtRn7epQ5bQF5SWp84Ue7UJWaGgDwVngMFw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.19.2", + "@types/json-schema": "^7.0.7", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-functions": { + "version": "1.10.1", + "resolved": "https://registry.npmmirror.com/@stoplight/spectral-functions/-/spectral-functions-1.10.1.tgz", + "integrity": "sha512-obu8ZfoHxELOapfGsCJixKZXZcffjg+lSoNuttpmUFuDzVLT3VmH8QkPXfOGOL5Pz80BR35ClNAToDkdnYIURg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.1", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-runtime": "^1.1.2", + "ajv": "^8.17.1", + "ajv-draft-04": "~1.0.0", + "ajv-errors": "~3.0.0", + "ajv-formats": "~2.1.1", + "lodash": "~4.17.21", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-parsers": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@stoplight/spectral-parsers/-/spectral-parsers-1.0.5.tgz", + "integrity": "sha512-ANDTp2IHWGvsQDAY85/jQi9ZrF4mRrA5bciNHX+PUxPr4DwS6iv4h+FVWJMVwcEYdpyoIdyL+SRmHdJfQEPmwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "~3.21.0", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml": "~4.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-parsers/node_modules/@stoplight/types": { + "version": "14.1.1", + "resolved": "https://registry.npmmirror.com/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/spectral-ref-resolver": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@stoplight/spectral-ref-resolver/-/spectral-ref-resolver-1.0.5.tgz", + "integrity": "sha512-gj3TieX5a9zMW29z3mBlAtDOCgN3GEc1VgZnCVlr5irmR4Qi5LuECuFItAq4pTn5Zu+sW5bqutsCH7D4PkpyAA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json-ref-readers": "1.2.2", + "@stoplight/json-ref-resolver": "~3.1.6", + "@stoplight/spectral-runtime": "^1.1.2", + "dependency-graph": "0.11.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-rulesets": { + "version": "1.22.0", + "resolved": "https://registry.npmmirror.com/@stoplight/spectral-rulesets/-/spectral-rulesets-1.22.0.tgz", + "integrity": "sha512-l2EY2jiKKLsvnPfGy+pXC0LeGsbJzcQP5G/AojHgf+cwN//VYxW1Wvv4WKFx/CLmLxc42mJYF2juwWofjWYNIQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@asyncapi/specs": "^6.8.0", + "@stoplight/better-ajv-errors": "1.0.3", + "@stoplight/json": "^3.17.0", + "@stoplight/spectral-core": "^1.19.4", + "@stoplight/spectral-formats": "^1.8.1", + "@stoplight/spectral-functions": "^1.9.1", + "@stoplight/spectral-runtime": "^1.1.2", + "@stoplight/types": "^13.6.0", + "@types/json-schema": "^7.0.7", + "ajv": "^8.17.1", + "ajv-formats": "~2.1.1", + "json-schema-traverse": "^1.0.0", + "leven": "3.1.0", + "lodash": "~4.17.21", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/spectral-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/@stoplight/spectral-runtime/-/spectral-runtime-1.1.4.tgz", + "integrity": "sha512-YHbhX3dqW0do6DhiPSgSGQzr6yQLlWybhKwWx0cqxjMwxej3TqLv3BXMfIUYFKKUqIwH4Q2mV8rrMM8qD2N0rQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/json": "^3.20.1", + "@stoplight/path": "^1.3.2", + "@stoplight/types": "^13.6.0", + "abort-controller": "^3.0.0", + "lodash": "^4.17.21", + "node-fetch": "^2.7.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": "^16.20 || ^18.18 || >= 20.17" + } + }, + "node_modules/@stoplight/types": { + "version": "13.6.0", + "resolved": "https://registry.npmmirror.com/@stoplight/types/-/types-13.6.0.tgz", + "integrity": "sha512-dzyuzvUjv3m1wmhPfq82lCVYGcXG0xUYgqnWfCq3PCVR4BKFhjdkHrnJ+jIDoMKvXb05AZP/ObQF6+NpDo29IQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@stoplight/yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/@stoplight/yaml/-/yaml-4.3.0.tgz", + "integrity": "sha512-JZlVFE6/dYpP9tQmV0/ADfn32L9uFarHWxfcRhReKUnljz1ZiUM5zpX+PH8h5CJs6lao3TuFqnPm9IJJCEkE2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@stoplight/ordered-object-literal": "^1.0.5", + "@stoplight/types": "^14.1.1", + "@stoplight/yaml-ast-parser": "0.0.50", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=10.8" + } + }, + "node_modules/@stoplight/yaml-ast-parser": { + "version": "0.0.50", + "resolved": "https://registry.npmmirror.com/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.50.tgz", + "integrity": "sha512-Pb6M8TDO9DtSVla9yXSTAxmo9GVEouq5P40DWXdOie69bXogZTkgvopCq+yEvTMA0F6PEvdJmbtTV3ccIp11VQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@stoplight/yaml/node_modules/@stoplight/types": { + "version": "14.1.1", + "resolved": "https://registry.npmmirror.com/@stoplight/types/-/types-14.1.1.tgz", + "integrity": "sha512-/kjtr+0t0tjKr+heVfviO9FrU/uGLc+QNX3fHJc19xsCNYqU7lVhaXxDmEID9BZTjG+/r9pK9xP/xU02XGg65g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.4", + "utility-types": "^3.10.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + } + }, + "node_modules/@types/es-aggregate-error": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/es-aggregate-error/-/es-aggregate-error-1.0.6.tgz", + "integrity": "sha512-qJ7LIFp06h1QE1aVxbVd+zJP2wdaugYXYfd6JxsyRMrYHaxb6itXPogW2tz+ylUJ1n1b+JF1PHyYCfYHm0dvUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -1343,6 +2570,23 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/lodash": { "version": "4.17.23", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", @@ -1370,6 +2614,20 @@ "undici-types": "~6.21.0" } }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/urijs": { + "version": "1.19.26", + "resolved": "https://registry.npmmirror.com/@types/urijs/-/urijs-1.19.26.tgz", + "integrity": "sha512-wkXrVzX5yoqLnndOwFsieJA7oKM8cNkOKJtf/3vVGSUFkWDKZvFHpIl9Pvqb/T9UsawBBFMTTD8xu7sK5MWuvg==", + "dev": true, + "license": "MIT" + }, "node_modules/@vitejs/plugin-vue": { "version": "5.2.4", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", @@ -1562,6 +2820,19 @@ "dev": true, "license": "MIT" }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -1575,6 +2846,66 @@ "node": ">=0.4.0" } }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-draft-04": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.5.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/ajv-errors/-/ajv-errors-3.0.0.tgz", + "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^8.0.1" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, "node_modules/alien-signals": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", @@ -1582,6 +2913,26 @@ "dev": true, "license": "MIT" }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -1665,12 +3016,88 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-tree-filter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", "license": "MIT" }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "dev": true, + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/async-validator": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", @@ -1683,6 +3110,22 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/axios": { "version": "1.13.5", "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", @@ -1737,6 +3180,25 @@ "node": ">=8" } }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", @@ -1750,6 +3212,30 @@ "node": ">= 0.4" } }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true, + "license": "MIT" + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1805,6 +3291,21 @@ "fsevents": "~2.3.2" } }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1844,12 +3345,36 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "14.0.3", + "resolved": "https://registry.npmmirror.com/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/compare-versions": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", + "dev": true, + "license": "MIT" + }, "node_modules/compute-scroll-into-view": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==", "license": "MIT" }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, "node_modules/confbox": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", @@ -1868,12 +3393,81 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "license": "MIT" }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/dayjs": { "version": "1.11.19", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", @@ -1905,6 +3499,42 @@ } } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -1914,6 +3544,16 @@ "node": ">=0.4.0" } }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmmirror.com/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -1925,6 +3565,19 @@ "node": ">=8" } }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/dom-align": { "version": "1.12.4", "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", @@ -1967,6 +3620,27 @@ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "license": "0BSD" }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/entities": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", @@ -1979,6 +3653,98 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-aggregate-error": { + "version": "1.0.14", + "resolved": "https://registry.npmmirror.com/es-aggregate-error/-/es-aggregate-error-1.0.14.tgz", + "integrity": "sha512-3YxX6rVb07B5TV11AV5wsL7nQCHXNwoHPsQC8S4AmBiqYhyNCJ5BRKXkXyDJvs8QzXN20NgRtxe3dEEQD9NLHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "globalthis": "^1.0.4", + "has-property-descriptors": "^1.0.2", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -2024,6 +3790,31 @@ "node": ">= 0.4" } }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -2063,6 +3854,16 @@ "@esbuild/win32-x64": "0.21.5" } }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", @@ -2082,6 +3883,50 @@ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "license": "MIT" }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/exsolve": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz", @@ -2089,6 +3934,13 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", @@ -2106,6 +3958,37 @@ "node": ">=8.6.0" } }, + "node_modules/fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/fastq": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", @@ -2129,6 +4012,23 @@ "node": ">=8" } }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/follow-redirects": { "version": "1.15.11", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", @@ -2149,6 +4049,22 @@ } } }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/form-data": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", @@ -2204,6 +4120,57 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -2241,6 +4208,37 @@ "node": ">= 0.4" } }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -2254,6 +4252,44 @@ "node": ">= 6" } }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -2273,6 +4309,19 @@ "dev": true, "license": "ISC" }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2283,6 +4332,35 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", @@ -2332,6 +4410,44 @@ "he": "bin/he" } }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==", + "dev": true, + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/immutable": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", @@ -2339,6 +4455,82 @@ "dev": true, "license": "MIT" }, + "node_modules/inflected": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/inflected/-/inflected-2.1.0.tgz", + "integrity": "sha512-hAEKNxvHf2Iq3H60oMBHkB4wl5jn3TPF3+fXek/sRwAB5gP9xWs4r7aweSF95f99HFoz69pnZTcu8f0SIHV18w==", + "dev": true, + "license": "MIT" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -2352,6 +4544,36 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -2368,6 +4590,41 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2378,6 +4635,52 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2391,6 +4694,32 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2401,6 +4730,23 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-plain-object": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", @@ -2410,6 +4756,178 @@ "node": ">=0.10.0" } }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, "node_modules/js-tokens": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", @@ -2417,6 +4935,43 @@ "dev": true, "license": "MIT" }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsep": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/jsep/-/jsep-1.4.0.tgz", + "integrity": "sha512-B7qPcEVE3NVkmSJbaYxvv4cHkVW7DQsZz13pUMrfS8z8Q/BuShN+gcTXrUlPiGqM2/t/EEaI030bpxMqY8gMlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonc-parser": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-2.2.1.tgz", + "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==", + "dev": true, + "license": "MIT" + }, "node_modules/jsonfile": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", @@ -2430,6 +4985,65 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpath-plus": { + "version": "10.4.0", + "resolved": "https://registry.npmmirror.com/jsonpath-plus/-/jsonpath-plus-10.4.0.tgz", + "integrity": "sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jsep-plugin/assignment": "^1.3.0", + "@jsep-plugin/regex": "^1.0.4", + "jsep": "^1.4.0" + }, + "bin": { + "jsonpath": "bin/jsonpath-cli.js", + "jsonpath-plus": "bin/jsonpath-cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsonschema": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/jsonschema/-/jsonschema-1.5.0.tgz", + "integrity": "sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, "node_modules/local-pkg": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.1.tgz", @@ -2447,6 +5061,22 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lodash": { "version": "4.17.23", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", @@ -2459,6 +5089,69 @@ "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", "license": "MIT" }, + "node_modules/lodash.isempty": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz", + "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.omitby": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/lodash.omitby/-/lodash.omitby-4.6.0.tgz", + "integrity": "sha512-5OrRcIVR75M288p4nbI2WLAf3ndw2GD9fyNv3Bc15+WCxJDdZ4lYndSxGd7hnG6PVjiJTeJE2dHEGhIuKGicIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmmirror.com/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniqwith": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniqwith/-/lodash.uniqwith-4.5.0.tgz", + "integrity": "sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/loglevel": { + "version": "1.9.2", + "resolved": "https://registry.npmmirror.com/loglevel/-/loglevel-1.9.2.tgz", + "integrity": "sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loglevel-plugin-prefix": { + "version": "0.8.4", + "resolved": "https://registry.npmmirror.com/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz", + "integrity": "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==", + "dev": true, + "license": "MIT" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -2486,6 +5179,13 @@ "vue": ">=3.0.1" } }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmmirror.com/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true, + "license": "MIT" + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", @@ -2495,6 +5195,37 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/markdown-it": { + "version": "14.1.1", + "resolved": "https://registry.npmmirror.com/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -2504,6 +5235,20 @@ "node": ">= 0.4" } }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2562,6 +5307,16 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -2629,6 +5384,26 @@ "integrity": "sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw==", "license": "MIT" }, + "node_modules/nimma": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/nimma/-/nimma-0.2.3.tgz", + "integrity": "sha512-1ZOI8J+1PKKGceo/5CT5GfQOG6H8I2BencSK06YarZ2wXwH37BSSUWldqJmMJYA5JfqDqffxDXynt6f11AyKcA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsep-plugin/regex": "^1.0.1", + "@jsep-plugin/ternary": "^1.0.2", + "astring": "^1.8.1", + "jsep": "^1.2.0" + }, + "engines": { + "node": "^12.20 || >=14.13" + }, + "optionalDependencies": { + "jsonpath-plus": "^6.0.1 || ^10.1.0", + "lodash.topath": "^4.5.2" + } + }, "node_modules/node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", @@ -2637,6 +5412,50 @@ "license": "MIT", "optional": true }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es6-promise": "^3.2.1" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -2647,6 +5466,336 @@ "node": ">=0.10.0" } }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-linter/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmmirror.com/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "dev": true, + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-types": { + "version": "12.1.3", + "resolved": "https://registry.npmmirror.com/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/openapi3-ts": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/openapi3-ts/-/openapi3-ts-4.5.0.tgz", + "integrity": "sha512-jaL+HgTq2Gj5jRcfdutgRGLosCy/hT8sQf6VOy+P+g36cZOjI1iukdPnijC+4CmeRzg/jEllJUboEic2FhxhtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yaml": "^2.8.0" + } + }, + "node_modules/orval": { + "version": "7.13.2", + "resolved": "https://registry.npmmirror.com/orval/-/orval-7.13.2.tgz", + "integrity": "sha512-juiE7Tz2aiZaEaKDi1EQNf6lm3D5N8dMkKEV3CtRK9SFhUhR4y6E/2oOA3w5y63kClfhGREGZxcNSSMdHctyzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@apidevtools/swagger-parser": "^12.0.0", + "@commander-js/extra-typings": "^14.0.0", + "@orval/angular": "7.13.2", + "@orval/axios": "7.13.2", + "@orval/core": "7.13.2", + "@orval/fetch": "7.13.2", + "@orval/hono": "7.13.2", + "@orval/mcp": "7.13.2", + "@orval/mock": "7.13.2", + "@orval/query": "7.13.2", + "@orval/swr": "7.13.2", + "@orval/zod": "7.13.2", + "chalk": "^4.1.2", + "chokidar": "^4.0.3", + "commander": "^14.0.1", + "enquirer": "^2.4.1", + "execa": "^5.1.1", + "find-up": "5.0.0", + "fs-extra": "^11.3.1", + "js-yaml": "4.1.0", + "lodash.uniq": "^4.5.0", + "openapi3-ts": "4.5.0", + "string-argv": "^0.3.2", + "tsconfck": "^2.1.2", + "typedoc": "^0.28.12", + "typedoc-plugin-coverage": "^4.0.1", + "typedoc-plugin-markdown": "^4.8.1" + }, + "bin": { + "orval": "dist/bin/orval.js" + } + }, + "node_modules/orval/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/orval/node_modules/fs-extra": { + "version": "11.3.3", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/orval/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -2654,6 +5803,26 @@ "dev": true, "license": "MIT" }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -2661,6 +5830,16 @@ "dev": true, "license": "MIT" }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/pathe": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", @@ -2721,6 +5900,26 @@ "pathe": "^2.0.1" } }, + "node_modules/pony-cause": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/pony-cause/-/pony-cause-1.1.1.tgz", + "integrity": "sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g==", + "dev": true, + "license": "0BSD", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -2765,6 +5964,16 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/quansync": { "version": "0.2.11", "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", @@ -2829,6 +6038,80 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmmirror.com/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "dev": true, + "license": "BSD-3-Clause", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -2946,6 +6229,68 @@ "tslib": "^2.1.0" } }, + "node_modules/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==", + "dev": true, + "license": "MIT" + }, "node_modules/sass": { "version": "1.97.3", "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", @@ -3364,12 +6709,250 @@ "dev": true, "license": "MIT" }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shallow-equal": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", "license": "MIT" }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmmirror.com/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-eval": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/simple-eval/-/simple-eval-1.0.1.tgz", + "integrity": "sha512-LH7FpTAkeD+y5xQC4fzS+tFtaNlvt3Ib1zKzvhjv/Y+cioV4zIuw4IZr2yhRLu67CWL7FR9/6KXKnjRoZTvGGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsep": "^1.3.6" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -3379,6 +6962,127 @@ "node": ">=0.10.0" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmmirror.com/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/strip-literal": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.1.tgz", @@ -3427,6 +7131,44 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmmirror.com/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/swagger2openapi/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/sync-child-process": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", @@ -3472,6 +7214,34 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tsconfck": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/tsconfck/-/tsconfck-2.1.2.tgz", + "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", + "dev": true, + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^14.13.1 || ^16 || >=18" + }, + "peerDependencies": { + "typescript": "^4.3.5 || ^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -3479,6 +7249,134 @@ "dev": true, "license": "0BSD" }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedoc": { + "version": "0.28.17", + "resolved": "https://registry.npmmirror.com/typedoc/-/typedoc-0.28.17.tgz", + "integrity": "sha512-ZkJ2G7mZrbxrKxinTQMjFqsCoYY6a5Luwv2GKbTnBCEgV2ihYm5CflA9JnJAwH0pZWavqfYxmDkFHPt4yx2oDQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@gerrit0/mini-shiki": "^3.17.0", + "lunr": "^2.3.9", + "markdown-it": "^14.1.0", + "minimatch": "^9.0.5", + "yaml": "^2.8.1" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 18", + "pnpm": ">= 10" + }, + "peerDependencies": { + "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x" + } + }, + "node_modules/typedoc-plugin-coverage": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/typedoc-plugin-coverage/-/typedoc-plugin-coverage-4.0.2.tgz", + "integrity": "sha512-mfn0e7NCqB8x2PfvhXrtmd7KWlsNf1+B2N9y8gR/jexXBLrXl/0e+b2HdG5HaTXGi7i0t2pyQY2VRmq7gtdEHQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "typedoc": "0.28.x" + } + }, + "node_modules/typedoc-plugin-markdown": { + "version": "4.10.0", + "resolved": "https://registry.npmmirror.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-4.10.0.tgz", + "integrity": "sha512-psrg8Rtnv4HPWCsoxId+MzEN8TVK5jeKCnTbnGAbTBqcDapR9hM41bJT/9eAyKn9C2MDG9Qjh3MkltAYuLDoXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "typedoc": "0.28.x" + } + }, "node_modules/typescript": { "version": "5.4.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", @@ -3493,6 +7391,13 @@ "node": ">=14.17" } }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true, + "license": "MIT" + }, "node_modules/ufo": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", @@ -3500,6 +7405,25 @@ "dev": true, "license": "MIT" }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", @@ -3687,6 +7611,33 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmmirror.com/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmmirror.com/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/validator": { + "version": "13.15.26", + "resolved": "https://registry.npmmirror.com/validator/-/validator-13.15.26.tgz", + "integrity": "sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/varint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", @@ -3879,6 +7830,13 @@ "loose-envify": "^1.0.0" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/webpack-virtual-modules": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", @@ -3886,6 +7844,208 @@ "dev": true, "license": "MIT" }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zrender": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/zrender/-/zrender-6.0.0.tgz", diff --git a/reading-platform-frontend/package.json b/reading-platform-frontend/package.json index d490b31..8d35991 100644 --- a/reading-platform-frontend/package.json +++ b/reading-platform-frontend/package.json @@ -7,7 +7,10 @@ "dev": "vite", "build": "vue-tsc && vite build", "preview": "vite preview", - "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", + "api:fetch": "curl -s http://8.148.151.56:3002/v3/api-docs -o api-spec.json && echo API spec updated", + "api:gen": "orval --config orval.config.ts", + "api:update": "npm run api:fetch && npm run api:gen" }, "dependencies": { "@ant-design/icons-vue": "^7.0.1", @@ -31,6 +34,7 @@ "@types/node": "^20.11.28", "@vitejs/plugin-vue": "^5.0.4", "@vue/tsconfig": "^0.5.1", + "orval": "^7.13.2", "sass-embedded": "^1.97.3", "typescript": "~5.4.0", "unplugin-auto-import": "^0.17.5", diff --git a/reading-platform-frontend/src/api/generated/README.md b/reading-platform-frontend/src/api/generated/README.md new file mode 100644 index 0000000..b1f7c83 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/README.md @@ -0,0 +1,15 @@ +# 自动生成的 API 代码 + +此目录由 orval 根据后端 OpenAPI 规范自动生成,**不要手动修改**。 + +## 更新方式 + +当后端接口变更后(后端工程师执行): +```bash +npm run api:update # 拉取最新规范 + 重新生成 +git add api-spec.json src/api/generated/ +git commit -m "chore(api): 同步最新接口规范" +git push java original:main +``` + +前端工程师只需 `git pull`,即可获得最新类型定义,无需手动操作。 diff --git a/reading-platform-frontend/src/api/generated/api.ts b/reading-platform-frontend/src/api/generated/api.ts new file mode 100644 index 0000000..fd4da88 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/api.ts @@ -0,0 +1,2420 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { + BindStudentParams, + ChangePasswordParams, + ClassCreateRequest, + ClassUpdateRequest, + CompleteTaskParams, + CourseCreateRequest, + CourseLesson, + CoursePackage, + CourseUpdateRequest, + DeleteFileParams, + GetActiveTenantsParams, + GetActivitiesParams, + GetClassPageParams, + GetCoursePage1Params, + GetCoursePageParams, + GetCourses1Params, + GetCoursesParams, + GetGrowthRecordPage1Params, + GetGrowthRecordPageParams, + GetGrowthRecordsByStudentParams, + GetItemsParams, + GetLibrariesParams, + GetLogs1Params, + GetLogsParams, + GetMyLessonsParams, + GetMyNotifications1Params, + GetMyNotificationsParams, + GetPackages1Params, + GetPackagesParams, + GetParentPageParams, + GetPopularCoursesParams, + GetRecentGrowthRecordsParams, + GetSchedulePlans1Params, + GetSchedulePlansParams, + GetScheduleTemplatesParams, + GetStudentPageParams, + GetTaskPage1Params, + GetTaskPageParams, + GetTasksByStudentParams, + GetTeacherPageParams, + GetTenantPageParams, + GetThemesParams, + GrowthRecordCreateRequest, + GrowthRecordUpdateRequest, + LessonCreateRequest, + LessonUpdateRequest, + LoginRequest, + ParentCreateRequest, + ParentUpdateRequest, + ResetPassword1Params, + ResetPasswordParams, + ResourceItem, + ResourceLibrary, + ResultClazz, + ResultCourse, + ResultCourseLesson, + ResultCoursePackage, + ResultGrowthRecord, + ResultLesson, + ResultListCourse, + ResultListCourseLesson, + ResultListGrowthRecord, + ResultListLesson, + ResultListMapStringObject, + ResultListResourceLibrary, + ResultListStudent, + ResultListTenantResponse, + ResultListTheme, + ResultLoginResponse, + ResultLong, + ResultMapStringObject, + ResultMapStringString, + ResultNotification, + ResultPageResultClazz, + ResultPageResultCourse, + ResultPageResultCoursePackage, + ResultPageResultGrowthRecord, + ResultPageResultLesson, + ResultPageResultNotification, + ResultPageResultOperationLog, + ResultPageResultParent, + ResultPageResultResourceItem, + ResultPageResultSchedulePlan, + ResultPageResultScheduleTemplate, + ResultPageResultSchoolCourse, + ResultPageResultStudent, + ResultPageResultTask, + ResultPageResultTeacher, + ResultPageResultTenant, + ResultParent, + ResultResourceItem, + ResultResourceLibrary, + ResultSchedulePlan, + ResultScheduleTemplate, + ResultSchoolCourse, + ResultStudent, + ResultTask, + ResultTeacher, + ResultTenant, + ResultTheme, + ResultUserInfoResponse, + ResultVoid, + SchedulePlan, + ScheduleTemplate, + SchoolCourse, + StudentCreateRequest, + StudentUpdateRequest, + TaskCreateRequest, + TaskUpdateRequest, + TeacherCreateRequest, + TeacherUpdateRequest, + TenantCreateRequest, + TenantUpdateRequest, + Theme, + UpdateSettings1Body, + UpdateSettingsBody, + UpdateTenantQuotaBody, + UpdateTenantStatusBody, + UploadFileBody +} from './model'; + +import { request } from '../request'; +export const getReadingPlatformAPI = () => { +/** + * @summary Get task by ID + */ +const getTask = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/tasks/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update task + */ +const updateTask = ( + id: number, + taskUpdateRequest: TaskUpdateRequest, + ) => { + return request( + {url: `/api/v1/teacher/tasks/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: taskUpdateRequest + }, + ); + } + +/** + * @summary Delete task + */ +const deleteTask = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/tasks/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get lesson by ID + */ +const getLesson = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/lessons/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update lesson + */ +const updateLesson = ( + id: number, + lessonUpdateRequest: LessonUpdateRequest, + ) => { + return request( + {url: `/api/v1/teacher/lessons/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: lessonUpdateRequest + }, + ); + } + +/** + * @summary Get growth record by ID + */ +const getGrowthRecord = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/growth-records/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update growth record + */ +const updateGrowthRecord = ( + id: number, + growthRecordUpdateRequest: GrowthRecordUpdateRequest, + ) => { + return request( + {url: `/api/v1/teacher/growth-records/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: growthRecordUpdateRequest + }, + ); + } + +/** + * @summary Delete growth record + */ +const deleteGrowthRecord = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/growth-records/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get teacher by ID + */ +const getTeacher = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/teachers/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update teacher + */ +const updateTeacher = ( + id: number, + teacherUpdateRequest: TeacherUpdateRequest, + ) => { + return request( + {url: `/api/v1/school/teachers/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: teacherUpdateRequest + }, + ); + } + +/** + * @summary Delete teacher + */ +const deleteTeacher = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/teachers/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get task by ID + */ +const getTask1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/tasks/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update task + */ +const updateTask1 = ( + id: number, + taskUpdateRequest: TaskUpdateRequest, + ) => { + return request( + {url: `/api/v1/school/tasks/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: taskUpdateRequest + }, + ); + } + +/** + * @summary Delete task + */ +const deleteTask1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/tasks/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get student by ID + */ +const getStudent = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/students/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update student + */ +const updateStudent = ( + id: number, + studentUpdateRequest: StudentUpdateRequest, + ) => { + return request( + {url: `/api/v1/school/students/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: studentUpdateRequest + }, + ); + } + +/** + * @summary Delete student + */ +const deleteStudent = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/students/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get school settings + */ +const getSettings = ( + + ) => { + return request( + {url: `/api/v1/school/settings`, method: 'GET' + }, + ); + } + +/** + * @summary Update school settings + */ +const updateSettings = ( + updateSettingsBody: UpdateSettingsBody, + ) => { + return request( + {url: `/api/v1/school/settings`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: updateSettingsBody + }, + ); + } + +/** + * @summary Get school course by ID + */ +const getCourse2 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/school-courses/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update school course + */ +const updateCourse = ( + id: number, + schoolCourse: SchoolCourse, + ) => { + return request( + {url: `/api/v1/school/school-courses/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: schoolCourse + }, + ); + } + +/** + * @summary Delete school course + */ +const deleteCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/school-courses/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get schedule plan by ID + */ +const getSchedulePlan1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/schedules/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update schedule plan + */ +const updateSchedulePlan = ( + id: number, + schedulePlan: SchedulePlan, + ) => { + return request( + {url: `/api/v1/school/schedules/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: schedulePlan + }, + ); + } + +/** + * @summary Delete schedule plan + */ +const deleteSchedulePlan = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/schedules/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get parent by ID + */ +const getParent = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/parents/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update parent + */ +const updateParent = ( + id: number, + parentUpdateRequest: ParentUpdateRequest, + ) => { + return request( + {url: `/api/v1/school/parents/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: parentUpdateRequest + }, + ); + } + +/** + * @summary Delete parent + */ +const deleteParent = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/parents/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get growth record by ID + */ +const getGrowthRecord1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/growth-records/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update growth record + */ +const updateGrowthRecord1 = ( + id: number, + growthRecordUpdateRequest: GrowthRecordUpdateRequest, + ) => { + return request( + {url: `/api/v1/school/growth-records/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: growthRecordUpdateRequest + }, + ); + } + +/** + * @summary Delete growth record + */ +const deleteGrowthRecord1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/growth-records/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get class by ID + */ +const getClass = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/classes/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update class + */ +const updateClass = ( + id: number, + classUpdateRequest: ClassUpdateRequest, + ) => { + return request( + {url: `/api/v1/school/classes/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: classUpdateRequest + }, + ); + } + +/** + * @summary Delete class + */ +const deleteClass = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/classes/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get growth record by ID + */ +const getGrowthRecord2 = ( + id: number, + ) => { + return request( + {url: `/api/v1/parent/growth-records/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update growth record + */ +const updateGrowthRecord2 = ( + id: number, + growthRecordUpdateRequest: GrowthRecordUpdateRequest, + ) => { + return request( + {url: `/api/v1/parent/growth-records/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: growthRecordUpdateRequest + }, + ); + } + +/** + * @summary Delete growth record + */ +const deleteGrowthRecord2 = ( + id: number, + ) => { + return request( + {url: `/api/v1/parent/growth-records/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get theme by ID + */ +const getTheme = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/themes/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update theme + */ +const updateTheme = ( + id: number, + theme: Theme, + ) => { + return request( + {url: `/api/v1/admin/themes/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: theme + }, + ); + } + +/** + * @summary Delete theme + */ +const deleteTheme = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/themes/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get tenant by ID + */ +const getTenant = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/tenants/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update tenant + */ +const updateTenant = ( + id: number, + tenantUpdateRequest: TenantUpdateRequest, + ) => { + return request( + {url: `/api/v1/admin/tenants/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: tenantUpdateRequest + }, + ); + } + +/** + * @summary Delete tenant + */ +const deleteTenant = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/tenants/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Update tenant status + */ +const updateTenantStatus = ( + id: number, + updateTenantStatusBody: UpdateTenantStatusBody, + ) => { + return request( + {url: `/api/v1/admin/tenants/${id}/status`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: updateTenantStatusBody + }, + ); + } + +/** + * @summary Update tenant quota + */ +const updateTenantQuota = ( + id: number, + updateTenantQuotaBody: UpdateTenantQuotaBody, + ) => { + return request( + {url: `/api/v1/admin/tenants/${id}/quota`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: updateTenantQuotaBody + }, + ); + } + +/** + * @summary Get admin system settings + */ +const getSettings1 = ( + + ) => { + return request( + {url: `/api/v1/admin/settings`, method: 'GET' + }, + ); + } + +/** + * @summary Update admin system settings + */ +const updateSettings1 = ( + updateSettings1Body: UpdateSettings1Body, + ) => { + return request( + {url: `/api/v1/admin/settings`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: updateSettings1Body + }, + ); + } + +/** + * @summary Update resource library + */ +const updateLibrary = ( + id: number, + resourceLibrary: ResourceLibrary, + ) => { + return request( + {url: `/api/v1/admin/resources/libraries/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: resourceLibrary + }, + ); + } + +/** + * @summary Delete resource library + */ +const deleteLibrary = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/resources/libraries/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Update resource item + */ +const updateItem = ( + id: number, + resourceItem: ResourceItem, + ) => { + return request( + {url: `/api/v1/admin/resources/items/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: resourceItem + }, + ); + } + +/** + * @summary Delete resource item + */ +const deleteItem = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/resources/items/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get course by ID + */ +const getCourse3 = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update course + */ +const updateCourse1 = ( + id: number, + courseUpdateRequest: CourseUpdateRequest, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: courseUpdateRequest + }, + ); + } + +/** + * @summary Delete course + */ +const deleteCourse1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get lesson by ID + */ +const getLesson2 = ( + courseId: number, + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${courseId}/lessons/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update course lesson + */ +const updateLesson1 = ( + courseId: number, + id: number, + courseLesson: CourseLesson, + ) => { + return request( + {url: `/api/v1/admin/courses/${courseId}/lessons/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: courseLesson + }, + ); + } + +/** + * @summary Delete course lesson + */ +const deleteLesson = ( + courseId: number, + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${courseId}/lessons/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get course package by ID + */ +const getPackage1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/course-packages/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Update course package + */ +const updatePackage = ( + id: number, + coursePackage: CoursePackage, + ) => { + return request( + {url: `/api/v1/admin/course-packages/${id}`, method: 'PUT', + headers: {'Content-Type': 'application/json', }, + data: coursePackage + }, + ); + } + +/** + * @summary Delete course package + */ +const deletePackage = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/course-packages/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Get task page + */ +const getTaskPage = ( + params?: GetTaskPageParams, + ) => { + return request( + {url: `/api/v1/teacher/tasks`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create task + */ +const createTask = ( + taskCreateRequest: TaskCreateRequest, + ) => { + return request( + {url: `/api/v1/teacher/tasks`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: taskCreateRequest + }, + ); + } + +/** + * @summary Mark notification as read + */ +const markAsRead = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/notifications/${id}/read`, method: 'POST' + }, + ); + } + +/** + * @summary Mark all notifications as read + */ +const markAllAsRead = ( + + ) => { + return request( + {url: `/api/v1/teacher/notifications/read-all`, method: 'POST' + }, + ); + } + +/** + * @summary Get my lessons + */ +const getMyLessons = ( + params?: GetMyLessonsParams, + ) => { + return request( + {url: `/api/v1/teacher/lessons`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create lesson + */ +const createLesson = ( + lessonCreateRequest: LessonCreateRequest, + ) => { + return request( + {url: `/api/v1/teacher/lessons`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: lessonCreateRequest + }, + ); + } + +/** + * @summary Start lesson + */ +const startLesson = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/lessons/${id}/start`, method: 'POST' + }, + ); + } + +/** + * @summary Complete lesson + */ +const completeLesson = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/lessons/${id}/complete`, method: 'POST' + }, + ); + } + +/** + * @summary Cancel lesson + */ +const cancelLesson = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/lessons/${id}/cancel`, method: 'POST' + }, + ); + } + +/** + * @summary Get growth record page + */ +const getGrowthRecordPage = ( + params?: GetGrowthRecordPageParams, + ) => { + return request( + {url: `/api/v1/teacher/growth-records`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create growth record + */ +const createGrowthRecord = ( + growthRecordCreateRequest: GrowthRecordCreateRequest, + ) => { + return request( + {url: `/api/v1/teacher/growth-records`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: growthRecordCreateRequest + }, + ); + } + +/** + * @summary Get teacher page + */ +const getTeacherPage = ( + params?: GetTeacherPageParams, + ) => { + return request( + {url: `/api/v1/school/teachers`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create teacher + */ +const createTeacher = ( + teacherCreateRequest: TeacherCreateRequest, + ) => { + return request( + {url: `/api/v1/school/teachers`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: teacherCreateRequest + }, + ); + } + +/** + * @summary Reset teacher password + */ +const resetPassword = ( + id: number, + params: ResetPasswordParams, + ) => { + return request( + {url: `/api/v1/school/teachers/${id}/reset-password`, method: 'POST', + params + }, + ); + } + +/** + * @summary Get task page + */ +const getTaskPage1 = ( + params?: GetTaskPage1Params, + ) => { + return request( + {url: `/api/v1/school/tasks`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create task + */ +const createTask1 = ( + taskCreateRequest: TaskCreateRequest, + ) => { + return request( + {url: `/api/v1/school/tasks`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: taskCreateRequest + }, + ); + } + +/** + * @summary Get student page + */ +const getStudentPage = ( + params?: GetStudentPageParams, + ) => { + return request( + {url: `/api/v1/school/students`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create student + */ +const createStudent = ( + studentCreateRequest: StudentCreateRequest, + ) => { + return request( + {url: `/api/v1/school/students`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: studentCreateRequest + }, + ); + } + +/** + * @summary Get school courses + */ +const getCourses1 = ( + params?: GetCourses1Params, + ) => { + return request( + {url: `/api/v1/school/school-courses`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create school course + */ +const createCourse = ( + schoolCourse: SchoolCourse, + ) => { + return request( + {url: `/api/v1/school/school-courses`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: schoolCourse + }, + ); + } + +/** + * @summary Get schedule plans + */ +const getSchedulePlans1 = ( + params?: GetSchedulePlans1Params, + ) => { + return request( + {url: `/api/v1/school/schedules`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create schedule plan + */ +const createSchedulePlan = ( + schedulePlan: SchedulePlan, + ) => { + return request( + {url: `/api/v1/school/schedules`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: schedulePlan + }, + ); + } + +/** + * @summary Get schedule templates + */ +const getScheduleTemplates = ( + params?: GetScheduleTemplatesParams, + ) => { + return request( + {url: `/api/v1/school/schedules/templates`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create schedule template + */ +const createScheduleTemplate = ( + scheduleTemplate: ScheduleTemplate, + ) => { + return request( + {url: `/api/v1/school/schedules/templates`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: scheduleTemplate + }, + ); + } + +/** + * @summary Get parent page + */ +const getParentPage = ( + params?: GetParentPageParams, + ) => { + return request( + {url: `/api/v1/school/parents`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create parent + */ +const createParent = ( + parentCreateRequest: ParentCreateRequest, + ) => { + return request( + {url: `/api/v1/school/parents`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: parentCreateRequest + }, + ); + } + +/** + * @summary Bind student to parent + */ +const bindStudent = ( + parentId: number, + studentId: number, + params?: BindStudentParams, + ) => { + return request( + {url: `/api/v1/school/parents/${parentId}/students/${studentId}`, method: 'POST', + params + }, + ); + } + +/** + * @summary Unbind student from parent + */ +const unbindStudent = ( + parentId: number, + studentId: number, + ) => { + return request( + {url: `/api/v1/school/parents/${parentId}/students/${studentId}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Reset parent password + */ +const resetPassword1 = ( + id: number, + params: ResetPassword1Params, + ) => { + return request( + {url: `/api/v1/school/parents/${id}/reset-password`, method: 'POST', + params + }, + ); + } + +/** + * @summary Get growth record page + */ +const getGrowthRecordPage1 = ( + params?: GetGrowthRecordPage1Params, + ) => { + return request( + {url: `/api/v1/school/growth-records`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create growth record + */ +const createGrowthRecord1 = ( + growthRecordCreateRequest: GrowthRecordCreateRequest, + ) => { + return request( + {url: `/api/v1/school/growth-records`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: growthRecordCreateRequest + }, + ); + } + +/** + * @summary Get class page + */ +const getClassPage = ( + params?: GetClassPageParams, + ) => { + return request( + {url: `/api/v1/school/classes`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create class + */ +const createClass = ( + classCreateRequest: ClassCreateRequest, + ) => { + return request( + {url: `/api/v1/school/classes`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: classCreateRequest + }, + ); + } + +/** + * @summary Assign teachers to class + */ +const assignTeachers = ( + id: number, + assignTeachersBody: number[], + ) => { + return request( + {url: `/api/v1/school/classes/${id}/teachers`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: assignTeachersBody + }, + ); + } + +/** + * @summary Assign students to class + */ +const assignStudents = ( + id: number, + assignStudentsBody: number[], + ) => { + return request( + {url: `/api/v1/school/classes/${id}/students`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: assignStudentsBody + }, + ); + } + +/** + * @summary Complete task + */ +const completeTask = ( + taskId: number, + params: CompleteTaskParams, + ) => { + return request( + {url: `/api/v1/parent/tasks/${taskId}/complete`, method: 'POST', + params + }, + ); + } + +/** + * @summary Mark notification as read + */ +const markAsRead1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/parent/notifications/${id}/read`, method: 'POST' + }, + ); + } + +/** + * @summary Mark all notifications as read + */ +const markAllAsRead1 = ( + + ) => { + return request( + {url: `/api/v1/parent/notifications/read-all`, method: 'POST' + }, + ); + } + +/** + * @summary Create growth record + */ +const createGrowthRecord2 = ( + growthRecordCreateRequest: GrowthRecordCreateRequest, + ) => { + return request( + {url: `/api/v1/parent/growth-records`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: growthRecordCreateRequest + }, + ); + } + +/** + * @summary Upload file + */ +const uploadFile = ( + uploadFileBody: UploadFileBody, + ) => { + return request( + {url: `/api/v1/files/upload`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: uploadFileBody + }, + ); + } + +/** + * @summary User logout + */ +const logout = ( + + ) => { + return request( + {url: `/api/v1/auth/logout`, method: 'POST' + }, + ); + } + +/** + * @summary User login + */ +const login = ( + loginRequest: LoginRequest, + ) => { + return request( + {url: `/api/v1/auth/login`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: loginRequest + }, + ); + } + +/** + * @summary Change password + */ +const changePassword = ( + params: ChangePasswordParams, + ) => { + return request( + {url: `/api/v1/auth/change-password`, method: 'POST', + params + }, + ); + } + +/** + * @summary Get all themes + */ +const getThemes = ( + params?: GetThemesParams, + ) => { + return request( + {url: `/api/v1/admin/themes`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create theme + */ +const createTheme = ( + theme: Theme, + ) => { + return request( + {url: `/api/v1/admin/themes`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: theme + }, + ); + } + +/** + * @summary Get tenant page + */ +const getTenantPage = ( + params?: GetTenantPageParams, + ) => { + return request( + {url: `/api/v1/admin/tenants`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create tenant + */ +const createTenant = ( + tenantCreateRequest: TenantCreateRequest, + ) => { + return request( + {url: `/api/v1/admin/tenants`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: tenantCreateRequest + }, + ); + } + +/** + * @summary Reset tenant school account password + */ +const resetTenantPassword = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/tenants/${id}/reset-password`, method: 'POST' + }, + ); + } + +/** + * @summary Get all resource libraries + */ +const getLibraries = ( + params?: GetLibrariesParams, + ) => { + return request( + {url: `/api/v1/admin/resources/libraries`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create resource library + */ +const createLibrary = ( + resourceLibrary: ResourceLibrary, + ) => { + return request( + {url: `/api/v1/admin/resources/libraries`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: resourceLibrary + }, + ); + } + +/** + * @summary Get resource items + */ +const getItems = ( + params?: GetItemsParams, + ) => { + return request( + {url: `/api/v1/admin/resources/items`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create resource item + */ +const createItem = ( + resourceItem: ResourceItem, + ) => { + return request( + {url: `/api/v1/admin/resources/items`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: resourceItem + }, + ); + } + +/** + * @summary Get system course page + */ +const getCoursePage1 = ( + params?: GetCoursePage1Params, + ) => { + return request( + {url: `/api/v1/admin/courses`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create system course + */ +const createCourse1 = ( + courseCreateRequest: CourseCreateRequest, + ) => { + return request( + {url: `/api/v1/admin/courses`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: courseCreateRequest + }, + ); + } + +/** + * @summary Publish course + */ +const publishCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/publish`, method: 'POST' + }, + ); + } + +/** + * @summary Archive course + */ +const archiveCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${id}/archive`, method: 'POST' + }, + ); + } + +/** + * @summary Get lessons for a course + */ +const getLessons1 = ( + courseId: number, + ) => { + return request( + {url: `/api/v1/admin/courses/${courseId}/lessons`, method: 'GET' + }, + ); + } + +/** + * @summary Create course lesson + */ +const createLesson1 = ( + courseId: number, + courseLesson: CourseLesson, + ) => { + return request( + {url: `/api/v1/admin/courses/${courseId}/lessons`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: courseLesson + }, + ); + } + +/** + * @summary Get course packages + */ +const getPackages1 = ( + params?: GetPackages1Params, + ) => { + return request( + {url: `/api/v1/admin/course-packages`, method: 'GET', + params + }, + ); + } + +/** + * @summary Create course package + */ +const createPackage = ( + coursePackage: CoursePackage, + ) => { + return request( + {url: `/api/v1/admin/course-packages`, method: 'POST', + headers: {'Content-Type': 'application/json', }, + data: coursePackage + }, + ); + } + +/** + * @summary Get school courses + */ +const getCourses = ( + params?: GetCoursesParams, + ) => { + return request( + {url: `/api/v1/teacher/school-courses`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get school course by ID + */ +const getCourse = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/school-courses/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get teacher schedule plans + */ +const getSchedulePlans = ( + params?: GetSchedulePlansParams, + ) => { + return request( + {url: `/api/v1/teacher/schedules`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get schedule plan by ID + */ +const getSchedulePlan = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/schedules/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get my notifications + */ +const getMyNotifications = ( + params?: GetMyNotificationsParams, + ) => { + return request( + {url: `/api/v1/teacher/notifications`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get notification by ID + */ +const getNotification = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/notifications/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get unread count + */ +const getUnreadCount = ( + + ) => { + return request( + {url: `/api/v1/teacher/notifications/unread-count`, method: 'GET' + }, + ); + } + +/** + * @summary Get today's lessons + */ +const getTodayLessons = ( + + ) => { + return request( + {url: `/api/v1/teacher/lessons/today`, method: 'GET' + }, + ); + } + +/** + * @summary Get teacher dashboard overview + */ +const getDashboard = ( + + ) => { + return request( + {url: `/api/v1/teacher/dashboard`, method: 'GET' + }, + ); + } + +/** + * @summary Get weekly lessons + */ +const getWeeklyLessons = ( + + ) => { + return request( + {url: `/api/v1/teacher/dashboard/weekly`, method: 'GET' + }, + ); + } + +/** + * @summary Get today's lessons + */ +const getTodayLessons1 = ( + + ) => { + return request( + {url: `/api/v1/teacher/dashboard/today`, method: 'GET' + }, + ); + } + +/** + * @summary Get course page + */ +const getCoursePage = ( + params?: GetCoursePageParams, + ) => { + return request( + {url: `/api/v1/teacher/courses`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get course by ID + */ +const getCourse1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/teacher/courses/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get lessons for a course + */ +const getLessons = ( + courseId: number, + ) => { + return request( + {url: `/api/v1/teacher/courses/${courseId}/lessons`, method: 'GET' + }, + ); + } + +/** + * @summary Get lesson by ID + */ +const getLesson1 = ( + courseId: number, + id: number, + ) => { + return request( + {url: `/api/v1/teacher/courses/${courseId}/lessons/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get all courses + */ +const getAllCourses = ( + + ) => { + return request( + {url: `/api/v1/teacher/courses/all`, method: 'GET' + }, + ); + } + +/** + * @summary Get school statistics + */ +const getStats = ( + + ) => { + return request( + {url: `/api/v1/school/stats`, method: 'GET' + }, + ); + } + +/** + * @summary Get school operation logs + */ +const getLogs = ( + params?: GetLogsParams, + ) => { + return request( + {url: `/api/v1/school/operation-logs`, method: 'GET', + params + }, + ); + } + +/** + * @summary Export teachers to Excel + */ +const exportTeachers = ( + + ) => { + return request( + {url: `/api/v1/school/export/teachers`, method: 'GET' + }, + ); + } + +/** + * @summary Export students to Excel + */ +const exportStudents = ( + + ) => { + return request( + {url: `/api/v1/school/export/students`, method: 'GET' + }, + ); + } + +/** + * @summary Export lessons to Excel + */ +const exportLessons = ( + + ) => { + return request( + {url: `/api/v1/school/export/lessons`, method: 'GET' + }, + ); + } + +/** + * @summary Export growth records to Excel + */ +const exportGrowthRecords = ( + + ) => { + return request( + {url: `/api/v1/school/export/growth-records`, method: 'GET' + }, + ); + } + +/** + * @summary Get available course packages + */ +const getPackages = ( + params?: GetPackagesParams, + ) => { + return request( + {url: `/api/v1/school/course-packages`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get course package by ID + */ +const getPackage = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/course-packages/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get task by ID + */ +const getTask2 = ( + id: number, + ) => { + return request( + {url: `/api/v1/parent/tasks/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get tasks by student ID + */ +const getTasksByStudent = ( + studentId: number, + params?: GetTasksByStudentParams, + ) => { + return request( + {url: `/api/v1/parent/tasks/student/${studentId}`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get my notifications + */ +const getMyNotifications1 = ( + params?: GetMyNotifications1Params, + ) => { + return request( + {url: `/api/v1/parent/notifications`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get notification by ID + */ +const getNotification1 = ( + id: number, + ) => { + return request( + {url: `/api/v1/parent/notifications/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get unread count + */ +const getUnreadCount1 = ( + + ) => { + return request( + {url: `/api/v1/parent/notifications/unread-count`, method: 'GET' + }, + ); + } + +/** + * @summary Get growth records by student ID + */ +const getGrowthRecordsByStudent = ( + studentId: number, + params?: GetGrowthRecordsByStudentParams, + ) => { + return request( + {url: `/api/v1/parent/growth-records/student/${studentId}`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get recent growth records + */ +const getRecentGrowthRecords = ( + studentId: number, + params?: GetRecentGrowthRecordsParams, + ) => { + return request( + {url: `/api/v1/parent/growth-records/student/${studentId}/recent`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get my children + */ +const getMyChildren = ( + + ) => { + return request( + {url: `/api/v1/parent/children`, method: 'GET' + }, + ); + } + +/** + * @summary Get child by ID + */ +const getChild = ( + id: number, + ) => { + return request( + {url: `/api/v1/parent/children/${id}`, method: 'GET' + }, + ); + } + +/** + * @summary Get current user info + */ +const getCurrentUser = ( + + ) => { + return request( + {url: `/api/v1/auth/me`, method: 'GET' + }, + ); + } + +/** + * @summary Get all active tenants + */ +const getAllActiveTenants = ( + + ) => { + return request( + {url: `/api/v1/admin/tenants/active`, method: 'GET' + }, + ); + } + +/** + * @summary Get overall statistics + */ +const getStats1 = ( + + ) => { + return request( + {url: `/api/v1/admin/stats`, method: 'GET' + }, + ); + } + +/** + * @summary Get trend data (last 6 months) + */ +const getTrendData = ( + + ) => { + return request( + {url: `/api/v1/admin/stats/trend`, method: 'GET' + }, + ); + } + +/** + * @summary Get active tenants + */ +const getActiveTenants = ( + params?: GetActiveTenantsParams, + ) => { + return request( + {url: `/api/v1/admin/stats/tenants/active`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get popular courses + */ +const getPopularCourses = ( + params?: GetPopularCoursesParams, + ) => { + return request( + {url: `/api/v1/admin/stats/courses/popular`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get recent activities + */ +const getActivities = ( + params?: GetActivitiesParams, + ) => { + return request( + {url: `/api/v1/admin/stats/activities`, method: 'GET', + params + }, + ); + } + +/** + * @summary Get operation logs + */ +const getLogs1 = ( + params?: GetLogs1Params, + ) => { + return request( + {url: `/api/v1/admin/operation-logs`, method: 'GET', + params + }, + ); + } + +/** + * @summary Delete schedule template + */ +const deleteScheduleTemplate = ( + id: number, + ) => { + return request( + {url: `/api/v1/school/schedules/templates/${id}`, method: 'DELETE' + }, + ); + } + +/** + * @summary Delete file + */ +const deleteFile = ( + params: DeleteFileParams, + ) => { + return request( + {url: `/api/v1/files/delete`, method: 'DELETE', + params + }, + ); + } + +return {getTask,updateTask,deleteTask,getLesson,updateLesson,getGrowthRecord,updateGrowthRecord,deleteGrowthRecord,getTeacher,updateTeacher,deleteTeacher,getTask1,updateTask1,deleteTask1,getStudent,updateStudent,deleteStudent,getSettings,updateSettings,getCourse2,updateCourse,deleteCourse,getSchedulePlan1,updateSchedulePlan,deleteSchedulePlan,getParent,updateParent,deleteParent,getGrowthRecord1,updateGrowthRecord1,deleteGrowthRecord1,getClass,updateClass,deleteClass,getGrowthRecord2,updateGrowthRecord2,deleteGrowthRecord2,getTheme,updateTheme,deleteTheme,getTenant,updateTenant,deleteTenant,updateTenantStatus,updateTenantQuota,getSettings1,updateSettings1,updateLibrary,deleteLibrary,updateItem,deleteItem,getCourse3,updateCourse1,deleteCourse1,getLesson2,updateLesson1,deleteLesson,getPackage1,updatePackage,deletePackage,getTaskPage,createTask,markAsRead,markAllAsRead,getMyLessons,createLesson,startLesson,completeLesson,cancelLesson,getGrowthRecordPage,createGrowthRecord,getTeacherPage,createTeacher,resetPassword,getTaskPage1,createTask1,getStudentPage,createStudent,getCourses1,createCourse,getSchedulePlans1,createSchedulePlan,getScheduleTemplates,createScheduleTemplate,getParentPage,createParent,bindStudent,unbindStudent,resetPassword1,getGrowthRecordPage1,createGrowthRecord1,getClassPage,createClass,assignTeachers,assignStudents,completeTask,markAsRead1,markAllAsRead1,createGrowthRecord2,uploadFile,logout,login,changePassword,getThemes,createTheme,getTenantPage,createTenant,resetTenantPassword,getLibraries,createLibrary,getItems,createItem,getCoursePage1,createCourse1,publishCourse,archiveCourse,getLessons1,createLesson1,getPackages1,createPackage,getCourses,getCourse,getSchedulePlans,getSchedulePlan,getMyNotifications,getNotification,getUnreadCount,getTodayLessons,getDashboard,getWeeklyLessons,getTodayLessons1,getCoursePage,getCourse1,getLessons,getLesson1,getAllCourses,getStats,getLogs,exportTeachers,exportStudents,exportLessons,exportGrowthRecords,getPackages,getPackage,getTask2,getTasksByStudent,getMyNotifications1,getNotification1,getUnreadCount1,getGrowthRecordsByStudent,getRecentGrowthRecords,getMyChildren,getChild,getCurrentUser,getAllActiveTenants,getStats1,getTrendData,getActiveTenants,getPopularCourses,getActivities,getLogs1,deleteScheduleTemplate,deleteFile}}; +export type GetTaskResult = NonNullable['getTask']>>> +export type UpdateTaskResult = NonNullable['updateTask']>>> +export type DeleteTaskResult = NonNullable['deleteTask']>>> +export type GetLessonResult = NonNullable['getLesson']>>> +export type UpdateLessonResult = NonNullable['updateLesson']>>> +export type GetGrowthRecordResult = NonNullable['getGrowthRecord']>>> +export type UpdateGrowthRecordResult = NonNullable['updateGrowthRecord']>>> +export type DeleteGrowthRecordResult = NonNullable['deleteGrowthRecord']>>> +export type GetTeacherResult = NonNullable['getTeacher']>>> +export type UpdateTeacherResult = NonNullable['updateTeacher']>>> +export type DeleteTeacherResult = NonNullable['deleteTeacher']>>> +export type GetTask1Result = NonNullable['getTask1']>>> +export type UpdateTask1Result = NonNullable['updateTask1']>>> +export type DeleteTask1Result = NonNullable['deleteTask1']>>> +export type GetStudentResult = NonNullable['getStudent']>>> +export type UpdateStudentResult = NonNullable['updateStudent']>>> +export type DeleteStudentResult = NonNullable['deleteStudent']>>> +export type GetSettingsResult = NonNullable['getSettings']>>> +export type UpdateSettingsResult = NonNullable['updateSettings']>>> +export type GetCourse2Result = NonNullable['getCourse2']>>> +export type UpdateCourseResult = NonNullable['updateCourse']>>> +export type DeleteCourseResult = NonNullable['deleteCourse']>>> +export type GetSchedulePlan1Result = NonNullable['getSchedulePlan1']>>> +export type UpdateSchedulePlanResult = NonNullable['updateSchedulePlan']>>> +export type DeleteSchedulePlanResult = NonNullable['deleteSchedulePlan']>>> +export type GetParentResult = NonNullable['getParent']>>> +export type UpdateParentResult = NonNullable['updateParent']>>> +export type DeleteParentResult = NonNullable['deleteParent']>>> +export type GetGrowthRecord1Result = NonNullable['getGrowthRecord1']>>> +export type UpdateGrowthRecord1Result = NonNullable['updateGrowthRecord1']>>> +export type DeleteGrowthRecord1Result = NonNullable['deleteGrowthRecord1']>>> +export type GetClassResult = NonNullable['getClass']>>> +export type UpdateClassResult = NonNullable['updateClass']>>> +export type DeleteClassResult = NonNullable['deleteClass']>>> +export type GetGrowthRecord2Result = NonNullable['getGrowthRecord2']>>> +export type UpdateGrowthRecord2Result = NonNullable['updateGrowthRecord2']>>> +export type DeleteGrowthRecord2Result = NonNullable['deleteGrowthRecord2']>>> +export type GetThemeResult = NonNullable['getTheme']>>> +export type UpdateThemeResult = NonNullable['updateTheme']>>> +export type DeleteThemeResult = NonNullable['deleteTheme']>>> +export type GetTenantResult = NonNullable['getTenant']>>> +export type UpdateTenantResult = NonNullable['updateTenant']>>> +export type DeleteTenantResult = NonNullable['deleteTenant']>>> +export type UpdateTenantStatusResult = NonNullable['updateTenantStatus']>>> +export type UpdateTenantQuotaResult = NonNullable['updateTenantQuota']>>> +export type GetSettings1Result = NonNullable['getSettings1']>>> +export type UpdateSettings1Result = NonNullable['updateSettings1']>>> +export type UpdateLibraryResult = NonNullable['updateLibrary']>>> +export type DeleteLibraryResult = NonNullable['deleteLibrary']>>> +export type UpdateItemResult = NonNullable['updateItem']>>> +export type DeleteItemResult = NonNullable['deleteItem']>>> +export type GetCourse3Result = NonNullable['getCourse3']>>> +export type UpdateCourse1Result = NonNullable['updateCourse1']>>> +export type DeleteCourse1Result = NonNullable['deleteCourse1']>>> +export type GetLesson2Result = NonNullable['getLesson2']>>> +export type UpdateLesson1Result = NonNullable['updateLesson1']>>> +export type DeleteLessonResult = NonNullable['deleteLesson']>>> +export type GetPackage1Result = NonNullable['getPackage1']>>> +export type UpdatePackageResult = NonNullable['updatePackage']>>> +export type DeletePackageResult = NonNullable['deletePackage']>>> +export type GetTaskPageResult = NonNullable['getTaskPage']>>> +export type CreateTaskResult = NonNullable['createTask']>>> +export type MarkAsReadResult = NonNullable['markAsRead']>>> +export type MarkAllAsReadResult = NonNullable['markAllAsRead']>>> +export type GetMyLessonsResult = NonNullable['getMyLessons']>>> +export type CreateLessonResult = NonNullable['createLesson']>>> +export type StartLessonResult = NonNullable['startLesson']>>> +export type CompleteLessonResult = NonNullable['completeLesson']>>> +export type CancelLessonResult = NonNullable['cancelLesson']>>> +export type GetGrowthRecordPageResult = NonNullable['getGrowthRecordPage']>>> +export type CreateGrowthRecordResult = NonNullable['createGrowthRecord']>>> +export type GetTeacherPageResult = NonNullable['getTeacherPage']>>> +export type CreateTeacherResult = NonNullable['createTeacher']>>> +export type ResetPasswordResult = NonNullable['resetPassword']>>> +export type GetTaskPage1Result = NonNullable['getTaskPage1']>>> +export type CreateTask1Result = NonNullable['createTask1']>>> +export type GetStudentPageResult = NonNullable['getStudentPage']>>> +export type CreateStudentResult = NonNullable['createStudent']>>> +export type GetCourses1Result = NonNullable['getCourses1']>>> +export type CreateCourseResult = NonNullable['createCourse']>>> +export type GetSchedulePlans1Result = NonNullable['getSchedulePlans1']>>> +export type CreateSchedulePlanResult = NonNullable['createSchedulePlan']>>> +export type GetScheduleTemplatesResult = NonNullable['getScheduleTemplates']>>> +export type CreateScheduleTemplateResult = NonNullable['createScheduleTemplate']>>> +export type GetParentPageResult = NonNullable['getParentPage']>>> +export type CreateParentResult = NonNullable['createParent']>>> +export type BindStudentResult = NonNullable['bindStudent']>>> +export type UnbindStudentResult = NonNullable['unbindStudent']>>> +export type ResetPassword1Result = NonNullable['resetPassword1']>>> +export type GetGrowthRecordPage1Result = NonNullable['getGrowthRecordPage1']>>> +export type CreateGrowthRecord1Result = NonNullable['createGrowthRecord1']>>> +export type GetClassPageResult = NonNullable['getClassPage']>>> +export type CreateClassResult = NonNullable['createClass']>>> +export type AssignTeachersResult = NonNullable['assignTeachers']>>> +export type AssignStudentsResult = NonNullable['assignStudents']>>> +export type CompleteTaskResult = NonNullable['completeTask']>>> +export type MarkAsRead1Result = NonNullable['markAsRead1']>>> +export type MarkAllAsRead1Result = NonNullable['markAllAsRead1']>>> +export type CreateGrowthRecord2Result = NonNullable['createGrowthRecord2']>>> +export type UploadFileResult = NonNullable['uploadFile']>>> +export type LogoutResult = NonNullable['logout']>>> +export type LoginResult = NonNullable['login']>>> +export type ChangePasswordResult = NonNullable['changePassword']>>> +export type GetThemesResult = NonNullable['getThemes']>>> +export type CreateThemeResult = NonNullable['createTheme']>>> +export type GetTenantPageResult = NonNullable['getTenantPage']>>> +export type CreateTenantResult = NonNullable['createTenant']>>> +export type ResetTenantPasswordResult = NonNullable['resetTenantPassword']>>> +export type GetLibrariesResult = NonNullable['getLibraries']>>> +export type CreateLibraryResult = NonNullable['createLibrary']>>> +export type GetItemsResult = NonNullable['getItems']>>> +export type CreateItemResult = NonNullable['createItem']>>> +export type GetCoursePage1Result = NonNullable['getCoursePage1']>>> +export type CreateCourse1Result = NonNullable['createCourse1']>>> +export type PublishCourseResult = NonNullable['publishCourse']>>> +export type ArchiveCourseResult = NonNullable['archiveCourse']>>> +export type GetLessons1Result = NonNullable['getLessons1']>>> +export type CreateLesson1Result = NonNullable['createLesson1']>>> +export type GetPackages1Result = NonNullable['getPackages1']>>> +export type CreatePackageResult = NonNullable['createPackage']>>> +export type GetCoursesResult = NonNullable['getCourses']>>> +export type GetCourseResult = NonNullable['getCourse']>>> +export type GetSchedulePlansResult = NonNullable['getSchedulePlans']>>> +export type GetSchedulePlanResult = NonNullable['getSchedulePlan']>>> +export type GetMyNotificationsResult = NonNullable['getMyNotifications']>>> +export type GetNotificationResult = NonNullable['getNotification']>>> +export type GetUnreadCountResult = NonNullable['getUnreadCount']>>> +export type GetTodayLessonsResult = NonNullable['getTodayLessons']>>> +export type GetDashboardResult = NonNullable['getDashboard']>>> +export type GetWeeklyLessonsResult = NonNullable['getWeeklyLessons']>>> +export type GetTodayLessons1Result = NonNullable['getTodayLessons1']>>> +export type GetCoursePageResult = NonNullable['getCoursePage']>>> +export type GetCourse1Result = NonNullable['getCourse1']>>> +export type GetLessonsResult = NonNullable['getLessons']>>> +export type GetLesson1Result = NonNullable['getLesson1']>>> +export type GetAllCoursesResult = NonNullable['getAllCourses']>>> +export type GetStatsResult = NonNullable['getStats']>>> +export type GetLogsResult = NonNullable['getLogs']>>> +export type ExportTeachersResult = NonNullable['exportTeachers']>>> +export type ExportStudentsResult = NonNullable['exportStudents']>>> +export type ExportLessonsResult = NonNullable['exportLessons']>>> +export type ExportGrowthRecordsResult = NonNullable['exportGrowthRecords']>>> +export type GetPackagesResult = NonNullable['getPackages']>>> +export type GetPackageResult = NonNullable['getPackage']>>> +export type GetTask2Result = NonNullable['getTask2']>>> +export type GetTasksByStudentResult = NonNullable['getTasksByStudent']>>> +export type GetMyNotifications1Result = NonNullable['getMyNotifications1']>>> +export type GetNotification1Result = NonNullable['getNotification1']>>> +export type GetUnreadCount1Result = NonNullable['getUnreadCount1']>>> +export type GetGrowthRecordsByStudentResult = NonNullable['getGrowthRecordsByStudent']>>> +export type GetRecentGrowthRecordsResult = NonNullable['getRecentGrowthRecords']>>> +export type GetMyChildrenResult = NonNullable['getMyChildren']>>> +export type GetChildResult = NonNullable['getChild']>>> +export type GetCurrentUserResult = NonNullable['getCurrentUser']>>> +export type GetAllActiveTenantsResult = NonNullable['getAllActiveTenants']>>> +export type GetStats1Result = NonNullable['getStats1']>>> +export type GetTrendDataResult = NonNullable['getTrendData']>>> +export type GetActiveTenantsResult = NonNullable['getActiveTenants']>>> +export type GetPopularCoursesResult = NonNullable['getPopularCourses']>>> +export type GetActivitiesResult = NonNullable['getActivities']>>> +export type GetLogs1Result = NonNullable['getLogs1']>>> +export type DeleteScheduleTemplateResult = NonNullable['deleteScheduleTemplate']>>> +export type DeleteFileResult = NonNullable['deleteFile']>>> diff --git a/reading-platform-frontend/src/api/generated/model/bindStudentParams.ts b/reading-platform-frontend/src/api/generated/model/bindStudentParams.ts new file mode 100644 index 0000000..884b2ba --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/bindStudentParams.ts @@ -0,0 +1,12 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type BindStudentParams = { +relationship?: string; +isPrimary?: boolean; +}; diff --git a/reading-platform-frontend/src/api/generated/model/changePasswordParams.ts b/reading-platform-frontend/src/api/generated/model/changePasswordParams.ts new file mode 100644 index 0000000..59babeb --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/changePasswordParams.ts @@ -0,0 +1,12 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ChangePasswordParams = { +oldPassword: string; +newPassword: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts new file mode 100644 index 0000000..aee9598 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/classCreateRequest.ts @@ -0,0 +1,21 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Class Create Request + */ +export interface ClassCreateRequest { + /** Class name */ + name: string; + /** Grade */ + grade?: string; + /** Description */ + description?: string; + /** Capacity */ + capacity?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts new file mode 100644 index 0000000..00d6b49 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/classUpdateRequest.ts @@ -0,0 +1,23 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Class Update Request + */ +export interface ClassUpdateRequest { + /** Class name */ + name?: string; + /** Grade */ + grade?: string; + /** Description */ + description?: string; + /** Capacity */ + capacity?: number; + /** Status */ + status?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/clazz.ts b/reading-platform-frontend/src/api/generated/model/clazz.ts new file mode 100644 index 0000000..99b8ef1 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/clazz.ts @@ -0,0 +1,20 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Clazz { + id?: number; + tenantId?: number; + name?: string; + grade?: string; + description?: string; + capacity?: number; + status?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/completeTaskParams.ts b/reading-platform-frontend/src/api/generated/model/completeTaskParams.ts new file mode 100644 index 0000000..4eaeeee --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/completeTaskParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type CompleteTaskParams = { +studentId: number; +content?: string; +attachments?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/course.ts b/reading-platform-frontend/src/api/generated/model/course.ts new file mode 100644 index 0000000..19729c3 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/course.ts @@ -0,0 +1,69 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Course { + id?: number; + tenantId?: number; + name?: string; + code?: string; + description?: string; + coverUrl?: string; + category?: string; + ageRange?: string; + difficultyLevel?: string; + durationMinutes?: number; + objectives?: string; + status?: string; + isSystem?: number; + coreContent?: string; + introSummary?: string; + introHighlights?: string; + introGoals?: string; + introSchedule?: string; + introKeyPoints?: string; + introMethods?: string; + introEvaluation?: string; + introNotes?: string; + scheduleRefData?: string; + environmentConstruction?: string; + themeId?: number; + pictureBookName?: string; + coverImagePath?: string; + ebookPaths?: string; + audioPaths?: string; + videoPaths?: string; + otherResources?: string; + pptPath?: string; + pptName?: string; + posterPaths?: string; + tools?: string; + studentMaterials?: string; + lessonPlanData?: string; + activitiesData?: string; + assessmentData?: string; + gradeTags?: string; + domainTags?: string; + hasCollectiveLesson?: number; + version?: string; + parentId?: number; + isLatest?: number; + submittedAt?: string; + submittedBy?: number; + reviewedAt?: string; + reviewedBy?: number; + reviewComment?: string; + reviewChecklist?: string; + publishedAt?: string; + usageCount?: number; + teacherCount?: number; + avgRating?: number; + createdBy?: number; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts new file mode 100644 index 0000000..b80465d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/courseCreateRequest.ts @@ -0,0 +1,89 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Course Create Request + */ +export interface CourseCreateRequest { + /** Course name */ + name: string; + /** Course code */ + code?: string; + /** Description */ + description?: string; + /** Cover URL */ + coverUrl?: string; + /** Cover image path */ + coverImagePath?: string; + /** Category */ + category?: string; + /** Age range */ + ageRange?: string; + /** Difficulty level */ + difficultyLevel?: string; + /** Duration in minutes */ + durationMinutes?: number; + /** Objectives */ + objectives?: string; + /** Core content */ + coreContent?: string; + /** Course summary */ + introSummary?: string; + /** Course highlights */ + introHighlights?: string; + /** Course goals */ + introGoals?: string; + /** Content schedule */ + introSchedule?: string; + /** Key points and difficulties */ + introKeyPoints?: string; + /** Teaching methods */ + introMethods?: string; + /** Evaluation methods */ + introEvaluation?: string; + /** Notes and precautions */ + introNotes?: string; + /** Schedule reference data (JSON) */ + scheduleRefData?: string; + /** Environment construction content */ + environmentConstruction?: string; + /** Theme ID */ + themeId?: number; + /** Picture book name */ + pictureBookName?: string; + /** Ebook paths (JSON array) */ + ebookPaths?: string; + /** Audio paths (JSON array) */ + audioPaths?: string; + /** Video paths (JSON array) */ + videoPaths?: string; + /** Other resources (JSON array) */ + otherResources?: string; + /** PPT file path */ + pptPath?: string; + /** PPT file name */ + pptName?: string; + /** Poster paths (JSON array) */ + posterPaths?: string; + /** Teaching tools (JSON array) */ + tools?: string; + /** Student materials */ + studentMaterials?: string; + /** Lesson plan data (JSON) */ + lessonPlanData?: string; + /** Activities data (JSON) */ + activitiesData?: string; + /** Assessment data (JSON) */ + assessmentData?: string; + /** Grade tags (JSON array) */ + gradeTags?: string; + /** Domain tags (JSON array) */ + domainTags?: string; + /** Has collective lesson */ + hasCollectiveLesson?: boolean; +} diff --git a/reading-platform-frontend/src/api/generated/model/courseLesson.ts b/reading-platform-frontend/src/api/generated/model/courseLesson.ts new file mode 100644 index 0000000..482057d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/courseLesson.ts @@ -0,0 +1,22 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface CourseLesson { + id?: number; + courseId?: number; + title?: string; + description?: string; + content?: string; + sortOrder?: number; + durationMinutes?: number; + videoUrl?: string; + status?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/coursePackage.ts b/reading-platform-frontend/src/api/generated/model/coursePackage.ts new file mode 100644 index 0000000..e02e142 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/coursePackage.ts @@ -0,0 +1,21 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface CoursePackage { + id?: number; + name?: string; + description?: string; + coverUrl?: string; + courseCount?: number; + price?: number; + status?: string; + isSystem?: number; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts new file mode 100644 index 0000000..0a1ab63 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/courseUpdateRequest.ts @@ -0,0 +1,91 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Course Update Request + */ +export interface CourseUpdateRequest { + /** Course name */ + name?: string; + /** Course code */ + code?: string; + /** Description */ + description?: string; + /** Cover URL */ + coverUrl?: string; + /** Cover image path */ + coverImagePath?: string; + /** Category */ + category?: string; + /** Age range */ + ageRange?: string; + /** Difficulty level */ + difficultyLevel?: string; + /** Duration in minutes */ + durationMinutes?: number; + /** Objectives */ + objectives?: string; + /** Status */ + status?: string; + /** Core content */ + coreContent?: string; + /** Course summary */ + introSummary?: string; + /** Course highlights */ + introHighlights?: string; + /** Course goals */ + introGoals?: string; + /** Content schedule */ + introSchedule?: string; + /** Key points and difficulties */ + introKeyPoints?: string; + /** Teaching methods */ + introMethods?: string; + /** Evaluation methods */ + introEvaluation?: string; + /** Notes and precautions */ + introNotes?: string; + /** Schedule reference data (JSON) */ + scheduleRefData?: string; + /** Environment construction content */ + environmentConstruction?: string; + /** Theme ID */ + themeId?: number; + /** Picture book name */ + pictureBookName?: string; + /** Ebook paths (JSON array) */ + ebookPaths?: string; + /** Audio paths (JSON array) */ + audioPaths?: string; + /** Video paths (JSON array) */ + videoPaths?: string; + /** Other resources (JSON array) */ + otherResources?: string; + /** PPT file path */ + pptPath?: string; + /** PPT file name */ + pptName?: string; + /** Poster paths (JSON array) */ + posterPaths?: string; + /** Teaching tools (JSON array) */ + tools?: string; + /** Student materials */ + studentMaterials?: string; + /** Lesson plan data (JSON) */ + lessonPlanData?: string; + /** Activities data (JSON) */ + activitiesData?: string; + /** Assessment data (JSON) */ + assessmentData?: string; + /** Grade tags (JSON array) */ + gradeTags?: string; + /** Domain tags (JSON array) */ + domainTags?: string; + /** Has collective lesson */ + hasCollectiveLesson?: boolean; +} diff --git a/reading-platform-frontend/src/api/generated/model/deleteFileParams.ts b/reading-platform-frontend/src/api/generated/model/deleteFileParams.ts new file mode 100644 index 0000000..1562ada --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/deleteFileParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type DeleteFileParams = { +filePath: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts b/reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts new file mode 100644 index 0000000..1b8c791 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getActiveTenantsParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetActiveTenantsParams = { +limit?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts b/reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts new file mode 100644 index 0000000..f6c3b27 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getActivitiesParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetActivitiesParams = { +limit?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getClassPageParams.ts b/reading-platform-frontend/src/api/generated/model/getClassPageParams.ts new file mode 100644 index 0000000..36ff88c --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getClassPageParams.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetClassPageParams = { +page?: number; +pageSize?: number; +keyword?: string; +grade?: string; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts b/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts new file mode 100644 index 0000000..569cd69 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getCoursePage1Params.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetCoursePage1Params = { +page?: number; +pageSize?: number; +keyword?: string; +category?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts b/reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts new file mode 100644 index 0000000..ff100e3 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getCoursePageParams.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetCoursePageParams = { +page?: number; +pageSize?: number; +keyword?: string; +category?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getCourses1Params.ts b/reading-platform-frontend/src/api/generated/model/getCourses1Params.ts new file mode 100644 index 0000000..1dace18 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getCourses1Params.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetCourses1Params = { +pageNum?: number; +pageSize?: number; +keyword?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getCoursesParams.ts b/reading-platform-frontend/src/api/generated/model/getCoursesParams.ts new file mode 100644 index 0000000..8e76c98 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getCoursesParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetCoursesParams = { +pageNum?: number; +pageSize?: number; +keyword?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts new file mode 100644 index 0000000..748a71d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPage1Params.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetGrowthRecordPage1Params = { +page?: number; +pageSize?: number; +studentId?: number; +type?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts new file mode 100644 index 0000000..08b3dc0 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getGrowthRecordPageParams.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetGrowthRecordPageParams = { +page?: number; +pageSize?: number; +studentId?: number; +type?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts b/reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts new file mode 100644 index 0000000..fc86c21 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getGrowthRecordsByStudentParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetGrowthRecordsByStudentParams = { +page?: number; +pageSize?: number; +type?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getItemsParams.ts b/reading-platform-frontend/src/api/generated/model/getItemsParams.ts new file mode 100644 index 0000000..5a17bb9 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getItemsParams.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetItemsParams = { +pageNum?: number; +pageSize?: number; +libraryId?: number; +keyword?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts b/reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts new file mode 100644 index 0000000..64b112e --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getLibrariesParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetLibrariesParams = { +tenantId?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getLogs1Params.ts b/reading-platform-frontend/src/api/generated/model/getLogs1Params.ts new file mode 100644 index 0000000..81d4865 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getLogs1Params.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetLogs1Params = { +pageNum?: number; +pageSize?: number; +tenantId?: number; +module?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getLogsParams.ts b/reading-platform-frontend/src/api/generated/model/getLogsParams.ts new file mode 100644 index 0000000..78928cd --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getLogsParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetLogsParams = { +pageNum?: number; +pageSize?: number; +module?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts b/reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts new file mode 100644 index 0000000..d40f18e --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getMyLessonsParams.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetMyLessonsParams = { +page?: number; +pageSize?: number; +status?: string; +startDate?: string; +endDate?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts b/reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts new file mode 100644 index 0000000..3229eaf --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getMyNotifications1Params.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetMyNotifications1Params = { +page?: number; +pageSize?: number; +isRead?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts b/reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts new file mode 100644 index 0000000..d4aa05c --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getMyNotificationsParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetMyNotificationsParams = { +page?: number; +pageSize?: number; +isRead?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts b/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts new file mode 100644 index 0000000..68f44c1 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getPackages1Params.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetPackages1Params = { +pageNum?: number; +pageSize?: number; +keyword?: string; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getPackagesParams.ts b/reading-platform-frontend/src/api/generated/model/getPackagesParams.ts new file mode 100644 index 0000000..5cf7228 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getPackagesParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetPackagesParams = { +pageNum?: number; +pageSize?: number; +keyword?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getParentPageParams.ts b/reading-platform-frontend/src/api/generated/model/getParentPageParams.ts new file mode 100644 index 0000000..51e9ced --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getParentPageParams.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetParentPageParams = { +page?: number; +pageSize?: number; +keyword?: string; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts b/reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts new file mode 100644 index 0000000..50efb16 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getPopularCoursesParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetPopularCoursesParams = { +limit?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts b/reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts new file mode 100644 index 0000000..8445aaa --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getRecentGrowthRecordsParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetRecentGrowthRecordsParams = { +limit?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts b/reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts new file mode 100644 index 0000000..8ec05f2 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getSchedulePlans1Params.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetSchedulePlans1Params = { +pageNum?: number; +pageSize?: number; +classId?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts b/reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts new file mode 100644 index 0000000..ebc3507 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getSchedulePlansParams.ts @@ -0,0 +1,12 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetSchedulePlansParams = { +pageNum?: number; +pageSize?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts b/reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts new file mode 100644 index 0000000..d38c2d0 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getScheduleTemplatesParams.ts @@ -0,0 +1,12 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetScheduleTemplatesParams = { +pageNum?: number; +pageSize?: number; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts b/reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts new file mode 100644 index 0000000..756b4c8 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getStudentPageParams.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetStudentPageParams = { +page?: number; +pageSize?: number; +keyword?: string; +grade?: string; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts b/reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts new file mode 100644 index 0000000..25bf6e6 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTaskPage1Params.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTaskPage1Params = { +page?: number; +pageSize?: number; +keyword?: string; +type?: string; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts b/reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts new file mode 100644 index 0000000..d080615 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTaskPageParams.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTaskPageParams = { +page?: number; +pageSize?: number; +keyword?: string; +type?: string; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts b/reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts new file mode 100644 index 0000000..d30df3a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTasksByStudentParams.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTasksByStudentParams = { +page?: number; +pageSize?: number; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts b/reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts new file mode 100644 index 0000000..646477a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTeacherPageParams.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTeacherPageParams = { +page?: number; +pageSize?: number; +keyword?: string; +status?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts b/reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts new file mode 100644 index 0000000..c93c1c4 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getTenantPageParams.ts @@ -0,0 +1,15 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetTenantPageParams = { +page?: number; +pageSize?: number; +keyword?: string; +status?: string; +packageType?: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/getThemesParams.ts b/reading-platform-frontend/src/api/generated/model/getThemesParams.ts new file mode 100644 index 0000000..cdbf9a3 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/getThemesParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type GetThemesParams = { +enabledOnly?: boolean; +}; diff --git a/reading-platform-frontend/src/api/generated/model/growthRecord.ts b/reading-platform-frontend/src/api/generated/model/growthRecord.ts new file mode 100644 index 0000000..f49bbf7 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/growthRecord.ts @@ -0,0 +1,24 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface GrowthRecord { + id?: number; + tenantId?: number; + studentId?: number; + type?: string; + title?: string; + content?: string; + images?: string; + recordedBy?: number; + recorderRole?: string; + recordDate?: string; + tags?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts new file mode 100644 index 0000000..4c66fa5 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/growthRecordCreateRequest.ts @@ -0,0 +1,27 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Growth Record Create Request + */ +export interface GrowthRecordCreateRequest { + /** Student ID */ + studentId: number; + /** Type: reading, behavior, achievement, milestone */ + type: string; + /** Title */ + title: string; + /** Content */ + content?: string; + /** Images (JSON array) */ + images?: string; + /** Record date */ + recordDate?: string; + /** Tags */ + tags?: string[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts new file mode 100644 index 0000000..7f6ee83 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/growthRecordUpdateRequest.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Growth Record Update Request + */ +export interface GrowthRecordUpdateRequest { + /** Type */ + type?: string; + /** Title */ + title?: string; + /** Content */ + content?: string; + /** Images (JSON array) */ + images?: string; + /** Record date */ + recordDate?: string; + /** Tags */ + tags?: string[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/index.ts b/reading-platform-frontend/src/api/generated/model/index.ts new file mode 100644 index 0000000..243e987 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/index.ts @@ -0,0 +1,162 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export * from './bindStudentParams'; +export * from './changePasswordParams'; +export * from './classCreateRequest'; +export * from './classUpdateRequest'; +export * from './clazz'; +export * from './completeTaskParams'; +export * from './course'; +export * from './courseCreateRequest'; +export * from './courseLesson'; +export * from './coursePackage'; +export * from './courseUpdateRequest'; +export * from './deleteFileParams'; +export * from './getActiveTenantsParams'; +export * from './getActivitiesParams'; +export * from './getClassPageParams'; +export * from './getCoursePage1Params'; +export * from './getCoursePageParams'; +export * from './getCourses1Params'; +export * from './getCoursesParams'; +export * from './getGrowthRecordPage1Params'; +export * from './getGrowthRecordPageParams'; +export * from './getGrowthRecordsByStudentParams'; +export * from './getItemsParams'; +export * from './getLibrariesParams'; +export * from './getLogs1Params'; +export * from './getLogsParams'; +export * from './getMyLessonsParams'; +export * from './getMyNotifications1Params'; +export * from './getMyNotificationsParams'; +export * from './getPackages1Params'; +export * from './getPackagesParams'; +export * from './getParentPageParams'; +export * from './getPopularCoursesParams'; +export * from './getRecentGrowthRecordsParams'; +export * from './getSchedulePlans1Params'; +export * from './getSchedulePlansParams'; +export * from './getScheduleTemplatesParams'; +export * from './getStudentPageParams'; +export * from './getTaskPage1Params'; +export * from './getTaskPageParams'; +export * from './getTasksByStudentParams'; +export * from './getTeacherPageParams'; +export * from './getTenantPageParams'; +export * from './getThemesParams'; +export * from './growthRecord'; +export * from './growthRecordCreateRequest'; +export * from './growthRecordUpdateRequest'; +export * from './lesson'; +export * from './lessonCreateRequest'; +export * from './lessonUpdateRequest'; +export * from './localTime'; +export * from './loginRequest'; +export * from './loginResponse'; +export * from './notification'; +export * from './operationLog'; +export * from './pageResultClazz'; +export * from './pageResultCourse'; +export * from './pageResultCoursePackage'; +export * from './pageResultGrowthRecord'; +export * from './pageResultLesson'; +export * from './pageResultNotification'; +export * from './pageResultOperationLog'; +export * from './pageResultParent'; +export * from './pageResultResourceItem'; +export * from './pageResultSchedulePlan'; +export * from './pageResultScheduleTemplate'; +export * from './pageResultSchoolCourse'; +export * from './pageResultStudent'; +export * from './pageResultTask'; +export * from './pageResultTeacher'; +export * from './pageResultTenant'; +export * from './parent'; +export * from './parentCreateRequest'; +export * from './parentUpdateRequest'; +export * from './resetPassword1Params'; +export * from './resetPasswordParams'; +export * from './resourceItem'; +export * from './resourceLibrary'; +export * from './resultClazz'; +export * from './resultCourse'; +export * from './resultCourseLesson'; +export * from './resultCoursePackage'; +export * from './resultGrowthRecord'; +export * from './resultLesson'; +export * from './resultListCourse'; +export * from './resultListCourseLesson'; +export * from './resultListGrowthRecord'; +export * from './resultListLesson'; +export * from './resultListMapStringObject'; +export * from './resultListMapStringObjectDataItem'; +export * from './resultListResourceLibrary'; +export * from './resultListStudent'; +export * from './resultListTenantResponse'; +export * from './resultListTheme'; +export * from './resultLoginResponse'; +export * from './resultLong'; +export * from './resultMapStringObject'; +export * from './resultMapStringObjectData'; +export * from './resultMapStringString'; +export * from './resultMapStringStringData'; +export * from './resultNotification'; +export * from './resultPageResultClazz'; +export * from './resultPageResultCourse'; +export * from './resultPageResultCoursePackage'; +export * from './resultPageResultGrowthRecord'; +export * from './resultPageResultLesson'; +export * from './resultPageResultNotification'; +export * from './resultPageResultOperationLog'; +export * from './resultPageResultParent'; +export * from './resultPageResultResourceItem'; +export * from './resultPageResultSchedulePlan'; +export * from './resultPageResultScheduleTemplate'; +export * from './resultPageResultSchoolCourse'; +export * from './resultPageResultStudent'; +export * from './resultPageResultTask'; +export * from './resultPageResultTeacher'; +export * from './resultPageResultTenant'; +export * from './resultParent'; +export * from './resultResourceItem'; +export * from './resultResourceLibrary'; +export * from './resultSchedulePlan'; +export * from './resultScheduleTemplate'; +export * from './resultSchoolCourse'; +export * from './resultStudent'; +export * from './resultTask'; +export * from './resultTeacher'; +export * from './resultTenant'; +export * from './resultTheme'; +export * from './resultUserInfoResponse'; +export * from './resultVoid'; +export * from './resultVoidData'; +export * from './schedulePlan'; +export * from './scheduleTemplate'; +export * from './schoolCourse'; +export * from './student'; +export * from './studentCreateRequest'; +export * from './studentUpdateRequest'; +export * from './task'; +export * from './taskCreateRequest'; +export * from './taskUpdateRequest'; +export * from './teacher'; +export * from './teacherCreateRequest'; +export * from './teacherUpdateRequest'; +export * from './tenant'; +export * from './tenantCreateRequest'; +export * from './tenantResponse'; +export * from './tenantUpdateRequest'; +export * from './theme'; +export * from './updateSettings1Body'; +export * from './updateSettingsBody'; +export * from './updateTenantQuotaBody'; +export * from './updateTenantStatusBody'; +export * from './uploadFileBody'; +export * from './userInfoResponse'; \ No newline at end of file diff --git a/reading-platform-frontend/src/api/generated/model/lesson.ts b/reading-platform-frontend/src/api/generated/model/lesson.ts new file mode 100644 index 0000000..f006622 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/lesson.ts @@ -0,0 +1,26 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { LocalTime } from './localTime'; + +export interface Lesson { + id?: number; + tenantId?: number; + courseId?: number; + classId?: number; + teacherId?: number; + title?: string; + lessonDate?: string; + startTime?: LocalTime; + endTime?: LocalTime; + location?: string; + status?: string; + notes?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts new file mode 100644 index 0000000..a5d816c --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/lessonCreateRequest.ts @@ -0,0 +1,30 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { LocalTime } from './localTime'; + +/** + * Lesson Create Request + */ +export interface LessonCreateRequest { + /** Course ID */ + courseId: number; + /** Class ID */ + classId?: number; + /** Teacher ID */ + teacherId: number; + /** Lesson title */ + title: string; + /** Lesson date */ + lessonDate: string; + startTime?: LocalTime; + endTime?: LocalTime; + /** Location */ + location?: string; + /** Notes */ + notes?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts new file mode 100644 index 0000000..6fbe02d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/lessonUpdateRequest.ts @@ -0,0 +1,26 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { LocalTime } from './localTime'; + +/** + * Lesson Update Request + */ +export interface LessonUpdateRequest { + /** Lesson title */ + title?: string; + /** Lesson date */ + lessonDate?: string; + startTime?: LocalTime; + endTime?: LocalTime; + /** Location */ + location?: string; + /** Status */ + status?: string; + /** Notes */ + notes?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/localTime.ts b/reading-platform-frontend/src/api/generated/model/localTime.ts new file mode 100644 index 0000000..053df12 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/localTime.ts @@ -0,0 +1,17 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * End time + */ +export interface LocalTime { + hour?: number; + minute?: number; + second?: number; + nano?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/loginRequest.ts b/reading-platform-frontend/src/api/generated/model/loginRequest.ts new file mode 100644 index 0000000..1280168 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/loginRequest.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Login Request + */ +export interface LoginRequest { + /** Username */ + username: string; + /** Password */ + password: string; + /** Login role */ + role?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/loginResponse.ts b/reading-platform-frontend/src/api/generated/model/loginResponse.ts new file mode 100644 index 0000000..40e6597 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/loginResponse.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Login Response + */ +export interface LoginResponse { + /** JWT Token */ + token?: string; + /** User ID */ + userId?: number; + /** Username */ + username?: string; + /** User name */ + name?: string; + /** User role */ + role?: string; + /** Tenant ID */ + tenantId?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/notification.ts b/reading-platform-frontend/src/api/generated/model/notification.ts new file mode 100644 index 0000000..f4517e7 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/notification.ts @@ -0,0 +1,23 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Notification { + id?: number; + tenantId?: number; + title?: string; + content?: string; + type?: string; + senderId?: number; + senderRole?: string; + recipientType?: string; + recipientId?: number; + isRead?: number; + readAt?: string; + createdAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/operationLog.ts b/reading-platform-frontend/src/api/generated/model/operationLog.ts new file mode 100644 index 0000000..f78536a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/operationLog.ts @@ -0,0 +1,22 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface OperationLog { + id?: number; + tenantId?: number; + userId?: number; + userRole?: string; + action?: string; + module?: string; + targetType?: string; + targetId?: number; + details?: string; + ipAddress?: string; + userAgent?: string; + createdAt?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultClazz.ts b/reading-platform-frontend/src/api/generated/model/pageResultClazz.ts new file mode 100644 index 0000000..438aecf --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultClazz.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Clazz } from './clazz'; + +export interface PageResultClazz { + total?: number; + pageSize?: number; + items?: Clazz[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultCourse.ts b/reading-platform-frontend/src/api/generated/model/pageResultCourse.ts new file mode 100644 index 0000000..60a62a8 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultCourse.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Course } from './course'; + +export interface PageResultCourse { + total?: number; + pageSize?: number; + items?: Course[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts b/reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts new file mode 100644 index 0000000..feb089a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultCoursePackage.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { CoursePackage } from './coursePackage'; + +export interface PageResultCoursePackage { + total?: number; + pageSize?: number; + items?: CoursePackage[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts new file mode 100644 index 0000000..d0386bd --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultGrowthRecord.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { GrowthRecord } from './growthRecord'; + +export interface PageResultGrowthRecord { + total?: number; + pageSize?: number; + items?: GrowthRecord[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultLesson.ts b/reading-platform-frontend/src/api/generated/model/pageResultLesson.ts new file mode 100644 index 0000000..5bb1fbf --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultLesson.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Lesson } from './lesson'; + +export interface PageResultLesson { + total?: number; + pageSize?: number; + items?: Lesson[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultNotification.ts b/reading-platform-frontend/src/api/generated/model/pageResultNotification.ts new file mode 100644 index 0000000..aa8d231 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultNotification.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Notification } from './notification'; + +export interface PageResultNotification { + total?: number; + pageSize?: number; + items?: Notification[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts b/reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts new file mode 100644 index 0000000..136932d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultOperationLog.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { OperationLog } from './operationLog'; + +export interface PageResultOperationLog { + total?: number; + pageSize?: number; + items?: OperationLog[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultParent.ts b/reading-platform-frontend/src/api/generated/model/pageResultParent.ts new file mode 100644 index 0000000..13ddab2 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultParent.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Parent } from './parent'; + +export interface PageResultParent { + total?: number; + pageSize?: number; + items?: Parent[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts b/reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts new file mode 100644 index 0000000..a6026f0 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultResourceItem.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResourceItem } from './resourceItem'; + +export interface PageResultResourceItem { + total?: number; + pageSize?: number; + items?: ResourceItem[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts b/reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts new file mode 100644 index 0000000..a0b7954 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultSchedulePlan.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { SchedulePlan } from './schedulePlan'; + +export interface PageResultSchedulePlan { + total?: number; + pageSize?: number; + items?: SchedulePlan[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts new file mode 100644 index 0000000..672f804 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultScheduleTemplate.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ScheduleTemplate } from './scheduleTemplate'; + +export interface PageResultScheduleTemplate { + total?: number; + pageSize?: number; + items?: ScheduleTemplate[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts b/reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts new file mode 100644 index 0000000..32b3f3f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultSchoolCourse.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { SchoolCourse } from './schoolCourse'; + +export interface PageResultSchoolCourse { + total?: number; + pageSize?: number; + items?: SchoolCourse[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultStudent.ts b/reading-platform-frontend/src/api/generated/model/pageResultStudent.ts new file mode 100644 index 0000000..e067c9d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultStudent.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Student } from './student'; + +export interface PageResultStudent { + total?: number; + pageSize?: number; + items?: Student[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTask.ts b/reading-platform-frontend/src/api/generated/model/pageResultTask.ts new file mode 100644 index 0000000..f9c3d9e --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultTask.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Task } from './task'; + +export interface PageResultTask { + total?: number; + pageSize?: number; + items?: Task[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts b/reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts new file mode 100644 index 0000000..7681455 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultTeacher.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Teacher } from './teacher'; + +export interface PageResultTeacher { + total?: number; + pageSize?: number; + items?: Teacher[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/pageResultTenant.ts b/reading-platform-frontend/src/api/generated/model/pageResultTenant.ts new file mode 100644 index 0000000..751105a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/pageResultTenant.ts @@ -0,0 +1,16 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Tenant } from './tenant'; + +export interface PageResultTenant { + total?: number; + pageSize?: number; + items?: Tenant[]; + page?: number; + totalPages?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/parent.ts b/reading-platform-frontend/src/api/generated/model/parent.ts new file mode 100644 index 0000000..9fe12ff --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/parent.ts @@ -0,0 +1,24 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Parent { + id?: number; + tenantId?: number; + username?: string; + password?: string; + name?: string; + phone?: string; + email?: string; + avatarUrl?: string; + gender?: string; + status?: string; + lastLoginAt?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts new file mode 100644 index 0000000..2f83335 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/parentCreateRequest.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Parent Create Request + */ +export interface ParentCreateRequest { + /** Username */ + username: string; + /** Password */ + password: string; + /** Name */ + name: string; + /** Phone */ + phone?: string; + /** Email */ + email?: string; + /** Gender */ + gender?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts new file mode 100644 index 0000000..9a56a0c --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/parentUpdateRequest.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Parent Update Request + */ +export interface ParentUpdateRequest { + /** Name */ + name?: string; + /** Phone */ + phone?: string; + /** Email */ + email?: string; + /** Avatar URL */ + avatarUrl?: string; + /** Gender */ + gender?: string; + /** Status */ + status?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts b/reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts new file mode 100644 index 0000000..96c20a8 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resetPassword1Params.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ResetPassword1Params = { +newPassword: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts b/reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts new file mode 100644 index 0000000..ca4bf65 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resetPasswordParams.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ResetPasswordParams = { +newPassword: string; +}; diff --git a/reading-platform-frontend/src/api/generated/model/resourceItem.ts b/reading-platform-frontend/src/api/generated/model/resourceItem.ts new file mode 100644 index 0000000..3543607 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resourceItem.ts @@ -0,0 +1,22 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface ResourceItem { + id?: number; + libraryId?: number; + name?: string; + code?: string; + description?: string; + quantity?: number; + availableQuantity?: number; + location?: string; + status?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/resourceLibrary.ts b/reading-platform-frontend/src/api/generated/model/resourceLibrary.ts new file mode 100644 index 0000000..619dd30 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resourceLibrary.ts @@ -0,0 +1,18 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface ResourceLibrary { + id?: number; + tenantId?: number; + name?: string; + description?: string; + type?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultClazz.ts b/reading-platform-frontend/src/api/generated/model/resultClazz.ts new file mode 100644 index 0000000..f76ce78 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultClazz.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Clazz } from './clazz'; + +export interface ResultClazz { + code?: number; + message?: string; + data?: Clazz; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultCourse.ts b/reading-platform-frontend/src/api/generated/model/resultCourse.ts new file mode 100644 index 0000000..0269a03 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultCourse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Course } from './course'; + +export interface ResultCourse { + code?: number; + message?: string; + data?: Course; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts b/reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts new file mode 100644 index 0000000..10ad592 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultCourseLesson.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { CourseLesson } from './courseLesson'; + +export interface ResultCourseLesson { + code?: number; + message?: string; + data?: CourseLesson; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts b/reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts new file mode 100644 index 0000000..430ffe0 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultCoursePackage.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { CoursePackage } from './coursePackage'; + +export interface ResultCoursePackage { + code?: number; + message?: string; + data?: CoursePackage; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts new file mode 100644 index 0000000..d8b8564 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultGrowthRecord.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { GrowthRecord } from './growthRecord'; + +export interface ResultGrowthRecord { + code?: number; + message?: string; + data?: GrowthRecord; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultLesson.ts b/reading-platform-frontend/src/api/generated/model/resultLesson.ts new file mode 100644 index 0000000..9bc626f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultLesson.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Lesson } from './lesson'; + +export interface ResultLesson { + code?: number; + message?: string; + data?: Lesson; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListCourse.ts b/reading-platform-frontend/src/api/generated/model/resultListCourse.ts new file mode 100644 index 0000000..a9d83c9 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListCourse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Course } from './course'; + +export interface ResultListCourse { + code?: number; + message?: string; + data?: Course[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts b/reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts new file mode 100644 index 0000000..9ee7a9f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListCourseLesson.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { CourseLesson } from './courseLesson'; + +export interface ResultListCourseLesson { + code?: number; + message?: string; + data?: CourseLesson[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts new file mode 100644 index 0000000..cebda88 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListGrowthRecord.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { GrowthRecord } from './growthRecord'; + +export interface ResultListGrowthRecord { + code?: number; + message?: string; + data?: GrowthRecord[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListLesson.ts b/reading-platform-frontend/src/api/generated/model/resultListLesson.ts new file mode 100644 index 0000000..03bc91c --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListLesson.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Lesson } from './lesson'; + +export interface ResultListLesson { + code?: number; + message?: string; + data?: Lesson[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts b/reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts new file mode 100644 index 0000000..04b2f70 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListMapStringObject.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResultListMapStringObjectDataItem } from './resultListMapStringObjectDataItem'; + +export interface ResultListMapStringObject { + code?: number; + message?: string; + data?: ResultListMapStringObjectDataItem[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts b/reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts new file mode 100644 index 0000000..9c629d5 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListMapStringObjectDataItem.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ResultListMapStringObjectDataItem = {[key: string]: { [key: string]: unknown }}; diff --git a/reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts b/reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts new file mode 100644 index 0000000..f65f06e --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListResourceLibrary.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResourceLibrary } from './resourceLibrary'; + +export interface ResultListResourceLibrary { + code?: number; + message?: string; + data?: ResourceLibrary[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListStudent.ts b/reading-platform-frontend/src/api/generated/model/resultListStudent.ts new file mode 100644 index 0000000..bfc1031 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListStudent.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Student } from './student'; + +export interface ResultListStudent { + code?: number; + message?: string; + data?: Student[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts b/reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts new file mode 100644 index 0000000..cfa68d0 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListTenantResponse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { TenantResponse } from './tenantResponse'; + +export interface ResultListTenantResponse { + code?: number; + message?: string; + data?: TenantResponse[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultListTheme.ts b/reading-platform-frontend/src/api/generated/model/resultListTheme.ts new file mode 100644 index 0000000..058ff7f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultListTheme.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Theme } from './theme'; + +export interface ResultListTheme { + code?: number; + message?: string; + data?: Theme[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts b/reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts new file mode 100644 index 0000000..338fafb --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultLoginResponse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { LoginResponse } from './loginResponse'; + +export interface ResultLoginResponse { + code?: number; + message?: string; + data?: LoginResponse; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultLong.ts b/reading-platform-frontend/src/api/generated/model/resultLong.ts new file mode 100644 index 0000000..b6af0a3 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultLong.ts @@ -0,0 +1,13 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface ResultLong { + code?: number; + message?: string; + data?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts new file mode 100644 index 0000000..b9b33d9 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringObject.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResultMapStringObjectData } from './resultMapStringObjectData'; + +export interface ResultMapStringObject { + code?: number; + message?: string; + data?: ResultMapStringObjectData; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts new file mode 100644 index 0000000..21a0ac3 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringObjectData.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ResultMapStringObjectData = {[key: string]: { [key: string]: unknown }}; diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringString.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringString.ts new file mode 100644 index 0000000..8c2511a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringString.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResultMapStringStringData } from './resultMapStringStringData'; + +export interface ResultMapStringString { + code?: number; + message?: string; + data?: ResultMapStringStringData; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts b/reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts new file mode 100644 index 0000000..c6f3b1f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultMapStringStringData.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ResultMapStringStringData = {[key: string]: string}; diff --git a/reading-platform-frontend/src/api/generated/model/resultNotification.ts b/reading-platform-frontend/src/api/generated/model/resultNotification.ts new file mode 100644 index 0000000..d91d136 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultNotification.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Notification } from './notification'; + +export interface ResultNotification { + code?: number; + message?: string; + data?: Notification; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts new file mode 100644 index 0000000..66f880e --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultClazz.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultClazz } from './pageResultClazz'; + +export interface ResultPageResultClazz { + code?: number; + message?: string; + data?: PageResultClazz; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts new file mode 100644 index 0000000..a1ce8c2 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultCourse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultCourse } from './pageResultCourse'; + +export interface ResultPageResultCourse { + code?: number; + message?: string; + data?: PageResultCourse; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts new file mode 100644 index 0000000..377d054 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultCoursePackage.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultCoursePackage } from './pageResultCoursePackage'; + +export interface ResultPageResultCoursePackage { + code?: number; + message?: string; + data?: PageResultCoursePackage; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts new file mode 100644 index 0000000..fdff698 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultGrowthRecord.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultGrowthRecord } from './pageResultGrowthRecord'; + +export interface ResultPageResultGrowthRecord { + code?: number; + message?: string; + data?: PageResultGrowthRecord; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts new file mode 100644 index 0000000..36ef939 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultLesson.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultLesson } from './pageResultLesson'; + +export interface ResultPageResultLesson { + code?: number; + message?: string; + data?: PageResultLesson; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts new file mode 100644 index 0000000..4dde901 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultNotification.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultNotification } from './pageResultNotification'; + +export interface ResultPageResultNotification { + code?: number; + message?: string; + data?: PageResultNotification; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts new file mode 100644 index 0000000..d8cd0c8 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultOperationLog.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultOperationLog } from './pageResultOperationLog'; + +export interface ResultPageResultOperationLog { + code?: number; + message?: string; + data?: PageResultOperationLog; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts new file mode 100644 index 0000000..69a3d91 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultParent.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultParent } from './pageResultParent'; + +export interface ResultPageResultParent { + code?: number; + message?: string; + data?: PageResultParent; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts new file mode 100644 index 0000000..9880e46 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultResourceItem.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultResourceItem } from './pageResultResourceItem'; + +export interface ResultPageResultResourceItem { + code?: number; + message?: string; + data?: PageResultResourceItem; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts new file mode 100644 index 0000000..cffec68 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultSchedulePlan.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultSchedulePlan } from './pageResultSchedulePlan'; + +export interface ResultPageResultSchedulePlan { + code?: number; + message?: string; + data?: PageResultSchedulePlan; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts new file mode 100644 index 0000000..145cbee --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultScheduleTemplate.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultScheduleTemplate } from './pageResultScheduleTemplate'; + +export interface ResultPageResultScheduleTemplate { + code?: number; + message?: string; + data?: PageResultScheduleTemplate; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts new file mode 100644 index 0000000..3f49a15 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultSchoolCourse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultSchoolCourse } from './pageResultSchoolCourse'; + +export interface ResultPageResultSchoolCourse { + code?: number; + message?: string; + data?: PageResultSchoolCourse; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts new file mode 100644 index 0000000..0a47817 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultStudent.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultStudent } from './pageResultStudent'; + +export interface ResultPageResultStudent { + code?: number; + message?: string; + data?: PageResultStudent; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts new file mode 100644 index 0000000..c8bb85f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTask.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultTask } from './pageResultTask'; + +export interface ResultPageResultTask { + code?: number; + message?: string; + data?: PageResultTask; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts new file mode 100644 index 0000000..566cb70 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTeacher.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultTeacher } from './pageResultTeacher'; + +export interface ResultPageResultTeacher { + code?: number; + message?: string; + data?: PageResultTeacher; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts b/reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts new file mode 100644 index 0000000..94c8021 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultPageResultTenant.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { PageResultTenant } from './pageResultTenant'; + +export interface ResultPageResultTenant { + code?: number; + message?: string; + data?: PageResultTenant; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultParent.ts b/reading-platform-frontend/src/api/generated/model/resultParent.ts new file mode 100644 index 0000000..fdb1fce --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultParent.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Parent } from './parent'; + +export interface ResultParent { + code?: number; + message?: string; + data?: Parent; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultResourceItem.ts b/reading-platform-frontend/src/api/generated/model/resultResourceItem.ts new file mode 100644 index 0000000..f107646 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultResourceItem.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResourceItem } from './resourceItem'; + +export interface ResultResourceItem { + code?: number; + message?: string; + data?: ResourceItem; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts b/reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts new file mode 100644 index 0000000..0243f6c --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultResourceLibrary.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResourceLibrary } from './resourceLibrary'; + +export interface ResultResourceLibrary { + code?: number; + message?: string; + data?: ResourceLibrary; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts b/reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts new file mode 100644 index 0000000..d865b76 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultSchedulePlan.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { SchedulePlan } from './schedulePlan'; + +export interface ResultSchedulePlan { + code?: number; + message?: string; + data?: SchedulePlan; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts new file mode 100644 index 0000000..1a9cd4a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultScheduleTemplate.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ScheduleTemplate } from './scheduleTemplate'; + +export interface ResultScheduleTemplate { + code?: number; + message?: string; + data?: ScheduleTemplate; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts b/reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts new file mode 100644 index 0000000..845fa65 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultSchoolCourse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { SchoolCourse } from './schoolCourse'; + +export interface ResultSchoolCourse { + code?: number; + message?: string; + data?: SchoolCourse; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultStudent.ts b/reading-platform-frontend/src/api/generated/model/resultStudent.ts new file mode 100644 index 0000000..2089154 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultStudent.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Student } from './student'; + +export interface ResultStudent { + code?: number; + message?: string; + data?: Student; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultTask.ts b/reading-platform-frontend/src/api/generated/model/resultTask.ts new file mode 100644 index 0000000..8320e14 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultTask.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Task } from './task'; + +export interface ResultTask { + code?: number; + message?: string; + data?: Task; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultTeacher.ts b/reading-platform-frontend/src/api/generated/model/resultTeacher.ts new file mode 100644 index 0000000..6bb3f04 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultTeacher.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Teacher } from './teacher'; + +export interface ResultTeacher { + code?: number; + message?: string; + data?: Teacher; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultTenant.ts b/reading-platform-frontend/src/api/generated/model/resultTenant.ts new file mode 100644 index 0000000..e5d1f6e --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultTenant.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Tenant } from './tenant'; + +export interface ResultTenant { + code?: number; + message?: string; + data?: Tenant; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultTheme.ts b/reading-platform-frontend/src/api/generated/model/resultTheme.ts new file mode 100644 index 0000000..c072a5a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultTheme.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { Theme } from './theme'; + +export interface ResultTheme { + code?: number; + message?: string; + data?: Theme; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts b/reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts new file mode 100644 index 0000000..0f82212 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultUserInfoResponse.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { UserInfoResponse } from './userInfoResponse'; + +export interface ResultUserInfoResponse { + code?: number; + message?: string; + data?: UserInfoResponse; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultVoid.ts b/reading-platform-frontend/src/api/generated/model/resultVoid.ts new file mode 100644 index 0000000..f212e5a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultVoid.ts @@ -0,0 +1,14 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ +import type { ResultVoidData } from './resultVoidData'; + +export interface ResultVoid { + code?: number; + message?: string; + data?: ResultVoidData; +} diff --git a/reading-platform-frontend/src/api/generated/model/resultVoidData.ts b/reading-platform-frontend/src/api/generated/model/resultVoidData.ts new file mode 100644 index 0000000..b36f087 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/resultVoidData.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type ResultVoidData = { [key: string]: unknown }; diff --git a/reading-platform-frontend/src/api/generated/model/schedulePlan.ts b/reading-platform-frontend/src/api/generated/model/schedulePlan.ts new file mode 100644 index 0000000..3b044a0 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/schedulePlan.ts @@ -0,0 +1,20 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface SchedulePlan { + id?: number; + tenantId?: number; + name?: string; + classId?: number; + startDate?: string; + endDate?: string; + status?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts b/reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts new file mode 100644 index 0000000..2dfd2a7 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/scheduleTemplate.ts @@ -0,0 +1,19 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface ScheduleTemplate { + id?: number; + tenantId?: number; + name?: string; + description?: string; + content?: string; + isPublic?: number; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/schoolCourse.ts b/reading-platform-frontend/src/api/generated/model/schoolCourse.ts new file mode 100644 index 0000000..7e218f4 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/schoolCourse.ts @@ -0,0 +1,22 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface SchoolCourse { + id?: number; + tenantId?: number; + name?: string; + description?: string; + coverUrl?: string; + category?: string; + ageRange?: string; + status?: string; + createdBy?: number; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/student.ts b/reading-platform-frontend/src/api/generated/model/student.ts new file mode 100644 index 0000000..7c55678 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/student.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Student { + id?: number; + tenantId?: number; + name?: string; + gender?: string; + birthDate?: string; + avatarUrl?: string; + grade?: string; + studentNo?: string; + readingLevel?: string; + interests?: string; + notes?: string; + status?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts new file mode 100644 index 0000000..caf8653 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/studentCreateRequest.ts @@ -0,0 +1,29 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Student Create Request + */ +export interface StudentCreateRequest { + /** Name */ + name: string; + /** Gender */ + gender?: string; + /** Birth date */ + birthDate?: string; + /** Grade */ + grade?: string; + /** Student number */ + studentNo?: string; + /** Reading level */ + readingLevel?: string; + /** Interests */ + interests?: string; + /** Notes */ + notes?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts new file mode 100644 index 0000000..ee744fc --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/studentUpdateRequest.ts @@ -0,0 +1,33 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Student Update Request + */ +export interface StudentUpdateRequest { + /** Name */ + name?: string; + /** Gender */ + gender?: string; + /** Birth date */ + birthDate?: string; + /** Avatar URL */ + avatarUrl?: string; + /** Grade */ + grade?: string; + /** Student number */ + studentNo?: string; + /** Reading level */ + readingLevel?: string; + /** Interests */ + interests?: string; + /** Notes */ + notes?: string; + /** Status */ + status?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/task.ts b/reading-platform-frontend/src/api/generated/model/task.ts new file mode 100644 index 0000000..8463cb3 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/task.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Task { + id?: number; + tenantId?: number; + title?: string; + description?: string; + type?: string; + courseId?: number; + creatorId?: number; + creatorRole?: string; + startDate?: string; + dueDate?: string; + status?: string; + attachments?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts new file mode 100644 index 0000000..eff357a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/taskCreateRequest.ts @@ -0,0 +1,31 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Task Create Request + */ +export interface TaskCreateRequest { + /** Task title */ + title: string; + /** Description */ + description?: string; + /** Task type: reading, homework, activity */ + type?: string; + /** Course ID */ + courseId?: number; + /** Start date */ + startDate?: string; + /** Due date */ + dueDate?: string; + /** Attachments (JSON array) */ + attachments?: string; + /** Target type: class, student */ + targetType?: string; + /** Target IDs */ + targetIds?: number[]; +} diff --git a/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts new file mode 100644 index 0000000..8b8c6bc --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/taskUpdateRequest.ts @@ -0,0 +1,27 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Task Update Request + */ +export interface TaskUpdateRequest { + /** Task title */ + title?: string; + /** Description */ + description?: string; + /** Task type */ + type?: string; + /** Start date */ + startDate?: string; + /** Due date */ + dueDate?: string; + /** Status */ + status?: string; + /** Attachments (JSON array) */ + attachments?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/teacher.ts b/reading-platform-frontend/src/api/generated/model/teacher.ts new file mode 100644 index 0000000..5d220ab --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/teacher.ts @@ -0,0 +1,25 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Teacher { + id?: number; + tenantId?: number; + username?: string; + password?: string; + name?: string; + phone?: string; + email?: string; + avatarUrl?: string; + gender?: string; + bio?: string; + status?: string; + lastLoginAt?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts new file mode 100644 index 0000000..e9165de --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/teacherCreateRequest.ts @@ -0,0 +1,27 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Teacher Create Request + */ +export interface TeacherCreateRequest { + /** Username */ + username: string; + /** Password */ + password: string; + /** Name */ + name: string; + /** Phone */ + phone?: string; + /** Email */ + email?: string; + /** Gender */ + gender?: string; + /** Bio */ + bio?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts new file mode 100644 index 0000000..f371a7a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/teacherUpdateRequest.ts @@ -0,0 +1,27 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Teacher Update Request + */ +export interface TeacherUpdateRequest { + /** Name */ + name?: string; + /** Phone */ + phone?: string; + /** Email */ + email?: string; + /** Avatar URL */ + avatarUrl?: string; + /** Gender */ + gender?: string; + /** Bio */ + bio?: string; + /** Status */ + status?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/tenant.ts b/reading-platform-frontend/src/api/generated/model/tenant.ts new file mode 100644 index 0000000..30e069f --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/tenant.ts @@ -0,0 +1,26 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Tenant { + id?: number; + name?: string; + contactPhone?: string; + contactEmail?: string; + address?: string; + logoUrl?: string; + status?: string; + createdAt?: string; + updatedAt?: string; + deleted?: number; + tempPassword?: string; + loginAccount?: string; + contactPerson?: string; + expireDate?: string; + studentQuota?: number; + teacherQuota?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts b/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts new file mode 100644 index 0000000..126f235 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/tenantCreateRequest.ts @@ -0,0 +1,39 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Tenant Create Request + */ +export interface TenantCreateRequest { + /** Tenant name */ + name: string; + /** Tenant code / login account */ + code: string; + /** Contact person */ + contactName?: string; + /** Contact phone */ + contactPhone?: string; + /** Contact email */ + contactEmail?: string; + /** Address */ + address?: string; + /** Logo URL */ + logoUrl?: string; + /** Expiration date */ + expireAt?: string; + /** Max students */ + maxStudents?: number; + /** Max teachers */ + maxTeachers?: number; + /** Initial password (default: 123456) */ + password?: string; + /** Package type (optional) */ + packageType?: string; + /** Start date (optional) */ + startDate?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/tenantResponse.ts b/reading-platform-frontend/src/api/generated/model/tenantResponse.ts new file mode 100644 index 0000000..18918d5 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/tenantResponse.ts @@ -0,0 +1,39 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Tenant Response + */ +export interface TenantResponse { + /** Tenant ID */ + id?: number; + /** Tenant name */ + name?: string; + /** Login account (tenant code) */ + loginAccount?: string; + /** Contact person */ + contactPerson?: string; + /** Contact phone */ + contactPhone?: string; + /** Contact email */ + contactEmail?: string; + /** Address */ + address?: string; + /** Logo URL */ + logoUrl?: string; + /** Status */ + status?: string; + /** Expiration date */ + expireDate?: string; + /** Max students / student quota */ + studentQuota?: number; + /** Max teachers / teacher quota */ + teacherQuota?: number; + /** Created at */ + createdAt?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts b/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts new file mode 100644 index 0000000..1b3ebab --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/tenantUpdateRequest.ts @@ -0,0 +1,37 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * Tenant Update Request + */ +export interface TenantUpdateRequest { + /** Tenant name */ + name?: string; + /** Contact person */ + contactName?: string; + /** Contact phone */ + contactPhone?: string; + /** Contact email */ + contactEmail?: string; + /** Address */ + address?: string; + /** Logo URL */ + logoUrl?: string; + /** Status */ + status?: string; + /** Expiration date */ + expireAt?: string; + /** Max students */ + maxStudents?: number; + /** Max teachers */ + maxTeachers?: number; + /** Package type (optional) */ + packageType?: string; + /** Start date (optional) */ + startDate?: string; +} diff --git a/reading-platform-frontend/src/api/generated/model/theme.ts b/reading-platform-frontend/src/api/generated/model/theme.ts new file mode 100644 index 0000000..defb30a --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/theme.ts @@ -0,0 +1,20 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export interface Theme { + id?: number; + name?: string; + displayName?: string; + color?: string; + icon?: string; + sortOrder?: number; + isEnabled?: number; + createdAt?: string; + updatedAt?: string; + deleted?: number; +} diff --git a/reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts b/reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts new file mode 100644 index 0000000..90bb3bb --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/updateSettings1Body.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type UpdateSettings1Body = {[key: string]: { [key: string]: unknown }}; diff --git a/reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts b/reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts new file mode 100644 index 0000000..d13df32 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/updateSettingsBody.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type UpdateSettingsBody = {[key: string]: string}; diff --git a/reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts b/reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts new file mode 100644 index 0000000..3fa28d3 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/updateTenantQuotaBody.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type UpdateTenantQuotaBody = {[key: string]: { [key: string]: unknown }}; diff --git a/reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts b/reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts new file mode 100644 index 0000000..4d4097d --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/updateTenantStatusBody.ts @@ -0,0 +1,9 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type UpdateTenantStatusBody = {[key: string]: string}; diff --git a/reading-platform-frontend/src/api/generated/model/uploadFileBody.ts b/reading-platform-frontend/src/api/generated/model/uploadFileBody.ts new file mode 100644 index 0000000..b93b306 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/uploadFileBody.ts @@ -0,0 +1,11 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +export type UploadFileBody = { + file: Blob; +}; diff --git a/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts b/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts new file mode 100644 index 0000000..394b443 --- /dev/null +++ b/reading-platform-frontend/src/api/generated/model/userInfoResponse.ts @@ -0,0 +1,29 @@ +/** + * Generated by orval v7.13.2 🍺 + * Do not edit manually. + * Reading Platform API + * Reading Platform Backend Service API Documentation + * OpenAPI spec version: 1.0.0 + */ + +/** + * User Info Response + */ +export interface UserInfoResponse { + /** User ID */ + id?: number; + /** Username */ + username?: string; + /** User name */ + name?: string; + /** Email */ + email?: string; + /** Phone */ + phone?: string; + /** Avatar URL */ + avatarUrl?: string; + /** User role */ + role?: string; + /** Tenant ID */ + tenantId?: number; +} diff --git a/reading-platform-frontend/src/api/request.ts b/reading-platform-frontend/src/api/request.ts new file mode 100644 index 0000000..4b178b5 --- /dev/null +++ b/reading-platform-frontend/src/api/request.ts @@ -0,0 +1,10 @@ +/** + * orval mutator - 让自动生成的 API 复用项目 axios 实例 + * 带 token 注入、统一错误处理、Result 自动解包 + */ +import type { AxiosRequestConfig } from 'axios' +import axiosInstance from './index' + +export const request = (config: AxiosRequestConfig): Promise => { + return axiosInstance(config) as Promise +}