Merge pull request 'GestionHoraire' (#6) from GestionHoraire into master
Reviewed-on: PGL/Clyde#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:
		@ -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 
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user