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://localhost:5000 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 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/Configuration/{id}/export: get: tags: - Configuration operationId: Configuration_Export 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 '400': description: '' content: application/json: schema: type: string '404': description: '' content: application/json: schema: type: string '500': description: '' content: application/json: schema: type: string /api/Configuration/import: post: tags: - Configuration operationId: Configuration_Import requestBody: x-name: exportConfiguration content: application/json: schema: $ref: '#/components/schemas/ExportConfigurationDTO' required: 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 '409': 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 '404': 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: - 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/mainInfos: put: tags: - Device operationId: Device_UpdateMainInfos requestBody: x-name: deviceIn content: application/json: schema: $ref: '#/components/schemas/DeviceDTO' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeviceDTO' '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}: 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/Resource: get: tags: - Resource operationId: Resource_Get responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/ResourceDTO' '500': description: '' content: application/json: schema: type: string security: - bearer: [] post: tags: - Resource operationId: Resource_Create requestBody: x-name: newResource content: application/json: schema: $ref: '#/components/schemas/ResourceDTO' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ResourceDTO' '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: - Resource operationId: Resource_Update requestBody: x-name: updatedResource content: application/json: schema: $ref: '#/components/schemas/ResourceDTO' required: true x-position: 1 responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ResourceDTO' '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/Resource/{id}/detail: get: tags: - Resource operationId: Resource_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/ResourceDTO' '404': description: '' content: application/json: schema: type: string '500': description: '' content: application/json: schema: type: string /api/Resource/{id}: get: tags: - Resource operationId: Resource_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: - Resource operationId: Resource_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/Resource/upload: post: tags: - Resource operationId: Resource_Upload requestBody: content: multipart/form-data: schema: properties: label: type: string nullable: true type: type: string nullable: true responses: '200': 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 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/Section/order: put: tags: - Section operationId: Section_UpdateOrder requestBody: x-name: updatedSectionsOrder content: application/json: schema: type: array items: $ref: '#/components/schemas/SectionDTO' required: true x-position: 1 responses: '200': 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/MapDTO: get: tags: - Section operationId: Section_GetMapDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/MapDTO' security: - bearer: [] /api/Section/SliderDTO: get: tags: - Section operationId: Section_GetSliderDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SliderDTO' security: - bearer: [] /api/Section/VideoDTO: get: tags: - Section operationId: Section_GetVideoDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/VideoDTO' security: - bearer: [] /api/Section/WebDTO: get: tags: - Section operationId: Section_GetWebDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/WebDTO' security: - bearer: [] /api/Section/MenuDTO: get: tags: - Section operationId: Section_GetMenuDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/MenuDTO' security: - bearer: [] /api/Section/PlayerMessageDTO: get: tags: - Section operationId: Section_PlayerMessageDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PlayerMessageDTO' security: - bearer: [] /api/Section/QuizzDTO: get: tags: - Section operationId: Section_GetQuizzDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/QuizzDTO' security: - bearer: [] /api/Section/ArticleDTO: get: tags: - Section operationId: Section_GetArticleDTO responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ArticleDTO' 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 primaryColor: type: string nullable: true secondaryColor: type: string nullable: true languages: type: array nullable: true items: type: string dateCreation: type: string format: date-time isMobile: type: boolean isTablet: type: boolean isOffline: type: boolean ExportConfigurationDTO: allOf: - $ref: '#/components/schemas/ConfigurationDTO' - type: object additionalProperties: false properties: sections: type: array nullable: true items: $ref: '#/components/schemas/SectionDTO' resources: type: array nullable: true items: $ref: '#/components/schemas/ResourceDTO' SectionDTO: type: object additionalProperties: false properties: id: type: string nullable: true label: type: string nullable: true title: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' description: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' imageId: type: string nullable: true imageSource: 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 order: type: integer format: int32 TranslationDTO: type: object additionalProperties: false properties: language: type: string nullable: true value: type: string nullable: true SectionType: type: integer description: |- 0 = Map 1 = Slider 2 = Video 3 = Web 4 = Menu 5 = Quizz 6 = Article x-enumNames: - Map - Slider - Video - Web - Menu - Quizz - Article enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 ResourceDTO: type: object additionalProperties: false properties: id: type: string nullable: true type: $ref: '#/components/schemas/ResourceType' label: type: string nullable: true dateCreation: type: string format: date-time data: type: string nullable: true ResourceType: type: integer description: |- 0 = Image 1 = Video 2 = ImageUrl 3 = VideoUrl x-enumNames: - Image - Video - ImageUrl - VideoUrl enum: - 0 - 1 - 2 - 3 DeviceDTO: type: object additionalProperties: false properties: id: type: string nullable: true identifier: type: string nullable: true name: type: string nullable: true ipAddressWLAN: type: string nullable: true ipAddressETH: type: string nullable: true configurationId: type: string nullable: true configuration: type: string nullable: true connected: type: boolean dateCreation: type: string format: date-time dateUpdate: 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 MapDTO: type: object additionalProperties: false properties: zoom: type: integer format: int32 mapType: $ref: '#/components/schemas/MapTypeApp' points: type: array nullable: true items: $ref: '#/components/schemas/GeoPointDTO' iconResourceId: type: string nullable: true iconSource: type: string nullable: true MapTypeApp: type: integer description: |- 0 = none 1 = normal 2 = satellite 3 = terrain 4 = hybrid x-enumNames: - none - normal - satellite - terrain - hybrid enum: - 0 - 1 - 2 - 3 - 4 GeoPointDTO: type: object additionalProperties: false properties: id: type: integer format: int32 title: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' description: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' images: type: array nullable: true items: $ref: '#/components/schemas/ImageGeoPoint' latitude: type: string nullable: true longitude: type: string nullable: true ImageGeoPoint: type: object additionalProperties: false properties: imageResourceId: type: string nullable: true imageSource: type: string nullable: true SliderDTO: type: object additionalProperties: false properties: images: type: array nullable: true items: $ref: '#/components/schemas/ImageDTO' ImageDTO: type: object additionalProperties: false properties: title: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' description: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' resourceId: type: string nullable: true source: type: string nullable: true order: type: integer format: int32 VideoDTO: type: object additionalProperties: false properties: source: type: string nullable: true WebDTO: type: object additionalProperties: false properties: source: type: string nullable: true MenuDTO: type: object additionalProperties: false properties: sections: type: array nullable: true items: $ref: '#/components/schemas/SectionDTO' PlayerMessageDTO: type: object additionalProperties: false properties: configChanged: type: boolean isDeleted: type: boolean QuizzDTO: type: object additionalProperties: false properties: questions: type: array nullable: true items: $ref: '#/components/schemas/QuestionDTO' bad_level: nullable: true oneOf: - $ref: '#/components/schemas/LevelDTO' medium_level: nullable: true oneOf: - $ref: '#/components/schemas/LevelDTO' good_level: nullable: true oneOf: - $ref: '#/components/schemas/LevelDTO' great_level: nullable: true oneOf: - $ref: '#/components/schemas/LevelDTO' QuestionDTO: type: object additionalProperties: false properties: label: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' responses: type: array nullable: true items: $ref: '#/components/schemas/ResponseDTO' resourceId: type: string nullable: true source: type: string nullable: true order: type: integer format: int32 ResponseDTO: type: object additionalProperties: false properties: label: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' isGood: type: boolean order: type: integer format: int32 LevelDTO: type: object additionalProperties: false properties: label: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' resourceId: type: string nullable: true source: type: string nullable: true ArticleDTO: type: object additionalProperties: false properties: content: type: array nullable: true items: $ref: '#/components/schemas/TranslationDTO' qrCode: type: string nullable: true isContentTop: type: boolean audioId: type: string nullable: true isReadAudioAuto: type: boolean images: type: array nullable: true items: $ref: '#/components/schemas/ImageDTO' 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: Resource description: Resource management - name: Section description: Section management - name: User description: User management - name: Authentication description: Authentication management