From 5d8c3d03c5bc69cd200dda599634e5f6e6ccf944 Mon Sep 17 00:00:00 2001 From: LeoMoulin Date: Thu, 14 Dec 2023 14:37:26 +0100 Subject: [PATCH] Extension Requests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bon les gars je vais pas passer par 4 chemins : Zǎoshang hǎo zhōngguó xiànzài wǒ yǒu BING CHILLING 🥶🍦 wǒ hěn xǐhuān BING CHILLING 🥶🍦 dànshì sùdù yǔ jīqíng 9 bǐ BING CHILLING 🥶🍦 sùdù yǔ jīqíng sùdù yǔ jīqíng 9 wǒ zuì xǐhuān suǒyǐ…xiànzài shì yīnyuè shíjiān zhǔnbèi 1 2 3 liǎng gè lǐbài yǐhòu sùdù yǔ jīqíng 9 ×3 bùyào wàngjì bùyào cu òguò jìdé qù diànyǐngyuàn kàn sùdù yǔ jīqíng 9 yīn wéi fēicháng hǎo diànyǐng dòngzuò fēicháng hǎo chàbùduō yīyàng BING CHILLING 🥶🍦zàijiàn 🥶🍦 Co-authored-by: Anthony Debucquoy Reviewed-on: https://git.herisson.ovh/PGL/Clyde/pulls/4 Reviewed-by: Debucquoy Anthony Reviewed-by: Maxime <231026@umons.ac.be> Co-authored-by: LeoMoulin Co-committed-by: LeoMoulin --- Documents/proto/general/openapi.yaml | 215 ++++++++++++++++++++++++++- 1 file changed, 214 insertions(+), 1 deletion(-) diff --git a/Documents/proto/general/openapi.yaml b/Documents/proto/general/openapi.yaml index 95b6d36..55e8168 100644 --- a/Documents/proto/general/openapi.yaml +++ b/Documents/proto/general/openapi.yaml @@ -377,7 +377,141 @@ paths: description: Cursus modified '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 : + 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: + - name: type + in: path + description: type of the request + required: true + schema: + type: integer + post : + summary: create a request + tags : + - Requests + - Guest + - Student + - 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: New request created + '401': + $ref : '#/components/responses/UnauthorizedError' + + /Requests/{type}/{id}: + parameters: + - name: type + in: path + description: type of the request + required: true + schema: + type: integer + + - name : id + 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: @@ -884,8 +1018,86 @@ components: "courses": ['Math', 'Info'] } Roles: - type: string + 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