Adding role to users #12
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user