- api-spec.json → api-spec.yml(内容相同,YAML 更易读) - api:fetch 脚本自动转换 JSON→YAML 后删除 json 临时文件 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
12147 lines
309 KiB
YAML
12147 lines
309 KiB
YAML
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: []
|