GestionHoraire #6

Merged
Wal merged 5 commits from GestionHoraire into master 2023-12-13 15:00:49 +01:00

View File

@ -241,7 +241,6 @@ paths:
faculty: faculty:
type: string type: string
teachers: teachers:
type: object
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
assistants: assistants:
type: array type: array
@ -345,7 +344,6 @@ paths:
faculty: faculty:
type: string type: string
teachers: teachers:
type: object
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
assistants: assistants:
type: array type: array
@ -365,6 +363,247 @@ paths:
'401': '401':
$ref: '#/components/responses/UnauthorizedError' $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
Wal marked this conversation as resolved
Review

Pour l'instant pour que ça fasse plus bô j'ai mis tout les tags en commençant avec une majuscule. c'est mineur mais ça serait cool ^^

Pour l'instant pour que ça fasse plus bô j'ai mis tout les tags en commençant avec une majuscule. c'est mineur mais ça serait cool ^^
properties:
date:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
CourseId:
type: integer
duration:
type: number
classroom:
type: string
responses:
'201':
tonitch marked this conversation as resolved
Review

Tu ne précises pas qui donne le cours, jsp si c'est un problème mais du coup il y a plusieurs personnes qui peuvent le donner comme prof référant ou assistant.

Tu ne précises pas qui donne le cours, jsp si c'est un problème mais du coup il y a plusieurs personnes qui peuvent le donner comme prof référant ou assistant.
Review

Vu qu'il stock IDcourse (que j'aurais personellement nommé CourseID) l'enseignant est sensé être dedans non ?

Vu qu'il stock IDcourse (que j'aurais personellement nommé CourseID) l'enseignant est sensé être dedans non ?
Review

alors oui le courseId donne accès à un array de profs mais du coup on sait pas spécifier lequel donne le cours dans son implémentation

alors oui le courseId donne accès à un array de profs mais du coup on sait pas spécifier lequel donne le cours dans son implémentation
Review

Jcomptais mettre les teachers quand cetait theorique et examen et les assistants quand c'est tp mais apres jpeux spécifier meme si sur l'hyperplannng et tout il y a la liste des profs qui peuvent donner cours

Jcomptais mettre les teachers quand cetait theorique et examen et les assistants quand c'est tp mais apres jpeux spécifier meme si sur l'hyperplannng et tout il y a la liste des profs qui peuvent donner cours
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:
Wal marked this conversation as resolved
Review

Du coup, est-ce qu'il y aurrait pas moyen qu'un professeur demande de mettre à l'horaire que finalement ça sera son assistant qui donnera le cours ? (c'est des détails en vrai mais autant y réfléchir un peu)

Du coup, est-ce qu'il y aurrait pas moyen qu'un professeur demande de mettre à l'horaire que finalement ça sera son assistant qui donnera le cours ? (c'est des détails en vrai mais autant y réfléchir un peu)
Review

Imo ca devient trop spécifique et les assistants peuvent donner que les tps selon moi et au pire le prof peut demander. et ca peux meme aller dans la gestion de cours qui est pas mon dos comme cest une autre extension perso

Imo ca devient trop spécifique et les assistants peuvent donner que les tps selon moi et au pire le prof peut demander. et ca peux meme aller dans la gestion de cours qui est pas mon dos comme cest une autre extension perso
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:
Wal marked this conversation as resolved
Review

faut juste voir avec @LeoMoulin que ces endpoints ne soient pas en conflits ?

faut juste voir avec @LeoMoulin que ces endpoints ne soient pas en conflits ?
application/x-www-form-urlencoded:
schema:
type: object
properties:
requestType:
Wal marked this conversation as resolved
Review

tu as laissé request ici peut-être le changer en ScheduleRequest ?

tu as laissé request ici peut-être le changer en ScheduleRequest ?
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
Wal marked this conversation as resolved
Review

Je ne pense pas que tu puisse changer l'id d'un request.

Je ne pense pas que tu puisse changer l'id d'un request.
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:
Wal marked this conversation as resolved
Review

summary permet une courte description. il y'a également le tag description qui peut être pratique pour une plus grande description.

Dans ce cas ci ça pourrais peut être être utile ? display peut être ambigu ?

summary permet une courte description. il y'a également le tag `description` qui peut être pratique pour une plus grande description. Dans ce cas ci ça pourrais peut être être utile ? display peut être ambigu ?
- Display
- Ext (Schedule)
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
timeMode:
type: string
Wal marked this conversation as resolved
Review

l'id ne pourrais pas

l'id ne pourrais pas
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
Wal marked this conversation as resolved
Review

l'id ne pourrais pas être changé ici non plus.

l'id ne pourrais pas être changé ici non plus.
responses:
'201':
description: Display modified
components: components:
securitySchemes: securitySchemes:
@ -459,6 +698,78 @@ components:
"id": 42, "id": 42,
"courses": ['Math', 'Info'] "courses": ['Math', 'Info']
} }
Lesson :
type: object
properties:
id:
type: integer
date:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
Wal marked this conversation as resolved
Review

C'est sympa de faire des schema pour avoir une bonne description mais il ne sont jamais utilisé. pour les utiliser tu peux faire
$ref: <path/to/source>

par example pour utiliser Lesson tu peux faire $ref: '#/components/schemas/Lesson qui va être remplacé par tout ce qui est dans ce tag ci!

C'est sympa de faire des schema pour avoir une bonne description mais il ne sont jamais utilisé. pour les utiliser tu peux faire `$ref: <path/to/source>` par example pour utiliser Lesson tu peux faire `$ref: '#/components/schemas/Lesson` qui va être remplacé par tout ce qui est dans ce tag ci!
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: responses:
UnauthorizedError: UnauthorizedError:
description: Unauthorized access or missing bearer description: Unauthorized access or missing bearer