Base openapi
This commit is contained in:
parent
a4ad435432
commit
4788649163
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
|
Loading…
Reference in New Issue
Block a user