Merge pull request 'GestionHoraire' (#6) from GestionHoraire into master

Reviewed-on: #6
Reviewed-by: LeoMoulin <leomoulin125@gmail.com>
Reviewed-by: Debucquoy Anthony <d.tonitch@gmail.com>
Reviewed-by: Maxime <231026@umons.ac.be>
This commit is contained in:
Wal 2023-12-13 15:00:48 +01:00
commit 9e299b39bd

View File

@ -57,7 +57,7 @@ paths:
- Users
security:
- bearer: []
responses:
responses:
'200':
description: Ok
content:
@ -241,7 +241,6 @@ paths:
faculty:
type: string
teachers:
type: object
$ref: '#/components/schemas/User'
assistants:
type: array
@ -345,7 +344,6 @@ paths:
faculty:
type: string
teachers:
type: object
$ref: '#/components/schemas/User'
assistants:
type: array
@ -365,6 +363,247 @@ paths:
'401':
$ref: '#/components/responses/UnauthorizedError'
/lesson:
post:
summary: Create a new lesson
tags:
- Secretariat
- Lesson
- Ext (Schedule)
security:
- bearer: []
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
date:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
CourseId:
type: integer
duration:
type: number
classroom:
type: string
responses:
'201':
description: Lesson created
'401':
$ref: '#/components/responses/UnauthorizedError'
/lesson/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: integer
get:
summary : See lesson's informations
tags:
- Users
- Lesson
- Ext (Schedule)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Lesson'
patch:
summary : Modify Lesson
tags:
- Secretariat
- Lesson
- Ext (Schedule)
security:
- bearer: []
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
date:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
IDcourse:
type: integer
duration:
type: number
classroom:
type: string
responses:
'201':
description: Lesson modified
'401':
$ref: '#/components/responses/UnauthorizedError'
delete:
summary: Delete lesson
tags:
- Lesson
- Secretariat
- Ext (Schedule)
security:
- bearer: []
responses:
'201':
description: Success
'401':
$ref: '#/components/responses/UnauthorizedError'
/scheduleRequest:
post:
summary: Create a new request
tags:
- Teacher
- ScheduleRequest
- Ext (Schedule)
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
requestType:
type: string
lessonId:
type: integer
newDate:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
newClassroom:
type: string
newCourseId:
type: integer
responses:
'201':
description: Request created
'401':
$ref: '#/components/responses/UnauthorizedError'
/scheduleRequest/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: integer
get:
summary : See request information
tags:
- Teacher
- Secretariat
- ScheduleRequest
- Ext (Schedule)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleRequest'
patch:
summary : Modify request
tags:
- Teacher
- ScheduleRequest
- Ext (Schedule)
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
newDate:
type: string
newClassroom:
type: string
newCourseId:
type: integer
responses:
'201':
description: Request modified
delete:
summary: Delete request
tags:
- Teacher
- Secretariat
- ScheduleRequest
- Ext (Schedule)
responses:
'201':
description: Success
/display:
post:
summary: Create a new display
tags:
- Display
- Ext (Schedule)
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
timeMode:
type: string
displayMode:
type: string
userId:
type: integer
responses:
'201':
description: display created
/display/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: integer
get:
summary : See display information
tags:
- Users
- Display
- Ext (Schedule)
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Display'
patch:
summary : Modify display
tags:
- Users
- Display
- Ext (Schedule)
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
timeMode:
type: string
displayMode:
type: string
responses:
'201':
description: Display modified
components:
securitySchemes:
@ -459,6 +698,78 @@ components:
"id": 42,
"courses": ['Math', 'Info']
}
Lesson :
type: object
properties:
id:
type: integer
date:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
duration:
type: number
description: duration of a course in hours
classroom:
type: string
courseId:
type: integer
example:
{
"id": 12,
"date": "2023-12-01",
"duration": 1.5,
"classroom": "AMPHI01",
"courseId": 12
}
ScheduleRequest:
type: object
properties:
id:
type: integer
requestType:
type: string
lessonId:
type: integer
teacherId:
type: integer
newDate:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
newClassroom:
type: string
newCourseId:
type: integer
example:
{
"id": 12,
"requestType": "moveLesson",
"lessonId": 52,
"teacherId": 12,
"newDate": "2023-12-20",
"newClassroom":,
"newCourseId":,
}
Display:
type: object
properties:
id:
type: integer
timeMode:
type: string
description: Define the period displayed on the schedule (week,month,quadrimester..)
displayMode:
type: string
userId:
type: integer
description: Id of the user who owns this display
example:
{
"id": 12,
"timeMode": "month",
"displayMode": "grid",
"UserId": 12
}
responses:
UnauthorizedError:
description: Unauthorized access or missing bearer