|
|
@@ -0,0 +1,47 @@
|
|
|
+import { Component, OnInit } from '@angular/core';
|
|
|
+
|
|
|
+import { ServerApiService } from './../../services/server-api.service';
|
|
|
+
|
|
|
+@Component({
|
|
|
+ selector: 'app-home',
|
|
|
+ templateUrl: './home.component.html',
|
|
|
+ styleUrls: ['./home.component.scss']
|
|
|
+})
|
|
|
+export class HomeComponent implements OnInit {
|
|
|
+ public servers?: Server[];
|
|
|
+ public dataTypes?: { [id: number]: ServerDataTypesConfig[] };
|
|
|
+ public data?: { [id: number]: { [type: string]: ServerData[] } };
|
|
|
+
|
|
|
+ constructor(private serverApi: ServerApiService) {}
|
|
|
+
|
|
|
+ async ngOnInit(): Promise<void> {
|
|
|
+ try {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date(end.getTime() - 1000 * 60 * 60 * 4);
|
|
|
+ this.servers = await this.serverApi.getAllServerConfigs();
|
|
|
+ this.dataTypes = {};
|
|
|
+ this.data = {};
|
|
|
+ for (const server of this.servers) {
|
|
|
+ this.dataTypes[server.id] = await this.serverApi.getServerDataTypes(server.id);
|
|
|
+
|
|
|
+ this.data[server.id] = {};
|
|
|
+ for (const dataType of this.dataTypes[server.id]) {
|
|
|
+ if (dataType.subtypes) {
|
|
|
+ for (const sub of dataType.subtypes) {
|
|
|
+ this.data[server.id][`${dataType.type}:${sub.type}`] = await this.serverApi.queryServerData(
|
|
|
+ server.id,
|
|
|
+ `${dataType.type}:${sub.type}`,
|
|
|
+ start,
|
|
|
+ end
|
|
|
+ );
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.data[server.id][dataType.type] = await this.serverApi.queryServerData(server.id, dataType.type, start, end);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ console.error(err);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|