Base openapi
This commit is contained in:
		
							
								
								
									
										158
									
								
								Documents/proto/general/openapi.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										158
									
								
								Documents/proto/general/openapi.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,158 @@ | ||||
| openapi: 3.0.0 | ||||
| info: | ||||
|   title: ClydeAPI | ||||
|   description: Clyde's api | ||||
|   version: 0.0.1 | ||||
|  | ||||
| servers: | ||||
|   - url: https://clyde.herisson.ovh/api | ||||
|     description: default api point for clyde's service | ||||
|  | ||||
| paths: | ||||
|   /ping: | ||||
|     get: | ||||
|       summary: Test if the api is up. | ||||
|       responses: | ||||
|         default: | ||||
|           description: Standard response to ping | ||||
|           content: | ||||
|             text/plain: | ||||
|               schema: | ||||
|                 type: string | ||||
|                 example: pong | ||||
|   /user: | ||||
|     put: | ||||
|       summary: create a new user | ||||
|       tags: | ||||
|         - users | ||||
|       security: | ||||
|         - bearer: [] | ||||
|       responses: | ||||
|         '200': | ||||
|           description: User created | ||||
|         '401': | ||||
|           $ref: '#/components/responses/UnauthorizedError' | ||||
|   /user/{mat}: | ||||
|     get: | ||||
|       summary: get user's info | ||||
|       tags: | ||||
|         - users | ||||
|       responses: | ||||
|         '200': | ||||
|           description: User found  | ||||
|           content: | ||||
|             application/json: | ||||
|               schema: | ||||
|                 $ref: "#/components/schemas/User" | ||||
|     parameters: | ||||
|       - name: mat | ||||
|         in: path | ||||
|         description: Matricule of the user (unique id) | ||||
|         required: true | ||||
|         schema: | ||||
|           type: integer | ||||
|  | ||||
|   /cursus/{id}: | ||||
|     get: | ||||
|       summary: Voir les informations sur un Cursus | ||||
|       tags: | ||||
|         - Courses | ||||
|       responses: | ||||
|         '200': | ||||
|           description: Cursus found | ||||
|           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: | ||||
|  | ||||
|     delete: | ||||
|       summary: Suprimer un cours | ||||
|       tags: | ||||
|         - Courses | ||||
|       security:  | ||||
|         - bearer: [] | ||||
|       responses: | ||||
|  | ||||
|      | ||||
| components: | ||||
|   securitySchemes: | ||||
|     bearer: | ||||
|       type: http | ||||
|       scheme: bearer | ||||
|   schemas: | ||||
|     User: | ||||
|       type: object  | ||||
|       properties: | ||||
|         RegNo: | ||||
|           type: integer | ||||
|         Photo: | ||||
|           type: object | ||||
|         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") | ||||
|         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 | ||||
|         } | ||||
|     Address: | ||||
|       type: object | ||||
|       properties: | ||||
|         Address: | ||||
|           type: string | ||||
|         Country: | ||||
|           type: string | ||||
|           description: Follow the ISO-3166-1 alpha-2 standard. | ||||
|       example: | ||||
|         { | ||||
|           "Address": "Rue de Tounais 42", | ||||
|           "Country": "BE" | ||||
|         } | ||||
|     Cursus: | ||||
|       type: object | ||||
|       properties: | ||||
|         Id: | ||||
|           type: integer | ||||
|         Courses: | ||||
|           type: array | ||||
|           items: | ||||
|             type: string | ||||
|       example: | ||||
|         { | ||||
|         "id": 42, | ||||
|         "courses": ['Math', 'Info'] | ||||
|         } | ||||
|   responses: | ||||
|     UnauthorizedError: | ||||
|       description: Access token is missing or invalid | ||||
		Reference in New Issue
	
	Block a user