diff --git a/Documents/proto/general/openapi.yaml b/Documents/proto/general/openapi.yaml index 244ebab..9c28926 100644 --- a/Documents/proto/general/openapi.yaml +++ b/Documents/proto/general/openapi.yaml @@ -367,12 +367,13 @@ paths: '401': $ref: '#/components/responses/UnauthorizedError' - - /RegRequests: - get : - summary : Get an array of every register requests + + + /Requests/{type}: + get: + summary: Give an array of every requests of the specified type tags : - - RegisterRequests + - Requests - Ext (Student Registration) responses : '200': @@ -382,14 +383,81 @@ paths: schema : type : array items : - $ref : '#/components/schemas/RegRequests' - - - /RegRequest/{id}: - get : - summary : Get all the data composing a register request + oneOf: + - type : object + properties: + id : + type : integer + Firstname : + type : string + Name : + type : string + Date : + type : string + description : Follow the iso 8601 ("YYYY-MM-DD") + State : + type : string + - $ref : '#/components/schemas/RRRequest' + - $ref : '#/components/schemas/SSRequest' + - $ref : '#/components/schemas/UnRegRequest' + - $ref : '#/components/schemas/ExempRequest' + discriminator: + propertyName : type + + parameters: + - name: type + in: path + description: type of the request + required: true + schema: + type: integer + + post : + summary: create a request tags : - - RegisterRequests + - Requests + - 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 - Ext (Student Registration) responses : '200': @@ -397,118 +465,19 @@ paths: content : application/json : schema : - type : object - properties: - $ref : '#/components/schemas/RegRequest' - - parameters: - - name: id - in: path - description: id of a regRequest - required: true - schema: - type: integer - - patch: - summary: Change the state of a register request - tags: - - RegisterRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - State: - type: string - responses: - '201': - description: State modified - '401': - $ref: '#/components/responses/UnauthorizedError' + oneOf: + - $ref : '#/components/schemas/RRRequest' + - $ref : '#/components/schemas/SSRequest' + - $ref : '#/components/schemas/UnRegRequest' + - $ref : '#/components/schemas/ExempRequest' + - $ref : '#/components/schemas/RegRequest' + discriminator: + propertyName : type - /RegRequest: - post : - summary: Add a new register request - tags : - - RegisterRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/RegRequest' - responses: - '201': - description: New student created - '401': - $ref: '#/components/responses/UnauthorizedError' - - /ReRegRequest: - get : - summary : Get an array of every reregister requests - tags : - - ReregisterRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - type : array - items : - $ref : '#/components/schemas/ReRegRequest' - post : - summary: Add a new ReRegister request - tags : - - ReregisterRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ReRegRequest' - responses: - '201': - description: New ReRegister request created - '401': - $ref: '#/components/responses/UnauthorizedError' - - /ReRegRequest/{id}: - parameters: - - name: id - in: path - description: id of a reregistrationrequest - required: true - schema: - type: integer - get: - summary : get the data of a single reregistration request - tags : - - ReregisterRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - $ref : '#/components/schemas/ReRegRequest' patch: - summary: Change the state of a reregister request + summary: Change the state of request tags: - - ReregisterRequests + - Requests - Ext (Student Registration) security: - bearer: [] @@ -516,246 +485,22 @@ paths: required: true content: application/x-www-form-urlencoded: - schema: - type: object - properties: - State: - type: string + 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' - /SSRequest: - get : - summary : Get an array of every scholarship requests - tags : - - ScholarshipRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - type : array - items : - $ref : '#/components/schemas/SSRequest' - post : - summary: Add a new scholarship request - tags : - - ScholarshipRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SSRequest' - responses: - '201': - description: New scholarship request created - '401': - $ref: '#/components/responses/UnauthorizedError' + $ref: '#/components/responses/UnauthorizedError' - /SSRequest/{id}: - parameters: - - name: id - in: path - description: id of a scholarshiprequest - required: true - schema: - type: integer - get: - summary : get the data of a single scholarship request - tags : - - ScholarshipRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - $ref : '#/components/schemas/SSRequest' - patch: - summary: Change the state of a scholarship request - tags: - - ScholarshipRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - State: - type: string - responses: - '201': - description: State modified - '401': - $ref: '#/components/responses/UnauthorizedError' - - - /UnRegRequest: - get : - summary : Get an array of every unregister requests - tags : - - UnregisterRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - type : array - items : - $ref : '#/components/schemas/UnRegRequest' - post : - summary: Add a new unregister request - tags : - - UnregisterRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UnRegRequest' - responses: - '201': - description: New unregister request created - '401': - $ref: '#/components/responses/UnauthorizedError' - - /UnRegRequest{id}: - parameters: - - name: id - in: path - description: id of a unregistrationrequest - required: true - schema: - type: integer - get: - summary : get the data of a single unregistration request - tags : - - UnregisterRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - $ref : '#/components/schemas/UnRegRequest' - patch: - summary: Change the state of a unregister request - tags: - - UnregisterRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - State: - type: string - responses: - '201': - description: State modified - '401': - $ref: '#/components/responses/UnauthorizedError' - - /ExempRequest: - get : - summary : Get an array of every exemptions requests - tags : - - ExemptionRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - type : array - items : - $ref : '#/components/schemas/ExempRequest' - - post : - summary: Add a new exemption request - tags : - - ExemptionRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ExempRequest' - responses: - '201': - description: New exemption request created - '401': - $ref: '#/components/responses/UnauthorizedError' - - - /ExempRequest/{id}: - parameters: - - name: id - in: path - description: id of a exemption request - required: true - schema: - type: integer - get: - summary : get the data of a single exemption request - tags : - - ExemptionRequests - - Ext (Student Registration) - responses : - '200': - description : OK - content : - application/json : - schema : - $ref : '#/components/schemas/ExempRequest' - patch: - summary: Change the state of a exemption request - tags: - - ExemptionRequests - - Ext (Student Registration) - security: - - bearer: [] - requestBody: - required: true - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - State: - type: string - responses: - '201': - description: State modified - '401': - $ref: '#/components/responses/UnauthorizedError' + components: securitySchemes: bearer: @@ -887,23 +632,8 @@ components: State: type : string - RegRequests: - type : object - properties: - id : - type : integer - Firstname : - type : string - Name : - type : string - Date : - type : string - description : Follow the iso 8601 ("YYYY-MM-DD") - State : - type : string - - ReRegRequest: + RRRequest: type : object properties : id :