Gestion Horaire osamerilyabcp
This commit is contained in:
parent
5a60d8f3db
commit
b00ab09079
@ -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
|
Loading…
Reference in New Issue
Block a user