Merge branch 'master' into api-user-role
This commit is contained in:
		| @ -56,7 +56,7 @@ paths: | ||||
|         - Users | ||||
|       security: | ||||
|         - bearer: [] | ||||
|       responses: | ||||
|       responses:  | ||||
|         '200': | ||||
|           description: Ok | ||||
|           content: | ||||
| @ -124,12 +124,11 @@ paths: | ||||
|           description: Successfully changed.  | ||||
|         '401': | ||||
|           $ref: '#/components/responses/UnauthorizedError' | ||||
|  | ||||
|   /user/{mat}: | ||||
|   /user/{RegNo}: | ||||
|     parameters: | ||||
|       - name: mat | ||||
|       - name: RegNo | ||||
|         in: path | ||||
|         description: Matricule of the user (unique id) | ||||
|         description: Regestration number of the user (unique id) | ||||
|         required: true | ||||
|         schema: | ||||
|           type: integer | ||||
| @ -150,6 +149,8 @@ paths: | ||||
|       tags: | ||||
|         - General | ||||
|         - Admin | ||||
|         - Secretariat | ||||
|         - Ext (scientific articles) | ||||
|       security: | ||||
|         - bearer: [] | ||||
|       requestBody: | ||||
| @ -191,6 +192,12 @@ paths: | ||||
|         '401': | ||||
|           $ref: '#/components/responses/UnauthorizedError' | ||||
|   /courses/{id}: | ||||
|     parameters: | ||||
|       - name: id | ||||
|         in: path | ||||
|         required: true | ||||
|         schema: | ||||
|           type: integer | ||||
|     get: | ||||
|       summary: see courses informations  | ||||
|       tags: | ||||
| @ -203,12 +210,7 @@ paths: | ||||
|             application/json: | ||||
|               schema: | ||||
|                 $ref: '#/components/schemas/Course' | ||||
|     parameters: | ||||
|       - name: id | ||||
|         in: path | ||||
|         required: true | ||||
|         schema: | ||||
|           type: integer | ||||
|  | ||||
|     delete: | ||||
|       summary: delete a course  | ||||
|       tags: | ||||
| @ -244,8 +246,8 @@ paths: | ||||
|                 faculty: | ||||
|                   type: string | ||||
|                 teachers: | ||||
|                   type: object | ||||
|                   $ref: '#/components/schemas/User' | ||||
|                   type: integer | ||||
|                   description: Teacher's identifier | ||||
|                 assistants: | ||||
|                   type: array | ||||
|                   items: | ||||
| @ -269,7 +271,7 @@ paths: | ||||
|       summary: Create a cursus | ||||
|       tags: | ||||
|         - General | ||||
|         - cursus | ||||
|         - Cursus | ||||
|       security:  | ||||
|         - bearer: [] | ||||
|       requestBody: | ||||
| @ -301,7 +303,7 @@ paths: | ||||
|       summary: See Cursus's informations  | ||||
|       tags: | ||||
|         - General | ||||
|         - cursus | ||||
|         - Cursus | ||||
|       responses: | ||||
|         '200': | ||||
|           description: OK | ||||
| @ -319,7 +321,7 @@ paths: | ||||
|       summary: Delete cursus | ||||
|       tags: | ||||
|         - General | ||||
|         - cursus | ||||
|         - Cursus | ||||
|       security:  | ||||
|         - bearer: [] | ||||
|       responses: | ||||
| @ -331,7 +333,7 @@ paths: | ||||
|       summary: Modify cursus  | ||||
|       tags: | ||||
|         - General | ||||
|         - cursus | ||||
|         - Cursus | ||||
|       security: | ||||
|         - bearer: [] | ||||
|       requestBody: | ||||
| @ -348,7 +350,6 @@ paths: | ||||
|                 faculty: | ||||
|                   type: string | ||||
|                 teachers: | ||||
|                   type: object | ||||
|                   $ref: '#/components/schemas/User' | ||||
|                 assistants: | ||||
|                   type: array | ||||
| @ -368,7 +369,416 @@ 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 | ||||
|  # Extension publication scientifique  | ||||
|  | ||||
|   /article: | ||||
|     post: | ||||
|       summary: create an article | ||||
|       tags: | ||||
|         - Ext (scientific articles) | ||||
|         - Researcher | ||||
|       security: | ||||
|         - bearer : [] | ||||
|       responses: | ||||
|         "201" :  | ||||
|           description: OK | ||||
|         '401': | ||||
|           $ref: '#/components/responses/UnauthorizedError' | ||||
|       requestBody: | ||||
|         required : true | ||||
|         content:  | ||||
|           application/json: | ||||
|             schema: | ||||
|               type: object | ||||
|               properties: | ||||
|                 pdf: | ||||
|                   type: string  | ||||
|                   description : the B64 version encoding of the pdf file | ||||
|                 access: | ||||
|                   type: string | ||||
|                 summary: | ||||
|                   type: string | ||||
|                 language: | ||||
|                   type: string | ||||
|                 title: | ||||
|                   type: string | ||||
|                 date: | ||||
|                   type: string | ||||
|                   description: Follow the iso 8601 ("YYYY-MM-DD") | ||||
|                 views: | ||||
|                   type: integer  | ||||
|             example: | ||||
|                     { | ||||
|         "access": "private", | ||||
|         "pdf": " *the b64 encoding of the pdf* ", | ||||
|         "summary": "looks in details about graph's second theorem", | ||||
|         "language": "english", | ||||
|         "title": "graph's second theorem study", | ||||
|         "date":"2023-02-01", | ||||
|         "views": 420, | ||||
|         "authors" : [] | ||||
|         } | ||||
|   /article/{id}: | ||||
|     parameters: | ||||
|       - name: id | ||||
|         in: path | ||||
|         required: true | ||||
|         schema: | ||||
|           type: integer | ||||
|     get: | ||||
|       summary: get a certain article | ||||
|       tags: | ||||
|         - Users | ||||
|         - Ext (scientific articles) | ||||
|       security: | ||||
|         - bearer: [] | ||||
|       responses: | ||||
|         "201":  | ||||
|           description: OK | ||||
|           content:   | ||||
|             application/json: | ||||
|                 schema: | ||||
|                   $ref: '#/components/schemas/Article' | ||||
|         '401': | ||||
|           $ref: '#/components/responses/UnauthorizedError' | ||||
|            | ||||
|     patch: | ||||
|       summary: modify an article | ||||
|       tags: | ||||
|         - Researcher | ||||
|         - Ext (scientific articles) | ||||
|       security: | ||||
|         - bearer : [] | ||||
|       responses: | ||||
|         "201":  | ||||
|           description: article modifié | ||||
|         '401': | ||||
|           $ref: '#/components/responses/UnauthorizedError' | ||||
|       requestBody: | ||||
|         required : true | ||||
|         content:  | ||||
|           application/json: | ||||
|             schema: | ||||
|               type: object | ||||
|               properties: | ||||
|                 pdf: | ||||
|                   type: string  | ||||
|                   description : the B64 version encoding of the pdf file | ||||
|                 access: | ||||
|                   type: string | ||||
|                 summary: | ||||
|                   type: string | ||||
|                 language: | ||||
|                   type: string | ||||
|                 title: | ||||
|                   type: string | ||||
|                 date: | ||||
|                   type: string | ||||
|                   description: Follow the iso 8601 ("YYYY-MM-DD") | ||||
|                 views: | ||||
|                   type: integer | ||||
|               example: | ||||
|                                   { | ||||
|         "access": "public", | ||||
|         "pdf": " *the new b64 encoding of the pdf* ", | ||||
|         "summary": "looks in details about the duck's algorithm problem", | ||||
|         "language": "english", | ||||
|         "title": "duck's algorithm problem solving", | ||||
|         "date":"2023-02-01", | ||||
|         "views": 10, | ||||
|         "authors" : [] | ||||
|         } | ||||
|                | ||||
|  | ||||
|     delete: | ||||
|       summary: delete own article | ||||
|       tags: | ||||
|         - Researcher | ||||
|         - Ext (scientific articles) | ||||
|       security:  | ||||
|         - bearer: [] | ||||
|       responses: | ||||
|         '201': | ||||
|           description: OK | ||||
|         '401': | ||||
|           $ref: '#/components/responses/UnauthorizedError' | ||||
|        | ||||
|   /DisplayArticle: | ||||
|       parameters: | ||||
|         - in: query | ||||
|           name: author | ||||
|           required: false  | ||||
|           schema: | ||||
|             type: string | ||||
|         - in: query | ||||
|           name: access | ||||
|           required: false  | ||||
|           schema: | ||||
|             type: string | ||||
|             enum: [public, restricted, private] | ||||
|         - in: query | ||||
|           name: name | ||||
|           required: false  | ||||
|           schema: | ||||
|             type: string | ||||
|              | ||||
|       get: | ||||
|         summary: get a list of article's data | ||||
|         tags: | ||||
|           - Users | ||||
|           - Ext (scientific articles) | ||||
|         responses:  | ||||
|           '200': | ||||
|             description: OK | ||||
|             content:  | ||||
|               application/json: | ||||
|                 schema: | ||||
|                   type: array | ||||
|                   items: | ||||
|                     $ref: "#/components/schemas/DisplayArticle" | ||||
|  | ||||
| components: | ||||
|   securitySchemes: | ||||
|     bearer: | ||||
| @ -467,7 +877,142 @@ components: | ||||
|     Roles: | ||||
|       type: string | ||||
|       enum: [teacher, student, secretary] | ||||
|  | ||||
|     Article: | ||||
|       type: object | ||||
|       properties: | ||||
|         articleId:  | ||||
|           type: integer | ||||
|         access : | ||||
|           type : string | ||||
|         pdf : | ||||
|           type : string | ||||
|           description : file location | ||||
|         summary: | ||||
|           type : string | ||||
|         language: | ||||
|           type : string | ||||
|         title : | ||||
|           type : string  | ||||
|         date:  | ||||
|           type : string | ||||
|         views : | ||||
|           type : integer | ||||
|         authors: | ||||
|           type: array | ||||
|           items: | ||||
|             $ref: '#/components/schemas/User' | ||||
|           description: first user is the author, the remaining users are co-authors | ||||
|       example: | ||||
|         { | ||||
|         "articleId": 42, | ||||
|         "access": "private", | ||||
|         "pdf": "/articles/42", | ||||
|         "summary": "looks in details about graph's second theorem", | ||||
|         "language": "english", | ||||
|         "title": "graph's second theorem study", | ||||
|         "date":"2023-02-01", | ||||
|         "views": 420, | ||||
|         "authors" : [] | ||||
|         } | ||||
|     DisplayArticle:    | ||||
|       type: object | ||||
|       properties: | ||||
|         articleId:  | ||||
|           type: integer | ||||
|         access: | ||||
|           type: string | ||||
|         summary: | ||||
|           type: string | ||||
|         title: | ||||
|           type: string  | ||||
|         author: | ||||
|           type: string | ||||
|           items: | ||||
|             $ref: '#/components/schemas/User' | ||||
|       example: | ||||
|         { | ||||
|         "articleId": 42, | ||||
|         "access": "private", | ||||
|         "summary": "looks in details about graph's second theorem", | ||||
|         "title": "graph's second theorem study", | ||||
|         "author" : "john doe" | ||||
|         } | ||||
|     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  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user