Compare commits
	
		
			6 Commits
		
	
	
		
			c2b6ad0693
			...
			9e299b39bd
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 9e299b39bd | |||
| ffc8682453 | |||
| 93ec63beae | |||
| 87d00943c0 | |||
| b2db8eec16 | |||
| b00ab09079 | 
@ -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
 | 
				
			||||||
 | 
					              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:
 | 
					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")
 | 
				
			||||||
 | 
					        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 
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user