manager-app/manager_api/swagger.yaml

1340 lines
31 KiB
YAML

x-generator: NSwag v13.10.8.0 (NJsonSchema v10.3.11.0 (Newtonsoft.Json v10.0.0.0))
openapi: 3.0.0
info:
title: Manager Service
description: API Manager Service
version: Version Alpha
servers:
- url: 'http://192.168.31.96'
paths:
/api/Configuration:
get:
tags:
- Configuration
operationId: Configuration_Get
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConfigurationDTO'
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
post:
tags:
- Configuration
operationId: Configuration_Create
requestBody:
x-name: newConfiguration
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'409':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
put:
tags:
- Configuration
operationId: Configuration_Update
requestBody:
x-name: updatedConfiguration
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
'/api/Configuration/{id}':
get:
tags:
- Configuration
operationId: Configuration_GetDetail
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationDTO'
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
delete:
tags:
- Configuration
operationId: Configuration_Delete
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'202':
description: ''
content:
application/json:
schema:
type: string
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
/api/Device:
get:
tags:
- Device
operationId: Device_Get
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DeviceDTO'
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
post:
tags:
- Device
operationId: Device_Create
requestBody:
x-name: newDevice
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDetailDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDetailDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'409':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
put:
tags:
- Device
operationId: Device_Update
requestBody:
x-name: updatedDevice
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDetailDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDetailDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
'/api/Device/{id}/detail':
get:
tags:
- Device
operationId: Device_GetDetail
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeviceDetailDTO'
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
'/api/Device/{id}':
delete:
tags:
- Device
operationId: Device_Delete
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'202':
description: ''
content:
application/json:
schema:
type: string
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
/api/Ressource:
get:
tags:
- Ressource
operationId: Ressource_Get
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RessourceDTO'
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
post:
tags:
- Ressource
operationId: Ressource_Create
requestBody:
x-name: newRessource
content:
application/json:
schema:
$ref: '#/components/schemas/RessourceDetailDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RessourceDetailDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'409':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
put:
tags:
- Ressource
operationId: Ressource_Update
requestBody:
x-name: updatedRessource
content:
application/json:
schema:
$ref: '#/components/schemas/RessourceDetailDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RessourceDetailDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
'/api/Ressource/{id}/detail':
get:
tags:
- Ressource
operationId: Ressource_GetDetail
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RessourceDetailDTO'
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
'/api/Ressource/{id}':
get:
tags:
- Ressource
operationId: Ressource_Show
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/octet-stream:
schema:
type: string
format: binary
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
delete:
tags:
- Ressource
operationId: Ressource_Delete
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'202':
description: ''
content:
application/json:
schema:
type: string
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
/api/Section:
get:
tags:
- Section
operationId: Section_Get
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SectionDTO'
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
post:
tags:
- Section
operationId: Section_Create
requestBody:
x-name: newSection
content:
application/json:
schema:
$ref: '#/components/schemas/SectionDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SectionDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'409':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
put:
tags:
- Section
operationId: Section_Update
requestBody:
x-name: updatedSection
content:
application/json:
schema:
$ref: '#/components/schemas/SectionDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SectionDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
'/api/Section/configuration/{id}':
get:
tags:
- Section
operationId: Section_GetFromConfiguration
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SectionDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
delete:
tags:
- Section
operationId: Section_DeleteAllForConfiguration
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'202':
description: ''
content:
application/json:
schema:
type: string
'400':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
'/api/Section/{id}/subsections':
get:
tags:
- Section
operationId: Section_GetAllSectionSubSections
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items: {}
'400':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
'/api/Section/{id}':
get:
tags:
- Section
operationId: Section_GetDetail
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SectionDTO'
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
delete:
tags:
- Section
operationId: Section_Delete
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'202':
description: ''
content:
application/json:
schema:
type: string
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
/api/User:
get:
tags:
- User
operationId: User_Get
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
post:
tags:
- User
operationId: User_CreateUser
requestBody:
x-name: newUser
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'409':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
put:
tags:
- User
operationId: User_UpdateUser
requestBody:
x-name: updatedUser
content:
application/json:
schema:
$ref: '#/components/schemas/User'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailDTO'
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
'/api/User/{id}':
get:
tags:
- User
operationId: User_GetDetail
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailDTO'
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
delete:
tags:
- User
operationId: User_DeleteUser
parameters:
- name: id
in: path
required: true
schema:
type: string
nullable: true
x-position: 1
responses:
'202':
description: ''
content:
application/json:
schema:
type: string
'400':
description: ''
content:
application/json:
schema:
type: string
'404':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
security:
- bearer: []
/api/Authentication/Token:
post:
tags:
- Authentication
operationId: Authentication_AuthenticateWithForm
requestBody:
content:
multipart/form-data:
schema:
properties:
grant_type:
type: string
nullable: true
username:
type: string
nullable: true
password:
type: string
nullable: true
client_id:
type: string
nullable: true
client_secret:
type: string
nullable: true
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TokenDTO'
'401':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
/api/Authentication/Authenticate:
post:
tags:
- Authentication
operationId: Authentication_AuthenticateWithJson
requestBody:
x-name: login
content:
application/json:
schema:
$ref: '#/components/schemas/LoginDTO'
required: true
x-position: 1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TokenDTO'
'401':
description: ''
content:
application/json:
schema:
type: string
'500':
description: ''
content:
application/json:
schema:
type: string
components:
schemas:
ConfigurationDTO:
type: object
additionalProperties: false
properties:
id:
type: string
nullable: true
label:
type: string
nullable: true
sectionIds:
type: array
nullable: true
items:
type: string
primaryColor:
type: string
nullable: true
secondaryColor:
type: string
nullable: true
languages:
type: array
nullable: true
items:
type: string
dateCreation:
type: string
format: date-time
DeviceDTO:
type: object
additionalProperties: false
properties:
id:
type: string
nullable: true
name:
type: string
nullable: true
ipAddress:
type: string
nullable: true
configurationId:
type: string
nullable: true
connected:
type: boolean
dateCreation:
type: string
format: date-time
DeviceDetailDTO:
allOf:
- $ref: '#/components/schemas/DeviceDTO'
- type: object
additionalProperties: false
properties:
connectionLevel:
type: string
nullable: true
lastConnectionLevel:
type: string
format: date-time
batteryLevel:
type: string
nullable: true
lastBatteryLevel:
type: string
format: date-time
RessourceDTO:
type: object
additionalProperties: false
properties:
id:
type: string
nullable: true
type:
$ref: '#/components/schemas/RessourceType'
label:
type: string
nullable: true
RessourceType:
type: string
description: ''
x-enumNames:
- Image
- Video
- ImageUrl
- VideoUrl
enum:
- Image
- Video
- ImageUrl
- VideoUrl
RessourceDetailDTO:
type: object
additionalProperties: false
properties:
id:
type: string
nullable: true
type:
$ref: '#/components/schemas/RessourceType'
label:
type: string
nullable: true
dateCreation:
type: string
format: date-time
data:
type: string
nullable: true
SectionDTO:
type: object
additionalProperties: false
properties:
id:
type: string
nullable: true
label:
type: string
nullable: true
title:
type: string
nullable: true
description:
type: string
nullable: true
imageId:
type: string
nullable: true
configurationId:
type: string
nullable: true
isSubSection:
type: boolean
parentId:
type: string
nullable: true
type:
$ref: '#/components/schemas/SectionType'
data:
type: string
nullable: true
dateCreation:
type: string
format: date-time
SectionType:
type: string
description: ''
x-enumNames:
- Map
- Slider
- Video
- Web
- Menu
enum:
- Map
- Slider
- Video
- Web
- Menu
User:
type: object
additionalProperties: false
properties:
id:
type: string
nullable: true
email:
type: string
nullable: true
password:
type: string
nullable: true
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
token:
type: string
nullable: true
dateCreation:
type: string
format: date-time
UserDetailDTO:
type: object
additionalProperties: false
properties:
id:
type: string
nullable: true
email:
type: string
nullable: true
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
TokenDTO:
type: object
additionalProperties: false
properties:
access_token:
type: string
nullable: true
refresh_token:
type: string
nullable: true
scope:
type: string
nullable: true
token_type:
type: string
nullable: true
expires_in:
type: integer
format: int32
expiration:
type: string
format: date-time
LoginDTO:
type: object
additionalProperties: false
properties:
email:
type: string
nullable: true
password:
type: string
nullable: true
securitySchemes:
bearer:
type: oauth2
description: Manager Authentication
flows:
password:
authorizationUrl: /authentication/Token
tokenUrl: /api/authentication/Token
scopes:
Manager-api: Manager WebAPI
security:
- bearer: []
tags:
- name: Configuration
description: Configuration management
- name: Device
description: Device management
- name: Ressource
description: Ressource management
- name: Section
description: Section management
- name: User
description: User management
- name: Authentication
description: Authentication management