First api
This commit is contained in:
parent
abef330bd7
commit
6f5f89d954
@ -18,6 +18,10 @@ tags:
|
|||||||
description: Scientifics articles extension's endpoints
|
description: Scientifics articles extension's endpoints
|
||||||
- name: Ext (Schedule)
|
- name: Ext (Schedule)
|
||||||
description: Schedule extension's endpoints
|
description: Schedule extension's endpoints
|
||||||
|
- name: Ext (Student Registration)
|
||||||
|
description: Student Registration's endpoints
|
||||||
|
- name: Ext (Messaging)
|
||||||
|
description: Messaging extension's endpoints
|
||||||
|
|
||||||
paths:
|
paths:
|
||||||
/ping:
|
/ping:
|
||||||
@ -31,6 +35,610 @@ paths:
|
|||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
example: pong
|
example: pong
|
||||||
|
# Messaging
|
||||||
|
|
||||||
|
/forum:
|
||||||
|
get:
|
||||||
|
summary: get list of available forum
|
||||||
|
security:
|
||||||
|
- bearer: []
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- id
|
||||||
|
- name
|
||||||
|
- owner
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
owner:
|
||||||
|
type: integer
|
||||||
|
description: user id of the teacher
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
post:
|
||||||
|
summary: Create a new forum
|
||||||
|
security:
|
||||||
|
- bearer: []
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
courseId:
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: User created
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/forum/{forumId}:
|
||||||
|
parameters:
|
||||||
|
- name: forumId
|
||||||
|
in: path
|
||||||
|
description: Id of the forum
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: get informations about a forum
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- id
|
||||||
|
- name
|
||||||
|
- owner
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
owner:
|
||||||
|
type: integer
|
||||||
|
description: user id of the teacher
|
||||||
|
topics:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
autor:
|
||||||
|
type: integer
|
||||||
|
description: user Id
|
||||||
|
registered:
|
||||||
|
description: List of registered user only if have the authorisation to view
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: integer
|
||||||
|
description: userId
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
delete:
|
||||||
|
summary: remove the forum
|
||||||
|
security:
|
||||||
|
- bearer: []
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Forum deleted
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/forum/{forumId}/topic:
|
||||||
|
parameters:
|
||||||
|
- name: forumId
|
||||||
|
in: path
|
||||||
|
description: Id of the forum
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: list topics of a forum
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- id
|
||||||
|
- name
|
||||||
|
- author
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
author:
|
||||||
|
type: integer
|
||||||
|
description: user id of the author
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
post:
|
||||||
|
summary: create a new topic in the forum
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
subject:
|
||||||
|
type: string
|
||||||
|
content:
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: post created
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/forum/{forumId}/topic/{topicId}:
|
||||||
|
parameters:
|
||||||
|
- name: forumId
|
||||||
|
in: path
|
||||||
|
description: Id of the forum
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
- name: topicId
|
||||||
|
in: path
|
||||||
|
description: Id of the topic
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: get info about a topic
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- id
|
||||||
|
- name
|
||||||
|
- author
|
||||||
|
- locked
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
author:
|
||||||
|
type: integer
|
||||||
|
description: user id of the author
|
||||||
|
locked:
|
||||||
|
type: boolean
|
||||||
|
description: define if the topic is locked to new responses or not
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
delete:
|
||||||
|
summary: delete a topic
|
||||||
|
security:
|
||||||
|
- bearer: []
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Topic deleted
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/forum/{forumId}/topic/{topicId}/response:
|
||||||
|
parameters:
|
||||||
|
- name: forumId
|
||||||
|
in: path
|
||||||
|
description: Id of the forum
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
- name: topicId
|
||||||
|
in: path
|
||||||
|
description: Id of the topic
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: list responses of a topic
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
author:
|
||||||
|
type: integer
|
||||||
|
description: user id of the author
|
||||||
|
content:
|
||||||
|
type: string
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
post:
|
||||||
|
summary: create a new response
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
content:
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Message posted
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/forum/{forumId}/topic/{topicId}/response/{responseId}:
|
||||||
|
parameters:
|
||||||
|
- name: forumId
|
||||||
|
in: path
|
||||||
|
description: Id of the forum
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
- name: topicId
|
||||||
|
in: path
|
||||||
|
description: Id of the topic
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
- name: responseId
|
||||||
|
in: path
|
||||||
|
description: Id of the response
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: get info on a response
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- id
|
||||||
|
- author
|
||||||
|
- content
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
author:
|
||||||
|
type: string
|
||||||
|
content:
|
||||||
|
type: integer
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
delete:
|
||||||
|
summary: delete a response
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- Forum
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Message deleted
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
|
||||||
|
/discussion:
|
||||||
|
get:
|
||||||
|
summary: get list of available discussions
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- discussion
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
users:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: integer
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
post:
|
||||||
|
summary: create a new discussion
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- discussion
|
||||||
|
requestBody:
|
||||||
|
require: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
users:
|
||||||
|
type: array
|
||||||
|
descrition: id of users
|
||||||
|
items:
|
||||||
|
type: integer
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Discussion created
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/discussion/{id}:
|
||||||
|
parameters:
|
||||||
|
- name: id
|
||||||
|
in: path
|
||||||
|
description: Id of the discussion
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: get info on a discussion
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- discussion
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: OK
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- id
|
||||||
|
- name
|
||||||
|
- users
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
users:
|
||||||
|
type: integer
|
||||||
|
description: user ids of participants
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/discussion/{id}/msg:
|
||||||
|
parameters:
|
||||||
|
- name: id
|
||||||
|
in: path
|
||||||
|
description: Id of the discussion
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: list messages in a discussion
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- discussion
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Ok
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
datetime:
|
||||||
|
type: integer
|
||||||
|
author:
|
||||||
|
type: integer
|
||||||
|
content:
|
||||||
|
type: string
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
post:
|
||||||
|
summary: post a new message in a discussion
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- discussion
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
description: message content
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Message sent
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
|
||||||
|
/appointment:
|
||||||
|
get:
|
||||||
|
summary: list appointments
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- appointment
|
||||||
|
parameters:
|
||||||
|
- name: type
|
||||||
|
in: query
|
||||||
|
required: false
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
enum: [open, closed]
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Ok
|
||||||
|
content:
|
||||||
|
test/calendar:
|
||||||
|
description: file containing the appointments
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
teacher:
|
||||||
|
type: integer
|
||||||
|
student:
|
||||||
|
type: integer
|
||||||
|
date:
|
||||||
|
type: integer
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
post:
|
||||||
|
summary: create a new appointment
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- appointment
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
content:
|
||||||
|
type: integer
|
||||||
|
datetime:
|
||||||
|
type: integer
|
||||||
|
to:
|
||||||
|
type: integer
|
||||||
|
description: user id of the person to request to
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Appointment created
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
/appointment/{id}:
|
||||||
|
parameters:
|
||||||
|
- name: id
|
||||||
|
in: path
|
||||||
|
description: Id of the appointment
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
get:
|
||||||
|
summary: get info on an appointment
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- appointment
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Ok
|
||||||
|
content:
|
||||||
|
test/calendar:
|
||||||
|
description: file containing the appointment
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: integer
|
||||||
|
teacher:
|
||||||
|
type: integer
|
||||||
|
student:
|
||||||
|
type: integer
|
||||||
|
date:
|
||||||
|
type: integer
|
||||||
|
status:
|
||||||
|
type: string
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
post:
|
||||||
|
summary: Accept, decline or propose a new schedule for the appointment
|
||||||
|
tags:
|
||||||
|
- Ext (Messaging)
|
||||||
|
- appointment
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/x-www-form-urlencoded:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
action:
|
||||||
|
type: string
|
||||||
|
enum: [accept, refuse, propose]
|
||||||
|
data:
|
||||||
|
type: object
|
||||||
|
description: context dependant response (can be null)
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Done
|
||||||
|
'401':
|
||||||
|
$ref: '#/components/responses/UnauthorizedError'
|
||||||
|
|
||||||
|
# general
|
||||||
/users:
|
/users:
|
||||||
get:
|
get:
|
||||||
summary: list all users
|
summary: list all users
|
||||||
@ -1234,7 +1842,3 @@ components:
|
|||||||
responses:
|
responses:
|
||||||
UnauthorizedError:
|
UnauthorizedError:
|
||||||
description: Unauthorized access or missing bearer
|
description: Unauthorized access or missing bearer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user