diff --git a/angular.json b/angular.json index 884d12d..0b974ff 100644 --- a/angular.json +++ b/angular.json @@ -32,7 +32,9 @@ "./node_modules/font-awesome/css/font-awesome.css", "./node_modules/flag-icon-css/css/flag-icon.min.css" ], - "scripts": [] + "scripts": [ + "./node_modules/chart.js/dist/Chart.js" + ] }, "configurations": { "production": { @@ -95,7 +97,9 @@ "./node_modules/font-awesome/css/font-awesome.css", "./node_modules/flag-icon-css/css/flag-icon.min.css" ], - "scripts": [], + "scripts": [ + "./node_modules/chart.js/dist/Chart.js" + ], "assets": [ "src/favicon.ico", "src/assets" diff --git a/package-lock.json b/package-lock.json index b6c98ce..b732835 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2634,6 +2634,32 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "chart.js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.3.tgz", + "integrity": "sha512-+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", @@ -7703,6 +7729,11 @@ } } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", diff --git a/package.json b/package.json index d20a803..d14a4f5 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@ngx-translate/http-loader": "^4.0.0", "angular-font-awesome": "^3.1.2", "bootstrap": "^4.4.1", + "chart.js": "^2.9.3", "core-js": "^2.5.4", "flag-icon-css": "^3.3.0", "font-awesome": "^4.7.0", diff --git a/src/app/_api/api.module.ts b/src/app/_api/api.module.ts index ba1be03..7433968 100644 --- a/src/app/_api/api.module.ts +++ b/src/app/_api/api.module.ts @@ -6,6 +6,7 @@ import { ApiConfiguration, ApiConfigurationInterface } from './api-configuration import { AzureService } from './services/azure.service'; import { BooksService } from './services/books.service'; import { DeviceService } from './services/device.service'; +import { EnergyService } from './services/energy.service'; import { FacebookService } from './services/facebook.service'; import { GoogleService } from './services/google.service'; import { IOTService } from './services/iot.service'; @@ -33,6 +34,7 @@ import { ValuesService } from './services/values.service'; AzureService, BooksService, DeviceService, + EnergyService, FacebookService, GoogleService, IOTService, diff --git a/src/app/_api/models.ts b/src/app/_api/models.ts index 8b7eb21..7f4b96f 100644 --- a/src/app/_api/models.ts +++ b/src/app/_api/models.ts @@ -1,6 +1,7 @@ export { AzureADAuthModel } from './models/azure-adauth-model'; export { Book } from './models/book'; export { Device } from './models/device'; +export { ElectricityProduction } from './models/electricity-production'; export { FacebookAuthModel } from './models/facebook-auth-model'; export { GoogleAuthModel } from './models/google-auth-model'; export { SmartPrinterMessage } from './models/smart-printer-message'; diff --git a/src/app/_api/models/electricity-production.ts b/src/app/_api/models/electricity-production.ts new file mode 100644 index 0000000..e24a428 --- /dev/null +++ b/src/app/_api/models/electricity-production.ts @@ -0,0 +1,9 @@ +/* tslint:disable */ +export interface ElectricityProduction { + id?: string; + deviceId?: string; + userId?: string; + watt?: number; + ampere?: number; + timestamp?: string; +} diff --git a/src/app/_api/models/panel-menu-item.ts b/src/app/_api/models/panel-menu-item.ts index a1f0600..69686df 100644 --- a/src/app/_api/models/panel-menu-item.ts +++ b/src/app/_api/models/panel-menu-item.ts @@ -3,6 +3,7 @@ export interface PanelMenuItem { label?: string; route?: string; icon?: string; + color?: string; badgeValue?: number; badgeType?: string; children?: Array; diff --git a/src/app/_api/services.ts b/src/app/_api/services.ts index 3207783..44b556d 100644 --- a/src/app/_api/services.ts +++ b/src/app/_api/services.ts @@ -1,6 +1,7 @@ export { AzureService } from './services/azure.service'; export { BooksService } from './services/books.service'; export { DeviceService } from './services/device.service'; +export { EnergyService } from './services/energy.service'; export { FacebookService } from './services/facebook.service'; export { GoogleService } from './services/google.service'; export { IOTService } from './services/iot.service'; diff --git a/src/app/_api/services/energy.service.ts b/src/app/_api/services/energy.service.ts new file mode 100644 index 0000000..e844e4f --- /dev/null +++ b/src/app/_api/services/energy.service.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +import { Injectable } from '@angular/core'; +import { HttpClient, HttpRequest, HttpResponse, HttpHeaders } from '@angular/common/http'; +import { BaseService as __BaseService } from '../base-service'; +import { ApiConfiguration as __Configuration } from '../api-configuration'; +import { StrictHttpResponse as __StrictHttpResponse } from '../strict-http-response'; +import { Observable as __Observable } from 'rxjs'; +import { map as __map, filter as __filter } from 'rxjs/operators'; + +import { ElectricityProduction } from '../models/electricity-production'; +@Injectable({ + providedIn: 'root', +}) +class EnergyService extends __BaseService { + static readonly GetElectricityProductionPath = '/api/energy/electricity'; + + constructor( + config: __Configuration, + http: HttpClient + ) { + super(config, http); + } + + /** + * @param params The `EnergyService.GetElectricityProductionParams` containing the following parameters: + * + * - `viewBy`: + * + * - `userId`: + * + * @return Success + */ + GetElectricityProductionResponse(params: EnergyService.GetElectricityProductionParams): __Observable<__StrictHttpResponse>> { + let __params = this.newParams(); + let __headers = new HttpHeaders(); + let __body: any = null; + if (params.viewBy != null) __params = __params.set('viewBy', params.viewBy.toString()); + if (params.userId != null) __params = __params.set('userId', params.userId.toString()); + let req = new HttpRequest( + 'GET', + this.rootUrl + `/api/energy/electricity`, + __body, + { + headers: __headers, + params: __params, + responseType: 'json' + }); + + return this.http.request(req).pipe( + __filter(_r => _r instanceof HttpResponse), + __map((_r) => { + return _r as __StrictHttpResponse>; + }) + ); + } + /** + * @param params The `EnergyService.GetElectricityProductionParams` containing the following parameters: + * + * - `viewBy`: + * + * - `userId`: + * + * @return Success + */ + GetElectricityProduction(params: EnergyService.GetElectricityProductionParams): __Observable> { + return this.GetElectricityProductionResponse(params).pipe( + __map(_r => _r.body as Array) + ); + } +} + +module EnergyService { + + /** + * Parameters for GetElectricityProduction + */ + export interface GetElectricityProductionParams { + viewBy?: 1 | 2 | 3; + userId?: string; + } +} + +export { EnergyService } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index d834dea..725955b 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -46,6 +46,7 @@ import { SidebarDashboardComponent, SidebarNavItemComponent, SidebarNavDropItemC import { ElectricityComponent } from './control-panel/profile/dashboard/energy/electricity/electricity.component'; import { GasComponent } from './control-panel/profile/dashboard/energy/gas/gas.component'; import { WaterComponent } from './control-panel/profile/dashboard/energy/water/water.component'; +import { ChartModule } from 'primeng/chart'; @@ -110,6 +111,7 @@ export function HttpLoaderFactory(http: HttpClient) { ToastModule, DropdownModule, PanelMenuModule, + ChartModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, diff --git a/src/app/control-panel/profile/dashboard/dashboard.component.ts b/src/app/control-panel/profile/dashboard/dashboard.component.ts index 87fdedf..084cd35 100644 --- a/src/app/control-panel/profile/dashboard/dashboard.component.ts +++ b/src/app/control-panel/profile/dashboard/dashboard.component.ts @@ -26,20 +26,24 @@ export class DashboardComponent implements OnInit { } ActivateTab() { - this.ActiveTab = this._router.url.match(this.UrlRegex)[0]; - switch (this._router.url.match(this.UrlRegex)[0]) { - case 'dashboard/energy': - this.ActiveTab = 'energy'; - break; - case 'dashboard/energy/electricity': - this.ActiveTab = 'energy/electricity'; - break; - case 'dashboard/energy/gas': - this.ActiveTab = 'energy/gas'; - break; - case 'dashboard/energy/water': - this.ActiveTab = 'energy/water'; - break; + try { + this.ActiveTab = this._router.url.match(this.UrlRegex)[0]; + switch (this._router.url.match(this.UrlRegex)[0]) { + case 'dashboard/energy': + this.ActiveTab = 'energy'; + break; + case 'dashboard/energy/electricity': + this.ActiveTab = 'energy/electricity'; + break; + case 'dashboard/energy/gas': + this.ActiveTab = 'energy/gas'; + break; + case 'dashboard/energy/water': + this.ActiveTab = 'energy/water'; + break; + } + } catch (e) { + // console.log('error in ActiveTab', e); } } diff --git a/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.html b/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.html index 2966941..4d9dc5f 100644 --- a/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.html +++ b/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.html @@ -1 +1,11 @@ -

electricity works!

+ + + + + + + + + + + \ No newline at end of file diff --git a/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.ts b/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.ts index cc4fd91..cbfdeb3 100644 --- a/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.ts +++ b/src/app/control-panel/profile/dashboard/energy/electricity/electricity.component.ts @@ -1,5 +1,11 @@ import { Component, OnInit } from '@angular/core'; +enum ViewBy { + Year = 0, + Month, + Day +} + @Component({ selector: 'app-electricity', templateUrl: './electricity.component.html', @@ -7,9 +13,97 @@ import { Component, OnInit } from '@angular/core'; }) export class ElectricityComponent implements OnInit { - constructor() { } + data: any; + data2: any; + data3: any; + + constructor() { + this.data = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'Augustus', 'September', 'October', 'November', 'December'], + datasets: [ + { + label: 'Ondulateur 1 - Tot Kwh', + data: [65, 59, 80, 81, 56, 55, 40, 48, 54, 84, 78, 79], + fill: false, + borderColor: '#4bc0c0' + }, + { + label: 'Ondulateur 2 - Tot Kwh', + data: [28, 48, 40, 19, 86, 27, 90, 15, 47, 85, 79, 110], + fill: false, + borderColor: '#565656' + } + ] + }; + this.data2 = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [ + { + label: 'My First dataset', + backgroundColor: '#42A5F5', + borderColor: '#1E88E5', + data: [65, 59, 80, 81, 56, 55, 40] + }, + { + label: 'My Second dataset', + backgroundColor: '#9CCC65', + borderColor: '#7CB342', + data: [28, 48, 40, 19, 86, 27, 90] + } + ] + }; + this.data3 = { + labels: ['A', 'B', 'C'], + datasets: [ + { + data: [300, 50, 100], + backgroundColor: [ + "#FF6384", + "#36A2EB", + "#FFCE56" + ], + hoverBackgroundColor: [ + "#FF6384", + "#36A2EB", + "#FFCE56" + ] + }] + }; + } ngOnInit() { } + selectData(event) { + console.log('teeest'); + //this.messageService.add({severity: 'info', summary: 'Data Selected', 'detail': this.data.datasets[event.element._datasetIndex].data[event.element._index]}); + } + + ChangeData(viewBy: ViewBy) { + switch (viewBy) { + case ViewBy.Year: + + break; + case ViewBy.Month: + + break; + case ViewBy.Day: + + break; + } + console.log('ecoucou', viewBy); + this.data = { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'Augustus', 'September', 'October', 'November', 'December'], + datasets: [ + { + label: 'Ondulateur 1', + data: [65, 59, 80, 81, 56, 55, 40, 48, 54, 84, 78, 79], + fill: false, + borderColor: '#4bc0c0' + } + ] + }; + // Get currentMonth + } + } diff --git a/swagger.json b/swagger.json index 067491a..f75c73e 100644 --- a/swagger.json +++ b/swagger.json @@ -1 +1 @@ -{"swagger":"2.0","info":{"version":"v1","title":"MyCoreApi"},"paths":{"/azure":{"post":{"tags":["Azure"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/AzureADAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/books":{"get":{"tags":["Books"],"operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Book"}}}}},"post":{"tags":["Books"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"book","in":"body","required":false,"schema":{"$ref":"#/definitions/Book"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Book"}}}}},"/api/books/{id}":{"get":{"tags":["Books"],"operationId":"GetBook","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Book"}}}},"put":{"tags":["Books"],"operationId":"Update","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"bookIn","in":"body","required":false,"schema":{"$ref":"#/definitions/Book"}}],"responses":{"200":{"description":"Success"}}},"delete":{"tags":["Books"],"operationId":"Delete","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success"}}}},"/api/device":{"get":{"tags":["Device"],"summary":"","operationId":"GetAllDevices","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Device"}}}}},"post":{"tags":["Device"],"summary":"","operationId":"CreateDevice","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"query","required":false,"type":"integer","format":"int32"},{"name":"device","in":"body","required":false,"schema":{"$ref":"#/definitions/Device"}}],"responses":{"200":{"description":"Success"}}}},"/api/device/{idDevice}":{"get":{"tags":["Device"],"summary":"","operationId":"GetDeviceInfo","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"idDevice","in":"path","description":"Id of the device you want to get information","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Device"}}}},"put":{"tags":["Device"],"summary":"","operationId":"UpdateDevice","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","required":true,"type":"integer","format":"int32"},{"name":"device","in":"body","required":false,"schema":{"$ref":"#/definitions/Device"}}],"responses":{"200":{"description":"Success"}}},"delete":{"tags":["Device"],"summary":"","operationId":"DeleteDevice","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","required":true,"type":"integer","format":"int32"},{"name":"deviceId","in":"body","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}}}},"/facebook":{"post":{"tags":["Facebook"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/FacebookAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/google":{"post":{"tags":["Google"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/GoogleAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/iot/smartprinter/{idDevice}":{"get":{"tags":["IOT"],"summary":"Retrieve all SmartPrinterMessage","operationId":"GetSmartPrinterMessages","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"query","description":"Id of the smart printer message","required":false,"type":"integer","format":"int32"},{"name":"idDevice","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartPrinterMessage"}}}}},"post":{"tags":["IOT"],"summary":"It's the method to post data from mqtt broker to Database (Thanks Rpi!)","operationId":"PostToDBPrinter","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","description":"Id of the device to upload to DB","required":true,"type":"integer","format":"int32"},{"name":"content","in":"body","description":"Content that will be uploaded","required":false,"schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartPrinterMessage"}}}],"responses":{"200":{"description":"Success"},"201":{"description":"Content successfully posted to DB"},"500":{"description":"Unexpected error"}}}},"/api/iot/smartgarden/{idDevice}":{"post":{"tags":["IOT"],"summary":"It's the method to post data from mqtt broker to Database (Thanks Rpi!)","operationId":"PostToDBSmartGarden","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","required":true,"type":"integer","format":"int32"},{"name":"content","in":"body","required":false,"schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartGardenMessage"}}}],"responses":{"200":{"description":"Success"}}}},"/api/layout/panelSection":{"get":{"tags":["Layout"],"summary":"It's a test ! :)","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/PanelSection"}}}}}},"/api/mqtt":{"get":{"tags":["MQTT"],"summary":"It's a mqtt publish test ! :)","operationId":"GetToPublishMqtt","consumes":[],"produces":[],"parameters":[],"responses":{"200":{"description":"Success"}}}},"/api/odd/country/{id}/{oddRequest}":{"get":{"tags":["Odd"],"summary":"Get odds for one country and one odd value maximum","operationId":"GetForCountry","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","description":"id of country, e.g = BE for Belgium","required":true,"type":"string"},{"name":"oddRequest","in":"path","description":"Odd Maximum value","required":true,"type":"number","format":"double"}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/OddNice"}}},"404":{"description":"Not Found","schema":{"type":"string"}},"500":{"description":"Server Error","schema":{"type":"string"}}}}},"/api/odd/{oddRequest}":{"get":{"tags":["Odd"],"summary":"Get odds for one country and one odd value maximum","operationId":"GetAll","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"oddRequest","in":"path","description":"Odd Maximum value","required":true,"type":"number","format":"double"}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/OddNice"}}},"404":{"description":"Not Found","schema":{"type":"string"}},"500":{"description":"Server Error","schema":{"type":"string"}}}}},"/api/token":{"post":{"tags":["Token"],"operationId":"ConnectUser","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"tokenDTO","in":"body","required":false,"schema":{"$ref":"#/definitions/TokenDTO"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}}},"/token":{"post":{"tags":["Token"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/User"}}],"responses":{"200":{"description":"Success"}}}},"/twitter":{"post":{"tags":["Twitter"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/TwitterAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/user":{"get":{"tags":["User"],"summary":"Get a list of user","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/UserInfo"}}}}},"put":{"tags":["User"],"summary":"","operationId":"UpdateUser","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"updatedUser","in":"body","required":false,"schema":{"$ref":"#/definitions/UserInfo"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}},"post":{"tags":["User"],"summary":"","operationId":"CreateUser","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"newUser","in":"body","required":false,"schema":{"$ref":"#/definitions/UserInfo"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}}},"/api/user/{id}":{"get":{"tags":["User"],"summary":"Get a specific user","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","description":"id user","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}},"delete":{"tags":["User"],"operationId":"DeleteUser","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success"}}}},"/api/test":{"get":{"tags":["Values"],"summary":"It's a test ! :)","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"type":"string"}}}}},"post":{"tags":["Values"],"operationId":"Post","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"value","in":"body","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}}}},"/api/test/{id}":{"get":{"tags":["Values"],"operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Success","schema":{"type":"string"}}}},"put":{"tags":["Values"],"operationId":"Put","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"integer","format":"int32"},{"name":"value","in":"body","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}}},"delete":{"tags":["Values"],"operationId":"Delete","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Success"}}}}},"definitions":{"AzureADAuthModel":{"type":"object","properties":{"apiKey":{"type":"string"}}},"Book":{"type":"object","properties":{"id":{"type":"string"},"bookName":{"type":"string"},"price":{"format":"double","type":"number"},"category":{"type":"string"},"author":{"type":"string"}}},"Device":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"location":{"type":"string"},"locationExplanation":{"type":"string"},"height":{"format":"int32","type":"integer"},"width":{"format":"int32","type":"integer"}}},"FacebookAuthModel":{"type":"object","properties":{"userAccessToken":{"type":"string"}}},"GoogleAuthModel":{"type":"object","properties":{"authorizationCode":{"type":"string"},"apiKey":{"type":"string"}}},"SmartPrinterMessage":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"time":{"type":"string"},"temperature":{"format":"double","type":"number"},"pressure":{"format":"double","type":"number"},"smoke":{"format":"int32","type":"integer"}}},"SmartGardenMessage":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"time":{"type":"string"},"temperature":{"format":"double","type":"number"},"pressure":{"format":"double","type":"number"},"humidity":{"format":"double","type":"number"},"water":{"format":"int32","type":"integer"},"light":{"format":"int32","type":"integer"}}},"PanelSection":{"type":"object","properties":{"label":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"defaultRoute":{"type":"string"},"children":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/PanelMenuItem"}}}},"PanelMenuItem":{"type":"object","properties":{"label":{"type":"string"},"route":{"type":"string"},"icon":{"type":"string"},"badgeValue":{"format":"int32","type":"integer"},"badgeType":{"type":"string"},"children":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/PanelMenuItem"}}}},"OddNice":{"type":"object","properties":{"teams":{"uniqueItems":false,"type":"array","items":{"type":"string"}},"commence_time":{"format":"int32","type":"integer"},"home_team":{"type":"string"},"odds":{"$ref":"#/definitions/OddH2H"}}},"OddH2H":{"type":"object","properties":{"homeOdd":{"format":"double","type":"number"},"drawOdd":{"format":"double","type":"number"},"visitOdd":{"format":"double","type":"number"}}},"TokenDTO":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}}},"UserInfo":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"token":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"dateCreation":{"format":"date-time","type":"string"},"address":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"language":{"type":"string"},"timeZone":{"type":"string"},"postalCode":{"format":"int32","type":"integer"},"screenConfigurationIds":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/ScreenConfiguration"}},"deviceIds":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Device"}}}},"ScreenConfiguration":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"widgets":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Widget"}},"height":{"format":"int32","type":"integer"},"width":{"format":"int32","type":"integer"}}},"Widget":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"displayName":{"type":"string"},"type":{"type":"string"},"activated":{"type":"boolean"},"form":{"type":"string"},"font":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"width":{"format":"int32","type":"integer"},"height":{"format":"int32","type":"integer"},"positionX":{"format":"int32","type":"integer"},"positionY":{"format":"int32","type":"integer"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"password":{"type":"string"}}},"TwitterAuthModel":{"type":"object","properties":{"apiKey":{"type":"string"}}}},"securityDefinitions":{"Bearer":{"name":"Authorization","in":"header","type":"apiKey","description":"Please enter JWT with Bearer into field"}},"security":[{"Bearer":[]}]} \ No newline at end of file +{"swagger":"2.0","info":{"version":"v1","title":"MyCoreApi"},"paths":{"/azure":{"post":{"tags":["Azure"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/AzureADAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/books":{"get":{"tags":["Books"],"operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Book"}}}}},"post":{"tags":["Books"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"book","in":"body","required":false,"schema":{"$ref":"#/definitions/Book"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Book"}}}}},"/api/books/{id}":{"get":{"tags":["Books"],"operationId":"GetBook","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Book"}}}},"put":{"tags":["Books"],"operationId":"Update","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"bookIn","in":"body","required":false,"schema":{"$ref":"#/definitions/Book"}}],"responses":{"200":{"description":"Success"}}},"delete":{"tags":["Books"],"operationId":"Delete","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success"}}}},"/api/device":{"get":{"tags":["Device"],"summary":"","operationId":"GetAllDevices","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Device"}}}}},"post":{"tags":["Device"],"summary":"","operationId":"CreateDevice","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"query","required":false,"type":"integer","format":"int32"},{"name":"device","in":"body","required":false,"schema":{"$ref":"#/definitions/Device"}}],"responses":{"200":{"description":"Success"}}}},"/api/device/{idDevice}":{"get":{"tags":["Device"],"summary":"","operationId":"GetDeviceInfo","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"idDevice","in":"path","description":"Id of the device you want to get information","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Device"}}}},"put":{"tags":["Device"],"summary":"","operationId":"UpdateDevice","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","required":true,"type":"integer","format":"int32"},{"name":"device","in":"body","required":false,"schema":{"$ref":"#/definitions/Device"}}],"responses":{"200":{"description":"Success"}}},"delete":{"tags":["Device"],"summary":"","operationId":"DeleteDevice","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","required":true,"type":"integer","format":"int32"},{"name":"deviceId","in":"body","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}}}},"/api/energy/electricity":{"get":{"tags":["Energy"],"summary":"Get summary production of Kwh/Year","operationId":"GetElectricityProduction","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"userId","in":"query","required":false,"type":"string"},{"name":"viewBy","in":"query","required":false,"type":"integer","format":"int32","enum":[1,2,3]}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/ElectricityProduction"}}}}}},"/facebook":{"post":{"tags":["Facebook"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/FacebookAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/google":{"post":{"tags":["Google"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/GoogleAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/iot/smartprinter/{idDevice}":{"get":{"tags":["IOT"],"summary":"Retrieve all SmartPrinterMessage","operationId":"GetSmartPrinterMessages","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"query","description":"Id of the smart printer message","required":false,"type":"integer","format":"int32"},{"name":"idDevice","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartPrinterMessage"}}}}},"post":{"tags":["IOT"],"summary":"It's the method to post data from mqtt broker to Database (Thanks Rpi!)","operationId":"PostToDBPrinter","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","description":"Id of the device to upload to DB","required":true,"type":"integer","format":"int32"},{"name":"content","in":"body","description":"Content that will be uploaded","required":false,"schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartPrinterMessage"}}}],"responses":{"200":{"description":"Success"},"201":{"description":"Content successfully posted to DB"},"500":{"description":"Unexpected error"}}}},"/api/iot/smartgarden/{idDevice}":{"post":{"tags":["IOT"],"summary":"It's the method to post data from mqtt broker to Database (Thanks Rpi!)","operationId":"PostToDBSmartGarden","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","required":true,"type":"integer","format":"int32"},{"name":"content","in":"body","required":false,"schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartGardenMessage"}}}],"responses":{"200":{"description":"Success"}}}},"/api/layout/panelSection":{"get":{"tags":["Layout"],"summary":"It's a test ! :)","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/PanelSection"}}}}}},"/api/mqtt":{"get":{"tags":["MQTT"],"summary":"It's a mqtt publish test ! :)","operationId":"GetToPublishMqtt","consumes":[],"produces":[],"parameters":[],"responses":{"200":{"description":"Success"}}}},"/api/odd/country/{id}/{oddRequest}":{"get":{"tags":["Odd"],"summary":"Get odds for one country and one odd value maximum","operationId":"GetForCountry","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","description":"id of country, e.g = BE for Belgium","required":true,"type":"string"},{"name":"oddRequest","in":"path","description":"Odd Maximum value","required":true,"type":"number","format":"double"}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/OddNice"}}},"404":{"description":"Not Found","schema":{"type":"string"}},"500":{"description":"Server Error","schema":{"type":"string"}}}}},"/api/odd/{oddRequest}":{"get":{"tags":["Odd"],"summary":"Get odds for one country and one odd value maximum","operationId":"GetAll","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"oddRequest","in":"path","description":"Odd Maximum value","required":true,"type":"number","format":"double"}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/OddNice"}}},"404":{"description":"Not Found","schema":{"type":"string"}},"500":{"description":"Server Error","schema":{"type":"string"}}}}},"/api/token":{"post":{"tags":["Token"],"operationId":"ConnectUser","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"tokenDTO","in":"body","required":false,"schema":{"$ref":"#/definitions/TokenDTO"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}}},"/token":{"post":{"tags":["Token"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/User"}}],"responses":{"200":{"description":"Success"}}}},"/twitter":{"post":{"tags":["Twitter"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/TwitterAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/user":{"get":{"tags":["User"],"summary":"Get a list of user","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/UserInfo"}}}}},"put":{"tags":["User"],"summary":"","operationId":"UpdateUser","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"updatedUser","in":"body","required":false,"schema":{"$ref":"#/definitions/UserInfo"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}},"post":{"tags":["User"],"summary":"","operationId":"CreateUser","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"newUser","in":"body","required":false,"schema":{"$ref":"#/definitions/UserInfo"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}}},"/api/user/{id}":{"get":{"tags":["User"],"summary":"Get a specific user","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","description":"id user","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInfo"}}}},"delete":{"tags":["User"],"operationId":"DeleteUser","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success"}}}},"/api/test":{"get":{"tags":["Values"],"summary":"It's a test ! :)","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"type":"string"}}}}},"post":{"tags":["Values"],"operationId":"Post","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"value","in":"body","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}}}},"/api/test/{id}":{"get":{"tags":["Values"],"operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Success","schema":{"type":"string"}}}},"put":{"tags":["Values"],"operationId":"Put","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"integer","format":"int32"},{"name":"value","in":"body","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}}},"delete":{"tags":["Values"],"operationId":"Delete","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Success"}}}}},"definitions":{"AzureADAuthModel":{"type":"object","properties":{"apiKey":{"type":"string"}}},"Book":{"type":"object","properties":{"id":{"type":"string"},"bookName":{"type":"string"},"price":{"format":"double","type":"number"},"category":{"type":"string"},"author":{"type":"string"}}},"Device":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"location":{"type":"string"},"locationExplanation":{"type":"string"},"height":{"format":"int32","type":"integer"},"width":{"format":"int32","type":"integer"}}},"ElectricityProduction":{"type":"object","properties":{"id":{"type":"string"},"deviceId":{"type":"string"},"userId":{"type":"string"},"watt":{"format":"double","type":"number"},"ampere":{"format":"double","type":"number"},"timestamp":{"format":"date-time","type":"string"}}},"FacebookAuthModel":{"type":"object","properties":{"userAccessToken":{"type":"string"}}},"GoogleAuthModel":{"type":"object","properties":{"authorizationCode":{"type":"string"},"apiKey":{"type":"string"}}},"SmartPrinterMessage":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"time":{"type":"string"},"temperature":{"format":"double","type":"number"},"pressure":{"format":"double","type":"number"},"smoke":{"format":"int32","type":"integer"}}},"SmartGardenMessage":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"time":{"type":"string"},"temperature":{"format":"double","type":"number"},"pressure":{"format":"double","type":"number"},"humidity":{"format":"double","type":"number"},"water":{"format":"int32","type":"integer"},"light":{"format":"int32","type":"integer"}}},"PanelSection":{"type":"object","properties":{"label":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"defaultRoute":{"type":"string"},"children":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/PanelMenuItem"}}}},"PanelMenuItem":{"type":"object","properties":{"label":{"type":"string"},"route":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"badgeValue":{"format":"int32","type":"integer"},"badgeType":{"type":"string"},"children":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/PanelMenuItem"}}}},"OddNice":{"type":"object","properties":{"teams":{"uniqueItems":false,"type":"array","items":{"type":"string"}},"commence_time":{"format":"int32","type":"integer"},"home_team":{"type":"string"},"odds":{"$ref":"#/definitions/OddH2H"}}},"OddH2H":{"type":"object","properties":{"homeOdd":{"format":"double","type":"number"},"drawOdd":{"format":"double","type":"number"},"visitOdd":{"format":"double","type":"number"}}},"TokenDTO":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}}},"UserInfo":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string"},"email":{"type":"string"},"password":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"token":{"type":"string"},"birthday":{"format":"date-time","type":"string"},"dateCreation":{"format":"date-time","type":"string"},"address":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"language":{"type":"string"},"timeZone":{"type":"string"},"postalCode":{"format":"int32","type":"integer"},"screenConfigurationIds":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/ScreenConfiguration"}},"deviceIds":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Device"}}}},"ScreenConfiguration":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"widgets":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Widget"}},"height":{"format":"int32","type":"integer"},"width":{"format":"int32","type":"integer"}}},"Widget":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"displayName":{"type":"string"},"type":{"type":"string"},"activated":{"type":"boolean"},"form":{"type":"string"},"font":{"type":"string"},"color":{"type":"string"},"size":{"type":"string"},"width":{"format":"int32","type":"integer"},"height":{"format":"int32","type":"integer"},"positionX":{"format":"int32","type":"integer"},"positionY":{"format":"int32","type":"integer"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"password":{"type":"string"}}},"TwitterAuthModel":{"type":"object","properties":{"apiKey":{"type":"string"}}}},"securityDefinitions":{"Bearer":{"name":"Authorization","in":"header","type":"apiKey","description":"Please enter JWT with Bearer into field"}},"security":[{"Bearer":[]}]} \ No newline at end of file