Gestion Horaire osamerilyabcp
This commit is contained in:
		@ -11,39 +11,108 @@ servers:
 | 
			
		||||
paths:
 | 
			
		||||
  /ping:
 | 
			
		||||
    get:
 | 
			
		||||
      summary: Test if the api is up.
 | 
			
		||||
      summary: Check the API status 
 | 
			
		||||
      responses:
 | 
			
		||||
        default:
 | 
			
		||||
          description: Standard response to ping
 | 
			
		||||
          description: pong 
 | 
			
		||||
          content:
 | 
			
		||||
            text/plain:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: string
 | 
			
		||||
                example: pong
 | 
			
		||||
  /user:
 | 
			
		||||
    put:
 | 
			
		||||
      summary: create a new user
 | 
			
		||||
  /users:
 | 
			
		||||
    get:
 | 
			
		||||
      summary: list all users 
 | 
			
		||||
      tags:
 | 
			
		||||
        - users
 | 
			
		||||
        - SI
 | 
			
		||||
      security:
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      responses:
 | 
			
		||||
      parameters:
 | 
			
		||||
        - in: query
 | 
			
		||||
          name: type
 | 
			
		||||
          required: false 
 | 
			
		||||
          schema:
 | 
			
		||||
            type: string
 | 
			
		||||
            enum: [teacher, student, secretary]
 | 
			
		||||
      responses: 
 | 
			
		||||
        '200':
 | 
			
		||||
          description: User created
 | 
			
		||||
          description: OK
 | 
			
		||||
          content: 
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: array
 | 
			
		||||
                items:
 | 
			
		||||
                  $ref: "#/components/schemas/User"
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
  /user/{mat}:
 | 
			
		||||
  
 | 
			
		||||
  /user:
 | 
			
		||||
    get:
 | 
			
		||||
      summary: get user's info
 | 
			
		||||
      summary: get informations about yourself 
 | 
			
		||||
      tags:
 | 
			
		||||
        - users
 | 
			
		||||
        - Users
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: User found 
 | 
			
		||||
          description: Ok
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: "#/components/schemas/User"
 | 
			
		||||
    post:
 | 
			
		||||
      summary: Create user
 | 
			
		||||
      tags:
 | 
			
		||||
        - Users
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object 
 | 
			
		||||
              properties:
 | 
			
		||||
                LastName: 
 | 
			
		||||
                  type: string
 | 
			
		||||
                FirstName:
 | 
			
		||||
                  type: string
 | 
			
		||||
                Email:
 | 
			
		||||
                  type: string
 | 
			
		||||
                Address:
 | 
			
		||||
                  $ref: "#/components/schemas/Address"
 | 
			
		||||
                BirthDate:
 | 
			
		||||
                  type: string
 | 
			
		||||
                  description: Follow the iso 8601 ("YYYY-MM-DD")
 | 
			
		||||
              example:
 | 
			
		||||
                {
 | 
			
		||||
                "LastName": "Doe" ,
 | 
			
		||||
                "FirstName": "John",
 | 
			
		||||
                "Email": "John.Doe@example.com",
 | 
			
		||||
                "Address": {
 | 
			
		||||
                  "Address": "Rue de Tournais 42",
 | 
			
		||||
                  "Country": "BE"},
 | 
			
		||||
                "BirthDate": "1941-02-22",
 | 
			
		||||
                }
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: User created
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
    patch:
 | 
			
		||||
      summary: Change informations about yourself 
 | 
			
		||||
      tags:
 | 
			
		||||
        - Users
 | 
			
		||||
      security:
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Successfully changed. 
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
  /user/{mat}:
 | 
			
		||||
    parameters:
 | 
			
		||||
      - name: mat
 | 
			
		||||
        in: path
 | 
			
		||||
@ -51,42 +120,459 @@ paths:
 | 
			
		||||
        required: true
 | 
			
		||||
        schema:
 | 
			
		||||
          type: integer
 | 
			
		||||
 | 
			
		||||
  /cursus/{id}:
 | 
			
		||||
    get:
 | 
			
		||||
      summary: Voir les informations sur un Cursus
 | 
			
		||||
      summary: Get user's informations 
 | 
			
		||||
      tags:
 | 
			
		||||
        - Admin
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: User found 
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: "#/components/schemas/User"
 | 
			
		||||
    patch:
 | 
			
		||||
      summary: Alter user's informations 
 | 
			
		||||
      tags:
 | 
			
		||||
        - Admin
 | 
			
		||||
      security:
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              $ref: '#/components/schemas/User'
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Successfully changed
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
  /course:
 | 
			
		||||
    post:
 | 
			
		||||
      summary: Create new course 
 | 
			
		||||
      tags:
 | 
			
		||||
        - Courses
 | 
			
		||||
        - Secretariat
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                name:
 | 
			
		||||
                  type: string
 | 
			
		||||
                courses:
 | 
			
		||||
                  type: array
 | 
			
		||||
                  items:
 | 
			
		||||
                    type: string
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: course created 
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
  /courses/{id}:
 | 
			
		||||
    get:
 | 
			
		||||
      summary: see courses informations 
 | 
			
		||||
      tags:
 | 
			
		||||
        - Courses
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: Cursus found
 | 
			
		||||
          description: OK
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Course'
 | 
			
		||||
    parameters:
 | 
			
		||||
      - name: id
 | 
			
		||||
        in: path
 | 
			
		||||
        required: true
 | 
			
		||||
        schema:
 | 
			
		||||
          type: integer
 | 
			
		||||
    delete:
 | 
			
		||||
      summary: delete a course 
 | 
			
		||||
      tags:
 | 
			
		||||
        - Courses
 | 
			
		||||
        - Secretariat
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Success
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
    patch:
 | 
			
		||||
      summary: Change course options 
 | 
			
		||||
      tags:
 | 
			
		||||
        - Secretariat
 | 
			
		||||
        - Courses
 | 
			
		||||
      security:
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                name:
 | 
			
		||||
                  type: string
 | 
			
		||||
                credits:
 | 
			
		||||
                  type: integer
 | 
			
		||||
                faculty:
 | 
			
		||||
                  type: string
 | 
			
		||||
                teachers:
 | 
			
		||||
                  type: object
 | 
			
		||||
                  $ref: '#/components/schemas/User'
 | 
			
		||||
                assistants:
 | 
			
		||||
                  type: array
 | 
			
		||||
                  items:
 | 
			
		||||
                    $ref: '#/components/schemas/User'
 | 
			
		||||
              example:
 | 
			
		||||
                {
 | 
			
		||||
                "name": "Math pour l'info",
 | 
			
		||||
                "credits": 11,
 | 
			
		||||
                "faculty": "science",
 | 
			
		||||
                "Teacher": ,
 | 
			
		||||
                "Assistants": [ ]
 | 
			
		||||
                }
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Course modified
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
          
 | 
			
		||||
  /cursus:
 | 
			
		||||
    post:
 | 
			
		||||
      summary: Create a cursus
 | 
			
		||||
      tags:
 | 
			
		||||
        - cursus
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                name:
 | 
			
		||||
                  type: string
 | 
			
		||||
                courses: 
 | 
			
		||||
                  type: array 
 | 
			
		||||
                  items:
 | 
			
		||||
                    type: integer
 | 
			
		||||
                    description: id of courses
 | 
			
		||||
              example:
 | 
			
		||||
                {
 | 
			
		||||
                "name": "Bac1",
 | 
			
		||||
                []
 | 
			
		||||
                }
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Cursus created 
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
  /cursus/{id}:
 | 
			
		||||
    get:
 | 
			
		||||
      summary: See Cursus's informations 
 | 
			
		||||
      tags:
 | 
			
		||||
        - cursus
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OK
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Cursus'
 | 
			
		||||
  /courses/{id}:
 | 
			
		||||
    get:
 | 
			
		||||
      summary: Voir les informations sur un cours*
 | 
			
		||||
      tags:
 | 
			
		||||
        - Courses
 | 
			
		||||
      responses:
 | 
			
		||||
    
 | 
			
		||||
    put:
 | 
			
		||||
      summary: Créer un nouveau cours
 | 
			
		||||
      tags:
 | 
			
		||||
        - Courses
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      responses:
 | 
			
		||||
 | 
			
		||||
    parameters:
 | 
			
		||||
      - name: id
 | 
			
		||||
        in: path
 | 
			
		||||
        required: true
 | 
			
		||||
        schema:
 | 
			
		||||
          type: integer
 | 
			
		||||
    delete:
 | 
			
		||||
      summary: Suprimer un cours
 | 
			
		||||
      summary: Delete cursus
 | 
			
		||||
      tags:
 | 
			
		||||
        - Courses
 | 
			
		||||
        - cursus
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      responses:
 | 
			
		||||
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Success
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
    patch:
 | 
			
		||||
      summary: Modify cursus 
 | 
			
		||||
      tags:
 | 
			
		||||
        - cursus
 | 
			
		||||
      security:
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                name:
 | 
			
		||||
                  type: string
 | 
			
		||||
                credits:
 | 
			
		||||
                  type: integer
 | 
			
		||||
                faculty:
 | 
			
		||||
                  type: string
 | 
			
		||||
                teachers:
 | 
			
		||||
                  type: object
 | 
			
		||||
                  $ref: '#/components/schemas/User'
 | 
			
		||||
                assistants:
 | 
			
		||||
                  type: array
 | 
			
		||||
                  items:
 | 
			
		||||
                    $ref: '#/components/schemas/User'
 | 
			
		||||
              example:
 | 
			
		||||
                {
 | 
			
		||||
                "name": "Math pour l'info",
 | 
			
		||||
                "credits": 11,
 | 
			
		||||
                "faculty": "science",
 | 
			
		||||
                "Teacher": ,
 | 
			
		||||
                "Assistants": [ ]
 | 
			
		||||
                }
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Cursus modified 
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
          
 | 
			
		||||
  /lesson:
 | 
			
		||||
    post:
 | 
			
		||||
      summary: Create a new lesson
 | 
			
		||||
      tags:
 | 
			
		||||
        - Secretariat
 | 
			
		||||
        - lesson
 | 
			
		||||
      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 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
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OK
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Lesson'
 | 
			
		||||
    patch:
 | 
			
		||||
      summary : Modify Lesson
 | 
			
		||||
      tags:
 | 
			
		||||
        - Secretariat
 | 
			
		||||
        - lesson
 | 
			
		||||
      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
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Success
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
  /request:
 | 
			
		||||
    post:
 | 
			
		||||
      summary: Create a new request
 | 
			
		||||
      tags:
 | 
			
		||||
        - Teacher
 | 
			
		||||
        - request
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
            schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                id:
 | 
			
		||||
                  type: integer
 | 
			
		||||
                requestType:
 | 
			
		||||
                  type: string
 | 
			
		||||
                lessonId:
 | 
			
		||||
                  type: integer
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Request created 
 | 
			
		||||
  /request/{id}:
 | 
			
		||||
    parameters:
 | 
			
		||||
      - name: id
 | 
			
		||||
        in: path
 | 
			
		||||
        required: true
 | 
			
		||||
        schema:
 | 
			
		||||
          type: integer
 | 
			
		||||
    get:
 | 
			
		||||
      summary : See request information
 | 
			
		||||
      tags:
 | 
			
		||||
        - Teacher
 | 
			
		||||
        - Secretariat
 | 
			
		||||
        - request
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OK
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Request'
 | 
			
		||||
    patch:
 | 
			
		||||
      summary : Modify request
 | 
			
		||||
      tags:
 | 
			
		||||
        - Teacher
 | 
			
		||||
        - request
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
             schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                id:
 | 
			
		||||
                  type: integer
 | 
			
		||||
                requestType:
 | 
			
		||||
                  type: string
 | 
			
		||||
                lessonId:
 | 
			
		||||
                  type: integer
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Request modified
 | 
			
		||||
    delete:
 | 
			
		||||
      summary: Delete request
 | 
			
		||||
      tags:
 | 
			
		||||
        - Teacher
 | 
			
		||||
        - Secretariat
 | 
			
		||||
        - request
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Success
 | 
			
		||||
  
 | 
			
		||||
  /display:
 | 
			
		||||
    post:
 | 
			
		||||
        summary: Create a new display
 | 
			
		||||
        tags:
 | 
			
		||||
          - display
 | 
			
		||||
        requestBody:
 | 
			
		||||
          required: true
 | 
			
		||||
          content:
 | 
			
		||||
            application/x-www-form-urlencoded:
 | 
			
		||||
              schema:
 | 
			
		||||
                type: object
 | 
			
		||||
                properties:
 | 
			
		||||
                  id:
 | 
			
		||||
                   type: integer
 | 
			
		||||
                  time:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  display:
 | 
			
		||||
                    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
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OK
 | 
			
		||||
          content:
 | 
			
		||||
            application/json:
 | 
			
		||||
              schema:
 | 
			
		||||
                $ref: '#/components/schemas/Display'
 | 
			
		||||
    patch:
 | 
			
		||||
      summary : Modify display
 | 
			
		||||
      tags:
 | 
			
		||||
        - Users
 | 
			
		||||
        - display
 | 
			
		||||
      requestBody:
 | 
			
		||||
        required: true
 | 
			
		||||
        content:
 | 
			
		||||
          application/x-www-form-urlencoded:
 | 
			
		||||
             schema:
 | 
			
		||||
              type: object
 | 
			
		||||
              properties:
 | 
			
		||||
                  id:
 | 
			
		||||
                   type: integer
 | 
			
		||||
                  time:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  display:
 | 
			
		||||
                    type: string
 | 
			
		||||
                  userId:
 | 
			
		||||
                    type: integer
 | 
			
		||||
      responses:
 | 
			
		||||
        '201':
 | 
			
		||||
          description: Display modified
 | 
			
		||||
    
 | 
			
		||||
components:
 | 
			
		||||
  securitySchemes:
 | 
			
		||||
@ -97,54 +583,82 @@ components:
 | 
			
		||||
    User:
 | 
			
		||||
      type: object 
 | 
			
		||||
      properties:
 | 
			
		||||
        RegNo:
 | 
			
		||||
        regNo:
 | 
			
		||||
          type: integer
 | 
			
		||||
        Photo:
 | 
			
		||||
        photo:
 | 
			
		||||
          type: object
 | 
			
		||||
        LastName: 
 | 
			
		||||
        lastName: 
 | 
			
		||||
          type: string
 | 
			
		||||
        FirstName:
 | 
			
		||||
        firstName:
 | 
			
		||||
          type: string
 | 
			
		||||
        Email:
 | 
			
		||||
        email:
 | 
			
		||||
          type: string
 | 
			
		||||
        Address:
 | 
			
		||||
        address:
 | 
			
		||||
          $ref: "#/components/schemas/Address"
 | 
			
		||||
        BirthDate:
 | 
			
		||||
        birthDate:
 | 
			
		||||
          type: string
 | 
			
		||||
          description: Follow the iso 8601 ("YYYY-MM-DD")
 | 
			
		||||
        StaffMember:
 | 
			
		||||
          type: boolean
 | 
			
		||||
      example:
 | 
			
		||||
        {
 | 
			
		||||
        "RegNo": 42,
 | 
			
		||||
        "LastName": "Doe" ,
 | 
			
		||||
        "FirstName": "John",
 | 
			
		||||
        "Email": "John.Doe@example.com",
 | 
			
		||||
        "Address": {
 | 
			
		||||
          "Address": "Rue de Tounais 42",
 | 
			
		||||
          "Country": "BE"},
 | 
			
		||||
        "BirthDate": "1941-02-22",
 | 
			
		||||
        "StaffMember": true
 | 
			
		||||
        "regNo": 42,
 | 
			
		||||
        "lastName": "Doe" ,
 | 
			
		||||
        "firstName": "John",
 | 
			
		||||
        "email": "John.Doe@example.com",
 | 
			
		||||
        "address": {
 | 
			
		||||
          "address": "Rue de Tounais 42",
 | 
			
		||||
          "country": "BE"},
 | 
			
		||||
        "birthDate": "1941-02-22",
 | 
			
		||||
        "staffMember": true,
 | 
			
		||||
        }
 | 
			
		||||
    Address:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        Address:
 | 
			
		||||
        address:
 | 
			
		||||
          type: string
 | 
			
		||||
        Country:
 | 
			
		||||
        country:
 | 
			
		||||
          type: string
 | 
			
		||||
          description: Follow the ISO-3166-1 alpha-2 standard.
 | 
			
		||||
      example:
 | 
			
		||||
        {
 | 
			
		||||
          "Address": "Rue de Tounais 42",
 | 
			
		||||
          "Country": "BE"
 | 
			
		||||
          "address": "Rue de Tounais 42",
 | 
			
		||||
          "country": "BE"
 | 
			
		||||
        }
 | 
			
		||||
    Course:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
        credits:
 | 
			
		||||
          type: integer
 | 
			
		||||
        faculty:
 | 
			
		||||
          type: string
 | 
			
		||||
        teachers:
 | 
			
		||||
          type: integer 
 | 
			
		||||
          description: user's id 
 | 
			
		||||
        assistants:
 | 
			
		||||
          type: array
 | 
			
		||||
          items:
 | 
			
		||||
            type: integer
 | 
			
		||||
            description: user's id
 | 
			
		||||
      example:
 | 
			
		||||
        {
 | 
			
		||||
        "id": 42,
 | 
			
		||||
        "name": "Math pour l'info",
 | 
			
		||||
        "credits": 11,
 | 
			
		||||
        "faculty": "science",
 | 
			
		||||
        "Teacher": 42,
 | 
			
		||||
        "Assistants": [ ]
 | 
			
		||||
        }
 | 
			
		||||
    Cursus:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        Id:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
        Courses:
 | 
			
		||||
        name:
 | 
			
		||||
          type: string
 | 
			
		||||
        courses:
 | 
			
		||||
          type: array
 | 
			
		||||
          items:
 | 
			
		||||
            type: string
 | 
			
		||||
@ -153,6 +667,63 @@ 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
 | 
			
		||||
        course:
 | 
			
		||||
          $ref: "#/components/schemas/Course"
 | 
			
		||||
      example:
 | 
			
		||||
        {
 | 
			
		||||
          "id": 12,
 | 
			
		||||
          "date": "2023-12-01",
 | 
			
		||||
          "duration": 1.5,
 | 
			
		||||
          "classroom": "AMPHI01",
 | 
			
		||||
          "course": }
 | 
			
		||||
    Request:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
        requestType:
 | 
			
		||||
          type: string
 | 
			
		||||
        lessonId:
 | 
			
		||||
          type: integer
 | 
			
		||||
      example:
 | 
			
		||||
        {
 | 
			
		||||
          "id": 12,
 | 
			
		||||
          "requestType": "delete",
 | 
			
		||||
          "lessonId": 72
 | 
			
		||||
        }
 | 
			
		||||
    Display:
 | 
			
		||||
      type: object
 | 
			
		||||
      properties:
 | 
			
		||||
        id:
 | 
			
		||||
          type: integer
 | 
			
		||||
        time:
 | 
			
		||||
          type: string
 | 
			
		||||
          description: Define the period displayed on the schedule (week,month,quadrimester..)
 | 
			
		||||
        display:
 | 
			
		||||
          type: string
 | 
			
		||||
        userId:
 | 
			
		||||
          type: integer
 | 
			
		||||
          description: Id of the user who owns this display
 | 
			
		||||
      example:
 | 
			
		||||
        {
 | 
			
		||||
          "id": 12,
 | 
			
		||||
          "time": "month",
 | 
			
		||||
          "display": "grid",
 | 
			
		||||
          "UserId": 12
 | 
			
		||||
        }
 | 
			
		||||
  responses:
 | 
			
		||||
    UnauthorizedError:
 | 
			
		||||
      description: Access token is missing or invalid
 | 
			
		||||
      description: Unauthorized access or missing bearer 
 | 
			
		||||
		Reference in New Issue
	
	Block a user