kindergarten_java/reading-platform-frontend/api-spec.yml

12147 lines
309 KiB
YAML
Raw Normal View History

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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Teacher - Task
summary: Delete task
operationId: deleteTask
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Teacher - Growth Record
summary: Delete growth record
operationId: deleteGrowthRecord
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTeacher'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTeacher'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- School - Teacher
summary: Delete teacher
operationId: deleteTeacher
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- School - Task
summary: Delete task
operationId: deleteTask_1
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultStudent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultStudent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- School - Student
summary: Delete student
operationId: deleteStudent
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/school/settings:
get:
tags:
- School - Settings
summary: Get school settings
operationId: getSettings
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringString'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
put:
tags:
- School - Settings
summary: Update school settings
operationId: updateSettings
requestBody:
content:
application/json:
schema:
type: object
additionalProperties:
type: string
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchoolCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchoolCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- School - School Courses
summary: Delete school course
operationId: deleteCourse
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchedulePlan'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchedulePlan'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- School - Schedule
summary: Delete schedule plan
operationId: deleteSchedulePlan
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultParent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultParent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- School - Parent
summary: Delete parent
operationId: deleteParent
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultClazz'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultClazz'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- School - Class
summary: Delete class
operationId: deleteClass
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTheme'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTheme'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Admin - Themes
summary: Delete theme
operationId: deleteTheme
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTenant'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTenant'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Admin - Tenant
summary: Delete tenant
operationId: deleteTenant
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTenant'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/admin/settings:
get:
tags:
- Admin - Settings
summary: Get admin system settings
operationId: getSettings_1
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringString'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultResourceLibrary'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Admin - Resources
summary: Delete resource library
operationId: deleteLibrary
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultResourceItem'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Admin - Resources
summary: Delete resource item
operationId: deleteItem
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Admin - Course
summary: Delete course
operationId: deleteCourse_1
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourseLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourseLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCoursePackage'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCoursePackage'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
delete:
tags:
- Admin - Course Packages
summary: Delete course package
operationId: deletePackage
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Teacher - Task
summary: Create task
operationId: createTask
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Teacher - Lesson
summary: Create lesson
operationId: createLesson
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LessonCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Teacher - Growth Record
summary: Create growth record
operationId: createGrowthRecord
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GrowthRecordCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultTeacher'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Teacher
summary: Create teacher
operationId: createTeacher
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TeacherCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTeacher'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Task
summary: Create task
operationId: createTask_1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultStudent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Student
summary: Create student
operationId: createStudent
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StudentCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultStudent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultSchoolCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - School Courses
summary: Create school course
operationId: createCourse
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SchoolCourse'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchoolCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultSchedulePlan'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Schedule
summary: Create schedule plan
operationId: createSchedulePlan
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SchedulePlan'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchedulePlan'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultScheduleTemplate'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Schedule
summary: Create schedule template
operationId: createScheduleTemplate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleTemplate'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultScheduleTemplate'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultParent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Parent
summary: Create parent
operationId: createParent
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ParentCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultParent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Growth Record
summary: Create growth record
operationId: createGrowthRecord_1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GrowthRecordCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultClazz'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- School - Class
summary: Create class
operationId: createClass
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ClassCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultClazz'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringString'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/auth/logout:
post:
tags:
- Auth
summary: User logout
operationId: logout
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultLoginResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListTheme'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Admin - Themes
summary: Create theme
operationId: createTheme
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Theme'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTheme'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultTenant'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Admin - Tenant
summary: Create tenant
operationId: createTenant
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TenantCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTenant'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringString'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListResourceLibrary'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Admin - Resources
summary: Create resource library
operationId: createLibrary
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceLibrary'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultResourceLibrary'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultResourceItem'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Admin - Resources
summary: Create resource item
operationId: createItem
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceItem'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultResourceItem'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Admin - Course
summary: Create system course
operationId: createCourse_1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CourseCreateRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListCourseLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourseLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultCoursePackage'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
post:
tags:
- Admin - Course Packages
summary: Create course package
operationId: createPackage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CoursePackage'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCoursePackage'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultSchoolCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchoolCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultSchedulePlan'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultSchedulePlan'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultNotification'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultNotification'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/teacher/notifications/unread-count:
get:
tags:
- Teacher - Notification
summary: Get unread count
operationId: getUnreadCount
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultLong'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/teacher/lessons/today:
get:
tags:
- Teacher - Lesson
summary: Get today's lessons
operationId: getTodayLessons
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/teacher/dashboard:
get:
tags:
- Teacher - Dashboard
summary: Get teacher dashboard overview
operationId: getDashboard
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/teacher/dashboard/weekly:
get:
tags:
- Teacher - Dashboard
summary: Get weekly lessons
operationId: getWeeklyLessons
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/teacher/dashboard/today:
get:
tags:
- Teacher - Dashboard
summary: Get today's lessons
operationId: getTodayLessons_1
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListCourseLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCourseLesson'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/teacher/courses/all:
get:
tags:
- Teacher - Course
summary: Get all courses
operationId: getAllCourses
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListCourse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/school/stats:
get:
tags:
- School - Stats
summary: Get school statistics
operationId: getStats
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultOperationLog'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/school/export/teachers:
get:
tags:
- School - Export
summary: Export teachers to Excel
operationId: exportTeachers
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
type: string
format: byte
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/school/export/students:
get:
tags:
- School - Export
summary: Export students to Excel
operationId: exportStudents
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
type: string
format: byte
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/school/export/lessons:
get:
tags:
- School - Export
summary: Export lessons to Excel
operationId: exportLessons
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
type: string
format: byte
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/school/export/growth-records:
get:
tags:
- School - Export
summary: Export growth records to Excel
operationId: exportGrowthRecords
responses:
'200':
description: OK
content:
'*/*':
schema:
type: array
items:
type: string
format: byte
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultCoursePackage'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultCoursePackage'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultTask'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultNotification'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultNotification'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/parent/notifications/unread-count:
get:
tags:
- Parent - Notification
summary: Get unread count
operationId: getUnreadCount_1
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultLong'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListGrowthRecord'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/parent/children:
get:
tags:
- Parent - Child
summary: Get my children
operationId: getMyChildren
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListStudent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultStudent'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/auth/me:
get:
tags:
- Auth
summary: Get current user info
operationId: getCurrentUser
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultUserInfoResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/admin/tenants/active:
get:
tags:
- Admin - Tenant
summary: Get all active tenants
operationId: getAllActiveTenants
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListTenantResponse'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/admin/stats:
get:
tags:
- Admin - Stats
summary: Get overall statistics
operationId: getStats_1
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/api/v1/admin/stats/trend:
get:
tags:
- Admin - Stats
summary: Get trend data (last 6 months)
operationId: getTrendData
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultListMapStringObject'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultPageResultOperationLog'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
/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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'400':
description: Bad Request
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'401':
description: Unauthorized
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'403':
description: Forbidden
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'404':
description: Not Found
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'405':
description: Method Not Allowed
content:
'*/*':
schema:
$ref: '#/components/schemas/ResultVoid'
'500':
description: Internal Server Error
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: []