salutcesmoileo #4

Merged
tonitch merged 10 commits from salutcesmoileo into master 2023-12-14 14:37:27 +01:00
Showing only changes of commit 248c14df38 - Show all commits

View File

@ -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:
@ -241,7 +244,6 @@ paths:
faculty:
type: string
teachers:
type: object
$ref: '#/components/schemas/User'
assistants:
type: array
@ -266,7 +268,7 @@ paths:
summary: Create a cursus
tags:
- General
- cursus
- Cursus
security:
- bearer: []
requestBody:
@ -300,7 +302,7 @@ paths:
summary: See Cursus's informations
tags:
- General
- cursus
- Cursus
responses:
'200':
description: OK
@ -318,7 +320,7 @@ paths:
summary: Delete cursus
tags:
- General
- cursus
- Cursus
security:
- bearer: []
responses:
@ -330,7 +332,7 @@ paths:
summary: Modify cursus
tags:
- General
- cursus
- Cursus
security:
- bearer: []
requestBody:
@ -347,7 +349,6 @@ paths:
faculty:
type: string
teachers:
type: object
$ref: '#/components/schemas/User'
assistants:
type: array
@ -367,8 +368,6 @@ paths:
'401':
$ref: '#/components/responses/UnauthorizedError'
/Requests/{type}:
get:
summary: Give an array of every requests of the specified type
@ -397,7 +396,6 @@ paths:
- $ref : '#/components/schemas/RegRequest'
discriminator:
propertyName : type
parameters:
- name: type
in: path
@ -432,7 +430,7 @@ paths:
'201':
description: New request created
'401':
$ref: '#/components/responses/UnauthorizedError'
$ref : '#/components/responses/UnauthorizedError'
/Requests/{type}/{id}:
parameters:
@ -487,7 +485,7 @@ paths:
security:
- bearer: []
requestBody:
required: true
required : true
content:
application/x-www-form-urlencoded:
schema:
@ -505,6 +503,415 @@ 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:
tonitch marked this conversation as resolved Outdated

Same, est-ce que tu ne ferais pas un
(GET) /requests -> array of all requests
(GET) /requests/{type} -> array of all requests of

et pour les post c'est juste un paramètre ? c'est moins verbeux et plus lisible ?

Same, est-ce que tu ne ferais pas un (GET) /requests -> array of all requests (GET) /requests/{type} -> array of all requests of <type> et pour les post c'est juste un paramètre ? c'est moins verbeux et plus lisible ?

Je suis d'accord avec toi ! Mais comment spécifier le type de retour qui change en fonction du paramètre {type} ducoup ? Et je n'ai pas compris la deuxième partie de la question

Je suis d'accord avec toi ! Mais comment spécifier le type de retour qui change en fonction du paramètre {type} ducoup ? Et je n'ai pas compris la deuxième partie de la question

EDIT : c'est fait

EDIT : c'est fait
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:

peut-être rajouter user dans les tags ?

peut-être rajouter user dans les tags ?

les tags sont fixs !

les tags sont fixs !
- 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",
tonitch marked this conversation as resolved Outdated

Vu que ce sont les mêmes données qu'un utilisateur y'a moyen de faire


User:
	$ref: '#/components/schemas/Users'
Cursus:
	type: integer
        ...
Vu que ce sont les mêmes données qu'un utilisateur y'a moyen de faire ```yaml User: $ref: '#/components/schemas/Users' Cursus: type: integer ... ```

C'est pas les mêmes ! Pas de regNo dans RegRequest !

C'est pas les mêmes ! Pas de regNo dans RegRequest !
"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
tonitch marked this conversation as resolved Outdated

à quoi sert RegRequests ?

à quoi sert RegRequest**s** ?

C'est une genre de sous partie de RegRequest servant un peu de "résumé", je l'ai crée pour palier au fait que quand on arrive sur le menu de séléction des demandes d'inscriptions, je veux les lister, ce faisant je n'ai pas besoin de load toutes les informations de toutes les demandes d'inscription, j'ai juste besoin de quelques attributs pour les lister.

C'est une genre de sous partie de RegRequest servant un peu de "résumé", je l'ai crée pour palier au fait que quand on arrive sur le menu de séléction des demandes d'inscriptions, je veux les lister, ce faisant je n'ai pas besoin de load toutes les informations de toutes les demandes d'inscription, j'ai juste besoin de quelques attributs pour les lister.
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:
@ -599,6 +1006,7 @@ components:
"id": 42,
"courses": ['Math', 'Info']
}
RegRequest:
type : object
properties:
@ -676,7 +1084,144 @@ components:
State :
type : string
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