Skip to content
Permalink
Browse files

refactoring

  • Loading branch information...
mlabouardy committed Apr 21, 2019
1 parent 2b5b3ad commit c163f73fb5a3fce8c4927dcb2ce72259abd71bbb
Showing with 5,967 additions and 3,057 deletions.
  1. +13 −11 .circleci/config.yml
  2. +6 −0 dashboard/package-lock.json
  3. +3 −2 dashboard/package.json
  4. BIN dashboard/src/android-icon-144x144.png
  5. BIN dashboard/src/android-icon-192x192.png
  6. BIN dashboard/src/android-icon-36x36.png
  7. BIN dashboard/src/android-icon-48x48.png
  8. BIN dashboard/src/android-icon-72x72.png
  9. BIN dashboard/src/android-icon-96x96.png
  10. +18 −0 dashboard/src/app/app.component.css
  11. +18 −34 dashboard/src/app/app.component.html
  12. +38 −7 dashboard/src/app/app.component.ts
  13. +20 −8 dashboard/src/app/app.module.ts
  14. +568 −2 dashboard/src/app/aws.service.ts
  15. +12 −0 dashboard/src/app/compute/compute.component.css
  16. +367 −242 dashboard/src/app/compute/compute.component.html
  17. +253 −25 dashboard/src/app/compute/compute.component.ts
  18. +7 −0 dashboard/src/app/dashboard/dashboard.component.css
  19. +172 −156 dashboard/src/app/dashboard/dashboard.component.html
  20. +88 −10 dashboard/src/app/dashboard/dashboard.component.ts
  21. +3 −0 dashboard/src/app/data-and-ai/data-and-ai.component.css
  22. +184 −8 dashboard/src/app/data-and-ai/data-and-ai.component.html
  23. +192 −1 dashboard/src/app/data-and-ai/data-and-ai.component.ts
  24. +15 −0 dashboard/src/app/google-analytics.service.spec.ts
  25. +18 −0 dashboard/src/app/google-analytics.service.ts
  26. +93 −0 dashboard/src/app/limits/limits.component.css
  27. +31 −0 dashboard/src/app/limits/limits.component.html
  28. +6 −6 dashboard/src/app/{monitoring/monitoring.component.spec.ts → limits/limits.component.spec.ts}
  29. +91 −0 dashboard/src/app/limits/limits.component.ts
  30. +0 −83 dashboard/src/app/monitoring/monitoring.component.html
  31. +0 −15 dashboard/src/app/monitoring/monitoring.component.ts
  32. +24 −0 dashboard/src/app/network/network.component.css
  33. +96 −26 dashboard/src/app/network/network.component.html
  34. +200 −21 dashboard/src/app/network/network.component.ts
  35. 0 dashboard/src/app/{monitoring/monitoring.component.css → profile/profile.component.css}
  36. +62 −0 dashboard/src/app/profile/profile.component.html
  37. +25 −0 dashboard/src/app/profile/profile.component.spec.ts
  38. +30 −0 dashboard/src/app/profile/profile.component.ts
  39. +8 −0 dashboard/src/app/security/security.component.css
  40. +63 −46 dashboard/src/app/security/security.component.html
  41. +184 −4 dashboard/src/app/security/security.component.ts
  42. +24 −0 dashboard/src/app/storage/storage.component.css
  43. +118 −42 dashboard/src/app/storage/storage.component.html
  44. +261 −191 dashboard/src/app/storage/storage.component.ts
  45. +15 −0 dashboard/src/app/store.service.spec.ts
  46. +35 −0 dashboard/src/app/store.service.ts
  47. BIN dashboard/src/apple-icon-114x114.png
  48. BIN dashboard/src/apple-icon-120x120.png
  49. BIN dashboard/src/apple-icon-144x144.png
  50. BIN dashboard/src/apple-icon-152x152.png
  51. BIN dashboard/src/apple-icon-180x180.png
  52. BIN dashboard/src/apple-icon-57x57.png
  53. BIN dashboard/src/apple-icon-60x60.png
  54. BIN dashboard/src/apple-icon-72x72.png
  55. BIN dashboard/src/apple-icon-76x76.png
  56. BIN dashboard/src/apple-icon-precomposed.png
  57. BIN dashboard/src/apple-icon.png
  58. BIN dashboard/src/assets/images/logo-home.png
  59. BIN dashboard/src/assets/images/logo.png
  60. BIN dashboard/src/assets/images/police-cap.png
  61. BIN dashboard/src/assets/images/services/aws/acl.png
  62. BIN dashboard/src/assets/images/services/aws/acm.png
  63. BIN dashboard/src/assets/images/services/aws/acm_expired.png
  64. BIN dashboard/src/assets/images/services/aws/api.png
  65. BIN dashboard/src/assets/images/services/aws/cloudfront.png
  66. BIN dashboard/src/assets/images/services/aws/cloudwatch_rt.png
  67. BIN dashboard/src/assets/images/services/aws/dns.png
  68. BIN dashboard/src/assets/images/services/aws/dynamodb.png
  69. BIN dashboard/src/assets/images/services/aws/ebs.png
  70. BIN dashboard/src/assets/images/services/aws/ebs_snapshot.png
  71. BIN dashboard/src/assets/images/services/aws/ebs_used.png
  72. BIN dashboard/src/assets/images/services/aws/eip.png
  73. BIN dashboard/src/assets/images/services/aws/elasticsearch.png
  74. BIN dashboard/src/assets/images/services/aws/elb.png
  75. BIN dashboard/src/assets/images/services/aws/empty_buckets.png
  76. BIN dashboard/src/assets/images/services/aws/glue_crawlers.png
  77. BIN dashboard/src/assets/images/services/aws/glue_jobs.png
  78. BIN dashboard/src/assets/images/services/aws/keypair.png
  79. BIN dashboard/src/assets/images/services/aws/kinesis.png
  80. BIN dashboard/src/assets/images/services/aws/kinesis_shards.png
  81. BIN dashboard/src/assets/images/services/aws/kms.png
  82. BIN dashboard/src/assets/images/services/aws/kube.png
  83. BIN dashboard/src/assets/images/services/aws/memcached.png
  84. BIN dashboard/src/assets/images/services/aws/pipeline.png
  85. BIN dashboard/src/assets/images/services/aws/redis.png
  86. BIN dashboard/src/assets/images/services/aws/redshift.png
  87. BIN dashboard/src/assets/images/services/aws/reserved.png
  88. BIN dashboard/src/assets/images/services/aws/route53.png
  89. BIN dashboard/src/assets/images/services/aws/route_table.png
  90. BIN dashboard/src/assets/images/services/aws/routetables.png
  91. BIN dashboard/src/assets/images/services/aws/s3.png
  92. BIN dashboard/src/assets/images/services/aws/s3_objects.png
  93. BIN dashboard/src/assets/images/services/aws/scheduled.png
  94. BIN dashboard/src/assets/images/services/aws/security_group.png
  95. BIN dashboard/src/assets/images/services/aws/size.png
  96. BIN dashboard/src/assets/images/services/aws/sns.png
  97. BIN dashboard/src/assets/images/services/aws/spot.png
  98. BIN dashboard/src/assets/images/services/aws/sqs.png
  99. BIN dashboard/src/assets/images/services/aws/sqs_message.png
  100. BIN dashboard/src/assets/images/services/aws/subnet.png
  101. BIN dashboard/src/assets/images/services/aws/swf.png
  102. BIN dashboard/src/assets/images/services/aws/traffic.png
  103. BIN dashboard/src/assets/images/services/aws/vpc.png
  104. BIN dashboard/src/assets/images/services/aws/white/aws.png
  105. BIN dashboard/src/assets/images/services/aws/white/cloudformation.png
  106. BIN dashboard/src/assets/images/services/aws/white/dynamodb.png
  107. BIN dashboard/src/assets/images/services/aws/white/ebs.png
  108. BIN dashboard/src/assets/images/services/aws/white/ec2.png
  109. BIN dashboard/src/assets/images/services/aws/white/elastic_ip.png
  110. BIN dashboard/src/assets/images/services/aws/white/elb.png
  111. BIN dashboard/src/assets/images/services/aws/white/iam_groups.png
  112. BIN dashboard/src/assets/images/services/aws/white/iam_policies.png
  113. BIN dashboard/src/assets/images/services/aws/white/iam_roles.png
  114. BIN dashboard/src/assets/images/services/aws/white/iam_users.png
  115. BIN dashboard/src/assets/images/services/aws/white/igw.png
  116. BIN dashboard/src/assets/images/services/aws/white/instance_profiles.png
  117. BIN dashboard/src/assets/images/services/aws/white/rds.png
  118. BIN dashboard/src/assets/images/services/aws/white/route53.png
  119. BIN dashboard/src/assets/images/services/aws/white/ses.png
  120. +17 −0 dashboard/src/assets/js/app.js
  121. +0 −7 dashboard/src/assets/js/core/bootstrap.min.js
  122. +0 −4 dashboard/src/assets/js/core/jquery.3.2.1.min.js
  123. +0 −4 dashboard/src/assets/js/core/popper.min.js
  124. +0 −12 dashboard/src/assets/js/demo.js
  125. +0 −7 dashboard/src/assets/js/plugin/chart-circle/circles.min.js
  126. +0 −4 dashboard/src/assets/js/plugin/jquery-mapael/jquery.mapael.min.js
  127. +0 −3 dashboard/src/assets/js/plugin/jquery-mapael/maps/README.txt
  128. +0 −165 dashboard/src/assets/js/plugin/jquery-mapael/maps/france_departments.js
  129. +0 −5 dashboard/src/assets/js/plugin/jquery-mapael/maps/france_departments.min.js
  130. +0 −148 dashboard/src/assets/js/plugin/jquery-mapael/maps/usa_states.js
  131. +0 −2 dashboard/src/assets/js/plugin/jquery-mapael/maps/usa_states.min.js
  132. +0 −229 dashboard/src/assets/js/plugin/jquery-mapael/maps/world_countries.js
  133. +0 −5 dashboard/src/assets/js/plugin/jquery-mapael/maps/world_countries.min.js
  134. +0 −285 dashboard/src/assets/js/plugin/jquery-mapael/maps/world_countries_mercator.js
  135. +0 −4 dashboard/src/assets/js/plugin/jquery-mapael/maps/world_countries_mercator.min.js
  136. +0 −322 dashboard/src/assets/js/plugin/jquery-mapael/maps/world_countries_miller.js
  137. +0 −3 dashboard/src/assets/js/plugin/jquery-mapael/maps/world_countries_miller.min.js
  138. +0 −16 dashboard/src/assets/js/plugin/jquery-scrollbar/jquery.scrollbar.min.js
  139. +0 −8 dashboard/src/assets/js/plugin/jquery-ui-1.12.1.custom/jquery-ui.min.js
  140. +0 −57 dashboard/src/assets/js/ready.js
  141. +0 −2 dashboard/src/assets/js/ready.min.js
  142. +0 −2 dashboard/src/browserconfig.xml
  143. BIN dashboard/src/favicon-16x16.png
  144. BIN dashboard/src/favicon-32x32.png
  145. BIN dashboard/src/favicon-96x96.png
  146. BIN dashboard/src/favicon.ico
  147. +23 −38 dashboard/src/index.html
  148. +0 −41 dashboard/src/manifest.json
  149. BIN dashboard/src/ms-icon-144x144.png
  150. BIN dashboard/src/ms-icon-150x150.png
  151. BIN dashboard/src/ms-icon-310x310.png
  152. BIN dashboard/src/ms-icon-70x70.png
  153. +73 −45 dashboard/src/styles.css
  154. +5 −7 handlers/{ → aws}/acm_handler.go
  155. +20 −0 handlers/aws/activemq_handler.go
  156. +5 −7 handlers/{ → aws}/apigateway_handler.go
  157. +4 −6 handlers/{ → aws}/cloudfront_handler.go
  158. +35 −0 handlers/aws/cloudtrail_handler.go
  159. +3 −5 handlers/{ → aws}/cloudwatch_handler.go
  160. +65 −0 handlers/aws/costexplorer_handler.go
  161. +20 −0 handlers/aws/datapipeline_handler.go
  162. +2 −4 handlers/{ → aws}/dynamodb_handler.go
  163. +2 −4 handlers/{ → aws}/ebs_handler.go
  164. +95 −0 handlers/aws/ec2_handler.go
  165. +2 −4 handlers/{ → aws}/ecs_handler.go
  166. +20 −0 handlers/aws/eks_handler.go
  167. +3 −5 handlers/{ → aws}/elasticache_handler.go
  168. +3 −5 handlers/{ → aws}/elb_handler.go
  169. +20 −0 handlers/aws/es_handler.go
  170. +35 −0 handlers/aws/glue_handler.go
  171. +5 −5 handlers/{ → aws}/handler.go
  172. +22 −9 handlers/{ → aws}/iam_handler.go
  173. +35 −0 handlers/aws/kinesis_handler.go
  174. +3 −5 handlers/{ → aws}/kms_handler.go
  175. +19 −8 handlers/{ → aws}/lambda_handler.go
  176. +35 −0 handlers/aws/logs_handler.go
  177. +2 −4 handlers/{ → aws}/rds_handler.go
  178. +20 −0 handlers/aws/redshift_handler.go
  179. +3 −5 handlers/{ → aws}/resources_handler.go
  180. +35 −0 handlers/aws/route53_handler.go
  181. +21 −11 handlers/{ → aws}/s3_handler.go
  182. +2 −4 handlers/{ → aws}/snapshot_handler.go
  183. +2 −4 handlers/{ → aws}/sns_handler.go
  184. +35 −0 handlers/aws/sqs_handler.go
  185. +50 −0 handlers/aws/support_handler.go
  186. +20 −0 handlers/aws/swf_handler.go
  187. +47 −19 handlers/{ → aws}/vpc_handler.go
  188. +0 −37 handlers/costexplorer_handler.go
  189. +0 −52 handlers/ec2_handler.go
  190. +0 −22 handlers/route53_handler.go
  191. +0 −22 handlers/sqs_handler.go
  192. +64 −37 main.go
  193. +1 −1 models/{ → aws}/alarm.go
  194. +1 −1 models/{ → aws}/autoscaling.go
  195. +1 −1 models/{ → aws}/bucket.go
  196. +1 −1 models/{ → aws}/cluster.go
  197. +1 −1 models/{ → aws}/cost.go
  198. +1 −1 models/{ → aws}/db_instance.go
  199. +1 −1 models/{ → aws}/ec2.go
  200. +1 −1 models/{ → aws}/eip.go
  201. +1 −1 models/{ → aws}/elb.go
  202. +1 −1 models/{ → aws}/hosted_zone.go
  203. +1 −1 models/{ → aws}/internet_gateway.go
  204. +1 −1 models/{ → aws}/key_pair.go
  205. +1 −1 models/{ → aws}/lambda.go
  206. +1 −1 models/{ → aws}/nat_gateway.go
  207. +1 −1 models/{ → aws}/network_acl.go
  208. +1 −1 models/{ → aws}/queue.go
  209. +1 −1 models/{ → aws}/region.go
  210. +1 −1 models/{ → aws}/route_table.go
  211. +1 −1 models/{ → aws}/security_group.go
  212. +1 −1 models/{ → aws}/service.go
  213. +1 −1 models/{ → aws}/snapshot.go
  214. +1 −1 models/{ → aws}/table.go
  215. +1 −1 models/{ → aws}/task.go
  216. +11 −0 models/aws/ticket.go
  217. +1 −1 models/{ → aws}/topic.go
  218. +1 −1 models/{ → aws}/volume.go
  219. +1 −1 models/{ → aws}/vpc.go
  220. +5 −3 services/{ → aws}/acl.go
  221. +5 −3 services/{ → aws}/acm.go
  222. +27 −0 services/aws/activemq.go
  223. +5 −4 services/{apigateway_handler.go → aws/apigateway.go}
  224. +5 −3 services/{ → aws}/autoscaling.go
  225. +5 −3 services/{ → aws}/aws.go
  226. +6 −5 services/{ → aws}/cloudfront.go
  227. +147 −0 services/aws/cloudtrail.go
  228. +5 −3 services/{ → aws}/cloudwatch.go
  229. +170 −0 services/aws/costexplorer.go
  230. +26 −0 services/aws/datapipeline.go
  231. +6 −4 services/{ → aws}/dynamodb.go
  232. +5 −3 services/{ → aws}/ebs.go
  233. +81 −6 services/{ → aws}/ec2.go
  234. +7 −5 services/{ → aws}/ecs.go
  235. +14 −10 services/{ → aws}/eip.go
  236. +30 −0 services/aws/eks.go
  237. +4 −2 services/{ → aws}/elasticache.go
  238. +6 −5 services/{ → aws}/elb.go
  239. +28 −0 services/aws/es.go
  240. +44 −0 services/aws/glue.go
  241. +107 −0 services/aws/iam.go
  242. +5 −3 services/{ → aws}/internet_gateway.go
  243. +5 −3 services/{ → aws}/key_pair.go
  244. +58 −0 services/aws/kinesis.go
  245. +4 −2 services/{ → aws}/kms.go
  246. +77 −5 services/{ → aws}/lambda.go
  247. +103 −0 services/aws/logs.go
  248. +144 −0 services/aws/nat_gateway.go
  249. +5 −3 services/{ → aws}/rds.go
  250. +27 −0 services/aws/redshift.go
  251. +4 −2 services/{ → aws}/resources.go
  252. +43 −0 services/aws/route53.go
  253. +5 −3 services/{ → aws}/route_table.go
  254. +92 −52 services/{ → aws}/s3.go
  255. +5 −6 services/{ → aws}/security_group.go
  256. +5 −3 services/{ → aws}/snapshot.go
  257. +5 −3 services/{ → aws}/sns.go
  258. +138 −0 services/aws/sqs.go
  259. +104 −0 services/aws/support.go
  260. +26 −0 services/aws/swf.go
  261. +24 −3 services/{ → aws}/vpc.go
  262. +7 −0 services/cache/cache.go
  263. +24 −0 services/cache/memory.go
  264. +49 −0 services/cache/redis.go
  265. +0 −76 services/costexplorer.go
  266. +0 −56 services/iam.go
  267. +0 −47 services/nat_gateway.go
  268. +0 −16 services/route53.go
  269. +0 −40 services/sqs.go
@@ -4,38 +4,40 @@ jobs:
branches:
only:
- master
- develop
docker:
- image: circleci/node:8.10-stretch-browsers
working_directory: ~/komiser
steps:
- checkout
- restore_cache:
key: node-modules-{{checksum "public/package.json"}}
key: node-modules-{{checksum "dashboard/package.json"}}
- run:
name: Install dependencies
command: cd public && npm install
command: cd dashboard && npm install
- save_cache:
key: node-modules-{{checksum "public/package.json"}}
key: node-modules-{{checksum "dashboard/package.json"}}
paths:
- public/node_modules
- dashboard/node_modules
- run:
name: Build artifact
command: cd public && npm run build
command: cd dashboard && npm run build
- persist_to_workspace:
root: public
root: dashboard
paths:
- dist
build_cli:
branches:
only:
- master
- develop
docker:
- image: golang:1.8
- image: golang:1.10.3
working_directory: /go/src/github.com/mlabouardy/komiser
steps:
- checkout
- attach_workspace:
at: /tmp/public
at: /tmp/dashboard
- run:
name: Install dependencies
command: go get -v
@@ -46,7 +48,7 @@ jobs:
go get github.com/elazarl/go-bindata-assetfs/...
- run:
name: Fix path
command: mv /tmp/public/dist .
command: mv /tmp/dashboard/dist .
- run:
name: Create assets
command: go-bindata-assetfs -o template.go dist/ dist/assets/images/
@@ -79,8 +81,9 @@ jobs:
branches:
only:
- master
- develop
docker:
- image: docker:18.02.0-ce
- image: docker:18.09.1-ce
steps:
- checkout
- setup_remote_docker
@@ -95,7 +98,6 @@ jobs:
docker push mlabouardy/komiser:latest
docker push mlabouardy/komiser:${CIRCLE_SHA1}

workflows:
version: 2
build_and_deploy:

Some generated files are not rendered by default. Learn more.

Oops, something went wrong.
@@ -1,6 +1,6 @@
{
"name": "dashboard",
"version": "0.0.0",
"name": "komiser-dashboard",
"version": "1.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
@@ -42,6 +42,7 @@
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"@types/chartist": "^0.9.44",
"@types/google.analytics": "0.0.39",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,18 @@
.service-logo{
width: 30px;
}

.notif-box {
width: 370px;
}

.notif-content{
width: 100%;
}

.footer {
position: absolute;
width: 100%;
bottom: 0vh;
margin-top: 50px;
}
@@ -1,7 +1,7 @@
<div class="main-header">
<div class="logo-header">
<a class="logo" href="index.html">
<img src="assets/images/police-cap.png" style="width: 30px; margin-right:10px" /> Komiser Dashboard</a>
<img src="assets/images/logo-home.png" style="width: 32px; margin-right:10px" /> Komiser Dashboard</a>
<button aria-controls="sidebar" aria-expanded="false" aria-label="Toggle navigation" class="navbar-toggler sidenav-toggler ml-auto"
data-target="collapse" data-toggle="collapse" type="button">
<span class="navbar-toggler-icon"></span>
@@ -23,38 +23,38 @@
</div>
</form>
<ul class="navbar-nav topbar-nav ml-md-auto align-items-center">
<li class="nav-item dropdown hidden-caret">
<a aria-expanded="false" aria-haspopup="true" class="nav-link dropdown-toggle" data-toggle="dropdown" routerLink="/limits" id="navbarDropdown"
role="button">
<i class="la la-rocket"></i>
</a>
</li>
<li class="nav-item dropdown hidden-caret">
<a aria-expanded="false" aria-haspopup="true" class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" id="navbarDropdown"
role="button">
<i class="la la-bell"></i>
<span class="notification">3</span>
<span class="notification" *ngIf="notifications.length > 0">{{notifications.length}}</span>
</a>
<ul aria-labelledby="navbarDropdown" class="dropdown-menu notif-box">
<li>
<div class="dropdown-title">
You have 2 new notification
You have {{notifications.length}} new notification
</div>
</li>
<li>
<div class="notif-center">
<a href="#">
<a href="#" *ngFor="let notification of notifications">
<div class="notif-icon notif-primary">
<i class="la la-user-plus"></i>
</div>
<div class="notif-content">
<span class="block">lambda:invoke is missing</span>
<span class="time">5 minutes ago</span>
<span class="block">
{{notification.content}}
</span>
<span class="badge badge-secondary badge-pill float-right" *ngIf="notification.total > 1">{{notification.total}}</span>
<span class="time">{{calcMoment(notification.timestamp)}}</span>
</div>
</a>
<a href="#">
<div class="notif-icon notif-primary">
<i class="la la-user-plus"></i>
</div>
<div class="notif-content">
<span class="block">rds:provision is missing</span>
<span class="time">1 minutes ago</span>
</div>
</a>
</div>
</li>
<li>
@@ -85,21 +85,11 @@
<div class="clearfix"></div>
<div aria-expanded="true" class="collapse in" id="collapseExample" style="">
<ul class="nav">
<li>
<a href="#profile">
<li routerLinkActive="active">
<a routerLink="/profile">
<span class="link-collapse">My Profile</span>
</a>
</li>
<li>
<a href="#edit">
<span class="link-collapse">Edit Profile</span>
</a>
</li>
<li>
<a href="#settings">
<span class="link-collapse">Settings</span>
</a>
</li>
</ul>
</div>
</div>
@@ -109,7 +99,7 @@
<a routerLink="/">
<i class="la la-home"></i>
<p>Dashboard</p>
<span class="badge badge-danger">15</span>
<span class="badge badge-danger" *ngIf="redAlarms > 0">{{redAlarms}}</span>
</a>
</li>
<li class="nav-item" routerLinkActive="active">
@@ -142,12 +132,6 @@
<p>Data & AI</p>
</a>
</li>
<li class="nav-item" routerLinkActive="active">
<a routerLink="/monitoring">
<i class="la la-dashboard"></i>
<p>Monitoring</p>
</a>
</li>
</ul>
</div>
</div>
@@ -1,22 +1,53 @@
import { Component } from '@angular/core';
import { Component, OnDestroy } from '@angular/core';
import { AwsService } from './aws.service';
import { StoreService } from './store.service';
import { not } from '@angular/compiler/src/output/output_ast';
import { Subscription } from 'rxjs';

import * as moment from 'moment';

declare var ga: Function;

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
export class AppComponent implements OnDestroy {

public accountName: string;
public accountName: string = 'Username';
public redAlarms: number;
public notifications: Array<Object> = [];
public _subscription: Subscription;

constructor(private awsService: AwsService){
constructor(private awsService: AwsService, private storeService: StoreService){

this.awsService.getAccountName().subscribe(data => {
this.accountName = data;
this.accountName = data.username;
}, err => {
console.log(err)
this.accountName = ""
this.accountName = 'Username';
});

this.awsService.getCloudwatchAlarms().subscribe(data => {
this.redAlarms = data.ALARM;
}, err => {
this.redAlarms = 0;
});

this._subscription = this.storeService.newNotification.subscribe(notifications => {
this.notifications = [];
Object.keys(notifications).forEach(key => {
this.notifications.push(notifications[key]);
})
})
}

ngOnDestroy() {
this._subscription.unsubscribe();
}

public calcMoment(timestamp){
return moment(timestamp).fromNow();
}

}
@@ -10,11 +10,13 @@ import { StorageComponent } from './storage/storage.component';
import { NetworkComponent } from './network/network.component';
import { SecurityComponent } from './security/security.component';
import { DataAndAiComponent } from './data-and-ai/data-and-ai.component';
import { MonitoringComponent } from './monitoring/monitoring.component';

import { AwsService } from './aws.service';

import { StoreService } from './store.service';
import { PaginationModule } from 'ngx-bootstrap/pagination';
import { ProfileComponent } from './profile/profile.component';
import { LimitsComponent } from './limits/limits.component';
import { GoogleAnalyticsService } from './google-analytics.service';



@@ -45,9 +47,14 @@ const appRoutes: Routes = [
data: { title: 'Data & AI - Komiser' }
},
{
path: 'monitoring',
component: MonitoringComponent,
data: { title: 'Monitoring - Komiser' }
path: 'profile',
component: ProfileComponent,
data: { title: 'Profile - Komiser' }
},
{
path: 'limits',
component: LimitsComponent,
data: { title: 'Service Limits Checks - Komiser' }
},
{ path: '',
component: DashboardComponent,
@@ -64,7 +71,8 @@ const appRoutes: Routes = [
NetworkComponent,
SecurityComponent,
DataAndAiComponent,
MonitoringComponent
ProfileComponent,
LimitsComponent
],
imports: [
RouterModule.forRoot(
@@ -75,8 +83,12 @@ const appRoutes: Routes = [
PaginationModule.forRoot()
],
providers: [
AwsService
AwsService,
StoreService,
GoogleAnalyticsService
],
bootstrap: [AppComponent]
})
export class AppModule { }
export class AppModule {
constructor(protected _googleAnalyticsService: GoogleAnalyticsService){}
}
Oops, something went wrong.

0 comments on commit c163f73

Please sign in to comment.
You can’t perform that action at this time.