salutcesmoileo #4

Merged
tonitch merged 10 commits from salutcesmoileo into master 2023-12-14 14:37:27 +01:00

View File

@ -378,6 +378,140 @@ paths:
'401':
$ref: '#/components/responses/UnauthorizedError'
/Requests/{type}:
get:
summary: Give an array of every requests of the specified type
tags :
- Requests
- SI
- Ext (Student Registration)
responses :
'200':
description : OK
content :
application/json :
schema :
tonitch marked this conversation as resolved Outdated

PAS BIEN VAIS TE FRAPPER AVEC MA GROSSSE BATTE

PAS BIEN VAIS TE FRAPPER AVEC MA GROSSSE BATTE
type : array
items :
allOf:
- type : object
properties :
id :
type : integer
- oneOf :
- $ref : '#/components/schemas/RRRequest'
- $ref : '#/components/schemas/SSRequest'
- $ref : '#/components/schemas/UnRegRequest'
- $ref : '#/components/schemas/ExempRequest'
- $ref : '#/components/schemas/RegRequest'
discriminator:
propertyName : type
parameters:
Review

je ne sais pas si c'est l'intention, mais tu n'as pas la possibilité de faire un fetch de toutes les requests.

le plus simple est de changer l'endpoint à /Requests
et le paramètre tu peux le mettre à in: query. en required: false

je ne sais pas si c'est l'intention, mais tu n'as pas la possibilité de faire un fetch de toutes les requests. le plus simple est de changer l'endpoint à `/Requests` et le paramètre tu peux le mettre à `in: query`. en `required: false`
- name: type
in: path
description: type of the request
required: true

tu peux ajouter la ligne
enum: blop1, blop2, blop3, ...
en dessous et au même niveau que type pour spécifier les différent paramètres disponible.

tu peux ajouter la ligne `enum: blop1, blop2, blop3, ...` en dessous et au même niveau que type pour spécifier les différent paramètres disponible.
schema:
type: integer

si tu appliques les précédents commentaire tu as soit le choix de laisser le post dans /Requests/{type} soit de le mettre avec /Requests et dans ce cas il suffit de mettre le type en paramètre dans requestBody ou dans query (je pense que requestBody serait mieux dans le cas présent)

si tu appliques les précédents commentaire tu as soit le choix de laisser le post dans `/Requests/{type}` soit de le mettre avec `/Requests` et dans ce cas il suffit de mettre le type en paramètre dans `requestBody` ou dans `query` (je pense que requestBody serait mieux dans le cas présent)
tonitch marked this conversation as resolved Outdated

PAS studentRegistrattion

PAS studentRegistrattion
post :
summary: create a request
tags :
- Requests
- Guest
- Student
- Ext (Student Registration)
security:
- bearer: []
requestBody:
required: true
tonitch marked this conversation as resolved Outdated

pour le patch ça pose pas de problème mais pour le post tu ne peux pas demander d'envoyer un id car il n'y a pas encore d'id.

Une solution serait d'enlever l'id dans les schèma dans le bas du document et des les ajouter explicitement quand tu peux (GET, PATCH -> si id peut être modifié)

pour le patch ça pose pas de problème mais pour le post tu ne peux pas demander d'envoyer un id car il n'y a pas encore d'id. Une solution serait d'enlever l'id dans les schèma dans le bas du document et des les ajouter explicitement quand tu peux (GET, PATCH -> si id peut être modifié)
content:
application/x-www-form-urlencoded:
schema:
oneOf:
- $ref : '#/components/schemas/RRRequest'
- $ref : '#/components/schemas/SSRequest'
- $ref : '#/components/schemas/UnRegRequest'
- $ref : '#/components/schemas/ExempRequest'
- $ref : '#/components/schemas/RegRequest'
discriminator:
propertyName : type
responses:
'201':
description: New request created
tonitch marked this conversation as resolved
Review

Il manque un /
/Requests/{type}/{id}

Il manque un / `/Requests/{type}/{id}`
'401':
$ref : '#/components/responses/UnauthorizedError'
/Requests/{type}/{id}:
parameters:
- name: type
tonitch marked this conversation as resolved Outdated

Ici en utilisant le ref, l'id est présent. sauf que tu ne peux pas post avec un id vu qu'il est généré par le post.

Ici en utilisant le ref, l'id est présent. sauf que tu ne peux pas post avec un id vu qu'il est généré par le post.
in: path
description: type of the request
required: true
tonitch marked this conversation as resolved Outdated

New Student created -> Register request created ?

New Student created -> Register request created ?
schema:
type: integer
- name : id
tonitch marked this conversation as resolved Outdated

Est-ce vraiment nécéssaire de faire des ré-ré register ? est-ce que ca ne serais pas une sous-classe de register avec peut être un bool pour dire si c'est la première fois ou non ?

Est-ce vraiment nécéssaire de faire des ré-ré register ? est-ce que ca ne serais pas une sous-classe de register avec peut être un bool pour dire si c'est la première fois ou non ?

Non, cela impliquerait une redondance d'informations. Quand un étudiant se réinscrit on a pas besoin de restocker son nom, son prénom, son adresse, ...
On les a déja avec le matricule.

Non, cela impliquerait une redondance d'informations. Quand un étudiant se réinscrit on a pas besoin de restocker son nom, son prénom, son adresse, ... On les a déja avec le matricule.

Le fait de metre des end-points n'a rien à voir avec le stockage d'information tho. ton end point peut être clair et concis tandis que ta base de données et ton backend s'occupent de chercher les infos ou tu veux. en clair tu ne dois pas suivre ce qui est fait dans class et db

Le fait de metre des end-points n'a rien à voir avec le stockage d'information tho. ton end point peut être clair et concis tandis que ta base de données et ton backend s'occupent de chercher les infos ou tu veux. en clair tu ne dois pas suivre ce qui est fait dans class et db
in : path
description: id of the selected Request
required : true
schema :
type : integer
get :
summary : Get all the data composing a request
tags :
- Requests
- SI
- Teacher
- Ext (Student Registration)
responses :
'200':
description : OK
content :
application/json :
schema :
allOf:
- type : object
properties :
id :
type : integer
- oneOf :
- $ref : '#/components/schemas/RRRequest'
- $ref : '#/components/schemas/SSRequest'
- $ref : '#/components/schemas/UnRegRequest'
- $ref : '#/components/schemas/ExempRequest'
- $ref : '#/components/schemas/RegRequest'
discriminator:
propertyName : type
patch:
summary: Change the state of request
tags:
- Requests
- SI
- Teacher
- Ext (Student Registration)
security:
- bearer: []
requestBody:
required : true
content:
application/x-www-form-urlencoded:
schema:
oneOf :
- $ref : '#/components/schemas/RRRequest'
- $ref : '#/components/schemas/SSRequest'
- $ref : '#/components/schemas/UnRegRequest'
- $ref : '#/components/schemas/ExempRequest'
- $ref : '#/components/schemas/RegRequest'
discriminator:
propertyName : type
responses:
'201':
description: State modified
'401':
$ref: '#/components/responses/UnauthorizedError'
/lesson:
post:
@ -886,6 +1020,84 @@ components:
Roles:
type: string
enum: [teacher, student, secretary]
RegRequest:
type : object
properties:
Name :
type: string
Firstname :
type : string
Address :
$ref: "#/components/schemas/Address"
Email:
type : string
BirthDate:
type : string
description: Follow the iso 8601 ("YYYY-MM-DD")
Cursus:
type : integer
description : ID of a specific cursus
Photo:
type : string
description: Path of the picture that the user uploaded
IdentityCard:
type : string
description: Path of the picture of the user's identity card
Degree:
type : string
description: Path of the pdf containing the user's degree
Certificate:
type : string
description: Path of the pdf containing the user's admission certificate (optionnal)
ForeignerCertificate:
type : string
description: Path of the pdf containing the user's foreigner certificate (optionnal)
State:
type : string
RRRequest:
type : object
properties :
RegNo :
type : integer
NewCursusid :
type : integer
State :
type : string
SSRequest:
type : object
properties :
RegNo :
type : integer
Amount :
type : integer
Document :
type : string
description : justification document for a scholarship
UnRegRequest :
type : object
properties :
RegNo :
type : integer
State :
type : string
ExempRequest :
type : object
properties :
RegNo :
type : integer
Courseid :
type : integer
State :
type : string
Article:
type: object
properties:
@ -1018,6 +1230,7 @@ components:
"displayMode": "grid",
"UserId": 12
}
responses:
UnauthorizedError:
description: Unauthorized access or missing bearer