1
0
forked from PGL/Clyde

Extension Article Scientifique

ajout endpoint dans : secretariat, users, researcher
ajout schemas : article
This commit is contained in:
Bartha Maxime 2023-12-08 17:17:40 +01:00
parent 407b881144
commit 05fc134281

View File

@ -1,4 +1,3 @@
# hihi
openapi: 3.0.0 openapi: 3.0.0
info: info:
title: ClydeAPI title: ClydeAPI
@ -136,6 +135,7 @@ paths:
summary: modifier les informations d'un utilisateur summary: modifier les informations d'un utilisateur
tags: tags:
- Admin - Admin
- Secretariat
security: security:
- bearer: [] - bearer: []
requestBody: requestBody:
@ -227,7 +227,6 @@ paths:
faculty: faculty:
type: string type: string
teachers: teachers:
type: object
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
assistants: assistants:
type: array type: array
@ -268,7 +267,6 @@ paths:
faculty: faculty:
type: string type: string
teachers: teachers:
type: object
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
assistants: assistants:
type: array type: array
@ -336,7 +334,6 @@ paths:
faculty: faculty:
type: string type: string
teachers: teachers:
type: object
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
assistants: assistants:
type: array type: array
@ -356,7 +353,125 @@ paths:
'401': '401':
$ref: '#/components/responses/UnauthorizedError' $ref: '#/components/responses/UnauthorizedError'
# Extension publication scientifique
/article:
post:
summary: create an article
tags:
- Researcher
security:
- bearer : []
responses:
"201" :
description: OK
'401':
$ref: '#/components/responses/UnauthorizedError'
requestBody:
required : true
content:
application/pdf:
schema:
type: string
format : binary
application/json:
schema:
type: object
properties:
acces:
type: string
summary:
type: string
language:
type: string
title:
type: string
date:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
views:
type: integer #TODO check comment envoyer fichier + json
/article/{id}:
parameters:
- name: id
in: path
required: true
schema:
type: integer
get:
summary: get a certain article
tags:
- Users
security:
- bearer: []
responses:
"201":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Article'
'401':
$ref: '#/components/responses/UnauthorizedError'
patch:
summary: modify an article
tags:
- Researcher
security:
- bearer : []
responses:
"201":
description: article modifié
'401':
$ref: '#/components/responses/UnauthorizedError'
requestBody:
required : true
content:
application/pdf:
schema:
type: string
format : binary
application/json:
schema:
type: object
properties:
acces:
type: string
summary:
type: string
language:
type: string
title:
type: string
date:
type: string
description: Follow the iso 8601 ("YYYY-MM-DD")
views:
type: integer
delete:
summary: delete own article
tags:
- Researcher
security:
- bearer: []
responses:
'201':
description: OK
'401':
$ref: '#/components/responses/UnauthorizedError'
components: components:
securitySchemes: securitySchemes:
bearer: bearer:
@ -418,7 +533,6 @@ components:
faculty: faculty:
type: string type: string
teachers: teachers:
type: object
$ref: '#/components/schemas/User' $ref: '#/components/schemas/User'
assistants: assistants:
type: array type: array
@ -449,6 +563,47 @@ components:
"id": 42, "id": 42,
"courses": ['Math', 'Info'] "courses": ['Math', 'Info']
} }
Article:
type: object
properties:
articleId:
type: integer
acces :
type : string
pdf :
type : string
description : file location
summary:
type : string
language:
type : string
title :
type : string
date:
type : string
views :
type : integer
authors:
type: array
items:
$ref: '#/components/schemas/User'
description: first user is the author, the remaining users are co-authors
example:
{
"articleId": 42,
"acces": "private",
"pdf": "/articles/42",
"summary": "looks in details about graph's second theorem",
"language": "english",
"title": "graph's second theorem study",
"date":"2023-02-01",
"views": 420,
"authors" : []
}
responses: responses:
UnauthorizedError: UnauthorizedError:
description: Permission non accordée description: Permission non accordée