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