Ext_publiScientifique #5
@ -122,11 +122,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
 | 
			
		||||
@ -147,6 +147,8 @@ paths:
 | 
			
		||||
      tags:
 | 
			
		||||
        - General
 | 
			
		||||
        - Admin
 | 
			
		||||
        - Secretariat
 | 
			
		||||
        - Ext (scientific articles)
 | 
			
		||||
      security:
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
@ -188,6 +190,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:
 | 
			
		||||
@ -200,12 +208,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:
 | 
			
		||||
@ -265,7 +268,7 @@ paths:
 | 
			
		||||
      summary: Create a cursus
 | 
			
		||||
      tags:
 | 
			
		||||
        - General
 | 
			
		||||
        - cursus
 | 
			
		||||
        - Cursus
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
@ -297,7 +300,7 @@ paths:
 | 
			
		||||
      summary: See Cursus's informations 
 | 
			
		||||
      tags:
 | 
			
		||||
        - General
 | 
			
		||||
        - cursus
 | 
			
		||||
        - Cursus
 | 
			
		||||
      responses:
 | 
			
		||||
        '200':
 | 
			
		||||
          description: OK
 | 
			
		||||
@ -315,7 +318,7 @@ paths:
 | 
			
		||||
      summary: Delete cursus
 | 
			
		||||
      tags:
 | 
			
		||||
        - General
 | 
			
		||||
        - cursus
 | 
			
		||||
        - Cursus
 | 
			
		||||
      security: 
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      responses:
 | 
			
		||||
@ -327,7 +330,7 @@ paths:
 | 
			
		||||
      summary: Modify cursus 
 | 
			
		||||
      tags:
 | 
			
		||||
        - General
 | 
			
		||||
        - cursus
 | 
			
		||||
        - Cursus
 | 
			
		||||
      security:
 | 
			
		||||
        - bearer: []
 | 
			
		||||
      requestBody:
 | 
			
		||||
@ -363,9 +366,10 @@ paths:
 | 
			
		||||
        '401':
 | 
			
		||||
          $ref: '#/components/responses/UnauthorizedError'
 | 
			
		||||
          
 | 
			
		||||
             
 | 
			
		||||
  /lesson:
 | 
			
		||||
    post:
 | 
			
		||||
      summary: Create a new lesson
 | 
			
		||||
      summary: create a new lesson
 | 
			
		||||
      tags:
 | 
			
		||||
        - Secretariat
 | 
			
		||||
        - Lesson
 | 
			
		||||
@ -604,6 +608,173 @@ paths:
 | 
			
		||||
      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:
 | 
			
		||||
@ -698,6 +869,66 @@ components:
 | 
			
		||||
        "id": 42,
 | 
			
		||||
        "courses": ['Math', 'Info']
 | 
			
		||||
        }
 | 
			
		||||
    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:
 | 
			
		||||
@ -773,3 +1004,7 @@ components:
 | 
			
		||||
  responses:
 | 
			
		||||
    UnauthorizedError:
 | 
			
		||||
      description: Unauthorized access or missing bearer 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user