222 Commits

Author SHA1 Message Date
Manuel Romero
0283850cce Assign user to provision 2020-07-06 14:33:17 +02:00
Manuel Romero
dd1380f13b discurage external access 2020-06-25 16:53:23 +02:00
Manuel Romero
811c1560c4 docker-compose back to version 3.7 2020-06-10 16:46:00 +02:00
Manuel Romero
257cc64d8d Added docker image versions for workers 2020-06-10 16:40:15 +02:00
Manuel Romero
7abf246fd5 some examples in readme.md 2020-06-08 10:33:51 +02:00
Manuel Romero
3aea0e6acc new version 2020-06-08 09:16:46 +02:00
Manuel Romero
d3bf735edc build order changed 2020-06-05 15:53:09 +02:00
Manuel Romero
de09fe22a7 build order changed 2020-06-05 15:43:25 +02:00
Manuel Romero
75bbf452d2 dbinit 2020-06-05 15:30:11 +02:00
Manuel Romero
c5f3ddc4f2 better help script for cli 2020-06-05 15:24:23 +02:00
Manuel Romero
6751e8f0e3 final commit 2020-06-05 15:04:20 +02:00
Manuel Romero
aa4e6a9008 entrypoint for cli 2020-06-05 14:50:32 +02:00
Manuel Romero
9ef992752c dockerfiles 2020-06-05 13:46:24 +02:00
Manuel Romero
9ca0d8c374 rename projects 2020-06-05 12:56:06 +02:00
Manuel Romero
0ba99ed104 fix 2020-06-05 12:50:53 +02:00
Manuel Romero
a4b2262699 new cli docker image. Depency qmi-cloud-common 2020-06-05 12:46:30 +02:00
Manuel Romero
6f93a796a5 boom new dependency 2020-06-05 11:20:40 +02:00
Manuel Romero
2388fb6796 Better docker-compose 2020-06-05 10:44:29 +02:00
Manuel Romero
a920087c2c worker refactor with common 2020-06-04 17:21:06 +02:00
Manuel Romero
676057c583 new fix 2020-06-04 13:40:57 +02:00
Manuel Romero
bc9d2979f0 revert fix 2020-06-04 13:35:27 +02:00
Manuel Romero
4f79244f41 fix 2020-06-04 12:21:49 +02:00
Manuel Romero
297fe7bdbf server 2020-06-03 18:06:42 +02:00
Manuel Romero
52f4d11085 do not delete destroy items from destroy table 2020-06-03 18:00:19 +02:00
Manuel Romero
c4fe70cd9a Adding actualDestroyDate 2020-06-03 17:23:07 +02:00
Manuel Romero
422e5223c0 fix timeRunning for destroy with stopped vms 2020-06-03 16:22:33 +02:00
Manuel Romero
ccfb966afa disabled vmtypes query 2020-06-02 17:51:47 +02:00
Manuel Romero
a4a0c0a8d6 fix 2020-06-02 17:36:08 +02:00
Manuel Romero
749e607634 disabled vmtype 2020-06-02 17:34:51 +02:00
Manuel Romero
ae7c30cf23 Merge branch 'dev' 2020-06-02 14:55:15 +02:00
Manuel Romero
72e18a5758 last small fix 2020-06-02 14:49:48 +02:00
Manuel Romero
8fdef58216 fix 2020-06-02 13:50:27 +02:00
Manuel Romero
493d0f255d fixes 2020-06-02 13:30:14 +02:00
Manuel Romero
aba0eeff9c fix error_plan and error_init 2020-06-02 13:22:12 +02:00
Manuel Romero
600390ba5d Try error at init and plan 2020-06-02 13:06:37 +02:00
Manuel Romero
14d1c929a8 Removed old attributes for provision and scenario 2020-06-01 15:39:33 +02:00
Manuel Romero
22b0f5f66e Merge branch 'dev' 2020-05-29 14:26:48 +02:00
Manuel Romero
368d1fb318 fix old scenarios 2020-05-29 13:53:40 +02:00
Manuel Romero
fd7f2011ba provision showing scenario version 2020-05-29 13:35:41 +02:00
Manuel Romero
4d55ea40f1 fix version provision 2020-05-29 13:16:50 +02:00
Manuel Romero
3436b762bb Fix scenario version 2020-05-29 13:11:39 +02:00
Manuel Romero
d154688afc A lot of things. 2020-05-29 12:31:49 +02:00
Manuel Romero
d40f7b2aef fix sendEmail 2020-05-28 17:42:23 +02:00
Manuel Romero
ef53b8856e Fix sendEmail 2020-05-28 17:39:17 +02:00
Manuel Romero
4cf3611134 new version 2020-05-28 12:31:17 +02:00
Manuel Romero
a33bfa3012 apikeys on ui 2020-05-28 12:27:55 +02:00
Manuel Romero
2fe3ff5a0d echo 2020-05-28 10:36:30 +02:00
Manuel Romero
e6b03ad6b7 no uris 2020-05-28 10:24:55 +02:00
Manuel Romero
b7fb34bf07 Some minor fixes 2020-05-28 09:57:55 +02:00
Manuel Romero
a87924e6e6 faq 2020-05-28 09:50:55 +02:00
Manuel Romero
4d58eff50b Stop period to 20 days 2020-05-28 09:48:42 +02:00
Manuel Romero
5cf2e46c20 new version 2020-05-26 08:03:34 +02:00
Manuel Romero
89c431d651 fix 2020-05-22 13:43:40 +02:00
Manuel Romero
f7b21062d4 fix 2020-05-22 13:39:03 +02:00
Manuel Romero
1486130bb2 deploy opts 2020-05-22 13:15:52 +02:00
Manuel Romero
52d612ce3e Merge branch 'master' into dev 2020-05-22 12:49:17 +02:00
Manuel Romero
f44aad53d9 Send error back as soon as object not found after provision or destroy 2020-05-22 09:27:52 +02:00
Manuel Romero
e3fd3151c9 small fix table users 2020-05-22 09:07:02 +02:00
Manuel Romero
a8288938f5 if isExtenal 2020-05-21 15:16:55 +02:00
Manuel Romero
3c3d6b0477 Adding subnet for appgw 2020-05-21 14:50:15 +02:00
Manuel Romero
695943a194 fix 2020-05-21 12:54:34 +02:00
Manuel Romero
40f3ad19e0 Getting subscription at provision 2020-05-21 12:07:00 +02:00
Manuel Romero
57d0c14aa5 fix 2020-05-21 11:01:55 +02:00
Manuel Romero
f715a0c910 Fix db 2020-05-21 11:00:15 +02:00
Manuel Romero
6f97c0e712 Adding subscription id and subnetid to tf execution 2020-05-21 10:20:44 +02:00
Manuel Romero
1ba83095d4 building lastestdev 2020-05-21 09:53:48 +02:00
Manuel Romero
d798fe4b40 trigger 2020-05-21 09:50:45 +02:00
Manuel Romero
b8d9d60df9 fix 2020-05-21 09:42:07 +02:00
Manuel Romero
6da9570384 test build 2020-05-21 09:33:03 +02:00
Manuel Romero
031c989747 do not build latest if branch 2020-05-21 09:10:21 +02:00
Manuel Romero
d57936a780 tag names for branches 2020-05-21 09:00:39 +02:00
Manuel Romero
558f1523d4 Test 2020-05-21 08:51:59 +02:00
Manuel Romero
183d743600 removed mongo-express 2020-05-20 19:03:16 +02:00
Manuel Romero
47688990ff fi 2020-05-20 18:17:18 +02:00
Manuel Romero
7fea117e64 Fix mongo url 2020-05-20 18:11:15 +02:00
Manuel Romero
a2b623a36c Adding GIT_TAG 2020-05-20 16:15:54 +02:00
Manuel Romero
00bbd12e6d vmtypes to dbinit 2020-05-20 14:12:46 +02:00
Manuel Romero
29dd07c1bd Added initial data 2020-05-20 14:00:29 +02:00
Manuel Romero
646c075ebe Little thing for cosmosdb in sessions for express 2020-05-20 12:57:37 +02:00
Manuel Romero
6c00375362 Accomodation for CosmosDB 2020-05-19 17:26:54 +02:00
Manuel Romero
2baaa1e0d5 Fix edit scenario with subscription 2020-05-19 17:26:13 +02:00
Manuel Romero
007b2bcc97 Added subscriptions 2020-05-18 09:12:31 +02:00
Manuel Romero
7e74f80e0f subscription 2020-05-17 19:02:58 +02:00
Manuel Romero
3833e45655 Subscriptions per scenario 2020-05-17 13:10:35 +02:00
Manuel Romero
825bdfb3e1 Setting prefix from provision scenario 2020-05-16 15:17:47 +02:00
Manuel Romero
e924252a21 get provision vmImages 2020-05-14 19:06:37 +02:00
Manuel Romero
dd3078b943 Edit and Add scenario 2020-05-13 12:46:38 +02:00
Manuel Romero
bfa1c9201a fix scenarios admin 2020-05-13 10:15:34 +02:00
Manuel Romero
dbd7a10202 fix scenarios admin 2020-05-13 09:59:42 +02:00
Manuel Romero
0328373022 Adding populates and selet to get mongo 2020-05-12 19:05:43 +02:00
Manuel Romero
a072653cac is enabled info 2020-05-12 12:53:15 +02:00
Manuel Romero
794eb8c908 Adding AutoDestroy times 2020-05-12 12:40:25 +02:00
Manuel Romero
62cc26e65d _buildVarsExec 2020-05-10 18:10:17 +02:00
Manuel Romero
f7a0968a5e Do not set waf policy if not external 2020-05-10 18:02:03 +02:00
Manuel Romero
3acba670ee fix 2020-05-10 14:41:53 +02:00
Manuel Romero
3a3cb3196e fix provisions 2020-05-10 12:58:20 +02:00
Manuel Romero
d742a4ff2f More to admin provisions 2020-05-10 12:44:45 +02:00
Manuel Romero
990b0d80e3 Fix 2020-05-10 11:57:23 +02:00
Manuel Romero
2d512b49be Disable scenario property 2020-05-10 11:50:35 +02:00
Manuel Romero
61b57d5bc7 Setting isExternalAccess from UI 2020-05-08 16:27:54 +02:00
Manuel Romero
8f48cfbc69 lastLogin 2020-05-07 17:43:31 +02:00
Manuel Romero
9cee830fd4 Admin enhance 2020-05-07 17:18:19 +02:00
Manuel Romero
4f481fd88f vmtypes endpoint 2020-05-07 12:32:21 +02:00
Manuel Romero
2faf109353 disksize default 2020-05-07 12:21:09 +02:00
Manuel Romero
19a0fa715e 128 as minimum disk size 2020-05-07 12:10:54 +02:00
Manuel Romero
2e194b72b8 display disk size on UI 2020-05-07 12:06:02 +02:00
Manuel Romero
039a13bd30 set disk size from UI 2020-05-07 11:56:14 +02:00
Manuel Romero
26fa09541a less logs and oid as index 2020-05-07 09:13:55 +02:00
Manuel Romero
cfbe52efc1 paging 2020-05-06 17:37:28 +02:00
Manuel Romero
a267fedaef Adding notifications to Admin 2020-05-06 08:59:57 +02:00
Manuel Romero
d6cb0fc78f No auto refresh provisions 2020-05-05 16:34:31 +02:00
Manuel Romero
1fbbbde1a1 No needed log 2020-05-05 14:59:16 +02:00
Manuel Romero
08721bb810 populate user for ApiKey model 2020-05-05 14:25:21 +02:00
Manuel Romero
68d2bef6ba populate user for ApiKey model 2020-05-05 14:23:59 +02:00
Manuel Romero
5199cabd26 fix 2020-05-05 14:19:51 +02:00
Manuel Romero
59546838ac fix 2020-05-05 14:15:21 +02:00
Manuel Romero
4740163572 fix 2020-05-05 13:59:13 +02:00
Manuel Romero
22af7f903e reorg shell scripts and cron 2020-05-05 13:55:38 +02:00
Manuel Romero
e921182575 Getting scenarios from git 2020-05-05 13:26:49 +02:00
Manuel Romero
b88e356536 Scenarios edit from admin 2020-05-04 13:41:36 +02:00
Manuel Romero
9292bba09a Admin sections pills 2020-05-04 12:32:57 +02:00
Manuel Romero
8b1e978e7c Merge branch 'master' into p2 2020-05-04 11:08:13 +02:00
Manuel Romero
24b1252911 fix start vms 2020-05-04 09:22:05 +02:00
Manuel Romero
edece4f91c Scenarios in admin 2020-05-03 21:53:36 +02:00
Manuel Romero
b84d6631b3 Merge branch 'master' into p2 2020-04-30 16:27:17 +02:00
Manuel Romero
73a427bb09 Disable scenarios 2020-04-30 15:34:06 +02:00
Manuel Romero
0063e27bb2 only populates for user 2020-04-30 13:25:59 +02:00
Manuel Romero
24708f2bd8 Api-docs only for admins 2020-04-30 13:14:00 +02:00
Manuel Romero
317266e09a getById instead of getSingle 2020-04-30 13:08:00 +02:00
Manuel Romero
a9ad3d34f9 user model less methods 2020-04-30 13:02:41 +02:00
Manuel Romero
2b2554e4f7 Security on provisions 2020-04-30 12:56:27 +02:00
Manuel Romero
343c14d846 Improvements 2020-04-30 12:46:31 +02:00
Manuel Romero
fd158a2e56 paging provisions 2020-04-29 16:14:11 +02:00
Manuel Romero
dd542457de polish ui 2020-04-29 13:59:32 +02:00
Manuel Romero
74cacd2854 Info 2020-04-28 14:06:29 +02:00
Manuel Romero
5fada4feed Also fixed send email 2020-04-28 14:00:44 +02:00
Manuel Romero
4ef3df4d1d info showing new sizing 2020-04-28 12:53:17 +02:00
Manuel Romero
d7ba6dca3b Change order 2020-04-28 11:28:29 +02:00
Manuel Romero
0702c2a058 Test fix 2020-04-28 11:13:22 +02:00
Manuel Romero
3fb9c3b522 ImageID 2020-04-28 10:58:35 +02:00
Manuel Romero
22d7b724a1 No needed field 2020-04-28 10:08:37 +02:00
Manuel Romero
9a627d4927 New way to size provisions 2020-04-28 10:05:32 +02:00
Manuel Romero
c8fddfe18d Adding more comples provision details for vms 2020-04-27 18:17:00 +02:00
Manuel Romero
805a93dc60 Using vmImage 2020-04-27 12:20:03 +02:00
Manuel Romero
f65391ef6d fix destroy 2020-04-27 12:01:35 +02:00
Manuel Romero
6ed9bedae0 UI and provision with Image 2020-04-27 12:00:35 +02:00
Manuel Romero
6b4757df36 Green text 2020-04-26 11:11:24 +02:00
Manuel Romero
e1970e716b More tooltips 2020-04-26 11:04:14 +02:00
Manuel Romero
b996cf004c Adding provision description 2020-04-26 10:58:08 +02:00
Manuel Romero
92f325a67b les logs 2020-04-25 11:15:16 +02:00
Manuel Romero
81919c8e9d Add notification 2020-04-25 11:10:01 +02:00
Manuel Romero
2a3eccfe30 fix 2020-04-24 15:51:51 +02:00
Manuel Romero
14158d3f60 fix scenarios model 2020-04-24 15:23:19 +02:00
Manuel Romero
fbec2def38 remove no needed templates 2020-04-24 13:58:37 +02:00
Manuel Romero
b610a376f1 Name gen image 2020-04-24 13:40:17 +02:00
Manuel Romero
d9f7eff0f2 Set random image name 2020-04-24 13:30:20 +02:00
Manuel Romero
8399f18e11 Default values 2020-04-24 13:25:42 +02:00
Manuel Romero
067dc2c7da newImageName field 2020-04-24 13:21:27 +02:00
Manuel Romero
a7f8c42983 faq typos 2020-04-24 13:19:52 +02:00
Manuel Romero
8d041ee600 Create image 2020-04-24 13:18:53 +02:00
Manuel Romero
186fb52ac1 fix 2020-04-23 11:01:55 +02:00
Manuel Romero
2814c92a2e stop5 2020-04-23 10:47:19 +02:00
Manuel Romero
fb5abbdee0 process stop and destroy 2020-04-23 10:38:54 +02:00
Manuel Romero
6c29373a0f Destroy email to actual owner 2020-04-23 09:42:23 +02:00
Manuel Romero
ece1183e55 Typo 2020-04-22 16:37:21 +02:00
Manuel Romero
54973c7306 Typo 2020-04-22 16:35:59 +02:00
Manuel Romero
cd99761892 using stoppedFrom 2020-04-22 16:27:35 +02:00
Manuel Romero
e764eac338 stoppedFrom in provision model 2020-04-22 16:10:02 +02:00
Manuel Romero
663e1f577d stoppedFrom 2020-04-22 16:07:36 +02:00
Manuel Romero
2b29df5164 fix 2020-04-22 16:02:27 +02:00
Manuel Romero
a6dc7dacdd Autodestroy 2020-04-22 15:36:02 +02:00
Manuel Romero
818114a701 faq local 2020-04-21 18:12:43 +02:00
Manuel Romero
a42eb85772 fix 2020-04-20 13:19:36 +02:00
Manuel Romero
130e0d8de9 fix 2020-04-20 13:18:47 +02:00
Manuel Romero
8a770ec0fa fix 2020-04-20 13:18:14 +02:00
Manuel Romero
7d15711bb2 fixes 2020-04-20 13:16:41 +02:00
Manuel Romero
39e3d777bc fix 2020-04-20 13:07:16 +02:00
Manuel Romero
8b6dac3216 new faq 2020-04-19 12:06:17 +02:00
Manuel Romero
9f412be93c new faq 2020-04-19 12:02:14 +02:00
Manuel Romero
0b43901c11 Do not show auto stop time if is deleted 2020-04-19 11:32:27 +02:00
Manuel Romero
c15fa47244 faq 2020-04-17 11:20:41 +02:00
Manuel Romero
8de21b4bbf faq 2020-04-17 11:11:47 +02:00
Manuel Romero
3c3e987c62 readme 2020-04-17 10:01:52 +02:00
Manuel Romero
f2d2d740d7 Test faq 2020-04-17 10:00:41 +02:00
Manuel Romero
8ff19f260a SOme fixes to docker-compose yaml 2020-04-17 09:58:07 +02:00
Manuel Romero
5a8056adee Adding FAQ 2020-04-17 09:48:20 +02:00
Manuel Romero
665871ba78 is real 2020-04-16 17:17:13 +02:00
Manuel Romero
1e937414d3 Extend pendingNextAction to null 2020-04-16 17:04:10 +02:00
Manuel Romero
356e1a3827 Notifications 2020-04-16 17:01:35 +02:00
Manuel Romero
98f1f1c08f Param RUNNING_PERIOD 2020-04-16 14:39:40 +02:00
Manuel Romero
c7f50a776b Negative time 2020-04-16 14:17:02 +02:00
Manuel Romero
a7b7551b52 Vms auto stop in admin 2020-04-16 13:39:15 +02:00
Manuel Romero
8123a7a850 Do not show destroy in admin 2020-04-16 13:13:30 +02:00
Manuel Romero
7fbb3318e9 Fixed runnign from created 2020-04-16 12:54:20 +02:00
Manuel Romero
379f373b86 fix typo 2020-04-16 12:46:21 +02:00
Manuel Romero
30825a6271 Not async 2020-04-16 12:28:49 +02:00
Manuel Romero
45ad35308e fix 2020-04-16 11:58:32 +02:00
Manuel Romero
b2fe88b6c7 Deallocate/start async functions 2020-04-16 11:44:13 +02:00
Manuel Romero
a8f111c463 Time to stop 2020-04-16 11:12:09 +02:00
Manuel Romero
70e5113ef9 sendemail 2020-04-15 18:34:01 +02:00
Manuel Romero
fae6276267 fix 2020-04-15 18:06:47 +02:00
Manuel Romero
ad08d71da1 Extend button 2020-04-15 17:13:28 +02:00
Manuel Romero
fd29c6c3ca checkstop 2020-04-15 16:10:12 +02:00
Manuel Romero
c1caefc207 Time running 2020-04-15 14:20:00 +02:00
Manuel Romero
5149a2c5e1 fix timeRunning 2020-04-15 10:40:11 +02:00
Manuel Romero
cb51334761 time running 2020-04-15 09:08:57 +02:00
Manuel Romero
45281587f7 stop5.js 2020-04-08 18:50:15 +02:00
Manuel Romero
1131a8607d new version 2020-04-08 16:49:07 +02:00
Manuel Romero
1ced9bbc9e trigger CDCI 2020-04-08 16:44:31 +02:00
Manuel Romero
353355a101 Added API Key authentication to API 2020-04-08 16:12:21 +02:00
Manuel Romero
ca081f0bdd Some enhancements 2020-04-08 15:02:21 +02:00
Manuel Romero
629c2a03da Using openapi300 2020-04-08 13:02:45 +02:00
Manuel Romero
ab15a02d54 Admin scenario 2020-04-07 16:45:26 +02:00
Manuel Romero
17a93838f9 More UI stuff 2020-04-07 16:16:11 +02:00
Manuel Romero
e3802d2af2 build 2020-04-07 10:09:10 +02:00
Manuel Romero
7cbe9dbf90 Fix message 2020-04-02 10:51:43 +02:00
Manuel Romero
6c60ccd08f appgw link if provisioned 2020-04-02 10:40:37 +02:00
Manuel Romero
14daf2fa8e Fix 2020-04-02 08:06:33 +02:00
Manuel Romero
0744654d3e Adding isWafPolicyAppGw 2020-04-02 08:02:03 +02:00
Manuel Romero
0ae75f82dc Confirm modal 2020-03-29 22:25:10 +02:00
Manuel Romero
872f07f043 delete old String fields and set index 2020-03-28 15:59:39 +01:00
Manuel Romero
19c22fbfec disable databse transform 2020-03-28 15:42:54 +01:00
246 changed files with 16282 additions and 20198 deletions

2
.gitignore vendored
View File

@@ -5,7 +5,7 @@
/out-tsc
# dependencies
/node_modules
**/node_modules
# IDEs and editors
/.idea

View File

@@ -9,7 +9,9 @@ stages:
stage: build
only:
- master
- dev
script:
- echo $DOCKER_REGISTRY_USER
- chmod +x ./gitlab-ci.sh
- ./gitlab-ci.sh

View File

@@ -1,3 +1,25 @@
FROM node:13.8-alpine
# Stage 1:
FROM node:13.8-alpine AS sources
RUN apk --no-cache add yarn
WORKDIR /var/www/app
ADD ./package.json ./
ADD ./yarn.lock ./
ADD ./qmi-cloud-common ./qmi-cloud-common
RUN yarn install --production
# Stage 2:
FROM node:13.8-alpine AS production
WORKDIR /var/www/app
COPY --from=sources /var/www/app/node_modules ./node_modules
COPY --from=sources /var/www/app/package.json ./package.json
COPY ./server ./server
COPY ./dist ./dist
EXPOSE 3000
EXPOSE 3100
CMD ["node", "-r", "esm", "server/server"]

View File

@@ -1,8 +1,9 @@
# QMI Cloud
## Pre-requisites
- Docker (desktop for Mac - temporary)
- A file named secrets.json with this JSON information
- Docker
- Docker-Compose
- A file named secrets.json with this JSON information (as Manuel Romero for this details)
```json
{
@@ -12,8 +13,11 @@
}
```
## Run it
It will build necessary images if they don't exist.
```shell
git clone git@gitlab.com:qmi/qmi-cloud.git
cd qmi-cloud
@@ -24,9 +28,13 @@ Wait until this line shows up:
```qmi-cloud-app | MongoDB connected...```
On another terminal, run:
```shell
docker container ls
```
Should show these containers:
```
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
@@ -37,41 +45,33 @@ ad01a01a4903 qlikgear/qmi-cloud-app "docker-entrypoint.s…" 4 hou
94a1414554aa redis "redis-server --appe…" 4 hours ago Up 2 minutes 6379/tcp qmi-cloud-redis
```
## TEST
## Authentication
Go to: http://localhost:3000
### Authentication
Authentication with Azure AD (Qlik).
## Bull QUEUE system
### Bull QUEUE system
It is used to queue Terraform executions in Docker containers.
UI: http://localhost:3000/arena
## Mongo / Mongo Express Client
### Mongo / Mongo Express Client
Mongo is for managment.
UI: http://localhost:8081
Basic-Auth: qlik / Qlik1234
Database: qmi
http://localhost:8081/db/qmi/
Database: qmicloud
## API / Swagger API-DOCS
### API / Swagger API-DOCS
It shows available endpoints
http://localhost:3000/api-docs
## TEST
- Go to: http://localhost:3000
- Authenticate
- Go to: http://localhost:3000/provisions
### Available Scenarios that will deploy to Azure
- azqmi-qdc-sn
__NOTE: WARNING!!! It's using MANUEL's personal account "Visual Studio Professional" credits in Azure for now.__

View File

@@ -27,18 +27,23 @@
"src/assets"
],
"styles": [
"src/styles.scss",
"node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss",
"node_modules/@fortawesome/fontawesome-free/scss/solid.scss",
"node_modules/@fortawesome/fontawesome-free/scss/regular.scss",
"node_modules/@fortawesome/fontawesome-free/scss/brands.scss",
"node_modules/angular-bootstrap-md/assets/scss/bootstrap/bootstrap.scss",
"node_modules/angular-bootstrap-md/assets/scss/mdb.scss",
"node_modules/animate.css/animate.css"
"node_modules/animate.css/animate.css",
"node_modules/prismjs/themes/prism.css",
"src/styles.scss"
],
"scripts": [
"node_modules/chart.js/dist/Chart.js",
"node_modules/hammerjs/hammer.min.js"
"node_modules/hammerjs/hammer.min.js",
"node_modules/marked/lib/marked.js",
"node_modules/prismjs/prism.js",
"node_modules/prismjs/plugins/line-highlight/prism-line-highlight.js",
"node_modules/prismjs/plugins/line-numbers/prism-line-numbers.js"
]
},
"configurations": {

View File

@@ -8,112 +8,17 @@ var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component } from '@angular/core';
import { UsersService } from '../services/users.service';
import { ProvisionsService } from '../services/provisions.service';
import { timer } from 'rxjs';
import { switchMap } from 'rxjs/operators';
import { AuthGuard } from '../services/auth.guard';
var AdminComponent = /** @class */ (function () {
function AdminComponent(_usersService, _provisionsService, _auth) {
var _this = this;
this._usersService = _usersService;
this._provisionsService = _provisionsService;
this._auth = _auth;
this.logShow = false;
this.logstype = 'provision';
this.selectedprov = null;
this._auth.getUserInfo().subscribe(function (value) {
_this.currentUser = value;
});
function AdminComponent() {
this.sections = ['Provisions', 'Users', 'Scenarios', 'Notifications', 'Subscriptions'];
this.tab = 'Provisions';
}
AdminComponent.prototype._fillUser = function (pair) {
var _this = this;
pair['0'].forEach(function (prov) {
var foundDes = _this.users.filter(function (u) {
return u._id.toString() === prov.userId.toString();
});
if (foundDes.length) {
prov.user = foundDes[0].displayName;
}
});
};
AdminComponent.prototype._getUsers = function () {
};
AdminComponent.prototype.ngOnInit = function () {
var _this = this;
this._usersService.getUsers().subscribe(function (res) {
_this.users = res;
_this.subscription = timer(0, 5000).pipe(switchMap(function () { return _this._provisionsService.getCombinedProvisionsAdmin(); })).subscribe(function (pair) {
_this._provisionsService.composePair(pair);
_this._fillUser(pair);
_this.destroys = pair[1];
_this.provisions = pair[0];
});
});
};
AdminComponent.prototype._refresh = function () {
var _this = this;
this.instantSubs = this._provisionsService.getCombinedProvisionsAdmin().subscribe(function (pair) {
_this._provisionsService.composePair(pair);
_this._fillUser(pair);
_this.destroys = pair[1];
_this.provisions = pair[0];
_this.instantSubs.unsubscribe();
});
};
AdminComponent.prototype.ngOnDestroy = function () {
this.subscription.unsubscribe();
if (this.instantSubs) {
this.instantSubs.unsubscribe();
}
};
AdminComponent.prototype.del = function (provision) {
var _this = this;
this._provisionsService.delProvision(provision._id.toString(), provision.userId).subscribe(function (res) {
console.log("Done!", res);
_this._refresh();
});
};
AdminComponent.prototype.destroy = function (provision) {
var _this = this;
this._provisionsService.newDestroy({ "id": provision._id.toString() }, provision.userId).subscribe(function (res) {
console.log("Done!", res);
_this._refresh();
});
};
AdminComponent.prototype.showLogs = function ($event, provision, type) {
AdminComponent.prototype.tabSelect = function ($event, tab) {
$event.preventDefault();
$event.stopPropagation();
this.logstype = type;
this.logShow = false;
this.selectedprov = provision;
this.logShow = true;
};
AdminComponent.prototype.onLogsClose = function ($event) {
this.selectedprov = null;
this.logShow = false;
};
AdminComponent.prototype.onStartProvision = function ($event) {
console.log("onStartProvision");
this._refresh();
};
AdminComponent.prototype.setAdmin = function (user) {
var _this = this;
this._usersService.updateUser(user._id, { "role": "admin" }).subscribe(function (res1) {
console.log("Updated", res1);
_this._usersService.getUsers().subscribe(function (res) {
_this.users = res;
});
});
};
AdminComponent.prototype.removeAdmin = function (user) {
var _this = this;
this._usersService.updateUser(user._id, { "role": null }).subscribe(function (res1) {
console.log("Updated", res1);
_this._usersService.getUsers().subscribe(function (res) {
_this.users = res;
});
});
this.tab = tab;
};
AdminComponent = __decorate([
Component({
@@ -121,7 +26,7 @@ var AdminComponent = /** @class */ (function () {
templateUrl: './admin.component.html',
styleUrls: ['./admin.component.scss']
}),
__metadata("design:paramtypes", [UsersService, ProvisionsService, AuthGuard])
__metadata("design:paramtypes", [])
], AdminComponent);
return AdminComponent;
}());

View File

@@ -1 +1 @@
{"version":3,"file":"admin.component.js","sourceRoot":"","sources":["../../../../../src/app/admin/admin.component.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"admin.component.js","sourceRoot":"","sources":["../../../../../src/app/admin/admin.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAOlD;IAKE;QAHA,aAAQ,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;QAClF,QAAG,GAAa,YAAY,CAAC;IAEb,CAAC;IAEjB,iCAAQ,GAAR;IACA,CAAC;IAED,kCAAS,GAAT,UAAU,MAAM,EAAE,GAAG;QACnB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAdU,cAAc;QAL1B,SAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,wBAAwB;YACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;SACtC,CAAC;;OACW,cAAc,CAgB1B;IAAD,qBAAC;CAAA,AAhBD,IAgBC;SAhBY,cAAc"}

View File

@@ -0,0 +1,43 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component, ViewChild, ElementRef } from '@angular/core';
import { AlertService } from '../services/alert.service';
var AlertComponent = /** @class */ (function () {
function AlertComponent(_alertService) {
this._alertService = _alertService;
this.alert = null;
}
AlertComponent.prototype.ngOnInit = function () {
this.subscription = this._alertService.getAlertEmitter().subscribe(function (data) {
this.alert = data;
}.bind(this));
};
AlertComponent.prototype.ngOnDestroy = function () {
this.subscription.unsubscribe();
};
AlertComponent.prototype.closeAlert = function () {
this.alert = null;
};
__decorate([
ViewChild('qmialert', { static: true }),
__metadata("design:type", ElementRef)
], AlertComponent.prototype, "alertEl", void 0);
AlertComponent = __decorate([
Component({
selector: 'qmi-alert',
templateUrl: './alert.component.html',
styleUrls: ['./alert.component.scss']
}),
__metadata("design:paramtypes", [AlertService])
], AlertComponent);
return AlertComponent;
}());
export { AlertComponent };
//# sourceMappingURL=alert.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"alert.component.js","sourceRoot":"","sources":["../../../../../src/app/alert/alert.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAqB,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD;IAME,wBAAoB,aAA2B;QAA3B,kBAAa,GAAb,aAAa,CAAc;QAF/C,UAAK,GAAS,IAAI,CAAC;IAE+B,CAAC;IAEnD,iCAAQ,GAAR;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,UAAS,IAAI;YAC5E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,oCAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,mCAAU,GAAV;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAlBwC;QAAxC,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;kCAAU,UAAU;mDAAC;IAFlD,cAAc;QAL1B,SAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,wBAAwB;YACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;SACtC,CAAC;yCAOmC,YAAY;OANpC,cAAc,CAsB1B;IAAD,qBAAC;CAAA,AAtBD,IAsBC;SAtBY,cAAc"}

View File

@@ -0,0 +1,40 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component } from '@angular/core';
import { MDBModalRef } from 'angular-bootstrap-md';
import { Subject } from 'rxjs';
var ModalConfirmComponent = /** @class */ (function () {
function ModalConfirmComponent(modalRef) {
this.modalRef = modalRef;
this.action = new Subject();
}
ModalConfirmComponent.prototype.ngOnInit = function () {
if (!this.info.buttonColor) {
this.info.buttonColor = "danger";
}
};
ModalConfirmComponent.prototype.ngOnDestroy = function () {
};
ModalConfirmComponent.prototype.confirm = function () {
this.action.next();
this.modalRef.hide();
};
ModalConfirmComponent = __decorate([
Component({
selector: 'qmi-modalconfirm',
templateUrl: './confirm.component.html',
styleUrls: ['./confirm.component.scss']
}),
__metadata("design:paramtypes", [MDBModalRef])
], ModalConfirmComponent);
return ModalConfirmComponent;
}());
export { ModalConfirmComponent };
//# sourceMappingURL=confirm.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"confirm.component.js","sourceRoot":"","sources":["../../../../../src/app/alert/confirm.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAO/B;IAKE,+BAAoB,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAFzC,WAAM,GAAiB,IAAI,OAAO,EAAE,CAAC;IAEQ,CAAC;IAE9C,wCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;SAClC;IACH,CAAC;IAED,2CAAW,GAAX;IAEA,CAAC;IAED,uCAAO,GAAP;QACI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IApBU,qBAAqB;QALjC,SAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,0BAA0B;YACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;SACxC,CAAC;yCAM8B,WAAW;OAL9B,qBAAqB,CAsBjC;IAAD,4BAAC;CAAA,AAtBD,IAsBC;SAtBY,qBAAqB"}

View File

@@ -0,0 +1,99 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component } from '@angular/core';
import { MDBModalRef } from 'angular-bootstrap-md';
import { Subject } from 'rxjs';
import { ScenariosService } from '../services/scenarios.service';
import { SubscriptionsService } from '../services/subscriptions.service';
var ScenarioModalComponent = /** @class */ (function () {
function ScenarioModalComponent(modalRef, _scenariosService, _subscriptionsService) {
this.modalRef = modalRef;
this._scenariosService = _scenariosService;
this._subscriptionsService = _subscriptionsService;
this.action = new Subject();
this.sendData = {
availableProductVersions: [{
product: 'String: <ie: Qlik Sense>',
vmTypeDefault: 'String: <i.e: Standard_D8s_v3>',
diskSizeGbDefault: 'Integer: <values: 128,250,500,750,1000>',
index: 'vm1',
versions: []
}]
};
}
ScenarioModalComponent.prototype.ngOnInit = function () {
var _this = this;
this._subscriptionsService.getSubscriptions().subscribe(function (res) {
_this.subscriptions = res.results;
if (_this.scenario) {
_this.sendData = JSON.parse(JSON.stringify(_this.scenario));
}
if (!_this.sendData.subscription) {
_this.sendData.subscription = res.results[0]._id;
}
});
};
ScenarioModalComponent.prototype.ngOnDestroy = function () {
};
ScenarioModalComponent.prototype.confirm = function () {
var _this = this;
console.log("sendData", this.sendData);
//this.action.next(this.sendData);
if (this.sendData._id) {
var id = this.sendData._id.toString();
this.sendData._id = undefined;
this._scenariosService.updateScenario(id, this.sendData).subscribe(function (res) {
console.log("done", res);
_this.action.next("DONE!!!");
_this.modalRef.hide();
});
}
else {
this._scenariosService.addScenario(this.sendData).subscribe(function (res) {
console.log("done", res);
_this.action.next("DONE!!!");
_this.modalRef.hide();
});
}
};
ScenarioModalComponent.prototype.delete = function () {
var _this = this;
this._scenariosService.deleteScenario(this.sendData._id).subscribe(function (res) {
console.log("done", res);
_this.action.next("DONE!!!");
_this.modalRef.hide();
});
};
ScenarioModalComponent.prototype.checkOnchange = function ($event, field) {
console.log("Checked?", $event.checked);
this.sendData[field] = $event.checked;
};
ScenarioModalComponent.prototype.updateJson = function (event, property) {
var editField = event.target.textContent.trim();
try {
var value = JSON.parse(editField);
this.sendData[property] = value;
}
catch (e) {
console.log("error json", e);
}
};
ScenarioModalComponent = __decorate([
Component({
selector: 'qmi-new-scenario',
templateUrl: './edit-scenario.component.html',
styleUrls: ['./edit-scenario.component.scss']
}),
__metadata("design:paramtypes", [MDBModalRef, ScenariosService, SubscriptionsService])
], ScenarioModalComponent);
return ScenarioModalComponent;
}());
export { ScenarioModalComponent };
//# sourceMappingURL=edit-scenario.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"edit-scenario.component.js","sourceRoot":"","sources":["../../../../../src/app/alert/edit-scenario.component.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,68 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component } from '@angular/core';
import { MDBModalRef } from 'angular-bootstrap-md';
import { Subject } from 'rxjs';
import { SubscriptionsService } from '../services/subscriptions.service';
var SubscriptionModalComponent = /** @class */ (function () {
function SubscriptionModalComponent(modalRef, _subscriptionsService) {
this.modalRef = modalRef;
this._subscriptionsService = _subscriptionsService;
this.action = new Subject();
this.sendData = {};
}
SubscriptionModalComponent.prototype.ngOnInit = function () {
if (this.subscription) {
this.sendData = JSON.parse(JSON.stringify(this.subscription));
}
};
SubscriptionModalComponent.prototype.ngOnDestroy = function () {
};
SubscriptionModalComponent.prototype.confirm = function () {
var _this = this;
console.log("sendData", this.sendData);
//this.action.next(this.sendData);
if (this.sendData._id) {
var id = this.sendData._id.toString();
this.sendData._id = undefined;
this._subscriptionsService.updateSubscription(id, this.sendData).subscribe(function (res) {
console.log("done", res);
_this.action.next("DONE!!!");
_this.modalRef.hide();
});
}
else {
this._subscriptionsService.addSubscription(this.sendData).subscribe(function (res) {
console.log("done", res);
_this.action.next("DONE!!!");
_this.modalRef.hide();
});
}
};
SubscriptionModalComponent.prototype.delete = function () {
var _this = this;
this._subscriptionsService.deleteScenario(this.sendData._id).subscribe(function (res) {
console.log("done", res);
_this.action.next("DONE!!!");
_this.modalRef.hide();
});
};
SubscriptionModalComponent = __decorate([
Component({
selector: 'qmi-new-subscription',
templateUrl: './edit-subscription.component.html',
styleUrls: ['./edit-subscription.component.scss']
}),
__metadata("design:paramtypes", [MDBModalRef, SubscriptionsService])
], SubscriptionModalComponent);
return SubscriptionModalComponent;
}());
export { SubscriptionModalComponent };
//# sourceMappingURL=edit-subscription.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"edit-subscription.component.js","sourceRoot":"","sources":["../../../../../src/app/alert/edit-subscription.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAgB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAOzE;IASE,oCAAoB,QAAqB,EAAU,qBAA2C;QAA1E,aAAQ,GAAR,QAAQ,CAAa;QAAU,0BAAqB,GAArB,qBAAqB,CAAsB;QAN9F,WAAM,GAAiB,IAAI,OAAO,EAAE,CAAC;QAGrC,aAAQ,GAAS,EAChB,CAAC;IAEgG,CAAC;IAEnG,6CAAQ,GAAR;QACI,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;SAC9D;IACL,CAAC;IAED,gDAAW,GAAX;IAEA,CAAC;IAED,4CAAO,GAAP;QAAA,iBAqBC;QAnBG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,kCAAkC;QAClC,IAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACtB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAE,UAAA,GAAG;gBAC7E,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACzB,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5B,KAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAE,UAAA,GAAG;gBACtE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACzB,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5B,KAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;IAGL,CAAC;IAED,2CAAM,GAAN;QAAA,iBAMC;QALC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,CAAE,UAAA,GAAG;YACzE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACzB,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,KAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAlDU,0BAA0B;QALtC,SAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,WAAW,EAAE,oCAAoC;YACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;SAClD,CAAC;yCAU8B,WAAW,EAAiC,oBAAoB;OATnF,0BAA0B,CAoDtC;IAAD,iCAAC;CAAA,AApDD,IAoDC;SApDY,0BAA0B"}

View File

@@ -0,0 +1,31 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component } from '@angular/core';
import { MDBModalRef } from 'angular-bootstrap-md';
var ModalInfoComponent = /** @class */ (function () {
function ModalInfoComponent(modalRef) {
this.modalRef = modalRef;
}
ModalInfoComponent.prototype.ngOnInit = function () {
};
ModalInfoComponent.prototype.ngOnDestroy = function () {
};
ModalInfoComponent = __decorate([
Component({
selector: 'qmi-modalinfo',
templateUrl: './modalinfo.component.html',
styleUrls: ['./modalinfo.component.scss']
}),
__metadata("design:paramtypes", [MDBModalRef])
], ModalInfoComponent);
return ModalInfoComponent;
}());
export { ModalInfoComponent };
//# sourceMappingURL=modalinfo.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"modalinfo.component.js","sourceRoot":"","sources":["../../../../../src/app/alert/modalinfo.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD;IAIE,4BAAoB,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;IAAI,CAAC;IAE9C,qCAAQ,GAAR;IAEA,CAAC;IAED,wCAAW,GAAX;IAEA,CAAC;IAZU,kBAAkB;QAL9B,SAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,4BAA4B;YACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;SAC1C,CAAC;yCAK8B,WAAW;OAJ9B,kBAAkB,CAc9B;IAAD,yBAAC;CAAA,AAdD,IAcC;SAdY,kBAAkB"}

View File

@@ -0,0 +1,104 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component } from '@angular/core';
import { MDBModalRef } from 'angular-bootstrap-md';
import { Subject } from 'rxjs';
import { ScenariosService } from '../services/scenarios.service';
var NewProvisionConfirmComponent = /** @class */ (function () {
function NewProvisionConfirmComponent(modalRef, _scenariosService) {
this.modalRef = modalRef;
this._scenariosService = _scenariosService;
this.action = new Subject();
this.sendData = {
description: "",
servers: null,
isExternalAccess: false,
};
this.selectedProductVersion = {};
this.selectedVmType = {};
this.selectedNodeCount = {};
this.selectedDiskSizeGb = {};
this.servers = {};
}
NewProvisionConfirmComponent.prototype.ngOnInit = function () {
var _this = this;
this.vmTypesSub = this._scenariosService.getScenarioVmtypes().subscribe(function (res) {
_this.vmTypes = res.results;
if (_this.scenario.availableProductVersions.length) {
_this.scenario.availableProductVersions.forEach(function (server) {
if (server.vmTypeDefault) {
_this.selectedVmType[server.index] = server.vmTypeDefault;
}
if (server.nodeCount) {
_this.selectedNodeCount[server.index] = server.nodeCount;
}
_this.selectedDiskSizeGb[server.index] = server.diskSizeGbDefault || 500;
if (server.versions && server.versions.length) {
var lastIndex = server.versions.length - 1;
_this.selectedProductVersion[server.index] = server.productVersionDefault ? server.productVersionDefault : server.versions[lastIndex].name;
}
});
}
_this.vmTypesSub.unsubscribe();
});
};
NewProvisionConfirmComponent.prototype.ngOnDestroy = function () {
};
NewProvisionConfirmComponent.prototype.confirm = function () {
var _this = this;
if (!this.sendData.description || this.sendData.description.trim() === "") {
return;
}
this.sendData.servers = {};
var _loop_1 = function (key) {
if (!this_1.sendData.servers[key]) {
this_1.sendData.servers[key] = {};
}
if (this_1.selectedVmType[key]) {
this_1.sendData.servers[key].vmType = this_1.selectedVmType[key];
}
if (this_1.selectedNodeCount[key]) {
this_1.sendData.servers[key].nodeCount = this_1.selectedNodeCount[key];
}
if (this_1.selectedDiskSizeGb[key]) {
this_1.sendData.servers[key].diskSizeGb = this_1.selectedDiskSizeGb[key];
}
this_1.scenario.availableProductVersions.forEach(function (server) {
server.versions.forEach(function (v) {
if (v.name === _this.selectedProductVersion[key]) {
_this.sendData.servers[key].version = v;
}
});
});
};
var this_1 = this;
for (var key in this.selectedVmType) {
_loop_1(key);
}
console.log("sendData", this.sendData);
this.action.next(this.sendData);
this.modalRef.hide();
};
NewProvisionConfirmComponent.prototype.checkOnchange = function ($event) {
console.log("Checked?", $event.checked);
this.sendData.isExternalAccess = $event.checked;
};
NewProvisionConfirmComponent = __decorate([
Component({
selector: 'qmi-new-provision',
templateUrl: './new-provision.component.html',
styleUrls: ['./new-provision.component.scss']
}),
__metadata("design:paramtypes", [MDBModalRef, ScenariosService])
], NewProvisionConfirmComponent);
return NewProvisionConfirmComponent;
}());
export { NewProvisionConfirmComponent };
//# sourceMappingURL=new-provision.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"new-provision.component.js","sourceRoot":"","sources":["../../../../../src/app/alert/new-provision.component.ts"],"names":[],"mappings":"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"}

View File

@@ -10,8 +10,10 @@ import { ProvisionsComponent } from './provisions/provisions.component';
import { AdminComponent } from './admin/admin.component';
import { HomeComponent } from './home/home.component';
import { AuthGuard } from './services/auth.guard';
import { FaqComponent } from './faq/faq.component';
var routes = [
{ path: 'home', component: HomeComponent },
{ path: 'faq', component: FaqComponent },
{ path: 'provisions', component: ProvisionsComponent, canActivate: [AuthGuard] },
{ path: 'admin', component: AdminComponent, canActivate: [AuthGuard] },
{ path: '',

View File

@@ -1 +1 @@
{"version":3,"file":"app-routing.module.js","sourceRoot":"","sources":["../../../../src/app/app-routing.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAU,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAQ,mCAAmC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAQ,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAQ,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,IAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAC;IACzC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAC;IAC/E,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAC;IACrE,EAAE,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;KAClB;IACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE;CACpC,CAAC;AAMF;IAAA;IAAgC,CAAC;IAApB,gBAAgB;QAJ5B,QAAQ,CAAC;YACR,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB,CAAC;OACW,gBAAgB,CAAI;IAAD,uBAAC;CAAA,AAAjC,IAAiC;SAApB,gBAAgB"}
{"version":3,"file":"app-routing.module.js","sourceRoot":"","sources":["../../../../src/app/app-routing.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAU,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAQ,mCAAmC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAQ,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAQ,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,IAAM,MAAM,GAAW;IACrB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAC;IACzC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAC;IACvC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAC;IAC/E,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAC;IACrE,EAAE,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,MAAM;KAClB;IACD,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE;CACpC,CAAC;AAMF;IAAA;IAAgC,CAAC;IAApB,gBAAgB;QAJ5B,QAAQ,CAAC;YACR,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC,YAAY,CAAC;SACxB,CAAC;OACW,gBAAgB,CAAI;IAAD,uBAAC;CAAA,AAAjC,IAAiC;SAApB,gBAAgB"}

View File

@@ -15,11 +15,38 @@ import { AuthGuard } from './services/auth.guard';
import { ProvisionsService } from './services/provisions.service';
import { ScenariosService } from './services/scenarios.service';
import { UsersService } from './services/users.service';
import { HttpClientModule } from '@angular/common/http';
import { MDBBootstrapModule } from 'angular-bootstrap-md';
import { MarkdownModule, MarkedRenderer } from 'ngx-markdown';
import { HttpClientModule, HttpClient } from '@angular/common/http';
import { LogsComponent } from './logs/logs.component';
import { ScenariosComponent } from './scenarios/scenarios.component';
import { AdminComponent } from './admin/admin.component';
import { PopoverconfirmComponent } from './popoverconfirm/popoverconfirm.component';
import { FormsModule } from '@angular/forms';
import { MyHttpInterceptor } from './interceptors/http.interceptor';
import { HTTP_INTERCEPTORS } from '@angular/common/http';
import { TableProvisionsAdminComponent } from './tables/table-provisions.component';
import { TableScenariosComponent } from './tables/table-scenarios.component';
import { TableUsersComponent } from './tables/table-users.component';
import { TableNotificationsComponent } from './tables/table-notifications.component';
import { AlertComponent } from './alert/alert.component';
import { AlertService } from './services/alert.service';
import { ModalInfoComponent } from './alert/modalinfo.component';
import { ModalConfirmComponent } from './alert/confirm.component';
import { FilterPipe } from './filter.pipe';
import { FaqComponent } from './faq/faq.component';
import { NewProvisionConfirmComponent } from './alert/new-provision.component';
import { ScenarioModalComponent } from './alert/edit-scenario.component';
import { SubscriptionModalComponent } from './alert/edit-subscription.component';
import { TableSubsComponent } from './tables/table-subs.component';
import { SubscriptionsService } from './services/subscriptions.service';
export function markedOptions() {
var renderer = new MarkedRenderer();
renderer.blockquote = function (text) {
return '<blockquote class="blockquote"><p>' + text + '</p></blockquote>';
};
return { renderer: renderer };
}
var AppModule = /** @class */ (function () {
function AppModule() {
}
@@ -32,15 +59,41 @@ var AppModule = /** @class */ (function () {
LogsComponent,
ScenariosComponent,
AdminComponent,
PopoverconfirmComponent
PopoverconfirmComponent,
TableProvisionsAdminComponent,
TableUsersComponent,
AlertComponent,
ModalInfoComponent,
ModalConfirmComponent,
FilterPipe,
FaqComponent,
NewProvisionConfirmComponent,
TableScenariosComponent,
TableNotificationsComponent,
ScenarioModalComponent,
SubscriptionModalComponent,
TableSubsComponent
],
imports: [
BrowserModule,
AppRoutingModule,
UiModule,
HttpClientModule
HttpClientModule,
FormsModule,
MDBBootstrapModule.forRoot(),
MarkdownModule.forRoot({
loader: HttpClient
}),
],
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: MyHttpInterceptor, multi: true },
ProvisionsService,
ScenariosService,
SubscriptionsService,
UsersService,
AlertService,
AuthGuard
],
providers: [ProvisionsService, ScenariosService, UsersService, AuthGuard],
bootstrap: [AppComponent]
})
], AppModule);

View File

@@ -1 +1 @@
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../../../src/app/app.module.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAqBpF;IAAA;IAAyB,CAAC;IAAb,SAAS;QAnBrB,QAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,YAAY;gBACZ,aAAa;gBACb,mBAAmB;gBACnB,aAAa;gBACb,kBAAkB;gBAClB,cAAc;gBACd,uBAAuB;aACxB;YACD,OAAO,EAAE;gBACP,aAAa;gBACb,gBAAgB;gBAChB,QAAQ;gBACR,gBAAgB;aACjB;YACD,SAAS,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC;YACzE,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC;OACW,SAAS,CAAI;IAAD,gBAAC;CAAA,AAA1B,IAA0B;SAAb,SAAS"}
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../../../../src/app/app.module.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,33 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component } from '@angular/core';
var FaqComponent = /** @class */ (function () {
function FaqComponent() {
}
FaqComponent.prototype.ngOnInit = function () {
};
FaqComponent.prototype.onLoad = function (event) {
console.log("nice", event);
};
FaqComponent.prototype.onError = function (event) {
console.log("error", event);
};
FaqComponent = __decorate([
Component({
selector: 'app-faq-component',
templateUrl: './faq.component.html',
styleUrls: ['./faq.component.scss']
}),
__metadata("design:paramtypes", [])
], FaqComponent);
return FaqComponent;
}());
export { FaqComponent };
//# sourceMappingURL=faq.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"faq.component.js","sourceRoot":"","sources":["../../../../../src/app/faq/faq.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAOlD;IAEE;IAAgB,CAAC;IAEjB,+BAAQ,GAAR;IACA,CAAC;IAED,6BAAM,GAAN,UAAO,KAAK;QACV,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,8BAAO,GAAP,UAAQ,KAAK;QACX,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAbU,YAAY;QALxB,SAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,WAAW,EAAE,sBAAsB;YACnC,SAAS,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC;;OACW,YAAY,CAexB;IAAD,mBAAC;CAAA,AAfD,IAeC;SAfY,YAAY"}

View File

@@ -0,0 +1,21 @@
import { async, TestBed } from '@angular/core/testing';
import { FaqComponent } from './faq.component';
describe('FaqComponentComponent', function () {
var component;
var fixture;
beforeEach(async(function () {
TestBed.configureTestingModule({
declarations: [FaqComponent]
})
.compileComponents();
}));
beforeEach(function () {
fixture = TestBed.createComponent(FaqComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', function () {
expect(component).toBeTruthy();
});
});
//# sourceMappingURL=faq.component.spec.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"faq.component.spec.js","sourceRoot":"","sources":["../../../../../src/app/faq/faq.component.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAoB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAQ,CAAC,uBAAuB,EAAE;IAChC,IAAI,SAAuB,CAAC;IAC5B,IAAI,OAAuC,CAAC;IAE5C,UAAU,CAAC,KAAK,CAAC;QACf,OAAO,CAAC,sBAAsB,CAAC;YAC7B,YAAY,EAAE,CAAE,YAAY,CAAE;SAC/B,CAAC;aACD,iBAAiB,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC,CAAC;IAEJ,UAAU,CAAC;QACT,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAChD,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACtC,OAAO,CAAC,aAAa,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,EAAE;QAClB,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}

31
dist/out-tsc/src/app/filter.pipe.js vendored Normal file
View File

@@ -0,0 +1,31 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { Pipe } from '@angular/core';
var FilterPipe = /** @class */ (function () {
function FilterPipe() {
}
FilterPipe.prototype.transform = function (items, searchText) {
if (!items) {
return [];
}
if (!searchText) {
return items;
}
searchText = searchText.toLocaleLowerCase();
return items.filter(function (it) {
return JSON.stringify(it).toLocaleLowerCase().includes(searchText);
});
};
FilterPipe = __decorate([
Pipe({
name: 'filter'
})
], FilterPipe);
return FilterPipe;
}());
export { FilterPipe };
//# sourceMappingURL=filter.pipe.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"filter.pipe.js","sourceRoot":"","sources":["../../../../src/app/filter.pipe.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,eAAe,CAAC;AAKpD;IAAA;IAeA,CAAC;IAdC,8BAAS,GAAT,UAAU,KAAY,EAAE,UAAkB;QAExC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;QACD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,KAAK,CAAC;SACd;QACD,UAAU,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAE5C,OAAO,KAAK,CAAC,MAAM,CAAC,UAAA,EAAE;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAdU,UAAU;QAHtB,IAAI,CAAC;YACJ,IAAI,EAAE,QAAQ;SACf,CAAC;OACW,UAAU,CAetB;IAAD,iBAAC;CAAA,AAfD,IAeC;SAfY,UAAU"}

View File

@@ -0,0 +1,8 @@
import { FilterPipe } from './filter.pipe';
describe('FilterPipe', function () {
it('create an instance', function () {
var pipe = new FilterPipe();
expect(pipe).toBeTruthy();
});
});
//# sourceMappingURL=filter.pipe.spec.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"filter.pipe.spec.js","sourceRoot":"","sources":["../../../../src/app/filter.pipe.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,QAAQ,CAAC,YAAY,EAAE;IACrB,EAAE,CAAC,oBAAoB,EAAE;QACvB,IAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}

View File

@@ -23,6 +23,9 @@ var HomeComponent = /** @class */ (function () {
HomeComponent.prototype.ngOnDestroy = function () {
this.subs.unsubscribe();
};
HomeComponent.prototype.popupConfirm = function () {
console.log("Confirmed");
};
HomeComponent = __decorate([
Component({
selector: 'app-home',

View File

@@ -1 +1 @@
{"version":3,"file":"home.component.js","sourceRoot":"","sources":["../../../../../src/app/home/home.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AASnD;IAKE,uBAAqB,KAAgB;QAArC,iBAKC;QALoB,UAAK,GAAL,KAAK,CAAW;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,UAAA,KAAK;YACnD,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAQ,GAAR;IAEA,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAlBU,aAAa;QANzB,SAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,uBAAuB;YACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;YACpC,SAAS,EAAE,EAAE;SACd,CAAC;yCAM4B,SAAS;OAL1B,aAAa,CAoBzB;IAAD,oBAAC;CAAA,AApBD,IAoBC;SApBY,aAAa"}
{"version":3,"file":"home.component.js","sourceRoot":"","sources":["../../../../../src/app/home/home.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AASnD;IAKE,uBAAqB,KAAgB;QAArC,iBAKC;QALoB,UAAK,GAAL,KAAK,CAAW;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,UAAA,KAAK;YACnD,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAQ,GAAR;IAEA,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAED,oCAAY,GAAZ;QACE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;IAtBU,aAAa;QANzB,SAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,uBAAuB;YACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;YACpC,SAAS,EAAE,EAAE;SACd,CAAC;yCAM4B,SAAS;OAL1B,aAAa,CAwBzB;IAAD,oBAAC;CAAA,AAxBD,IAwBC;SAxBY,aAAa"}

View File

@@ -0,0 +1,40 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Injectable } from '@angular/core';
import { HttpErrorResponse } from '@angular/common/http';
import { tap } from 'rxjs/operators';
import { Router } from '@angular/router';
import { AuthGuard } from '../services/auth.guard';
var MyHttpInterceptor = /** @class */ (function () {
function MyHttpInterceptor(router, _auth) {
this.router = router;
this._auth = _auth;
}
MyHttpInterceptor.prototype.intercept = function (request, next) {
var _this = this;
return next.handle(request).pipe(tap(function () { }, function (err) {
if (err instanceof HttpErrorResponse) {
if (err.status !== 401) {
return;
}
console.log("Interceptor error 401!!");
_this._auth.clearUser();
_this.router.navigate(['home']);
}
}));
};
MyHttpInterceptor = __decorate([
Injectable(),
__metadata("design:paramtypes", [Router, AuthGuard])
], MyHttpInterceptor);
return MyHttpInterceptor;
}());
export { MyHttpInterceptor };
//# sourceMappingURL=http.interceptor.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"http.interceptor.js","sourceRoot":"","sources":["../../../../../src/app/interceptors/http.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAKL,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,GAAG,EAAC,MAAM,gBAAgB,CAAC;AACnC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD;IAEE,2BAAoB,MAAc,EAAU,KAAgB;QAAxC,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAW;IAAG,CAAC;IAEhE,qCAAS,GAAT,UAAU,OAAyB,EAAE,IAAiB;QAAtD,iBAcC;QAZC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC,cAAO,CAAC,EAC5C,UAAC,GAAQ;YAET,IAAI,GAAG,YAAY,iBAAiB,EAAE;gBACpC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBACvB,OAAO;iBACP;gBACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACvC,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAlBU,iBAAiB;QAD7B,UAAU,EAAE;yCAGiB,MAAM,EAAiB,SAAS;OAFjD,iBAAiB,CAmB7B;IAAD,wBAAC;CAAA,AAnBD,IAmBC;SAnBY,iBAAiB"}

View File

@@ -20,7 +20,6 @@ var LogsComponent = /** @class */ (function () {
LogsComponent.prototype.onClick = function (targetElement) {
var clickedInside = this.insideElement.nativeElement.contains(targetElement);
if (!clickedInside) {
console.log('outside clicked');
this.onClose.emit(false);
}
};
@@ -33,20 +32,45 @@ var LogsComponent = /** @class */ (function () {
});
}
else if (this.type === "destroy") {
this.sub = timer(0, 5000).pipe(switchMap(function () { return _this._provisionsService.getDestroyLogs(_this.selectedprov.destroyId); })).subscribe(function (content) {
this.sub = timer(0, 5000).pipe(switchMap(function () { return _this._provisionsService.getDestroyLogs(_this.selectedprov.destroy._id); })).subscribe(function (content) {
_this.content = content;
});
}
}
};
LogsComponent.prototype.ngOnInit = function () {
this.refresh();
LogsComponent.prototype.ngOnInit = function () { };
LogsComponent.prototype.ngOnChanges = function (changes) {
var _this = this;
this.content = null;
if (this.sub) {
this.sub.unsubscribe();
this.sub = null;
}
if (changes.show && changes.show.currentValue) {
if (this.type === "provision") {
this.sub = timer(0, 5000).pipe(switchMap(function () { return _this._provisionsService.getProvisionLogs(_this.selectedprov._id); })).subscribe(function (content) {
_this.content = content;
});
}
else if (this.type === "destroy") {
this.sub = timer(0, 5000).pipe(switchMap(function () { return _this._provisionsService.getDestroyLogs(_this.selectedprov.destroy._id); })).subscribe(function (content) {
_this.content = content;
});
}
}
};
LogsComponent.prototype.ngOnDestroy = function () {
if (this.sub) {
this.sub.unsubscribe();
this.sub = null;
}
};
LogsComponent.prototype.close = function () {
this.content = null;
if (this.sub) {
this.sub.unsubscribe();
this.sub = null;
}
this.onClose.emit(false);
};
__decorate([
@@ -59,6 +83,10 @@ var LogsComponent = /** @class */ (function () {
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], LogsComponent.prototype, "onClick", null);
__decorate([
Input(),
__metadata("design:type", Object)
], LogsComponent.prototype, "show", void 0);
__decorate([
Input(),
__metadata("design:type", Object)

View File

@@ -1 +1 @@
{"version":3,"file":"logs.component.js","sourceRoot":"","sources":["../../../../../src/app/logs/logs.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAgB,KAAK,EAAC,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C;IAgBE,uBAAoB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAHzD,YAAO,GAAW,IAAI,CAAC;QAOb,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IAJsB,CAAC;IAXvD,+BAAO,GAAd,UAAe,aAAa;QAC1B,IAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;IACH,CAAC;IAWD,+BAAO,GAAP;QAAA,iBAYC;QAXC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC;YAChB,IAAK,IAAI,CAAC,IAAI,KAAK,WAAW,EAAG;gBAC/B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAE,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAA/D,CAA+D,CAAE,CAAE,CAAC,SAAS,CAAC,UAAA,OAAO;oBACnI,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAK,IAAI,CAAC,IAAI,KAAK,SAAS,EAAG;gBACpC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAE,SAAS,CAAC,cAAM,OAAA,KAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAnE,CAAmE,CAAE,CAAE,CAAC,SAAS,CAAC,UAAA,OAAO;oBACvI,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC,CAAC,CAAA;aACH;SACF;IACH,CAAC;IACD,gCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,6BAAK,GAAL;QACE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IA5C2B;QAA3B,SAAS,CAAC,eAAe,CAAC;;wDAAe;IAG1C;QAFC,YAAY,CAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,CAAC;;;;gDAQjD;IAOQ;QAAR,KAAK,EAAE;;uDAAc;IACb;QAAR,KAAK,EAAE;;+CAAM;IACJ;QAAT,MAAM,EAAE;;kDAA8B;IApB5B,aAAa;QALzB,SAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,uBAAuB;YACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;SACrC,CAAC;yCAiBwC,iBAAiB;OAhB9C,aAAa,CAgDzB;IAAD,oBAAC;CAAA,AAhDD,IAgDC;SAhDY,aAAa"}
{"version":3,"file":"logs.component.js","sourceRoot":"","sources":["../../../../../src/app/logs/logs.component.ts"],"names":[],"mappings":"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"}

View File

@@ -7,37 +7,63 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component, ElementRef } from '@angular/core';
import * as leonardoui from 'leonardo-ui';
import { Component, ElementRef, EventEmitter, ViewChild, Input, Output } from '@angular/core';
var PopoverconfirmComponent = /** @class */ (function () {
function PopoverconfirmComponent(myElement) {
this.onConfirm = new EventEmitter();
this.element = myElement;
}
PopoverconfirmComponent.prototype.open = function () {
console.log("myElement", this.element);
console.log("open popover", leonardoui);
/*this.popover = leonardoui.popover( {
content: this.element[0],
closeOnEscape: true,
dock: "bottom",
alignTo: this.element
} );
console.log("this.popover", this.popover);
var viewportOffset = this.element.nativeElement.getBoundingClientRect();
var top = viewportOffset.top;
var left = viewportOffset.left;
this.popovercontent.nativeElement.style.display = 'block';
this.popovercontent.nativeElement.style.position = 'absolute';
if (this.dock.indexOf('left') !== -1) {
this.left = -this.popovercontent.nativeElement.offsetWidth;
}
ngOnInit() {
else if (this.dock.indexOf('right') !== -1) {
this.left = this.element.nativeElement.offsetWidth;
}
ok(): void {
this.popover.close();
this.top = 0;
if (this.dock.indexOf('top') !== -1) {
this.top = -this.popovercontent.nativeElement.offsetHeight;
}
cancel(): void {
this.popover.close();
else if (this.dock.indexOf('bottom') !== -1) {
this.top = this.element.nativeElement.offsetHeight;
}
}
this.popovercontent.nativeElement.style.top = (top + this.top) + 'px';
this.popovercontent.nativeElement.style.left = (left + this.left) + 'px';
};
PopoverconfirmComponent.prototype.ngOnInit = function () {
};
PopoverconfirmComponent.prototype.ok = function () {
this.popovercontent.nativeElement.style.display = 'none';
this.onConfirm.emit(true);
};
PopoverconfirmComponent.prototype.cancel = function () {
this.popovercontent.nativeElement.style.display = 'none';
};
__decorate([
ViewChild('popovercontent'),
__metadata("design:type", ElementRef)
], PopoverconfirmComponent.prototype, "popovercontent", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], PopoverconfirmComponent.prototype, "dock", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], PopoverconfirmComponent.prototype, "buttonConfig", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], PopoverconfirmComponent.prototype, "popupConfig", void 0);
__decorate([
Output(),
__metadata("design:type", Object)
], PopoverconfirmComponent.prototype, "onConfirm", void 0);
PopoverconfirmComponent = __decorate([
Component({
selector: 'app-popoverconfirm',
@@ -49,25 +75,4 @@ var PopoverconfirmComponent = /** @class */ (function () {
return PopoverconfirmComponent;
}());
export { PopoverconfirmComponent };
/*this.popover = leonardoui.popover( {
content: this.element[0],
closeOnEscape: true,
dock: "bottom",
alignTo: this.element
} );
console.log("this.popover", this.popover);
}
ngOnInit() {
}
ok(): void {
this.popover.close();
}
cancel(): void {
this.popover.close();
}
}
//# sourceMappingURL=popoverconfirm.component.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"popoverconfirm.component.js","sourceRoot":"","sources":["../../../../../src/app/popoverconfirm/popoverconfirm.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,UAAU,MAAM,aAAa,CAAC;AAO1C;IAKE,iCAAa,SAAqB;QAChC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,sCAAI,GAAJ;QACE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACxC;;;;;;;;;;;;;;;;;;;;QAoBJ;IAAA,CAAC,AArB2C;IAX/B,uBAAuB;QALnC,SAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,WAAW,EAAE,iCAAiC;YAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;SAC/C,CAAC;yCAMwB,UAAU;OALvB,uBAAuB,CAWQ;IAqB5C,8BAAC;CArB2C,AAX5C,IAW4C;SAX/B,uBAAuB;AAYhC;;;;;;;;;;;;;;;;;;;;AAoBJ"}
{"version":3,"file":"popoverconfirm.component.js","sourceRoot":"","sources":["../../../../../src/app/popoverconfirm/popoverconfirm.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AAOpH;IAOE,iCAAa,SAAqB;QAQxB,cAAS,GAAG,IAAI,YAAY,EAAE,CAAC;QAPvC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAWD,sCAAI,GAAJ;QACE,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACxE,IAAI,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC;QAC7B,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAE/B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1D,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QAE9D,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;YACpC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC;SAC5D;aAAM,IAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAG;YAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;SACpD;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;YACnC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC;SAC5D;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;SACpD;QAED,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACtE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE3E,CAAC;IAED,0CAAQ,GAAR;IACA,CAAC;IAED,oCAAE,GAAF;QACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,wCAAM,GAAN;QACE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3D,CAAC;IAnDD;QADC,SAAS,CAAC,gBAAgB,CAAC;kCACH,UAAU;mEAAC;IAM3B;QAAR,KAAK,EAAE;;yDAAM;IACL;QAAR,KAAK,EAAE;;iEAAc;IACb;QAAR,KAAK,EAAE;;gEAAa;IAEX;QAAT,MAAM,EAAE;;8DAAgC;IAf9B,uBAAuB;QALnC,SAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,WAAW,EAAE,iCAAiC;YAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;SAC/C,CAAC;yCAQwB,UAAU;OAPvB,uBAAuB,CAyDnC;IAAD,8BAAC;CAAA,AAzDD,IAyDC;SAzDY,uBAAuB"}

View File

@@ -12,33 +12,53 @@ import { ProvisionsService } from '../services/provisions.service';
import { timer } from 'rxjs';
import { switchMap } from 'rxjs/operators';
import { AuthGuard } from '../services/auth.guard';
import { ScenariosService } from '../services/scenarios.service';
import { AlertService } from '../services/alert.service';
import { MDBModalService } from 'angular-bootstrap-md';
import { ModalInfoComponent } from '../alert/modalinfo.component';
import { ModalConfirmComponent } from '../alert/confirm.component';
var ProvisionsComponent = /** @class */ (function () {
function ProvisionsComponent(_provisionsService, _auth) {
function ProvisionsComponent(modalService, _alertService, _provisionsService, _scenariosService, _auth) {
var _this = this;
this.modalService = modalService;
this._alertService = _alertService;
this._provisionsService = _provisionsService;
this._scenariosService = _scenariosService;
this._auth = _auth;
this.logShow = false;
this.logstype = 'provision';
this.selectedprov = null;
this._auth.getUserInfo().subscribe(function (value) {
_this._userId = value._id;
_this._userId = value ? value._id : null;
});
}
ProvisionsComponent.prototype._refresh = function () {
var _this = this;
this.instantSubs = this._provisionsService.getCombinedProvisions(this._userId).subscribe(function (pair) {
_this._provisionsService.composePair(pair);
_this.destroys = pair[1];
_this.provisions = pair[0];
this.instantSubs = this._provisionsService.getProvisionsByUser(this._userId).subscribe(function (provisions) {
provisions = provisions.results;
provisions.forEach(function (p) {
p._scenario = _this.scenarios.filter(function (s) { return s.name === p.scenario; });
_this._provisionsService.timeRunning(p);
});
_this.provisions = provisions.filter(function (p) { return !p.destroy || !p.destroy.status || p.destroy.status !== 'destroyed'; });
_this.destroys = provisions.filter(function (p) { return p.destroy && p.destroy.status === 'destroyed'; });
_this.instantSubs.unsubscribe();
});
};
ProvisionsComponent.prototype.ngOnInit = function () {
var _this = this;
this.subscription = timer(0, 5000).pipe(switchMap(function () { return _this._provisionsService.getCombinedProvisions(_this._userId); })).subscribe(function (pair) {
_this._provisionsService.composePair(pair);
_this.destroys = pair[1];
_this.provisions = pair[0];
this.scenariosSub = this._scenariosService.getScenariosAll().subscribe(function (res) {
_this.scenarios = res.results;
_this.scenariosSub.unsubscribe();
_this.subscription = timer(0, 8000).pipe(switchMap(function () { return _this._provisionsService.getProvisionsByUser(_this._userId); })).subscribe(function (provisions) {
provisions = provisions.results;
provisions.forEach(function (p) {
p._scenario = _this.scenarios.filter(function (s) { return s.name === p.scenario; });
_this._provisionsService.timeRunning(p);
});
_this.provisions = provisions.filter(function (p) { return !p.destroy || !p.destroy.status || p.destroy.status !== 'destroyed'; });
_this.destroys = provisions.filter(function (p) { return p.destroy && p.destroy.status === 'destroyed'; });
});
});
};
ProvisionsComponent.prototype.ngOnDestroy = function () {
@@ -47,18 +67,122 @@ var ProvisionsComponent = /** @class */ (function () {
this.instantSubs.unsubscribe();
}
};
ProvisionsComponent.prototype.setModal = function (provision, frame) {
frame.show();
this._provisionsService.setSelectedProv(provision);
};
ProvisionsComponent.prototype.del = function (provision) {
var _this = this;
this._provisionsService.delProvision(provision._id.toString(), this._userId).subscribe(function (res) {
console.log("Done!", res);
_this._refresh();
_this._alertService.showAlert({
type: 'alert-primary',
text: "Provision entry '" + provision.scenario + "' was deleted from your history"
});
});
};
ProvisionsComponent.prototype.destroy = function (provision) {
ProvisionsComponent.prototype.openConfirmDestroyModal = function (provision) {
var _this = this;
this._provisionsService.newDestroy({ "id": provision._id.toString() }, this._userId).subscribe(function (res) {
console.log("Done!", res);
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-danger',
containerClass: '',
data: {
info: {
title: 'Confirm destroy this provision?',
icon: 'times-circle'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.newDestroy(provision._id.toString(), _this._userId).subscribe(function (res) {
_this._refresh();
_this._alertService.showAlert({
type: 'alert-primary',
text: "Provision of scenario '" + provision.scenario + "' is going to be destroyed"
});
});
});
};
ProvisionsComponent.prototype.openConfirmStopModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: 'Confirm Stop VMs?',
icon: 'stop',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.stopVms(provision._id.toString(), _this._userId).subscribe(function (res) {
provision.statusVms = res.statusVms;
provision.timeRunning = res.timeRunning;
provision.runningFrom = res.runningFrom;
_this._provisionsService.timeRunning(provision);
_this._alertService.showAlert({
type: 'alert-primary',
text: "Stopping all VMs for scenario '" + provision.scenario + "'..."
});
});
});
};
ProvisionsComponent.prototype.openConfirmStartModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: 'Confirm Start VMs?',
icon: 'play',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.startVms(provision._id.toString(), _this._userId).subscribe(function (res) {
provision.statusVms = res.statusVms;
provision.timeRunning = res.timeRunning;
provision.runningFrom = res.runningFrom;
_this._provisionsService.timeRunning(provision);
_this._alertService.showAlert({
type: 'alert-primary',
text: "Starting all VMs for scenario '" + provision.scenario + "'..."
});
});
});
};
ProvisionsComponent.prototype.openConfirmExtendModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: "Extend running VMs for " + this._provisionsService.RUNNING_PERIOD + " days?",
icon: 'plus-square',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.extend(provision._id.toString(), _this._userId).subscribe(function (res) {
provision.countExtend = res.countExtend;
provision.timeRunning = res.timeRunning;
provision.runningFrom = res.runningFrom;
_this._provisionsService.timeRunning(provision);
_this._alertService.showAlert({
type: 'alert-primary',
text: "Running period extended another " + _this._provisionsService.RUNNING_PERIOD + " days (from now) for provision '" + provision.scenario + "'"
});
});
});
};
ProvisionsComponent.prototype.showLogs = function ($event, provision, type) {
@@ -69,12 +193,24 @@ var ProvisionsComponent = /** @class */ (function () {
this.selectedprov = provision;
this.logShow = true;
};
ProvisionsComponent.prototype.onLogsClose = function ($event) {
ProvisionsComponent.prototype.openModal = function (provision) {
this.modalService.show(ModalInfoComponent, {
class: 'modal-lg',
containerClass: '',
data: {
info: provision
}
});
};
ProvisionsComponent.prototype.onLogsClose = function () {
this.selectedprov = null;
this.logShow = false;
};
ProvisionsComponent.prototype.onStartProvision = function ($event) {
console.log("onStartProvision");
ProvisionsComponent.prototype.onStartProvision = function (scenario) {
this._alertService.showAlert({
type: 'alert-primary',
text: "Scenario '" + scenario.name + "' is going to be provisioned. Scroll up to your Provisions to watch out progress."
});
this._refresh();
};
ProvisionsComponent = __decorate([
@@ -84,7 +220,7 @@ var ProvisionsComponent = /** @class */ (function () {
styleUrls: ['./provisions.component.scss'],
providers: [ProvisionsService]
}),
__metadata("design:paramtypes", [ProvisionsService, AuthGuard])
__metadata("design:paramtypes", [MDBModalService, AlertService, ProvisionsService, ScenariosService, AuthGuard])
], ProvisionsComponent);
return ProvisionsComponent;
}());

File diff suppressed because one or more lines are too long

View File

@@ -11,28 +11,52 @@ import { Component, Output, EventEmitter } from '@angular/core';
import { ProvisionsService } from '../services/provisions.service';
import { ScenariosService } from '../services/scenarios.service';
import { AuthGuard } from '../services/auth.guard';
import { NewProvisionConfirmComponent } from '../alert/new-provision.component';
import { MDBModalService } from 'angular-bootstrap-md';
var ScenariosComponent = /** @class */ (function () {
function ScenariosComponent(_provisionsService, _scenariosService, _auth) {
function ScenariosComponent(modalService, _provisionsService, _scenariosService, _auth) {
var _this = this;
this.modalService = modalService;
this._provisionsService = _provisionsService;
this._scenariosService = _scenariosService;
this._auth = _auth;
this.onStartProvision = new EventEmitter();
this._auth.getUserInfo().subscribe(function (value) {
_this._userId = value._id;
_this.user = value;
});
}
ScenariosComponent.prototype.ngOnInit = function () {
var _this = this;
this._scenariosService.getScenarios().subscribe(function (res) {
_this.scenarios = res;
this.scenariosSub = this._scenariosService.getScenarios().subscribe(function (res) {
_this.scenarios = res.results;
_this.scenariosSub.unsubscribe();
console.log("scenarios", _this.scenarios);
});
};
ScenariosComponent.prototype.provision = function (scenario) {
ScenariosComponent.prototype.ngOnDestroy = function () { };
ScenariosComponent.prototype.openNewProvisionConfirmModal = function (scenario) {
var _this = this;
this._provisionsService.newProvision({ "scenario": scenario.name }, this._userId).subscribe(function (res) {
var modalRef = this.modalService.show(NewProvisionConfirmComponent, {
class: 'modal-md modal-notify',
containerClass: '',
data: {
scenario: scenario
}
});
var sub = modalRef.content.action.subscribe(function (data) {
sub.unsubscribe();
var postData = {
scenario: scenario.name,
description: data.description,
isExternalAccess: data.isExternalAccess
};
if (data.servers) {
postData["vmImage"] = data.servers;
}
_this._provisionsService.newProvision(postData, _this.user._id).subscribe(function (res) {
console.log("Done!", res);
_this.onStartProvision.emit();
_this.onStartProvision.emit(scenario);
});
});
};
__decorate([
@@ -45,7 +69,7 @@ var ScenariosComponent = /** @class */ (function () {
templateUrl: './scenarios.component.html',
styleUrls: ['./scenarios.component.scss']
}),
__metadata("design:paramtypes", [ProvisionsService, ScenariosService, AuthGuard])
__metadata("design:paramtypes", [MDBModalService, ProvisionsService, ScenariosService, AuthGuard])
], ScenariosComponent);
return ScenariosComponent;
}());

View File

@@ -1 +1 @@
{"version":3,"file":"scenarios.component.js","sourceRoot":"","sources":["../../../../../src/app/scenarios/scenarios.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD;IAEE,4BAAoB,kBAAqC,EAAU,iBAAmC,EAAU,KAAgB;QAAhI,iBAIC;QAJmB,uBAAkB,GAAlB,kBAAkB,CAAmB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAkB;QAAU,UAAK,GAAL,KAAK,CAAW;QAMtH,qBAAgB,GAAG,IAAI,YAAY,EAAE,CAAC;QAL9C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,UAAA,KAAK;YACvC,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAOD,qCAAQ,GAAR;QAAA,iBAIC;QAHC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,SAAS,CAAE,UAAA,GAAG;YAClD,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACvB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,sCAAS,GAAT,UAAU,QAAQ;QAAlB,iBAKC;QAJC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAE,UAAA,GAAG;YAC5F,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC1B,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAhBS;QAAT,MAAM,EAAE;;gEAAuC;IARrC,kBAAkB;QAL9B,SAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,4BAA4B;YACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;SAC1C,CAAC;yCAGwC,iBAAiB,EAA6B,gBAAgB,EAAiB,SAAS;OAFrH,kBAAkB,CA0B9B;IAAD,yBAAC;CAAA,AA1BD,IA0BC;SA1BY,kBAAkB"}
{"version":3,"file":"scenarios.component.js","sourceRoot":"","sources":["../../../../../src/app/scenarios/scenarios.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,YAAY,EAAa,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD;IAIE,4BAAoB,YAA6B,EAAU,kBAAqC,EAAU,iBAAmC,EAAU,KAAgB;QAAvK,iBAIC;QAJmB,iBAAY,GAAZ,YAAY,CAAiB;QAAU,uBAAkB,GAAlB,kBAAkB,CAAmB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAkB;QAAU,UAAK,GAAL,KAAK,CAAW;QAM7J,qBAAgB,GAAG,IAAI,YAAY,EAAU,CAAC;QALtD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,UAAA,KAAK;YACvC,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAQD,qCAAQ,GAAR;QAAA,iBAOC;QALC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,SAAS,CAAE,UAAA,GAAG;YACtE,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;YAC7B,KAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAW,GAAX,cAAe,CAAC;IAEhB,yDAA4B,GAA5B,UAA6B,QAAQ;QAArC,iBA4BC;QA3BC,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAClE,KAAK,EAAE,uBAAuB;YAC9B,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE;gBACJ,QAAQ,EAAE,QAAQ;aACnB;SACF,CAAE,CAAC;QAEJ,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAE,UAAC,IAAS;YACrD,GAAG,CAAC,WAAW,EAAE,CAAC;YAElB,IAAM,QAAQ,GAAG;gBACf,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACxC,CAAC;YAEF,IAAK,IAAI,CAAC,OAAO,EAAG;gBAChB,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aACtC;YAED,KAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAAE,UAAA,GAAG;gBAC1E,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC1B,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IA7CS;QAAT,MAAM,EAAE;;gEAA+C;IAV7C,kBAAkB;QAL9B,SAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,4BAA4B;YACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;SAC1C,CAAC;yCAKkC,eAAe,EAA8B,iBAAiB,EAA6B,gBAAgB,EAAiB,SAAS;OAJ5J,kBAAkB,CAyD9B;IAAD,yBAAC;CAAA,AAzDD,IAyDC;SAzDY,kBAAkB"}

View File

@@ -0,0 +1,36 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Injectable, EventEmitter } from '@angular/core';
var AlertService = /** @class */ (function () {
function AlertService() {
this.alertEmitter = new EventEmitter();
}
AlertService.prototype.showAlert = function (alert) {
this.alertEmitter.emit(alert);
if (this.to) {
clearTimeout(this.to);
}
this.to = setTimeout(function () {
this.alertEmitter.emit(null);
}.bind(this), 5000);
};
AlertService.prototype.getAlertEmitter = function () {
return this.alertEmitter;
};
AlertService = __decorate([
Injectable({
providedIn: 'root'
}),
__metadata("design:paramtypes", [])
], AlertService);
return AlertService;
}());
export { AlertService };
//# sourceMappingURL=alert.service.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"alert.service.js","sourceRoot":"","sources":["../../../../../src/app/services/alert.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAKzD;IAIE;QAFA,iBAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAElB,CAAC;IAGjB,gCAAS,GAAT,UAAU,KAAK;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAK,IAAI,CAAC,EAAE,EAAG;YACb,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,EAAE,GAAG,UAAU,CAAE;YAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,sCAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAnBU,YAAY;QAHxB,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;;OACW,YAAY,CAqBxB;IAAD,mBAAC;CAAA,AArBD,IAqBC;SArBY,YAAY"}

View File

@@ -12,30 +12,32 @@ import { Router } from '@angular/router';
import { of, BehaviorSubject } from 'rxjs';
import { map, catchError } from 'rxjs/operators';
import { HttpClient } from '@angular/common/http';
import { UsersService } from './users.service';
var AuthGuard = /** @class */ (function () {
// Inject Router so we can hand off the user to the Login Page
function AuthGuard(httpClient, router) {
var _this = this;
function AuthGuard(_userService, httpClient, router) {
this._userService = _userService;
this.httpClient = httpClient;
this.router = router;
this.userInfo = new BehaviorSubject(null);
this.getMe().subscribe(function (value) {
_this.userInfo.next(value);
localStorage.setItem("user", JSON.stringify(value));
});
var user = localStorage.getItem("user");
this.userInfo.next(JSON.parse(user));
}
AuthGuard.prototype.canActivate = function (route) {
var _this = this;
return this.getMe().pipe(map(function (res) {
console.log("CanActivate?");
return this._userService.getMe().pipe(map(function (res) {
localStorage.setItem("user", JSON.stringify(res));
_this.userInfo.next(res);
return true;
}), catchError(function (err) {
_this.userInfo.next(null);
_this.clearUser();
return of(false);
}));
};
AuthGuard.prototype.getMe = function () {
return this.httpClient.get('/api/users/me');
AuthGuard.prototype.clearUser = function () {
localStorage.setItem("user", null);
this.userInfo.next(null);
};
AuthGuard.prototype.getUserInfo = function () {
return this.userInfo;
@@ -44,7 +46,7 @@ var AuthGuard = /** @class */ (function () {
Injectable({
providedIn: 'root'
}),
__metadata("design:paramtypes", [HttpClient, Router])
__metadata("design:paramtypes", [UsersService, HttpClient, Router])
], AuthGuard);
return AuthGuard;
}());

View File

@@ -1 +1 @@
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../src/app/services/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAA4D,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,EAAE,EAAc,eAAe,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD;IAIE,+DAA+D;IAC/D,mBAAoB,UAAsB,EAAU,MAAc;QAAlE,iBAOC;QAPmB,eAAU,GAAV,UAAU,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAH1D,aAAQ,GAAyB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAKjE,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,UAAA,KAAK;YAC1B,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,+BAAW,GAAX,UAAY,KAA6B;QAAzC,iBAWC;QAVC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CACtB,GAAG,CAAC,UAAA,GAAG;YACL,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,UAAU,CAAC,UAAC,GAAG;YACb,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,yBAAK,GAAL;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,+BAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAjCU,SAAS;QAHrB,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAMgC,UAAU,EAAkB,MAAM;OALvD,SAAS,CAkCrB;IAAD,gBAAC;CAAA,AAlCD,IAkCC;SAlCY,SAAS"}
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../../../../src/app/services/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAA4D,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,EAAE,EAAc,eAAe,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C;IAIE,+DAA+D;IAC/D,mBAAoB,YAA0B,EAAU,UAAsB,EAAU,MAAc;QAAlF,iBAAY,GAAZ,YAAY,CAAc;QAAU,eAAU,GAAV,UAAU,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAH9F,aAAQ,GAAyB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAIjE,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,+BAAW,GAAX,UAAY,KAA6B;QAAzC,iBAaC;QAZC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,CACnC,GAAG,CAAC,UAAA,GAAG;YACL,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAClD,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EACF,UAAU,CAAC,UAAC,GAAG;YACb,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAID,6BAAS,GAAT;QACE,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,+BAAW,GAAX;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAlCU,SAAS;QAHrB,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAMkC,YAAY,EAAsB,UAAU,EAAkB,MAAM;OAL3F,SAAS,CAmCrB;IAAD,gBAAC;CAAA,AAnCD,IAmCC;SAnCY,SAAS"}

View File

@@ -8,57 +8,108 @@ var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { forkJoin } from 'rxjs';
import { HttpClient, HttpParams } from '@angular/common/http';
import { environment } from '../../environments/environment.prod';
import * as moment from 'moment';
var ProvisionsService = /** @class */ (function () {
function ProvisionsService(httpClient) {
this.httpClient = httpClient;
this.RUNNING_PERIOD = 4;
this.STOP_PERIOD = 10;
}
ProvisionsService.prototype.getProvisionsAdmin = function () {
return this.httpClient.get("/api/provisions");
ProvisionsService.prototype.getProvisionsAdmin = function (filter) {
// Initialize Params Object
var params = new HttpParams();
if (filter) {
params = params.append("filter", JSON.stringify(filter));
}
return this.httpClient.get(environment.apiVersionPath + "/provisions", { params: params });
};
ProvisionsService.prototype.getProvisionsByUser = function (userId) {
return this.httpClient.get(environment.apiVersionPath + "/users/" + userId + "/provisions");
};
ProvisionsService.prototype.getDestroyProvisionsAdmin = function () {
return this.httpClient.get("/api/destroyprovisions");
};
ProvisionsService.prototype.getProvisions = function (userId) {
return this.httpClient.get("/api/users/" + userId + "/provisions");
return this.httpClient.get(environment.apiVersionPath + "/destroyprovisions");
};
ProvisionsService.prototype.newProvision = function (body, userId) {
return this.httpClient.post("/api/users/" + userId + "/provisions", body);
return this.httpClient.post(environment.apiVersionPath + "/users/" + userId + "/provisions", body);
};
ProvisionsService.prototype.delProvision = function (id, userId) {
return this.httpClient.delete("/api/users/" + userId + "/provisions/" + id);
return this.httpClient.delete(environment.apiVersionPath + "/users/" + userId + "/provisions/" + id);
};
ProvisionsService.prototype.newDestroy = function (body, userId) {
return this.httpClient.post("/api/users/" + userId + "/destroyprovisions", body);
ProvisionsService.prototype.newDestroy = function (id, userId) {
return this.httpClient.post(environment.apiVersionPath + "/users/" + userId + "/provisions/" + id + "/destroy", null);
};
ProvisionsService.prototype.getDestroyProvisions = function (userId) {
return this.httpClient.get("/api/users/" + userId + "/destroyprovisions");
};
ProvisionsService.prototype.getCombinedProvisions = function (userId) {
return forkJoin(this.getProvisions(userId), this.getDestroyProvisions(userId));
};
ProvisionsService.prototype.getCombinedProvisionsAdmin = function () {
return forkJoin(this.getProvisionsAdmin(), this.getDestroyProvisionsAdmin());
return this.httpClient.get(environment.apiVersionPath + "/users/" + userId + "/destroyprovisions");
};
/*
getCombinedProvisions(userId): Observable<any> {
return forkJoin(this.getProvisionsByUser(userId), this.getDestroyProvisions(userId))
}
getCombinedProvisionsAdmin(): Observable<any> {
return forkJoin(this.getProvisionsAdmin(), this.getDestroyProvisionsAdmin())
}*/
ProvisionsService.prototype.getProvisionLogs = function (id) {
return this.httpClient.get("/api/provisions/" + id + "/logs", { responseType: 'text' });
return this.httpClient.get(environment.apiVersionPath + "/provisions/" + id + "/logs", { responseType: 'text' });
};
ProvisionsService.prototype.getDestroyLogs = function (id) {
return this.httpClient.get("/api/destroyprovisions/" + id + "/logs", { responseType: 'text' });
return this.httpClient.get(environment.apiVersionPath + "/destroyprovisions/" + id + "/logs", { responseType: 'text' });
};
ProvisionsService.prototype.composePair = function (pair) {
pair['0'].forEach(function (prov) {
var foundDes = pair['1'].filter(function (d) {
return d.provId.toString() === prov._id.toString();
});
if (foundDes.length) {
prov.destroyId = foundDes[0]._id.toString();
prov.statusDestroy = foundDes[0].status;
prov.dateDestroy = foundDes[0].created;
ProvisionsService.prototype.stopVms = function (id, userId) {
return this.httpClient.post(environment.apiVersionPath + "/users/" + userId + "/provisions/" + id + "/deallocatevms", null);
};
ProvisionsService.prototype.startVms = function (id, userId) {
return this.httpClient.post(environment.apiVersionPath + "/users/" + userId + "/provisions/" + id + "/startvms", null);
};
ProvisionsService.prototype.extend = function (id, userId) {
return this.httpClient.post(environment.apiVersionPath + "/users/" + userId + "/provisions/" + id + "/extend", null);
};
ProvisionsService.prototype.setSelectedProv = function (provision) {
if (provision) {
this.selectedProv = provision;
}
else {
this.selectedProv = null;
}
};
ProvisionsService.prototype.getSelectedProv = function () {
return this.selectedProv;
};
ProvisionsService.prototype.timeRunning = function (p) {
var now = new Date();
var runningFromTime = p.runningFrom ? new Date(p.runningFrom).getTime() : new Date(p.created).getTime();
var totalRunningTime = p.timeRunning * 1000 * 60;
if (p.statusVms !== 'Stopped' && p.statusVms !== 'Starting' && !p.isDestroyed) {
totalRunningTime = totalRunningTime + Math.abs(now.getTime() - runningFromTime);
}
var authShutdownDate = new Date(runningFromTime);
authShutdownDate.setDate(authShutdownDate.getDate() + this.RUNNING_PERIOD);
var autoshutDown = authShutdownDate.getTime() - now.getTime();
var durationAutoShutdown = moment.duration(autoshutDown);
var duration = moment.duration(totalRunningTime);
p.runningDays = Math.floor(duration.asDays());
p.runningHours = duration.hours();
p.runningMinutes = duration.minutes();
p.autoshutdownDays = Math.floor(durationAutoShutdown.asDays());
p.autoshutdownHours = durationAutoShutdown.hours();
p.autoshutdownMinutes = durationAutoShutdown.minutes();
if ((p.statusVms === 'Stopped' || p.statusVms === 'Starting') && !p.isDestroyed) {
var autoDestroyDate = new Date(p.stoppedFrom);
autoDestroyDate.setDate(autoDestroyDate.getDate() + this.STOP_PERIOD);
var autoDestroy = autoDestroyDate.getTime() - now.getTime();
var durationStop = moment.duration(autoDestroy);
p.autoDestroyDays = Math.floor(durationStop.asDays());
p.autoDestroyHours = durationStop.hours();
p.autoDestroyMinutes = durationStop.minutes();
var inactiveDate = new Date(p.stoppedFrom);
var inactive = Math.abs(inactiveDate.getTime() - now.getTime());
var durationInactive = moment.duration(inactive);
p.inactiveDays = Math.floor(durationInactive.asDays());
p.inactiveHours = durationInactive.hours();
p.inactiveMinutes = durationInactive.minutes();
}
});
return pair;
};
ProvisionsService = __decorate([
Injectable({

View File

@@ -1 +1 @@
{"version":3,"file":"provisions.service.js","sourceRoot":"","sources":["../../../../../src/app/services/provisions.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAc,QAAQ,EAAE,MAAM,MAAM,CAAC;AAO5C;IAGE,2BAAqB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAK,CAAC;IAEjD,8CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAChD,CAAC;IAED,qDAAyB,GAAzB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACvD,CAAC;IAED,yCAAa,GAAb,UAAc,MAAM;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAc,MAAM,gBAAa,CAAC,CAAC;IAChE,CAAC;IAED,wCAAY,GAAZ,UAAa,IAAI,EAAE,MAAM;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAc,MAAM,gBAAa,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,wCAAY,GAAZ,UAAa,EAAE,EAAE,MAAM;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAc,MAAM,oBAAe,EAAI,CAAC,CAAC;IACzE,CAAC;IAED,sCAAU,GAAV,UAAW,IAAI,EAAE,MAAM;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAc,MAAM,uBAAoB,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,gDAAoB,GAApB,UAAqB,MAAM;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAc,MAAM,uBAAoB,CAAC,CAAC;IACvE,CAAC;IAED,iDAAqB,GAArB,UAAsB,MAAM;QAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;IAChF,CAAC;IAED,sDAA0B,GAA1B;QACE,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAA;IAC9E,CAAC;IAGD,4CAAgB,GAAhB,UAAiB,EAAE;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAmB,EAAE,UAAO,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;IACnF,CAAC;IAED,0CAAc,GAAd,UAAe,EAAE;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,4BAA0B,EAAE,UAAO,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,uCAAW,GAAX,UAAY,IAAI;QACd,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;YACpB,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC;gBAC/B,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,EAAC;gBAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC5C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IA9DU,iBAAiB;QAH7B,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAIiC,UAAU;OAHhC,iBAAiB,CAgE7B;IAAD,wBAAC;CAAA,AAhED,IAgEC;SAhEY,iBAAiB"}
{"version":3,"file":"provisions.service.js","sourceRoot":"","sources":["../../../../../src/app/services/provisions.service.ts"],"names":[],"mappings":"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"}

View File

@@ -9,12 +9,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
};
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { environment } from '../../environments/environment.prod';
var ScenariosService = /** @class */ (function () {
function ScenariosService(httpClient) {
this.httpClient = httpClient;
}
ScenariosService.prototype.getScenarios = function () {
return this.httpClient.get("/api/scenarios");
return this.httpClient.get(environment.apiVersionPath + "/scenarios");
};
ScenariosService.prototype.getScenariosAll = function () {
return this.httpClient.get(environment.apiVersionPath + "/scenarios/all");
};
ScenariosService.prototype.getScenarioVmtypes = function () {
return this.httpClient.get(environment.apiVersionPath + "/scenarios/vmtypes");
};
ScenariosService.prototype.updateScenario = function (id, patchData) {
return this.httpClient.put(environment.apiVersionPath + "/scenarios/" + id, patchData);
};
ScenariosService.prototype.addScenario = function (data) {
return this.httpClient.post(environment.apiVersionPath + "/scenarios", data);
};
ScenariosService.prototype.deleteScenario = function (id) {
return this.httpClient.delete(environment.apiVersionPath + "/scenarios/" + id);
};
ScenariosService = __decorate([
Injectable({

View File

@@ -1 +1 @@
{"version":3,"file":"scenarios.service.js","sourceRoot":"","sources":["../../../../../src/app/services/scenarios.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD;IAEE,0BAAqB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAK,CAAC;IAEjD,uCAAY,GAAZ;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IANU,gBAAgB;QAH5B,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAGiC,UAAU;OAFhC,gBAAgB,CAO5B;IAAD,uBAAC;CAAA,AAPD,IAOC;SAPY,gBAAgB"}
{"version":3,"file":"scenarios.service.js","sourceRoot":"","sources":["../../../../../src/app/services/scenarios.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAKlE;IAEE,0BAAqB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAK,CAAC;IAEjD,uCAAY,GAAZ;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,eAAY,CAAC,CAAC;IACxE,CAAC;IAED,0CAAe,GAAf;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,mBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,6CAAkB,GAAlB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,uBAAoB,CAAC,CAAC;IAChF,CAAC;IAED,yCAAc,GAAd,UAAe,EAAE,EAAE,SAAS;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,mBAAc,EAAI,EAAE,SAAS,CAAC,CAAC;IACzF,CAAC;IAED,sCAAW,GAAX,UAAY,IAAI;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,WAAW,CAAC,cAAc,eAAY,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,yCAAc,GAAd,UAAe,EAAE;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,WAAW,CAAC,cAAc,mBAAc,EAAI,CAAC,CAAC;IACjF,CAAC;IA1BU,gBAAgB;QAH5B,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAGiC,UAAU;OAFhC,gBAAgB,CA4B5B;IAAD,uBAAC;CAAA,AA5BD,IA4BC;SA5BY,gBAAgB"}

View File

@@ -0,0 +1,38 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { environment } from '../../environments/environment.prod';
var SubscriptionsService = /** @class */ (function () {
function SubscriptionsService(httpClient) {
this.httpClient = httpClient;
}
SubscriptionsService.prototype.getSubscriptions = function () {
return this.httpClient.get(environment.apiVersionPath + "/subscriptions");
};
SubscriptionsService.prototype.addSubscription = function (data) {
return this.httpClient.post(environment.apiVersionPath + "/subscriptions", data);
};
SubscriptionsService.prototype.updateSubscription = function (id, patchData) {
return this.httpClient.put(environment.apiVersionPath + "/subscriptions/" + id, patchData);
};
SubscriptionsService.prototype.deleteScenario = function (id) {
return this.httpClient.delete(environment.apiVersionPath + "/subscriptions/" + id);
};
SubscriptionsService = __decorate([
Injectable({
providedIn: 'root'
}),
__metadata("design:paramtypes", [HttpClient])
], SubscriptionsService);
return SubscriptionsService;
}());
export { SubscriptionsService };
//# sourceMappingURL=subscriptions.service.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"subscriptions.service.js","sourceRoot":"","sources":["../../../../../src/app/services/subscriptions.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAKlE;IAEE,8BAAqB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAK,CAAC;IAEjD,+CAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,mBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,8CAAe,GAAf,UAAgB,IAAI;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,WAAW,CAAC,cAAc,mBAAgB,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,iDAAkB,GAAlB,UAAmB,EAAE,EAAE,SAAS;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,uBAAkB,EAAI,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAED,6CAAc,GAAd,UAAe,EAAE;QACf,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAI,WAAW,CAAC,cAAc,uBAAkB,EAAI,CAAC,CAAC;IACrF,CAAC;IAlBU,oBAAoB;QAHhC,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAGiC,UAAU;OAFhC,oBAAoB,CAoBhC;IAAD,2BAAC;CAAA,AApBD,IAoBC;SApBY,oBAAoB"}

View File

@@ -9,15 +9,22 @@ var __metadata = (this && this.__metadata) || function (k, v) {
};
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { environment } from '../../environments/environment.prod';
var UsersService = /** @class */ (function () {
function UsersService(httpClient) {
this.httpClient = httpClient;
}
UsersService.prototype.getMe = function () {
return this.httpClient.get(environment.apiVersionPath + "/users/me");
};
UsersService.prototype.getUsers = function () {
return this.httpClient.get("/api/users");
return this.httpClient.get(environment.apiVersionPath + "/users");
};
UsersService.prototype.updateUser = function (userId, patchData) {
return this.httpClient.put("/api/users/" + userId, patchData);
return this.httpClient.put(environment.apiVersionPath + "/users/" + userId, patchData);
};
UsersService.prototype.getNotifications = function () {
return this.httpClient.get(environment.apiVersionPath + "/notifications");
};
UsersService = __decorate([
Injectable({

View File

@@ -1 +1 @@
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../../../../src/app/services/users.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD;IAEE,sBAAqB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAK,CAAC;IAEjD,+BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,iCAAU,GAAV,UAAW,MAAM,EAAE,SAAS;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAc,MAAQ,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAVU,YAAY;QAHxB,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAGiC,UAAU;OAFhC,YAAY,CAWxB;IAAD,mBAAC;CAAA,AAXD,IAWC;SAXY,YAAY"}
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../../../../src/app/services/users.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAKlE;IAEE,sBAAqB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAK,CAAC;IAEjD,4BAAK,GAAL;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,cAAW,CAAC,CAAC;IACvE,CAAC;IAED,+BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,WAAQ,CAAC,CAAC;IACpE,CAAC;IAED,iCAAU,GAAV,UAAW,MAAM,EAAE,SAAS;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,eAAU,MAAQ,EAAE,SAAS,CAAC,CAAC;IACzF,CAAC;IAED,uCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,WAAW,CAAC,cAAc,mBAAgB,CAAC,CAAC;IAC5E,CAAC;IAlBU,YAAY;QAHxB,UAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAGiC,UAAU;OAFhC,YAAY,CAmBxB;IAAD,mBAAC;CAAA,AAnBD,IAmBC;SAnBY,YAAY"}

View File

@@ -0,0 +1,286 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component, HostListener, ViewChild, ChangeDetectorRef } from '@angular/core';
import { MdbTableDirective, MdbTablePaginationComponent, MDBModalService } from 'angular-bootstrap-md';
import { ProvisionsService } from '../services/provisions.service';
import { AlertService } from '../services/alert.service';
import { ModalInfoComponent } from '../alert/modalinfo.component';
import { ModalConfirmComponent } from '../alert/confirm.component';
import { ScenariosService } from '../services/scenarios.service';
import { timer } from 'rxjs';
import { switchMap } from 'rxjs/operators';
var TableAdminComponent = /** @class */ (function () {
function TableAdminComponent(modalService, _scenariosService, _alertService, cdRef, _provisionsService) {
this.modalService = modalService;
this._scenariosService = _scenariosService;
this._alertService = _alertService;
this.cdRef = cdRef;
this._provisionsService = _provisionsService;
this.pagingIsDisabled = false;
this.searchText = '';
this.selectedprov = null;
this.showInfo = false;
this.logShow = false;
this.logstype = 'provision';
this.maxVisibleItems = 10;
this.filterParams = {
isDestroyed: false
};
}
TableAdminComponent.prototype.oninput = function () {
this.mdbTablePagination.searchText = this.searchText;
};
TableAdminComponent.prototype._process = function (provisions) {
var _this = this;
provisions.forEach(function (p) {
p._scenario = _this.scenarios.filter(function (s) { return s.name === p.scenario; });
_this._provisionsService.timeRunning(p);
});
if (!this.provisions) {
this.provisions = provisions;
}
else {
this.provisions.forEach(function (p, index, object) {
var found = provisions.filter(function (a) { return a._id.toString() === p._id.toString(); });
if (found.length) {
p.status = found[0].status;
p.statusVms = found[0].statusVms;
p.isDestroyed = found[0].isDestroyed;
p.outputs = found[0].outputs;
p.destroy = found[0].destroy;
this._provisionsService.timeRunning(p);
}
else {
object.splice(index, 1);
}
}.bind(this));
provisions.forEach(function (p) {
var found = this.provisions.filter(function (a) { return a._id.toString() === p._id.toString(); });
if (found.length === 0) {
this.provisions.unshift(p);
}
}.bind(this));
}
this._initElements(this.provisions);
};
TableAdminComponent.prototype._initElements = function (items) {
this.mdbTable.setDataSource(items);
this.elements = this.mdbTable.getDataSource();
this.previous = this.mdbTable.getDataSource();
};
TableAdminComponent.prototype.ngOnInit = function () {
var _this = this;
var scenariosSub = this._scenariosService.getScenariosAll().subscribe(function (res) {
scenariosSub.unsubscribe();
_this.scenarios = res.results;
_this.subscription = timer(0, 8000).pipe(switchMap(function () { return _this._provisionsService.getProvisionsAdmin(_this.filterParams); })).subscribe(function (provisions) {
_this._process(provisions.results);
});
});
this.mdbTablePagination.paginationChange().subscribe(function (data) {
/*let page = data.last - data.first;
if (page < this.limit && page > 0) {
page = Math.ceil(data.last / this.limit);
if (this.page !== page) {
this.page = Math.ceil(data.last / this.limit);
this.loadTable();
}
}*/
});
//this._initElements();
};
TableAdminComponent.prototype.ngAfterViewInit = function () {
if (this.mdbTablePagination) {
this.mdbTablePagination.setMaxVisibleItemsNumberTo(this.maxVisibleItems);
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.cdRef.detectChanges();
}
};
TableAdminComponent.prototype.searchItems = function () {
var _this = this;
var prev = this.mdbTable.getDataSource();
if (!this.searchText) {
this.mdbTable.setDataSource(this.previous);
this.elements = this.mdbTable.getDataSource();
}
if (this.searchText) {
this.elements = this.mdbTable.searchLocalDataBy(this.searchText);
this.mdbTable.setDataSource(prev);
}
if (this.mdbTablePagination) {
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.mdbTable.searchDataObservable(this.searchText).subscribe(function () {
_this.mdbTablePagination.calculateFirstItemIndex();
_this.mdbTablePagination.calculateLastItemIndex();
});
}
};
TableAdminComponent.prototype.showLogs = function ($event, provision, type) {
$event.preventDefault();
$event.stopPropagation();
this.logstype = type;
this.logShow = false;
this.selectedprov = provision;
this.logShow = true;
};
TableAdminComponent.prototype.onLogsClose = function () {
this.selectedprov = null;
this.logShow = false;
};
TableAdminComponent.prototype.openConfirmStartModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: 'Confirm Start VMs?',
icon: 'play',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._startVms(provision);
});
};
TableAdminComponent.prototype._startVms = function (provision) {
var _this = this;
var sub = this._provisionsService.startVms(provision._id.toString(), provision.user._id).subscribe(function (res) {
provision.startVms = res.startVms;
sub.unsubscribe();
_this._alertService.showAlert({
type: 'alert-primary',
text: "Starting all VMs for scenario '" + provision.scenario + "'..."
});
});
};
TableAdminComponent.prototype.openConfirmStopModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: 'Confirm Stop VMs?',
icon: 'stop',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._stopVms(provision);
});
};
TableAdminComponent.prototype._stopVms = function (provision) {
var _this = this;
var sub = this._provisionsService.stopVms(provision._id.toString(), provision.user._id).subscribe(function (res) {
provision.startVms = res.startVms;
sub.unsubscribe();
_this._alertService.showAlert({
type: 'alert-primary',
text: "Stopping all VMs for scenario '" + provision.scenario + "'..."
});
});
};
TableAdminComponent.prototype.openInfoModal = function (provision) {
this.modalService.show(ModalInfoComponent, {
backdrop: true,
keyboard: true,
focus: true,
show: false,
ignoreBackdropClick: false,
class: 'modal-lg',
containerClass: '',
animated: true,
data: {
info: provision
}
});
};
TableAdminComponent.prototype.openConfirmDestroyModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-danger',
containerClass: '',
data: {
info: {
title: 'Confirm destroy this provision?',
icon: 'times-circle'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.newDestroy(provision._id.toString(), provision.user._id).subscribe(function (provUpdated) {
_this._alertService.showAlert({
type: 'alert-primary',
text: "Provision of scenario '" + provision.scenario + "' is going to be destroyed"
});
provision.destroy = provUpdated.destroy;
});
});
};
TableAdminComponent.prototype.openConfirmDeleteModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-danger',
containerClass: '',
data: {
info: {
title: 'Confirm delete?',
icon: 'trash-alt'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.delProvision(provision._id, provision.user._id).subscribe(function (res) {
_this.elements = _this.elements.filter(function (e) {
return e._id.toString() !== provision._id.toString();
});
_this._initElements(_this.elements);
_this._alertService.showAlert({
type: 'alert-primary',
text: "Provision entry '" + provision.scenario + "' was deleted"
});
});
});
};
__decorate([
ViewChild(MdbTablePaginationComponent, { static: true }),
__metadata("design:type", MdbTablePaginationComponent)
], TableAdminComponent.prototype, "mdbTablePagination", void 0);
__decorate([
ViewChild(MdbTableDirective, { static: true }),
__metadata("design:type", MdbTableDirective)
], TableAdminComponent.prototype, "mdbTable", void 0);
__decorate([
HostListener('input'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], TableAdminComponent.prototype, "oninput", null);
TableAdminComponent = __decorate([
Component({
selector: 'table-admin',
templateUrl: './table-admin.component.html',
styleUrls: ['./table-admin.component.scss']
}),
__metadata("design:paramtypes", [MDBModalService, ScenariosService, AlertService, ChangeDetectorRef, ProvisionsService])
], TableAdminComponent);
return TableAdminComponent;
}());
export { TableAdminComponent };
//# sourceMappingURL=table-admin.component.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,94 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { MdbTablePaginationComponent, MdbTableDirective } from 'angular-bootstrap-md';
import { Component, ViewChild, HostListener, ChangeDetectorRef } from '@angular/core';
import { UsersService } from '../services/users.service';
var TableNotificationsComponent = /** @class */ (function () {
function TableNotificationsComponent(cdRef, _usersService) {
this.cdRef = cdRef;
this._usersService = _usersService;
this.previous = [];
this.searchText = '';
this.maxVisibleItems = 25;
this.loading = false;
this.elements = [];
}
TableNotificationsComponent.prototype.oninput = function () {
this.mdbTablePagination.searchText = this.searchText;
};
TableNotificationsComponent.prototype._initElements = function () {
this.mdbTable.setDataSource(this.elements);
this.elements = this.mdbTable.getDataSource();
this.previous = this.mdbTable.getDataSource();
};
TableNotificationsComponent.prototype.ngOnInit = function () {
this.refreshData();
};
TableNotificationsComponent.prototype.refreshData = function () {
var _this = this;
this.loading = true;
this.searchText = "";
var sub = this._usersService.getNotifications().subscribe(function (res) {
sub.unsubscribe();
_this.elements = res.results;
_this.loading = false;
_this._initElements();
});
};
TableNotificationsComponent.prototype.ngAfterViewInit = function () {
this.mdbTablePagination.setMaxVisibleItemsNumberTo(this.maxVisibleItems);
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.cdRef.detectChanges();
};
TableNotificationsComponent.prototype.searchItems = function () {
var _this = this;
var prev = this.mdbTable.getDataSource();
if (!this.searchText) {
this.mdbTable.setDataSource(this.previous);
this.elements = this.mdbTable.getDataSource();
}
if (this.searchText) {
this.elements = this.mdbTable.searchLocalDataBy(this.searchText);
this.mdbTable.setDataSource(prev);
}
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.mdbTable.searchDataObservable(this.searchText).subscribe(function () {
_this.mdbTablePagination.calculateFirstItemIndex();
_this.mdbTablePagination.calculateLastItemIndex();
});
};
__decorate([
ViewChild(MdbTablePaginationComponent, { static: true }),
__metadata("design:type", MdbTablePaginationComponent)
], TableNotificationsComponent.prototype, "mdbTablePagination", void 0);
__decorate([
ViewChild(MdbTableDirective, { static: true }),
__metadata("design:type", MdbTableDirective)
], TableNotificationsComponent.prototype, "mdbTable", void 0);
__decorate([
HostListener('input'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], TableNotificationsComponent.prototype, "oninput", null);
TableNotificationsComponent = __decorate([
Component({
selector: 'table-notifications',
templateUrl: './table-notifications.component.html',
styleUrls: ['./table-notifications.component.scss']
}),
__metadata("design:paramtypes", [ChangeDetectorRef, UsersService])
], TableNotificationsComponent);
return TableNotificationsComponent;
}());
export { TableNotificationsComponent };
//# sourceMappingURL=table-notifications.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"table-notifications.component.js","sourceRoot":"","sources":["../../../../../src/app/tables/table-notifications.component.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,331 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Component, HostListener, ViewChild, ChangeDetectorRef } from '@angular/core';
import { MdbTableDirective, MdbTablePaginationComponent, MDBModalService } from 'angular-bootstrap-md';
import { ProvisionsService } from '../services/provisions.service';
import { AlertService } from '../services/alert.service';
import { ModalInfoComponent } from '../alert/modalinfo.component';
import { ModalConfirmComponent } from '../alert/confirm.component';
import { ScenariosService } from '../services/scenarios.service';
var TableProvisionsAdminComponent = /** @class */ (function () {
function TableProvisionsAdminComponent(modalService, _scenariosService, _alertService, cdRef, _provisionsService) {
this.modalService = modalService;
this._scenariosService = _scenariosService;
this._alertService = _alertService;
this.cdRef = cdRef;
this._provisionsService = _provisionsService;
this.filter = {
showDestroyed: false
};
this.filterParams = {
isDestroyed: false
};
this.loading = false;
this.pagingIsDisabled = false;
//@ViewChild('row', { static: true }) row: ElementRef;
this.elements = [];
this.searchText = '';
this.selectedprov = null;
this.showInfo = false;
this.logShow = false;
this.logstype = 'provision';
this.maxVisibleItems = 25;
}
TableProvisionsAdminComponent.prototype.oninput = function () {
this.mdbTablePagination.searchText = this.searchText;
};
TableProvisionsAdminComponent.prototype._initElements = function () {
this.mdbTable.setDataSource(this.elements);
this.elements = this.mdbTable.getDataSource();
this.previous = this.mdbTable.getDataSource();
};
TableProvisionsAdminComponent.prototype._process = function (provisions) {
var _this = this;
provisions.forEach(function (p) {
p._scenario = _this.scenarios.filter(function (s) { return s.name === p.scenario; });
_this._provisionsService.timeRunning(p);
});
if (this.elements.length === 0) {
this.elements = provisions;
}
else {
this.elements.forEach(function (p, index, object) {
var found = provisions.filter(function (a) { return a._id.toString() === p._id.toString(); });
if (found.length) {
p.status = found[0].status;
p.statusVms = found[0].statusVms;
p.isDestroyed = found[0].isDestroyed;
p.outputs = found[0].outputs;
p.destroy = found[0].destroy;
this._provisionsService.timeRunning(p);
}
else {
object.splice(index, 1);
}
}.bind(this));
provisions.forEach(function (p) {
var found = this.elements.filter(function (a) { return a._id.toString() === p._id.toString(); });
if (found.length === 0) {
this.elements.unshift(p);
}
}.bind(this));
}
this._initElements();
};
TableProvisionsAdminComponent.prototype.ngOnInit = function () {
var _this = this;
var scenariosSub = this._scenariosService.getScenariosAll().subscribe(function (res) {
scenariosSub.unsubscribe();
_this.scenarios = res.results;
/*this.subscription = timer(0, 8000).pipe( switchMap(() => this._provisionsService.getProvisionsAdmin(this.filterParams) ) ).subscribe(provisions => {
this._process(provisions.results);
});*/
_this.refreshData();
});
//this._initElements();
};
TableProvisionsAdminComponent.prototype.ngOnDestroy = function () {
if (this.subscription) {
this.subscription.unsubscribe();
}
};
TableProvisionsAdminComponent.prototype.ngAfterViewInit = function () {
if (this.mdbTablePagination) {
this.mdbTablePagination.setMaxVisibleItemsNumberTo(this.maxVisibleItems);
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.cdRef.detectChanges();
}
};
TableProvisionsAdminComponent.prototype.searchItems = function () {
var _this = this;
var prev = this.mdbTable.getDataSource();
if (!this.searchText) {
this.mdbTable.setDataSource(this.previous);
this.elements = this.mdbTable.getDataSource();
}
if (this.searchText) {
this.elements = this.mdbTable.searchLocalDataBy(this.searchText);
this.mdbTable.setDataSource(prev);
}
if (this.mdbTablePagination) {
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.mdbTable.searchDataObservable(this.searchText).subscribe(function () {
_this.mdbTablePagination.calculateFirstItemIndex();
_this.mdbTablePagination.calculateLastItemIndex();
});
}
};
TableProvisionsAdminComponent.prototype.showLogs = function ($event, provision, type) {
$event.preventDefault();
$event.stopPropagation();
this.logstype = type;
this.logShow = false;
this.selectedprov = provision;
this.logShow = true;
};
TableProvisionsAdminComponent.prototype.onLogsClose = function () {
this.selectedprov = null;
this.logShow = false;
};
TableProvisionsAdminComponent.prototype.openConfirmStartModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: 'Confirm Start VMs?',
icon: 'play',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._startVms(provision);
});
};
TableProvisionsAdminComponent.prototype._startVms = function (provision) {
var _this = this;
var sub = this._provisionsService.startVms(provision._id.toString(), provision.user._id).subscribe(function (res) {
provision.startVms = res.startVms;
sub.unsubscribe();
_this._alertService.showAlert({
type: 'alert-primary',
text: "Starting all VMs for scenario '" + provision.scenario + "'..."
});
});
};
TableProvisionsAdminComponent.prototype.openConfirmStopModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: 'Confirm Stop VMs?',
icon: 'stop',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._stopVms(provision);
});
};
TableProvisionsAdminComponent.prototype._stopVms = function (provision) {
var _this = this;
var sub = this._provisionsService.stopVms(provision._id.toString(), provision.user._id).subscribe(function (res) {
provision.startVms = res.startVms;
sub.unsubscribe();
_this._alertService.showAlert({
type: 'alert-primary',
text: "Stopping all VMs for scenario '" + provision.scenario + "'..."
});
});
};
TableProvisionsAdminComponent.prototype.openInfoModal = function (provision) {
this.modalService.show(ModalInfoComponent, {
backdrop: true,
keyboard: true,
focus: true,
show: false,
ignoreBackdropClick: false,
class: 'modal-lg',
containerClass: '',
animated: true,
data: {
info: provision
}
});
};
TableProvisionsAdminComponent.prototype.openConfirmDestroyModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-danger',
containerClass: '',
data: {
info: {
title: 'Confirm destroy this provision?',
icon: 'times-circle'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.newDestroy(provision._id.toString(), provision.user._id).subscribe(function (provUpdated) {
_this._alertService.showAlert({
type: 'alert-primary',
text: "Provision of scenario '" + provision.scenario + "' is going to be destroyed"
});
provision.destroy = provUpdated.destroy;
});
});
};
TableProvisionsAdminComponent.prototype.openConfirmDeleteModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-danger',
containerClass: '',
data: {
info: {
title: 'Confirm delete?',
icon: 'trash-alt'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.delProvision(provision._id, provision.user._id).subscribe(function (res) {
_this.elements = _this.elements.filter(function (e) {
return e._id.toString() !== provision._id.toString();
});
_this._initElements();
_this._alertService.showAlert({
type: 'alert-primary',
text: "Provision entry '" + provision.scenario + "' was deleted"
});
});
});
};
TableProvisionsAdminComponent.prototype.refreshData = function () {
var _this = this;
this.elements = [];
this.loading = true;
this.searchText = "";
var instantSubs = this._provisionsService.getProvisionsAdmin(this.filterParams).subscribe(function (provisions) {
instantSubs.unsubscribe();
_this.loading = false;
_this._process(provisions.results);
});
};
TableProvisionsAdminComponent.prototype.onCheckValue = function () {
this.filterParams = {};
if (!this.filter.showDestroyed) {
this.filterParams.isDestroyed = false;
}
this.refreshData();
};
TableProvisionsAdminComponent.prototype.openConfirmExtendModal = function (provision) {
var _this = this;
var modalRef = this.modalService.show(ModalConfirmComponent, {
class: 'modal-sm modal-notify modal-info',
containerClass: '',
data: {
info: {
title: "Extend running VMs for " + this._provisionsService.RUNNING_PERIOD + " days?",
icon: 'plus-square',
buttonColor: 'grey'
}
}
});
var sub = modalRef.content.action.subscribe(function (result) {
sub.unsubscribe();
_this._provisionsService.extend(provision._id.toString(), provision.user._id).subscribe(function (res) {
provision.countExtend = res.countExtend;
provision.timeRunning = res.timeRunning;
provision.runningFrom = res.runningFrom;
_this._provisionsService.timeRunning(provision);
_this._alertService.showAlert({
type: 'alert-primary',
text: "Running period extended another " + _this._provisionsService.RUNNING_PERIOD + " days (from now) for provision '" + provision.scenario + "'"
});
});
});
};
__decorate([
ViewChild(MdbTablePaginationComponent, { static: true }),
__metadata("design:type", MdbTablePaginationComponent)
], TableProvisionsAdminComponent.prototype, "mdbTablePagination", void 0);
__decorate([
ViewChild(MdbTableDirective, { static: true }),
__metadata("design:type", MdbTableDirective)
], TableProvisionsAdminComponent.prototype, "mdbTable", void 0);
__decorate([
HostListener('input'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], TableProvisionsAdminComponent.prototype, "oninput", null);
TableProvisionsAdminComponent = __decorate([
Component({
selector: 'table-provisions',
templateUrl: './table-provisions.component.html',
styleUrls: ['./table-provisions.component.scss']
}),
__metadata("design:paramtypes", [MDBModalService, ScenariosService, AlertService, ChangeDetectorRef, ProvisionsService])
], TableProvisionsAdminComponent);
return TableProvisionsAdminComponent;
}());
export { TableProvisionsAdminComponent };
//# sourceMappingURL=table-provisions.component.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,155 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { MdbTablePaginationComponent, MdbTableDirective, MDBModalService } from 'angular-bootstrap-md';
import { Component, ViewChild, HostListener, ChangeDetectorRef } from '@angular/core';
import { ScenariosService } from '../services/scenarios.service';
import { ScenarioModalComponent } from '../alert/edit-scenario.component';
var TableScenariosComponent = /** @class */ (function () {
function TableScenariosComponent(modalService, cdRef, _scenariosService) {
this.modalService = modalService;
this.cdRef = cdRef;
this._scenariosService = _scenariosService;
this.previous = [];
this.searchText = '';
this.maxVisibleItems = 25;
this.elements = [];
}
TableScenariosComponent.prototype.oninput = function () {
this.mdbTablePagination.searchText = this.searchText;
};
TableScenariosComponent.prototype._initElements = function () {
this.mdbTable.setDataSource(this.elements);
this.elements = this.mdbTable.getDataSource();
this.previous = this.mdbTable.getDataSource();
};
TableScenariosComponent.prototype._refresh = function () {
var _this = this;
var scenariosSub = this._scenariosService.getScenariosAll().subscribe(function (res) {
scenariosSub.unsubscribe();
_this.scenarios = res.results;
_this.elements = res.results;
_this._initElements();
});
};
TableScenariosComponent.prototype.ngOnInit = function () {
this._refresh();
};
TableScenariosComponent.prototype.ngAfterViewInit = function () {
this.mdbTablePagination.setMaxVisibleItemsNumberTo(this.maxVisibleItems);
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.cdRef.detectChanges();
};
TableScenariosComponent.prototype.searchItems = function () {
var _this = this;
var prev = this.mdbTable.getDataSource();
if (!this.searchText) {
this.mdbTable.setDataSource(this.previous);
this.elements = this.mdbTable.getDataSource();
}
if (this.searchText) {
this.elements = this.mdbTable.searchLocalDataBy(this.searchText);
this.mdbTable.setDataSource(prev);
}
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.mdbTable.searchDataObservable(this.searchText).subscribe(function () {
_this.mdbTablePagination.calculateFirstItemIndex();
_this.mdbTablePagination.calculateLastItemIndex();
});
};
TableScenariosComponent.prototype.changeValue = function (scenario, property, event) {
this.editField = event.target.textContent;
//console.log("changeValue editField", id, this.editField);
};
TableScenariosComponent.prototype.updateList = function (scenario, property, event) {
var _this = this;
this.editField = event.target.textContent;
var patch = {};
patch[property] = this.editField.trim();
if (!patch[property] || patch[property] === "" || patch[property] === scenario[property]) {
return;
}
this._scenariosService.updateScenario(scenario._id.toString(), patch).subscribe(function (res) {
console.log("done", res);
_this._refresh();
});
};
TableScenariosComponent.prototype.updateJson = function (scenario, property, event) {
var _this = this;
this.editField = event.target.textContent.trim();
try {
var patch = {};
var value = JSON.parse(this.editField);
if (JSON.stringify(value) === JSON.stringify(scenario[property])) {
return;
}
patch[property] = value;
console.log("editField", patch);
this._scenariosService.updateScenario(scenario._id.toString(), patch).subscribe(function (res) {
console.log("done", res);
_this._refresh();
});
}
catch (e) {
console.log("error json", e);
this._refresh();
}
};
TableScenariosComponent.prototype.FieldsChange = function (scenario, property, value) {
var _this = this;
var patch = {};
patch[property] = value.checked;
this._scenariosService.updateScenario(scenario._id.toString(), patch).subscribe(function (res) {
console.log("done", res);
_this._refresh();
});
};
TableScenariosComponent.prototype.openNewScenarioModal = function (scenario) {
var _this = this;
var modalRef = this.modalService.show(ScenarioModalComponent, {
class: 'modal-lg modal-notify',
containerClass: '',
data: {
scenario: scenario
}
});
var sub = modalRef.content.action.subscribe(function (data) {
sub.unsubscribe();
console.log("new scenario data", data);
_this._refresh();
});
};
__decorate([
ViewChild(MdbTablePaginationComponent, { static: true }),
__metadata("design:type", MdbTablePaginationComponent)
], TableScenariosComponent.prototype, "mdbTablePagination", void 0);
__decorate([
ViewChild(MdbTableDirective, { static: true }),
__metadata("design:type", MdbTableDirective)
], TableScenariosComponent.prototype, "mdbTable", void 0);
__decorate([
HostListener('input'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], TableScenariosComponent.prototype, "oninput", null);
TableScenariosComponent = __decorate([
Component({
selector: 'table-scenarios',
templateUrl: './table-scenarios.component.html',
styleUrls: ['./table-scenarios.component.scss']
}),
__metadata("design:paramtypes", [MDBModalService, ChangeDetectorRef, ScenariosService])
], TableScenariosComponent);
return TableScenariosComponent;
}());
export { TableScenariosComponent };
//# sourceMappingURL=table-scenarios.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"table-scenarios.component.js","sourceRoot":"","sources":["../../../../../src/app/tables/table-scenarios.component.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,111 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { MdbTablePaginationComponent, MdbTableDirective, MDBModalService } from 'angular-bootstrap-md';
import { Component, ViewChild, HostListener, ChangeDetectorRef } from '@angular/core';
import { SubscriptionModalComponent } from '../alert/edit-subscription.component';
import { SubscriptionsService } from '../services/subscriptions.service';
var TableSubsComponent = /** @class */ (function () {
function TableSubsComponent(modalService, cdRef, _subscriptionsService) {
this.modalService = modalService;
this.cdRef = cdRef;
this._subscriptionsService = _subscriptionsService;
this.previous = [];
this.searchText = '';
this.maxVisibleItems = 25;
this.loading = false;
this.elements = [];
}
TableSubsComponent.prototype.oninput = function () {
this.mdbTablePagination.searchText = this.searchText;
};
TableSubsComponent.prototype._initElements = function () {
this.mdbTable.setDataSource(this.elements);
this.elements = this.mdbTable.getDataSource();
this.previous = this.mdbTable.getDataSource();
};
TableSubsComponent.prototype.ngOnInit = function () {
this.refreshData();
};
TableSubsComponent.prototype.refreshData = function () {
var _this = this;
this.loading = true;
this.searchText = "";
var usersSub = this._subscriptionsService.getSubscriptions().subscribe(function (res) {
usersSub.unsubscribe();
_this.elements = res.results;
_this.loading = false;
_this._initElements();
});
};
TableSubsComponent.prototype.ngAfterViewInit = function () {
this.mdbTablePagination.setMaxVisibleItemsNumberTo(this.maxVisibleItems);
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.cdRef.detectChanges();
};
TableSubsComponent.prototype.searchItems = function () {
var _this = this;
var prev = this.mdbTable.getDataSource();
if (!this.searchText) {
this.mdbTable.setDataSource(this.previous);
this.elements = this.mdbTable.getDataSource();
}
if (this.searchText) {
this.elements = this.mdbTable.searchLocalDataBy(this.searchText);
this.mdbTable.setDataSource(prev);
}
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.mdbTable.searchDataObservable(this.searchText).subscribe(function () {
_this.mdbTablePagination.calculateFirstItemIndex();
_this.mdbTablePagination.calculateLastItemIndex();
});
};
TableSubsComponent.prototype.openNewSubsModal = function (subscription) {
var _this = this;
var modalRef = this.modalService.show(SubscriptionModalComponent, {
class: 'modal-md modal-notify',
containerClass: '',
data: {
subscription: subscription
}
});
var sub = modalRef.content.action.subscribe(function (data) {
sub.unsubscribe();
console.log("new subs data", data);
_this.refreshData();
});
};
__decorate([
ViewChild(MdbTablePaginationComponent, { static: true }),
__metadata("design:type", MdbTablePaginationComponent)
], TableSubsComponent.prototype, "mdbTablePagination", void 0);
__decorate([
ViewChild(MdbTableDirective, { static: true }),
__metadata("design:type", MdbTableDirective)
], TableSubsComponent.prototype, "mdbTable", void 0);
__decorate([
HostListener('input'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], TableSubsComponent.prototype, "oninput", null);
TableSubsComponent = __decorate([
Component({
selector: 'table-subscriptions',
templateUrl: './table-subscriptions.component.html',
styleUrls: ['./table-subscriptions.component.scss']
}),
__metadata("design:paramtypes", [MDBModalService, ChangeDetectorRef, SubscriptionsService])
], TableSubsComponent);
return TableSubsComponent;
}());
export { TableSubsComponent };
//# sourceMappingURL=table-subs.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"table-subs.component.js","sourceRoot":"","sources":["../../../../../src/app/tables/table-subs.component.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,109 @@
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { MdbTablePaginationComponent, MdbTableDirective } from 'angular-bootstrap-md';
import { Component, ViewChild, HostListener, ChangeDetectorRef } from '@angular/core';
import { AuthGuard } from '../services/auth.guard';
import { UsersService } from '../services/users.service';
var TableUsersComponent = /** @class */ (function () {
function TableUsersComponent(cdRef, _usersService, _auth) {
var _this = this;
this.cdRef = cdRef;
this._usersService = _usersService;
this._auth = _auth;
this.previous = [];
this.searchText = '';
this.maxVisibleItems = 25;
this.loading = false;
this.elements = [];
this._auth.getUserInfo().subscribe(function (value) {
_this.currentUser = value;
});
}
TableUsersComponent.prototype.oninput = function () {
this.mdbTablePagination.searchText = this.searchText;
};
TableUsersComponent.prototype._initElements = function () {
this.mdbTable.setDataSource(this.elements);
this.elements = this.mdbTable.getDataSource();
this.previous = this.mdbTable.getDataSource();
};
TableUsersComponent.prototype.ngOnInit = function () {
this.refreshData();
};
TableUsersComponent.prototype.refreshData = function () {
var _this = this;
this.loading = true;
this.searchText = "";
var usersSub = this._usersService.getUsers().subscribe(function (res) {
usersSub.unsubscribe();
res.results.forEach(function (u) {
u.lastLogin = u.lastLogin || u.created;
});
_this.elements = res.results;
_this.loading = false;
_this._initElements();
});
};
TableUsersComponent.prototype.ngAfterViewInit = function () {
this.mdbTablePagination.setMaxVisibleItemsNumberTo(this.maxVisibleItems);
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.cdRef.detectChanges();
};
TableUsersComponent.prototype.searchItems = function () {
var _this = this;
var prev = this.mdbTable.getDataSource();
if (!this.searchText) {
this.mdbTable.setDataSource(this.previous);
this.elements = this.mdbTable.getDataSource();
}
if (this.searchText) {
this.elements = this.mdbTable.searchLocalDataBy(this.searchText);
this.mdbTable.setDataSource(prev);
}
this.mdbTablePagination.calculateFirstItemIndex();
this.mdbTablePagination.calculateLastItemIndex();
this.mdbTable.searchDataObservable(this.searchText).subscribe(function () {
_this.mdbTablePagination.calculateFirstItemIndex();
_this.mdbTablePagination.calculateLastItemIndex();
});
};
TableUsersComponent.prototype.FieldsChange = function (user, value) {
var patchData = { "role": value.checked ? "admin" : "user" };
this._usersService.updateUser(user._id, patchData).subscribe(function (res1) {
user.role = res1.role;
});
};
__decorate([
ViewChild(MdbTablePaginationComponent, { static: true }),
__metadata("design:type", MdbTablePaginationComponent)
], TableUsersComponent.prototype, "mdbTablePagination", void 0);
__decorate([
ViewChild(MdbTableDirective, { static: true }),
__metadata("design:type", MdbTableDirective)
], TableUsersComponent.prototype, "mdbTable", void 0);
__decorate([
HostListener('input'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], TableUsersComponent.prototype, "oninput", null);
TableUsersComponent = __decorate([
Component({
selector: 'table-users',
templateUrl: './table-users.component.html',
styleUrls: ['./table-users.component.scss']
}),
__metadata("design:paramtypes", [ChangeDetectorRef, UsersService, AuthGuard])
], TableUsersComponent);
return TableUsersComponent;
}());
export { TableUsersComponent };
//# sourceMappingURL=table-users.component.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"table-users.component.js","sourceRoot":"","sources":["../../../../../src/app/tables/table-users.component.ts"],"names":[],"mappings":"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"}

View File

@@ -20,6 +20,12 @@ var HeaderComponent = /** @class */ (function () {
}
HeaderComponent.prototype.ngOnInit = function () {
};
HeaderComponent.prototype.logout = function ($event) {
$event.preventDefault();
$event.stopPropagation();
window.location.href = "/logout";
this._auth.clearUser();
};
HeaderComponent.prototype.ngOnDestroy = function () {
this.subs.unsubscribe();
};

View File

@@ -1 +1 @@
{"version":3,"file":"header.component.js","sourceRoot":"","sources":["../../../../../../src/app/ui/header/header.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAQtD;IAKE,yBAAqB,KAAgB;QAArC,iBAKC;QALoB,UAAK,GAAL,KAAK,CAAW;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,UAAA,KAAK;YACnD,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAQ,GAAR;IAEA,CAAC;IAED,qCAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAlBU,eAAe;QAL3B,SAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,yBAAyB;YACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;SACvC,CAAC;yCAM4B,SAAS;OAL1B,eAAe,CAoB3B;IAAD,sBAAC;CAAA,AApBD,IAoBC;SApBY,eAAe"}
{"version":3,"file":"header.component.js","sourceRoot":"","sources":["../../../../../../src/app/ui/header/header.component.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAQtD;IAKE,yBAAqB,KAAgB;QAArC,iBAKC;QALoB,UAAK,GAAL,KAAK,CAAW;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,CAAE,UAAA,KAAK;YACnD,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kCAAQ,GAAR;IAEA,CAAC;IAED,gCAAM,GAAN,UAAO,MAAM;QACX,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACzB,CAAC;IAED,qCAAW,GAAX;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAzBU,eAAe;QAL3B,SAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,yBAAyB;YACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;SACvC,CAAC;yCAM4B,SAAS;OAL1B,eAAe,CA2B3B;IAAD,sBAAC;CAAA,AA3BD,IA2BC;SA3BY,eAAe"}

View File

@@ -1,12 +1,5 @@
export var environment = {
production: false,
config: {
tenant: 'c21eeb5f-f5a6-44e8-a997-124f2f7a497c',
clientId: '40742f13-bde8-4b1b-ac07-54c11b36b779',
postLogoutRedirectUri: 'http://localhost:4200',
endpoints: {
'http://localhost:4200/': 'the id'
}
}
apiVersionPath: '/api/v1'
};
//# sourceMappingURL=environment.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../src/environments/environment.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE;QACN,MAAM,EAAE,sCAAsC;QAC9C,QAAQ,EAAE,sCAAsC;QAChD,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS,EAAE;YACT,wBAAwB,EAAE,QAAQ;SACnC;KACF;CACF,CAAC"}
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../src/environments/environment.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,SAAS;CAC1B,CAAC"}

View File

@@ -1,4 +1,5 @@
export var environment = {
production: true
production: true,
apiVersionPath: '/api/v1'
};
//# sourceMappingURL=environment.prod.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"environment.prod.js","sourceRoot":"","sources":["../../../../src/environments/environment.prod.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;CACjB,CAAC"}
{"version":3,"file":"environment.prod.js","sourceRoot":"","sources":["../../../../src/environments/environment.prod.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,SAAS;CAC1B,CAAC"}

Binary file not shown.

128
dist/qmi-cloud/assets/faq.md vendored Normal file
View File

@@ -0,0 +1,128 @@
# FAQ
Just an assorted selection of questions and answers.
### 1\. What can I use QMI Cloud for?
- QMI Cloud scenarios can be used to perform product demonstrations, enablement sessions and PoC environments. It is built to aid with Customer Engagements.
* * *
### 2\. Are these QMI scenarios ready to go End-To-End demos?
- Not at this moment, a global environment is being built for PreSales by GEAR.
- Provided scenarios are meant for (See 1). QMI works by installing licensing the products. QMI completes the main setup for the scenario to properly work where possible. You may need to put custom data, Qlik Sense applications or whatever you need for your customer engagement.
* * *
### 3\. Where are QMI Cloud resources deployed?
- All cloud resources such as Virtual Machines (VMs), disks, etc are deployed in the Qlik Azure subscription.
- For the time being, all resources are deployed in the __East US__ region in Azure. This means that it could be some significant latency or delays if you are located in another region.
* * *
### 4\. What will happen when I provision a scenario?
- Necessary resources for that scenario to work are deployed within Azure.
- An email is sent to the owner (e.g. you) indicating whether the provision was successful or with failures.
- Upon success, all credentials and access information for this provision is sent with that email.
- From that moment, VMs will keep at 'Running' status for 4 full days.
- On day 3, an email is sent warning that in the next 24 hours the VMs will automatically stop.
- You can "extend" VMs at Running status. This will renew the 'Running' period for 4 extra days. Other way, VMs will automatically stop within the next 24 hours.
- You can monitor 'Running time' and 'Time remaining until auto stop' at all times.
- __Provision will be automatically destroyed after 20 days of inactivity (20 days with Stopped VMs). On day 18 you'll get a warning email advising this will happen in 48 hours.__
* * *
### 5\. How many scenarios can I have provisioned at the same time?
- There is no limitation on the number of scenarios (or instances of the same one) provisioned at the same time. Just be aware of COST and keep VMs Stopped when possible.
- Do not forget to Destroy those provisions that you no longer need.
* * *
### 6\. Are scenarios accessible from the Internet or just from within Qlik VPN?
- All scenarios are accessible from within the Qlik VPN.
- Some are also accessible from the Intenet (external access). This is indicated on the UI for each scenario.
* * *
### 7\. Is QMI Cloud under the 'Qlik Customer Engagement Terms' policy?
- Yes.
- Only anonymous or public/free data can be used.
- Customer data is available with QSE SaaS, work is being done to aid PreSales manage 3rd Party data.
* * *
### 8\. Do scenarios communicate with each other?
- Yes.
- Private IPs assigned to all VMs are reachable.
- All ports are open for these private IPs (within the Qlik VPN).
* * *
### 9\. What can I do if I don't find a scenario that suits my needs?
- You can create end-to-end more complete demos with different Qlik products using combination of multiple scenarios.
- For example, if you needed an NPrinting demo/poc, you could use Qlik Sense scenario and Windows Blank scenario, then you can install NPrinting in this Windows Blank scenario and complete the setup yourself.
* * *
### 10\. Who is paying for these instances?
- The costs for these instances are allocated to PreSales.
- It is essential that we are all cost consciouse setup yourself.
* * *
### 11\. Can I manually stop and start the scenarios?
- Yes.
* * *
### 12\. If I shutdown the scenario, does it allocate a new IP Address?
- No.
* * *
### 13\. Are the mandatory security tools installed on these instances?
- Yes.
- Security is key for Qlik, whilst these are initially installed (Cabon Black on Windows, CrowdStrike on Linux) it is your responsibility as the owner of this instance to ensure everything is upto date.
* * *
### 14\. Can I create new instances?
- This capability will be described soon.
* * *
### 15\. How are we managing Costs?
- Excessive use for instances, will need to be justified, every instance logged it tagged with your trigram. The usage of QMI Cloud will be made public within a Qlik Sense Application.
- GEAR is looking at estimating the price for each server that you initiate.
* * *
### 16\. My Team use a team server; can I use this as well?
- This is open to everyone, if you do have a team server, then for cost purposes, please use that server.
* * *

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!--
Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020
Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020
By Robert Madole
Copyright (c) Font Awesome
</metadata>

Before

Width:  |  Height:  |  Size: 699 KiB

After

Width:  |  Height:  |  Size: 699 KiB

Binary file not shown.

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!--
Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020
Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020
By Robert Madole
Copyright (c) Font Awesome
</metadata>

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" standalone="no"?>
<!--
Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020
Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020
By Robert Madole
Copyright (c) Font Awesome
</metadata>
@@ -23,7 +23,7 @@ Copyright (c) Font Awesome
bbox="-0.983398 -64.9834 640.104 448.427"
underline-thickness="25"
underline-position="-50"
unicode-range="U+0020-F941"
unicode-range="U+0020-F976"
/>
<missing-glyph />
<glyph glyph-name="glass-martini" unicode="&#xf000;"
@@ -2377,6 +2377,10 @@ c0 1.77051 0.74707 4.43359 1.66895 5.94531c0.510742 0.827148 1.51855 2.01953 2.2
c-0.112305 3.6416 -3.08203 7.27051 -6.62988 8.10059zM565.27 119.9c5.92383 -5.26953 10.7432 -15.9814 10.7432 -23.9102c0 -8.49121 -5.38184 -19.6865 -12.0127 -24.9902l-151.23 -121c-9.67188 -7.72754 -27.5693 -14 -39.9492 -14h-0.0507812h-356.77
c-8.83203 0 -16 7.16797 -16 16v96c0 8.83203 7.16797 16 16 16h55.4004l46.5 37.71c17.8789 14.5059 51.0762 26.2842 74.0996 26.29h160v0c17.6309 0 31.9668 -14.3096 32 -31.9404v-0.120117c0 -1.48438 -0.206055 -3.87695 -0.459961 -5.33984
c-2.54004 -15.6992 -17.3496 -26.5996 -33.25 -26.5996h-78.29c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h118.27h0.176758c12.3496 0 30.1904 6.27148 39.8232 14l92.4004 73.9004c12.4004 10 30.7998 10.6992 42.5996 0z" />
<glyph glyph-name="hand-holding-water" unicode="&#xf4c1;" horiz-adv-x="576"
d="M288 192c-53 0 -96 42.0996 -96 94c0 40 57.0996 120.7 83.2002 155.6c6.39941 8.5 19.2002 8.5 25.5996 0c26.1006 -34.8994 83.2002 -115.6 83.2002 -155.6c0 -51.9004 -43 -94 -96 -94zM565.3 119.9c15.1006 -13.6006 13.9004 -36.8008 -1.2998 -48.9004l-151.2 -121
c-11.3994 -9.09961 -25.5 -14 -40 -14h-356.8c-8.7998 0 -16 7.2002 -16 16v96c0 8.7998 7.2002 16 16 16h55.4004l46.5 37.7002c21 17 47.0996 26.2998 74.0996 26.2998h160c19.5 0 34.9004 -17.4004 31.5996 -37.4004
c-2.59961 -15.6992 -17.3994 -26.5996 -33.2998 -26.5996h-78.2998c-8.7998 0 -16 -7.2002 -16 -16s7.2002 -16 16 -16h118.3c14.6006 0 28.7002 4.90039 40 14l92.4004 73.9004c12.3994 10 30.7998 10.6992 42.5996 0z" />
<glyph glyph-name="hands" unicode="&#xf4c2;" horiz-adv-x="640"
d="M204.8 217.6l57.6006 -76.7998c16.5996 -22.2002 25.5996 -49.0996 25.5996 -76.7998v-112c0 -8.7998 -7.2002 -16 -16 -16h-131.7c-7.2002 0 -13.5 4.7002 -15.2998 11.5996c-2 7.80078 -5.40039 15.2002 -10.4004 21.7002l-104.1 134.3
c-6.7998 8.5 -10.5 19.1006 -10.5 30v218.4c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32v-148.4l89.7998 -107.8c6 -7.2998 16.9004 -7.7998 23.6006 -1.09961l12.7998 12.7998c5.59961 5.59961 6.2998 14.5 1.5 20.9004l-38.1006 50.7998
@@ -3502,6 +3506,13 @@ d="M12.4102 299.98c-16.5498 7.50977 -16.5498 32.5293 0 40.0391l232.95 105.671c2.
c-6.7998 -3.08984 -14.4893 -3.08984 -21.29 0zM499.59 211.7c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.59c-6.7998 -3.08008 -14.4893 -3.08008 -21.29 0l-232.939 105.59c-16.5498 7.5 -16.5498 32.5 0 40l58.0996 26.3301l161.63 -73.2705
c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.64 73.2705zM499.59 83.9004c16.5498 -7.5 16.5498 -32.5 0 -40l-232.95 -105.591c-6.7998 -3.0791 -14.4893 -3.0791 -21.29 0l-232.939 105.591
c-16.5498 7.5 -16.5498 32.5 0 40l57.8799 26.2295l161.85 -73.3701c7.57031 -3.42969 15.5908 -5.16992 23.8604 -5.16992s16.2998 1.74023 23.8604 5.16992l161.859 73.3701z" />
<glyph glyph-name="lungs" unicode="&#xf604;" horiz-adv-x="640"
d="M636.11 57.8496c2.58984 -9.68945 3.88965 -19.6396 3.88965 -29.6299c0 -61.2295 -62.4805 -105.439 -125.24 -88.6201l-59.5 15.9502c-42.1797 11.3105 -71.2598 47.4697 -71.2598 88.6201v87.4902l85.8398 -57.2305
c1.1123 -0.741211 3.09961 -1.34375 4.43652 -1.34375c2.36328 0 5.34375 1.59668 6.65332 3.56445l8.87988 13.3096c0.742188 1.1123 1.34375 3.09961 1.34375 4.43555c0 2.36328 -1.5957 5.34473 -3.56348 6.6543l-167.59 111.72l-167.59 -111.72
c-1.96777 -1.30957 -3.56445 -4.29004 -3.56445 -6.65332c0 -1.33691 0.602539 -3.32422 1.34473 -4.43652l8.87988 -13.3096c1.30859 -1.96777 4.29004 -3.56445 6.65332 -3.56445c1.33691 0 3.32422 0.601562 4.43652 1.34375l85.8398 57.2305v-87.4902
c0 -41.1504 -29.0801 -77.3203 -71.2598 -88.6201l-59.5 -15.9502c-62.7598 -16.8193 -125.24 27.3906 -125.24 88.6201c0 9.99023 1.2998 19.9404 3.88965 29.6299c21.6699 81.3008 56.04 159.15 102.011 231.021c22.1191 34.5703 36.0693 63.1299 80.0498 63.1299
c38.6895 0 70.0498 -29.4199 70.0498 -65.71v-60.1104l32.8799 21.9199c4.4502 2.9707 7.12012 7.95996 7.12012 13.3105v170.59c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-170.59v-0.00292969c0 -4.72363 3.18945 -10.6855 7.12012 -13.3076
l32.8799 -21.9199v60.1104c0 36.29 31.3604 65.71 70.0498 65.71c43.9805 0 57.9307 -28.5596 80.0498 -63.1299c45.9707 -71.8701 80.3408 -149.72 102.011 -231.021z" />
<glyph glyph-name="microscope" unicode="&#xf610;"
d="M160 128c-17.6699 0 -32 14.3301 -32 32v224c0 17.6699 14.3301 32 32 32v16c0 8.83984 7.16016 16 16 16h64c8.83984 0 16 -7.16016 16 -16v-16c17.6699 0 32 -14.3301 32 -32v-224c0 -17.6699 -14.3301 -32 -32 -32h-12v-16c0 -8.83984 -7.16016 -16 -16 -16h-40
c-8.83984 0 -16 7.16016 -16 16v16h-12zM464 0c26.5098 0 48 -21.4902 48 -48c0 -8.83984 -7.16016 -16 -16 -16h-480c-8.83984 0 -16 7.16016 -16 16c0 26.5098 21.4902 48 48 48h272c70.5801 0 128 57.4199 128 128s-57.4199 128 -128 128v64
@@ -4503,6 +4514,11 @@ c-2.58789 2.58691 -4.6875 7.65625 -4.6875 11.3154s2.09961 8.72852 4.6875 11.3154
c-10.7441 -10.748 -31.4814 -22.2393 -46.29 -25.6494l-120.25 -27.75l-102 -102c-2.58691 -2.58789 -7.65625 -4.6875 -11.3154 -4.6875s-8.72754 2.09961 -11.3154 4.6875l-22.6191 22.6191c-2.58789 2.58789 -4.6875 7.65625 -4.6875 11.3154
s2.09961 8.72852 4.6875 11.3154l102 102l27.7393 120.26c3.4248 14.8057 14.9248 35.5439 25.6699 46.29l109.671 109.67l45.25 -45.25l-55.1006 -55.1006zM273.2 141.31l9.30957 9.31055l-67.8896 67.8896l-9.31055 -9.30957
c-3.57715 -3.59082 -7.41211 -10.5127 -8.55957 -15.4502l-18.2998 -79.2998l79.2998 18.3193c4.94043 1.13379 11.8623 4.95996 15.4502 8.54004z" />
<glyph glyph-name="disease" unicode="&#xf7fa;"
d="M472.29 252.1c48.54 -16.6191 53.8301 -73.8301 8.99023 -96.79l-62 -31.7393c-17.8301 -9.12988 -29.2803 -25.2002 -30.6299 -43l-4.7002 -61.8604c-3.4502 -44.79 -65.1299 -66.7803 -104.45 -37.2197l-54.3203 40.8301
c-15.6201 11.7295 -36.96 16.1201 -57.0693 11.7295l-70 -15.2803c-50.6504 -11.0596 -94.1104 32.5605 -73.46 73.8008l28.4297 57c8.17969 16.3799 6.43945 35.1699 -4.63965 50.2393l-38.54 52.4209c-27.9307 37.9492 7 86.9092 59 82.8398l71.8994 -5.62012
c20.6602 -1.62012 40.9404 5.59961 54.2002 19.3096l46.0898 47.7207c33.4297 34.5098 98.4199 21.1494 110 -22.6201l16 -60.4502c4.60059 -17.3906 18.8604 -31.71 38.1406 -38.3105zM160 192c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32
s14.3359 -32 32 -32zM288 96c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32zM304 224c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16s-16 -7.16797 -16 -16s7.16797 -16 16 -16z" />
<glyph glyph-name="egg" unicode="&#xf7fb;" horiz-adv-x="384"
d="M192 448c106 0 192 -214 192 -320s-86 -192 -192 -192s-192 86 -192 192s86 320 192 320z" />
<glyph glyph-name="hamburger" unicode="&#xf805;"
@@ -4518,6 +4534,15 @@ l38.3994 -6.40039c13.46 -2.25 23.1504 -12.0996 23.1504 -23.54v-49.5898l35.6504 -
<glyph glyph-name="hard-hat" unicode="&#xf807;"
d="M480 160v-64h-448v64c0 80.25 49.2803 148.92 119.19 177.62l40.8096 -81.6201v112c0 8.83203 7.16797 16 16 16h96c8.83203 0 16 -7.16797 16 -16v-112l40.8096 81.6201c69.9102 -28.7002 119.19 -97.3701 119.19 -177.62zM496 64c8.83203 0 16 -7.16797 16 -16v-32
c0 -8.83203 -7.16797 -16 -16 -16h-480c-8.83203 0 -16 7.16797 -16 16v32c0 8.83203 7.16797 16 16 16h480z" />
<glyph glyph-name="hospital-user" unicode="&#xf80d;" horiz-adv-x="640"
d="M480 128c-52.9922 0 -96 43.0078 -96 96s43.0078 96 96 96s96 -43.0078 96 -96s-43.0078 -96 -96 -96zM528 96c61.8242 0 112.002 -50.1758 112.002 -112c0 -0.170898 -0.000976562 -0.449219 -0.00195312 -0.620117c-0.139648 -26.2598 -21.7305 -47.3799 -48 -47.3799
h-224c-26.2695 0 -47.8604 21.1201 -48 47.3799c-0.000976562 0.170898 -0.00195312 0.449219 -0.00195312 0.620117c0 61.8242 50.1758 112 112 112h0.00195312h0.0810547c1.9707 0 5.09277 -0.488281 6.96875 -1.08984
c10.9795 -3.81445 29.3223 -6.91016 40.9453 -6.91016s29.9658 3.0957 40.9453 6.91016c1.87891 0.601562 5.00488 1.08984 6.97754 1.08984h0.0820312zM329.91 85.5498c-23.1367 -23.1309 -41.915 -68.4561 -41.915 -101.172
c0 -0.322266 0.00195312 -0.845703 0.00488281 -1.16797c0.136719 -14.5381 7.44336 -35.6885 16.3096 -47.21h-288.31c-8.83203 0 -16 7.16797 -16 16v368c0 17.6641 14.3359 32 32 32h32v64c0 17.6641 14.3359 32 32 32h160c17.6641 0 32 -14.3359 32 -32v-64h32
c17.6641 0 32 -14.3359 32 -32v-216.62c-6.58008 -4.32227 -16.4766 -12.3096 -22.0898 -17.8301zM144 44v40c0 6.62402 -5.37598 12 -12 12h-40c-6.62402 0 -12 -5.37598 -12 -12v-40c0 -6.62402 5.37598 -12 12 -12h40c6.62402 0 12 5.37598 12 12zM144 172v40
c0 6.62402 -5.37598 12 -12 12h-40c-6.62402 0 -12 -5.37598 -12 -12v-40c0 -6.62402 5.37598 -12 12 -12h40c6.62402 0 12 5.37598 12 12zM192 294v26h26c3.31152 0 6 2.68848 6 6v20c0 3.31152 -2.68848 6 -6 6h-26v26c0 3.31152 -2.68848 6 -6 6h-20
c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6zM272 44v40c0 6.62402 -5.37598 12 -12 12h-40c-6.62402 0 -12 -5.37598 -12 -12v-40
c0 -6.62402 5.37598 -12 12 -12h40c6.62402 0 12 5.37598 12 12zM272 172v40c0 6.62402 -5.37598 12 -12 12h-40c-6.62402 0 -12 -5.37598 -12 -12v-40c0 -6.62402 5.37598 -12 12 -12h40c6.62402 0 12 5.37598 12 12z" />
<glyph glyph-name="hotdog" unicode="&#xf80f;"
d="M488.56 424.56c12.9297 -12.9326 23.4238 -38.2715 23.4238 -56.5596s-10.4941 -43.627 -23.4238 -56.5596l-352 -352c-13.0205 -13.4824 -38.7998 -24.4238 -57.543 -24.4238c-44.1592 0 -80 35.8408 -80 80c0 18.7432 10.9414 44.5225 24.4238 57.543l352 352
c12.9326 12.9297 38.2715 23.4238 56.5596 23.4238s43.627 -10.4941 56.5596 -23.4238zM438.63 329.37c2.58691 2.58691 4.68652 7.65625 4.68652 11.3145c0 8.83301 -7.16797 16.002 -16.001 16.002c-3.65918 0 -8.72852 -2.09961 -11.3154 -4.68652
@@ -4690,11 +4715,224 @@ s-248 111 -248 248s111 248 248 248zM256 64c70.6562 0 128 57.3438 128 128s-57.343
d="M416 240c8.83203 0 16 -7.16797 16 -16s-7.16797 -16 -16 -16s-16 7.16797 -16 16s7.16797 16 16 16zM624 128c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-336c0 -52.9922 -43.0078 -96 -96 -96s-96 43.0078 -96 96h-32
c-35.3281 0 -64 28.6719 -64 64v256c0 35.3281 28.6719 64 64 64h352c88.3203 0 160 -71.6797 160 -160v-160h48zM192 16c26.4688 0.0273438 47.9727 21.5312 48 48c0 26.4961 -21.5039 48 -48 48s-48 -21.5039 -48 -48s21.5039 -48 48 -48zM256 256v64
c0 17.6641 -14.3359 32 -32 32h-128c-17.6641 0 -32 -14.3359 -32 -32v-64c0 -17.6641 14.3359 -32 32 -32h128c17.6641 0 32 14.3359 32 32zM448 128v192c0 17.6641 -14.3359 32 -32 32h-64c-17.6641 0 -32 -14.3359 -32 -32v-192h128z" />
<glyph glyph-name="faucet" unicode="&#xf905;"
d="M352 192c88.3203 0 160 -71.6797 160 -160c0 -17.6641 -14.3359 -32 -32 -32h-64c-17.6641 0 -32 14.3359 -32 32s-14.3359 32 -32 32h-12.79c-20.5898 -37.7305 -64.21 -64 -115.21 -64s-94.6201 26.2695 -115.21 64h-92.79c-8.83203 0 -16 7.16797 -16 16v96
c0 8.83203 7.16797 16 16 16h118.61c15.71 13.4004 35.46 23 57.3896 28v47.5596l32 3.38086l32 -3.38086v-47.5596c21.9297 -4.92969 41.6797 -14.5596 57.3896 -28h38.6104zM81.5898 288.09c-9.41992 -1 -17.5898 6.81055 -17.5898 16.7998v30.2207
c0 9.98926 8.16992 17.7998 17.5898 16.8096l110.41 -11.6602v27.7402c0 8.83203 7.16797 16 16 16h32c8.83203 0 16 -7.16797 16 -16v-27.7402l110.41 11.6602c9.41992 0.990234 17.5898 -6.80957 17.5898 -16.8096v-30.2207
c0 -9.98926 -8.16992 -17.7998 -17.5898 -16.7998l-142.41 15z" />
<glyph glyph-name="trailer" unicode="&#xf941;" horiz-adv-x="640"
d="M624 128c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-337.61c-7.83008 54.21 -54 96 -110.39 96s-102.56 -41.79 -110.39 -96h-49.6104c-8.83203 0 -16 7.16797 -16 16v288c0 8.83203 7.16797 16 16 16h512c8.83203 0 16 -7.16797 16 -16v-240
h80zM96 204.32v107.68c0 4.41602 -3.58398 8 -8 8h-16c-4.41602 0 -8 -3.58398 -8 -8v-128.39c8.20996 6.67578 22.5469 15.9541 32 20.71zM192 222.86v89.1396c0 4.41602 -3.58398 8 -8 8h-16c-4.41602 0 -8 -3.58398 -8 -8v-89.1396
c5.30957 0.489258 10.5703 1.13965 16 1.13965s10.6904 -0.650391 16 -1.13965zM288 183.61v128.39c0 4.41602 -3.58398 8 -8 8h-16c-4.41602 0 -8 -3.58398 -8 -8v-107.68c9.45312 -4.75586 23.79 -14.0342 32 -20.71zM384 128v184c0 4.41602 -3.58398 8 -8 8h-16
c-4.41602 0 -8 -3.58398 -8 -8v-184h32zM480 128v184c0 4.41602 -3.58398 8 -8 8h-16c-4.41602 0 -8 -3.58398 -8 -8v-184h32zM176 128c44.1602 0 80 -35.8398 80 -80s-35.8398 -80 -80 -80s-80 35.8398 -80 80s35.8398 80 80 80zM176 16c17.6641 0 32 14.3359 32 32
s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32z" />
<glyph glyph-name="box-tissue" unicode="&#xf95b;"
d="M383.88 160.18h-256l-64 288h141.4c27.9277 -0.00195312 57.7646 -21.5059 66.5996 -48c8.83105 -26.4932 38.6641 -47.9971 66.5898 -48h109.41zM-0.120117 -31.8203v64h512v-64c0 -17.6641 -14.3359 -32 -32 -32h-448c-17.6641 0 -32 14.3359 -32 32zM479.88 224.18
c17.6582 -0.00488281 31.9902 -14.3408 31.9902 -32v0v-128h-512v128c0 17.6641 14.3359 32 32 32h49l14.2197 -64h-15.21c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h352c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16h-14.2695l21.3301 64h40.9395z" />
<glyph glyph-name="hand-holding-medical" unicode="&#xf95c;" horiz-adv-x="576"
d="M159.88 272.18c-8.83203 0 -16 7.16797 -16 16v64c0 8.83203 7.16797 16 16 16h64v64c0 8.83203 7.16797 16 16 16h64c8.83203 0 16 -7.16797 16 -16v-64h64c8.83203 0 16 -7.16797 16 -16v-64c0 -8.83203 -7.16797 -16 -16 -16h-64v-64c0 -8.83203 -7.16797 -16 -16 -16
h-64c-8.83203 0 -16 7.16797 -16 16v64h-64zM568.07 111.87c4.28906 -5.83496 7.77051 -16.4492 7.77051 -23.6914c0 -11.1436 -7.27637 -25.5596 -16.2412 -32.1787l-135.029 -99.5703c-15.2061 -11.1436 -42.8477 -20.2246 -61.7002 -20.2695h-347
c-8.77246 0.0595703 -15.9404 7.22754 -16 16v96c0.0595703 8.77246 7.22754 15.9404 16 16h55.3604l46.5 37.7402c17.8828 14.4893 51.0781 26.25 74.0957 26.25h0.0234375h160h0.00488281c17.6973 0 32.0596 -14.3633 32.0596 -32.0605
c0 -1.47852 -0.198242 -3.86133 -0.444336 -5.32031c-2.62012 -15.7393 -17.3701 -26.6094 -33.3701 -26.6094h-78.2393c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h120.609l119.67 88.1797c5.8418 4.3252 16.4814 7.83496 23.749 7.83496
c11.1621 0 25.5791 -7.30469 32.1816 -16.3047z" />
<glyph glyph-name="hand-sparkles" unicode="&#xf95d;" horiz-adv-x="640"
d="M106.66 277.36l-20.7402 -49.6201c-1.01074 -2.04297 -3.68066 -3.7002 -5.95996 -3.7002s-4.94922 1.65723 -5.95996 3.7002l-20.6602 49.6602h-0.0703125l-49.5898 20.5996c-1.92383 1.09863 -3.57227 3.78711 -3.67969 6v0c0.106445 2.21973 1.76367 4.9082 3.7002 6
l49.6299 20.6904h0.0498047l20.7002 49.6299c1.01465 2.03516 3.68555 3.6875 5.95996 3.6875s4.94434 -1.65234 5.95996 -3.6875l20.6602 -49.6406h0.0703125l49.5693 -20.6699c1.92871 -1.0957 3.57715 -3.78418 3.68066 -6v0
c-0.108398 -2.21289 -1.75684 -4.90039 -3.68066 -6l-49.5498 -20.6494h-0.0898438zM471.38 -19.4102l37.4902 -15.6299l0.0703125 -0.169922c-7.59082 -17.0596 -24 -28.79 -43.2402 -28.79h-197.61c-13.4805 0.0224609 -30.8584 8.88867 -38.79 19.79l-125.6 172.61
c-4.22852 5.81055 -7.66016 16.3584 -7.66016 23.5449c0 22.0879 17.9268 40.0146 40.0146 40.0146c11.2441 0 25.7393 -7.37891 32.3555 -16.4697l23.5898 -32.4902v241c0 17.6641 14.3359 32 32 32s32 -14.3359 32 -32v-152c0 -4.41602 3.58398 -8 8 -8h16
c4.41602 0 8 3.58398 8 8v184c0 17.6641 14.3359 32 32 32s32 -14.3359 32 -32v-184c0 -4.41602 3.58398 -8 8 -8h16c4.41602 0 8 3.58398 8 8v152c0 17.6641 14.3359 32 32 32s32 -14.3359 32 -32v-152c0 -4.41602 3.58398 -8 8 -8h16c4.41602 0 8 3.58398 8 8v72
c0 17.6641 14.3359 32 32 32s32 -14.3359 32 -32v-176.03c-0.0195312 -1.30957 -0.269531 -2.66992 -0.269531 -4c-7.77051 -3.70996 -14.5 -9.59961 -18.3506 -17.3398l-0.469727 -0.950195l-0.410156 -1l-15.6299 -37.4795l-37.4902 -15.6299l-1 -0.430664l-1 -0.489258
c-11.7803 -5.90527 -21.3408 -21.3926 -21.3408 -34.5703s9.56055 -28.665 21.3408 -34.5703l1 -0.5zM349.79 108.48c1.22266 0.609375 2.21582 2.21289 2.21582 3.5791c0 1.36719 -0.993164 2.9707 -2.21582 3.58008l-29.79 12.4199l-12.4297 29.7803
c-0.611328 1.21777 -2.21289 2.20605 -3.5752 2.20605s-2.96387 -0.988281 -3.5752 -2.20605l-12.4199 -29.7803l-29.79 -12.4199c-1.22266 -0.609375 -2.21582 -2.21289 -2.21582 -3.58008c0 -1.36621 0.993164 -2.96973 2.21582 -3.5791l29.79 -12.4102l12.4297 -29.7803
c0.611328 -1.21777 2.21289 -2.20605 3.5752 -2.20605s2.96387 0.988281 3.5752 2.20605l12.4199 29.7803zM640 16.0898l-0.0703125 -0.0703125v0c-0.117188 -2.19727 -1.76562 -4.86328 -3.67969 -5.94922l-49.5498 -20.6602h-0.0898438v0l-20.6904 -49.6201
c-1.01074 -2.04297 -3.68066 -3.7002 -5.95996 -3.7002s-4.94922 1.65723 -5.95996 3.7002l-20.6602 49.5898h-0.0703125l-49.5693 20.6699c-1.91406 1.08691 -3.5625 3.75293 -3.68066 5.9502v0c0.101562 2.2168 1.75 4.90527 3.68066 6l49.6299 20.7402h0.0498047
l20.7002 49.6299c1.01465 2.03516 3.68555 3.6875 5.95996 3.6875s4.94434 -1.65234 5.95996 -3.6875l20.6797 -49.6104h0.0703125l49.5703 -20.6699c1.92969 -1.09473 3.57812 -3.7832 3.67969 -6z" />
<glyph glyph-name="hands-wash" unicode="&#xf95e;" horiz-adv-x="576"
d="M496 224c-26.4961 0 -48 21.5039 -48 48s21.5039 48 48 48s48 -21.5039 48 -48s-21.5039 -48 -48 -48zM311.47 269.55l-16.0801 -4.96973l20.9004 66.1699c3.5 11.0703 14.1797 18.8604 25.71 17.5098c11.8564 -1.25195 21.4785 -11.9453 21.4785 -23.8672
c0 -2.05566 -0.505859 -5.31348 -1.12891 -7.27246l-15.3496 -48.6104c-5.0752 1.88184 -13.5869 3.44531 -19 3.49023h-0.0322266c-4.6543 0 -12.0449 -1.09766 -16.498 -2.4502zM93.6504 61.6699c-33.4609 19.3945 -61.0801 66.5195 -61.6504 105.19v112.729
c0.179688 13.3203 11.6699 23.9102 24.9004 23.8604c13.1709 -0.0771484 23.8604 -10.8281 23.8604 -24c0 -0.0410156 0 -0.108398 -0.000976562 -0.150391l2.06055 -50.0498l60 189.85c3.5 11.0703 14.1797 18.9004 25.71 17.46
c11.8398 -1.26465 21.4492 -11.9561 21.4492 -23.8633c0 -2.04785 -0.500977 -5.29395 -1.11914 -7.24609l-38.5605 -122c-0.205078 -0.649414 -0.371094 -1.72949 -0.371094 -2.41016c0 -4.41699 3.58398 -8.00195 8.00098 -8.00195
c3.2373 0 6.65527 2.50586 7.62988 5.5918l47.9307 151.71c3.50977 11.0605 14.1797 18.8506 25.71 17.5098c11.8398 -1.26465 21.4502 -11.9561 21.4502 -23.8633c0 -2.04785 -0.501953 -5.29395 -1.12012 -7.24609l-43.3701 -137.79
c-0.206055 -0.650391 -0.373047 -1.73242 -0.373047 -2.41504c0 -4.41797 3.58496 -8.00293 8.00293 -8.00293c3.23535 0 6.65332 2.50293 7.62988 5.58789l33.4502 106.42c3.5 11.0703 14.1895 18.8604 25.7197 17.5195
c11.8408 -1.26465 21.4502 -11.9561 21.4502 -23.8633c0 -2.04785 -0.501953 -5.29395 -1.12012 -7.24609l-34.1602 -108.12l-73.7002 -22.7598c-59.0469 -19.5098 -107.01 -85.8135 -107.06 -148v-25.6904c-0.80957 -0.169922 -1.5498 -0.519531 -2.34961 -0.709961z
M519.1 112c11.6104 0 22.25 -7.83984 24.4404 -19.2402c0.262695 -1.30078 0.476562 -3.43262 0.476562 -4.75977c0 -13.248 -10.752 -24 -24 -24h-0.0166016h-160c-4.41602 0 -8 -3.58398 -8 -8s3.58398 -8 8 -8h127.1c11.6104 0 22.25 -7.83984 24.4404 -19.2402
c0.262695 -1.30078 0.476562 -3.43262 0.476562 -4.75977c0 -13.248 -10.752 -24 -24 -24h-0.0166016h-128c-4.41602 0 -8 -3.58398 -8 -8s3.58398 -8 8 -8h95.0996c11.6104 0 22.25 -7.83984 24.4404 -19.2402c0.262695 -1.30078 0.476562 -3.43262 0.476562 -4.75977
c0 -13.248 -10.752 -24 -24 -24h-0.0166016h-208c-18.4902 0.0703125 -46.2656 8.00879 -62 17.7197c3.32715 8.06641 6.02734 21.6953 6.02734 30.4209c0 36.0527 -28.6846 71.0908 -64.0273 78.209v25.6504v0.00683594c0 49.501 38.165 102.223 85.1904 117.684
l107.72 33.25c1.91211 0.59082 5.08887 1.07031 7.08984 1.07031c13.2539 0 24.0107 -10.7568 24.0107 -24.0107c0 -9.77637 -7.58008 -20.0537 -16.9209 -22.9404l-47.0898 -17.0596h199.1c11.6104 0 22.25 -7.83984 24.4404 -19.2402
c0.262695 -1.30078 0.476562 -3.43262 0.476562 -4.75977c0 -13.248 -10.752 -24 -24 -24h-0.0166016h-128c-4.41602 0 -8 -3.58398 -8 -8s3.58398 -8 8 -8h159.1zM416 384c-17.6641 0 -32 14.3359 -32 32s14.3359 32 32 32s32 -14.3359 32 -32s-14.3359 -32 -32 -32z
M112 32c26.4961 0 48 -21.5039 48 -48s-21.5039 -48 -48 -48s-48 21.5039 -48 48s21.5039 48 48 48z" />
<glyph glyph-name="handshake-alt-slash" unicode="&#xf95f;" horiz-adv-x="640"
d="M358.59 252.4l26.1104 23.8896c2.86914 2.62598 5.19824 7.91504 5.19824 11.8047c0 8.83398 -7.16992 16.0039 -16.0039 16.0039c-3.43164 0 -8.27246 -1.88086 -10.8047 -4.19824l-27 -24.7002l-32.6895 -29.9199l330.43 -255.38
c3.41016 -2.65234 6.17773 -8.31055 6.17773 -12.6309c0 -3.0293 -1.50879 -7.42773 -3.36816 -9.81934l-19.6396 -25.2705c-2.65234 -3.41211 -8.31152 -6.18262 -12.6338 -6.18262c-3.03125 0 -7.43359 1.51172 -9.82617 3.37305l-588.35 454.72
c-3.41016 2.65234 -6.17773 8.31055 -6.17773 12.6309c0 3.02832 1.50781 7.42773 3.36719 9.81934l19.6201 25.2695c2.65234 3.41602 8.31348 6.1875 12.6377 6.1875c3.03418 0 7.43848 -1.5127 9.83203 -3.37695l116.891 -90.3301l20.3398 20.2998
c5.16211 5.17969 15.2871 9.39551 22.5996 9.41016h83.79l-75.5996 -69.2402l25.6895 -19.8496l88.1201 80.6797c5.0625 4.63965 14.7432 8.40723 21.6104 8.41016h85.8896c7.31641 -0.0126953 17.4453 -4.22852 22.6104 -9.41016l54.5898 -54.5898h112v0
c8.78223 0 15.9502 -7.12793 16 -15.9102v-191.8c-0.0273438 -8.80469 -7.19531 -15.9727 -16 -16h-97.5898c-2.26465 12.7275 -12.2148 29.7109 -22.21 37.9102zM16 320h7.55957l382.44 -295.59l-8.7998 -10.8203c-6.15723 -7.57617 -19.0762 -13.7246 -28.8389 -13.7246
c-7.29004 0 -17.7959 3.73438 -23.4512 8.33496l-17.9102 15.5l-0.200195 -0.200195c-10.6025 -13.0381 -32.8477 -23.6201 -49.6533 -23.6201c-12.5381 0 -30.6133 6.41602 -40.3467 14.3203l-90.5 81.8896h-130.3c-8.83203 0 -16 7.16797 -16 16v191.91
c0.0273438 8.80469 7.19531 15.9727 16 16z" />
<glyph glyph-name="handshake-slash" unicode="&#xf960;" horiz-adv-x="640"
d="M0 319.79h23.8301l72.1699 -55.79v-168c0 -17.6641 -14.3359 -32 -32 -32h-64v255.79zM48 127.9c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16s16 7.16797 16 16s-7.16797 16 -16 16zM128 96.0898v143.19l278 -214.87l-8.7998 -10.8203
c-6.15723 -7.57617 -19.0762 -13.7246 -28.8389 -13.7246c-7.29004 0 -17.7959 3.73438 -23.4512 8.33496l-17.9102 15.5l-0.200195 -0.200195c-10.6025 -13.0381 -32.8477 -23.6201 -49.6533 -23.6201c-12.5381 0 -30.6133 6.41602 -40.3467 14.3203l-90.5 81.8896
h-18.2998zM544 319.79h96v-255.89h-64c-17.6641 0 -32 14.3359 -32 32v223.89zM592 95.9004c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16s-16 -7.16797 -16 -16s7.16797 -16 16 -16zM303.33 245.33l330.5 -255.43c3.41309 -2.65234 6.18359 -8.3125 6.18359 -12.6357
c0 -3.02734 -1.50684 -7.42383 -3.36328 -9.81445l-19.6504 -25.2705c-2.65234 -3.41504 -8.31348 -6.1875 -12.6377 -6.1875c-3.03418 0 -7.43848 1.51367 -9.83203 3.37793l-588.34 454.72c-3.41016 2.65234 -6.17773 8.31055 -6.17773 12.6309
c0 3.02832 1.50781 7.42773 3.36719 9.81934l19.6201 25.2695c2.65234 3.41602 8.31348 6.1875 12.6377 6.1875c3.03418 0 7.43848 -1.5127 9.83203 -3.37695l116.891 -90.3398l20.3398 20.3096c5.16211 5.17969 15.2871 9.39551 22.5996 9.41016h83.79l-75.5996 -69.2402
l25.6396 -19.8096l88.0703 80.6396c5.05566 4.64258 14.7305 8.41016 21.5947 8.41016h0.00488281h85.9004h0.0351562c7.31055 0 17.4199 -4.21582 22.5645 -9.41016l54.6104 -54.5898v-193.5c-2.02246 2.29102 -5.56641 5.74023 -7.91016 7.7002l-145.59 118.2
l26.0898 23.8896c2.73828 2.61035 4.95996 7.79883 4.95996 11.5811c0 8.83203 -7.16797 16 -16 16c-3.32422 0 -8.05078 -1.7793 -10.5498 -3.9707z" />
<glyph glyph-name="head-side-cough" unicode="&#xf961;" horiz-adv-x="640"
d="M616 144c-13.248 0 -24 10.752 -24 24s10.752 24 24 24s24 -10.752 24 -24s-10.752 -24 -24 -24zM552 32c13.248 0 24 -10.752 24 -24s-10.752 -24 -24 -24s-24 10.752 -24 24s10.752 24 24 24zM488 88c13.248 0 24 -10.752 24 -24s-10.752 -24 -24 -24
s-24 10.752 -24 24s10.752 24 24 24zM616 -16c13.248 0 24 -10.752 24 -24s-10.752 -24 -24 -24s-24 10.752 -24 24s10.752 24 24 24zM616 88c13.248 0 24 -10.752 24 -24s-10.752 -24 -24 -24s-24 10.752 -24 24s10.752 24 24 24zM552 128c13.248 0 24 -10.752 24 -24
s-10.752 -24 -24 -24s-24 10.752 -24 24s10.752 24 24 24zM477.22 173c1.52344 -3.42676 2.75977 -9.25 2.75977 -13c0 -17.6523 -14.3271 -31.9883 -31.9795 -32h-32v-32h-96c-17.6641 0 -32 -14.3359 -32 -32s14.3359 -32 32 -32h96c0 -35.3281 -28.6719 -64 -64 -64h-64
v-32h-224v177.12c-39.25 35.2598 -64 86.1299 -64 142.88c0 106 86 192 192 192h42.0996c59.5439 -0.0390625 135.704 -39.5752 170 -88.25c24.6201 -35 52.1201 -139.63 73.1201 -186.75zM288 224c17.626 0.0380859 31.9619 14.374 32 32c0 17.6641 -14.3359 32 -32 32
s-32 -14.3359 -32 -32s14.3359 -32 32 -32z" />
<glyph glyph-name="head-side-cough-slash" unicode="&#xf962;" horiz-adv-x="640"
d="M454.11 128.79l179.72 -138.89c3.41016 -2.65234 6.17773 -8.31055 6.17773 -12.6309c0 -3.0293 -1.50879 -7.42773 -3.36816 -9.81934l-19.6396 -25.2705c-2.65234 -3.41504 -8.31348 -6.1875 -12.6377 -6.1875c-3.03418 0 -7.43848 1.51367 -9.83203 3.37793
l-588.351 454.72c-3.41016 2.65234 -6.17773 8.31055 -6.17773 12.6309c0 3.02832 1.50879 7.42773 3.36816 9.81934l19.6299 25.2695c2.65234 3.41309 8.31152 6.18262 12.6338 6.18262c3.03125 0 7.43359 -1.51074 9.82617 -3.37207l38.7197 -29.9199
c26.8672 18.3818 75.0928 33.2998 107.646 33.2998h0.173828h42.0996c59.5439 -0.0390625 135.704 -39.5752 170 -88.25c24.6201 -35 52.1201 -139.63 73.1201 -186.75c8.51074 -19.21 -3.5498 -40.4004 -23.1094 -44.21zM313.39 237.55
c3.85059 5.28027 6.61035 11.4502 6.58008 18.4502c-0.0322266 17.6309 -14.3691 31.9668 -32 32c-9.92969 0 -18.4795 -4.86035 -24.3594 -12zM616 144c-13.248 0 -24 10.752 -24 24s10.752 24 24 24s24 -10.752 24 -24s-10.752 -24 -24 -24zM552 80
c-13.248 0 -24 10.752 -24 24s10.752 24 24 24s24 -10.752 24 -24s-10.752 -24 -24 -24zM288 64c0 -17.6641 14.3359 -32 32 -32h96c0 -35.3281 -28.6719 -64 -64 -64h-64v-32h-224v177.12c-39.25 35.2598 -64 86.1299 -64 142.88
c0.0126953 25.2188 9.2998 63.9307 20.7305 86.4102l318.81 -246.41h-19.54c-17.6641 0 -32 -14.3359 -32 -32zM616 88c13.248 0 24 -10.752 24 -24s-10.752 -24 -24 -24s-24 10.752 -24 24s10.752 24 24 24z" />
<glyph glyph-name="head-side-mask" unicode="&#xf963;"
d="M0.150391 263.58c0.364258 7.85059 1.94043 20.4707 3.51953 28.1699l220.33 -160.26v-195.49h-160v177.12c-41 36.8203 -66.1699 90.6699 -63.8496 150.46zM509.22 173c1.40625 -3.27148 2.54688 -8.81543 2.54688 -12.376
c0 -0.171875 -0.00292969 -0.452148 -0.00683594 -0.624023h-272.55l-225.96 164.35c29.2305 73.0801 103.75 123.65 186.75 123.65h66.1104c59.541 -0.0390625 135.697 -39.5752 169.989 -88.25c24.6201 -35 52.1201 -139.63 73.1201 -186.75zM320 224
c17.626 0.0380859 31.9619 14.374 32 32c0 17.6641 -14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32zM336 80c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h149.34l-10.6699 -32h-138.67c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h128
l-1.41016 -4.24023c-8.05176 -24.1533 -35.25 -43.7578 -60.71 -43.7598h-145.88v192h256l-16 -48h-160z" />
<glyph glyph-name="head-side-virus" unicode="&#xf964;"
d="M272 208c8.83203 0 16 -7.16797 16 -16s-7.16797 -16 -16 -16s-16 7.16797 -16 16s7.16797 16 16 16zM208 272c8.83203 0 16 -7.16797 16 -16s-7.16797 -16 -16 -16s-16 7.16797 -16 16s7.16797 16 16 16zM509.2 173c1.52344 -3.42676 2.75977 -9.25 2.75977 -13
c0 -17.6416 -14.3184 -31.9775 -31.96 -32h-32v-64c0 -35.3281 -28.6719 -64 -64 -64h-64v-64h-256v177.19c-35.3281 31.4834 -64 95.4414 -64 142.763v0.046875c0 106 86 192 192 192h74.0898h0.0214844c59.5684 0 135.736 -39.5361 170.019 -88.25
c24.6396 -35.0195 52.1396 -139.63 73.0703 -186.75zM368 208c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16h-12.1201c-28.5098 0 -42.79 34.4697 -22.6299 54.6299l8.58008 8.57031c2.58691 2.58691 4.68652 7.65625 4.68652 11.3145
c0 8.83301 -7.16895 16.002 -16.002 16.002c-3.6582 0 -8.72754 -2.09961 -11.3145 -4.68652l-8.57031 -8.58008c-20.1602 -20.1602 -54.6299 -5.87988 -54.6299 22.6299v12.1201c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16v-12.1201
c0 -28.5098 -34.4697 -42.79 -54.6299 -22.6299l-8.57031 8.58008c-2.58691 2.58691 -7.65625 4.68652 -11.3145 4.68652c-8.83301 0 -16.002 -7.16895 -16.002 -16.002c0 -3.6582 2.09961 -8.72754 4.68652 -11.3145l8.58008 -8.57031
c20.1602 -20.1602 5.87988 -54.6299 -22.6299 -54.6299h-12.1201c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h12.1201c28.5098 0 42.79 -34.4697 22.6299 -54.6299l-8.58008 -8.57031c-2.58691 -2.58691 -4.68652 -7.65625 -4.68652 -11.3145
c0 -8.83301 7.16895 -16.002 16.002 -16.002c3.6582 0 8.72754 2.09961 11.3145 4.68652l8.57031 8.58008c20.1602 20.1602 54.6299 5.87988 54.6299 -22.6299v-12.1201c0 -8.83203 7.16797 -16 16 -16s16 7.16797 16 16v12.1201c0 28.5098 34.4697 42.79 54.6299 22.6299
l8.57031 -8.58008c2.58691 -2.58691 7.65625 -4.68652 11.3145 -4.68652c8.83301 0 16.002 7.16895 16.002 16.002c0 3.6582 -2.09961 8.72754 -4.68652 11.3145l-8.58008 8.57031c-20.1602 20.1602 -5.87988 54.6299 22.6299 54.6299h12.1201z" />
<glyph glyph-name="house-user" unicode="&#xf965;" horiz-adv-x="576"
d="M570.69 211.73c2.54004 -2.81152 4.91895 -8.15137 5.30957 -11.9209c-0.319336 -3.25977 -2.15234 -8.04883 -4.08984 -10.6895l-21.4102 -23.8105c-2.7959 -2.53809 -8.11426 -4.91699 -11.8701 -5.30957c-3.2666 0.334961 -8.06934 2.18066 -10.7197 4.12012
l-15.9102 14v-210.12c0 -17.6641 -14.3359 -32 -32 -32h-383.91c-17.6641 0 -32 14.3359 -32 32v210.11l-15.8994 -14c-2.63965 -1.94336 -7.42871 -3.78418 -10.6904 -4.11035c-3.78906 0.381836 -9.16504 2.75586 -12 5.2998l-21.4102 23.79
c-2.08398 2.59082 -3.91602 7.38965 -4.08984 10.71c0.200195 3.83789 2.55664 9.16895 5.25977 11.9004l256 226c6.28027 5.68945 18.21 10.2998 26.7402 10.2998s20.5 -4.61035 26.7803 -10.2998l101.22 -89.3701v51.6699c0 8.83203 7.16797 16 16 16h64
c8.83203 0 16 -7.16797 16 -16v-136.44zM288 272c-35.3281 0 -64 -28.6719 -64 -64s28.6719 -64 64 -64s64 28.6719 64 64s-28.6719 64 -64 64zM400 0c8.83203 0 16 7.16797 16 16c0 52.9922 -43.0078 96 -96 96h-64c-52.9922 0 -96 -43.0078 -96 -96
c0 -8.83203 7.16797 -16 16 -16h224z" />
<glyph glyph-name="laptop-house" unicode="&#xf966;" horiz-adv-x="640"
d="M272 160v-128h-176c-17.6641 0 -32 14.3359 -32 32v164.12l-21.6602 -19.1201c-2.27344 -1.77637 -6.45801 -3.33594 -9.33984 -3.48047c-3.45117 0.183594 -8.22754 2.3252 -10.6602 4.78027l-18.79 21.3105c-1.8125 2.27637 -3.40332 6.4834 -3.5498 9.38965
c0.194336 3.42871 2.33594 8.16797 4.78027 10.5801l211.8 187.5c5.54004 4.91992 16.0703 8.91992 23.4697 8.91992c7.40039 0 17.9502 -4 23.4502 -8.91992l88.5 -78.3799v39.2998c0 8.83203 7.16797 16 16 16h32c8.83203 0 16 -7.16797 16 -16v-96l59.25 -52.3896
c2.42773 -2.42871 4.55566 -7.18164 4.75 -10.6104c-0.15332 -2.93457 -1.77051 -7.17773 -3.61035 -9.46973l-6.64941 -7.53027h-136.94c-17.7998 0 -33.6895 -8.24023 -44.7998 -21.1201v37.1201c0 8.83203 -7.16797 16 -16 16h-64c-8.83203 0 -16 -7.16797 -16 -16v-64
c0 -8.83203 7.16797 -16 16 -16h64zM629.33 0c5.88965 0 10.6699 -4.78027 10.6699 -10.6699v-10.6602c-0.0820312 -23.4336 -19.167 -42.5498 -42.5996 -42.6699h-298.801c-23.4326 0.120117 -42.5176 19.2363 -42.5996 42.6699v10.6602
c0 5.88965 4.78027 10.6699 10.6699 10.6699v0h37.3301v160c0 17.6699 12.8896 32 28.7998 32h230.4c15.9102 0 28.7998 -14.3301 28.7998 -32v-160h37.3301zM544 0v144h-192v-144h192z" />
<glyph glyph-name="lungs-virus" unicode="&#xf967;" horiz-adv-x="640"
d="M344 297.32c-6.11035 3.6875 -16.8623 6.68066 -24 6.68066s-17.8896 -2.99316 -24 -6.68066v134.68c0 8.83203 7.16797 16 16 16h16c8.83203 0 16 -7.16797 16 -16v-134.68zM195.54 3.54004c7.55664 -7.76367 22.4814 -14.0645 33.3154 -14.0645
c2.33594 0 6.09668 0.342773 8.39453 0.764648c-11.2559 -14.4775 -34.7754 -30.0459 -52.5 -34.75l-59.5 -15.8701c-62.75 -16.8799 -125.25 27.3799 -125.25 88.6299v0.241211c0 8.25 1.73828 21.4121 3.87988 29.3789c18.2109 68.1455 63.9072 171.634 102 231
c22.1201 34.6299 36.1201 63.1299 80.1201 63.1299c38.6201 0 70 -29.3799 70 -65.75v-27.6797c-6.68359 4.46582 -18.6309 8.08984 -26.6689 8.08984c-26.4961 0 -48 -21.5039 -48 -48c0 -11.043 6.36523 -26.3154 14.209 -34.0898l8.58008 -8.57031h-12.1201
c-26.4961 0 -48 -21.5039 -48 -48s21.5039 -48 48 -48h12.1201l-8.58008 -8.58008c-7.74609 -7.76562 -14.0332 -22.9707 -14.0332 -33.9395c0 -10.9697 6.28711 -26.1748 14.0332 -33.9404zM421.83 26.1699c-2.58691 -2.58789 -7.65625 -4.6875 -11.3154 -4.6875
c-3.6582 0 -8.72754 2.09961 -11.3145 4.6875l-8.57031 8.57031c-20.1602 20.1602 -54.6299 5.87988 -54.6299 -22.6201v-12.1201c0 -8.83203 -7.16797 -16 -16 -16s-16 7.16797 -16 16v12.1201c0 28.5 -34.4697 42.7803 -54.6299 22.6201l-8.57031 -8.57031
c-2.60156 -2.67969 -7.74512 -4.85547 -11.4805 -4.85547c-8.83203 0 -16 7.16797 -16 16c0 3.7334 2.17285 8.87402 4.85059 11.4756l8.58008 8.58008c20.1602 20.1602 5.87988 54.6299 -22.6299 54.6299h-12.1201c-8.83203 0 -16 7.16797 -16 16s7.16797 16 16 16h12.1201
c28.5098 0 42.79 34.4697 22.6299 54.6201l-8.58008 8.58008c-2.58691 2.58691 -4.68652 7.65625 -4.68652 11.3145c0 8.83301 7.16895 16.002 16.002 16.002c3.6582 0 8.72754 -2.09961 11.3145 -4.68652l8.57031 -8.58008
c20.1602 -20.1602 54.6299 -5.87988 54.6299 22.6299v12.1201c0 8.83203 7.16797 16 16 16s16 -7.16797 16 -16v-12.1201c0 -28.5098 34.4697 -42.79 54.6299 -22.6299l8.57031 8.58008c2.58691 2.58691 7.65625 4.68652 11.3145 4.68652
c8.83301 0 16.002 -7.16895 16.002 -16.002c0 -3.6582 -2.09961 -8.72754 -4.68652 -11.3145l-8.58008 -8.58008c-20.1602 -20.1504 -5.87988 -54.6201 22.6299 -54.6201h12.1201c8.83203 0 16 -7.16797 16 -16s-7.16797 -16 -16 -16h-12.1201
c-28.5098 0 -42.79 -34.4697 -22.6299 -54.6299l8.58008 -8.58008c2.58496 -2.58691 4.68262 -7.65332 4.68262 -11.3096c0 -3.65723 -2.09766 -8.72363 -4.68262 -11.3105zM288 144c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16s-16 -7.16797 -16 -16
s7.16797 -16 16 -16zM352 80c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16s-16 -7.16797 -16 -16s7.16797 -16 16 -16zM636.12 57.8701c2.1416 -7.9668 3.87988 -21.1289 3.87988 -29.3789v-0.241211c0 -61.25 -62.5 -105.51 -125.25 -88.6299l-59.5 15.8701
c-17.7246 4.7041 -41.2441 20.2725 -52.5 34.75c2.32812 -0.421875 6.1377 -0.764648 8.50391 -0.764648c26.3311 0 47.7002 21.3701 47.7002 47.7002c0 11.1445 -6.49316 26.4863 -14.4941 34.2441l-8.58008 8.58008h12.1201c26.4961 0 48 21.5039 48 48
s-21.5039 48 -48 48h-12.1201l8.58008 8.53027c7.84375 7.77441 14.209 23.0469 14.209 34.0898c0 26.4961 -21.5039 48 -48 48c-8.03809 0 -19.9854 -3.62402 -26.6689 -8.08984v27.7197c0 36.3701 31.3799 65.75 70 65.75c44 0 58 -28.5 80.1201 -63.1299
c38.0928 -59.3662 83.7891 -162.854 102 -231z" />
<glyph glyph-name="people-arrows" unicode="&#xf968;" horiz-adv-x="576"
d="M96 320c-35.3281 0 -64 28.6719 -64 64s28.6719 64 64 64s64 -28.6719 64 -64s-28.6719 -64 -64 -64zM96 143.92v-0.118164c0 -10.4102 6.11035 -24.6934 13.6396 -31.8818l50.3604 -47.5303v-96.3896c0 -17.6641 -14.3359 -32 -32 -32h-64
c-17.6641 0 -32 14.3359 -32 32v128c-17.6641 0 -32 14.3359 -32 32v96c0 35.3281 28.6719 64 64 64h64c23.9707 -0.0224609 50.5732 -18.1357 59.3799 -40.4297c-1.83984 -1.26074 -3.95996 -2.02051 -5.61035 -3.57031l-72.1299 -68.0801
c-7.5293 -7.19336 -13.6396 -21.4814 -13.6396 -31.8945v-0.105469zM480 320c-35.3281 0 -64 28.6719 -64 64s28.6719 64 64 64s64 -28.6719 64 -64s-28.6719 -64 -64 -64zM512 288c35.3281 0 64 -28.6719 64 -64v-96c0 -17.6641 -14.3359 -32 -32 -32v-128
c0 -17.6641 -14.3359 -32 -32 -32h-64c-17.6641 0 -32 14.3359 -32 32v96.3799l50.3604 47.5498c7.52539 7.22949 13.6338 21.5654 13.6338 32c0 10.4355 -6.1084 24.7715 -13.6338 32l-72.1201 68.0605c-1.62012 1.58984 -3.78027 2.31934 -5.62012 3.58984
c8.80957 22.291 35.4111 40.3984 59.3799 40.4199h64zM444.4 152.66c1.98633 -2.00195 3.59863 -5.91504 3.59863 -8.73535s-1.6123 -6.7334 -3.59863 -8.73438l-72.1201 -68.0703c-1.91895 -1.83008 -5.62891 -3.31445 -8.28027 -3.31445c-6.62402 0 -12 5.37598 -12 12
v0.0546875v36.1396h-128v-36.1396v-0.0546875c0 -6.62402 -5.37598 -12 -12 -12c-2.65137 0 -6.36133 1.48438 -8.28027 3.31445l-72.1201 68.0703c-1.98633 2.00098 -3.59863 5.91406 -3.59863 8.73438s1.6123 6.7334 3.59863 8.73535l72.1201 68.0703
c1.91895 1.8291 5.62891 3.31348 8.28027 3.31348c6.62402 0 12 -5.37598 12 -12v-0.0439453v-36h128v36v0.0341797c0 6.62402 5.37598 12 12 12c2.65137 0 6.36133 -1.48438 8.28027 -3.31445z" />
<glyph glyph-name="plane-slash" unicode="&#xf969;" horiz-adv-x="640"
d="M32.4805 300.12c-0.21875 0.947266 -0.396484 2.50586 -0.396484 3.47852c0 2.40137 1.01465 6.0127 2.26562 8.06152l324.841 -251.061l-66.6006 -116.54c-2.54297 -4.44824 -8.76562 -8.05957 -13.8896 -8.05957h-65.5
c-8.81543 0.0166016 -15.9697 7.18457 -15.9697 16c0 1.24121 0.277344 3.2168 0.619141 4.41016l49 171.59h-102.85l-43.2002 -57.5898c-2.64746 -3.53613 -8.38184 -6.4082 -12.7998 -6.41016h-40c-8.8291 0.00292969 -15.9951 7.1709 -15.9951 16
c0 1.08398 0.212891 2.81836 0.475586 3.87012l31.5195 108.13zM633.82 -10.0898c3.41602 -2.65234 6.18848 -8.31445 6.18848 -12.6387c0 -3.03027 -1.50879 -7.42969 -3.36914 -9.82129l-19.6396 -25.2598c-2.65234 -3.41699 -8.31445 -6.18945 -12.6387 -6.18945
c-3.03027 0 -7.42969 1.50977 -9.82129 3.36914l-588.36 454.72c-3.41211 2.65234 -6.18262 8.3125 -6.18262 12.6338c0 3.03223 1.51172 7.43359 3.37305 9.82617l19.6299 25.2598c2.65234 3.41309 8.31152 6.18262 12.6338 6.18262
c3.03125 0 7.43359 -1.51074 9.82617 -3.37207l189.3 -146.3l-36.9395 129.29c-0.338867 1.1875 -0.614258 3.1543 -0.614258 4.38965c0 8.8291 7.16504 15.9971 15.9941 16h65.5098c5.12988 0 11.3496 -3.61035 13.9004 -8.05957l105.09 -183.94h114.3
c35.3398 0 96 -28.6602 96 -64s-60.6602 -64 -96 -64h-56.8604z" />
<glyph glyph-name="pump-medical" unicode="&#xf96a;" horiz-adv-x="384"
d="M235.51 288.18c32.2471 -0.00195312 60.7979 -26.0664 63.7305 -58.1797l20.3701 -224c0.145508 -1.59766 0.262695 -4.19629 0.262695 -5.7998c0 -35.3242 -28.6689 -63.9961 -63.9932 -64h-192h-0.00292969c-35.3281 0 -64 28.6719 -64 64
c0 1.60352 0.117188 4.20215 0.262695 5.7998l20.3701 224c2.93262 32.1133 31.4834 58.1777 63.7305 58.1797h151.27zM239.88 114.85v26.6602c0 7.36426 -5.97656 13.3398 -13.3398 13.3398v0h-40v40c0 7.3584 -5.97168 13.3301 -13.3301 13.3301v0h-26.6699
c-7.3584 0 -13.3301 -5.97168 -13.3301 -13.3301v-40h-40c-7.3584 0 -13.3301 -5.97168 -13.3301 -13.3301v-0.00976562v-26.6602c0 -7.35742 5.97168 -13.334 13.3301 -13.3398h40v-40c0 -7.3584 5.97168 -13.3301 13.3301 -13.3301v0h26.6699
c7.3584 0 13.3301 5.97168 13.3301 13.3301v40h40c7.3584 0.00585938 13.334 5.98242 13.3398 13.3398zM379.19 354.12c2.58691 -2.58691 4.6875 -7.65625 4.6875 -11.3154c0 -3.6582 -2.10059 -8.72754 -4.6875 -11.3145l-22.6201 -22.6201
c-2.58691 -2.58789 -7.65625 -4.6875 -11.3154 -4.6875s-8.72754 2.09961 -11.3145 4.6875l-43.3105 43.3096h-66.75v-32h-128v96c0 17.6641 14.3359 32 32 32h64c17.6641 0 32 -14.3359 32 -32h66.75c14.6279 -0.00195312 34.8955 -8.39746 45.2402 -18.7393z" />
<glyph glyph-name="pump-soap" unicode="&#xf96b;" horiz-adv-x="384"
d="M235.63 288c32.2637 0 60.8311 -26.0781 63.75 -58.21l20.3604 -224c0.144531 -1.59473 0.262695 -4.18848 0.262695 -5.79004c0 -35.3281 -28.6729 -64 -64 -64h-0.00292969h-192c-35.3242 0.00390625 -63.9922 28.6758 -63.9922 64
c0 1.60156 0.117188 4.19531 0.261719 5.79004l20.3604 224c2.91895 32.1318 31.4736 58.21 63.7373 58.21h0.00292969h151.26zM160 32c33.1201 0 60 26.3301 60 58.7305c0 25 -35.6699 75.4697 -52 97.2695c-1.65625 2.21387 -5.24316 4.00977 -8.00781 4.00977
c-2.75586 0 -6.33594 -1.78711 -7.99219 -3.99023c-16.2998 -21.7998 -52 -72.2695 -52 -97.2695c0 -32.4199 26.8799 -58.75 60 -58.75zM379.31 353.94c2.58789 -2.58691 4.68848 -7.65625 4.68848 -11.3154s-2.10059 -8.72852 -4.68848 -11.3154l-22.6191 -22.6191
c-2.58691 -2.58789 -7.65625 -4.68848 -11.3154 -4.68848s-8.72852 2.10059 -11.3154 4.68848l-43.3096 43.3096h-66.75v-32h-128v96c0 17.6641 14.3359 32 32 32h64c17.6641 0 32 -14.3359 32 -32h66.75v0c14.6309 0 34.9033 -8.39551 45.25 -18.7402z" />
<glyph glyph-name="shield-virus" unicode="&#xf96c;"
d="M224 256c8.83203 0 16 -7.16797 16 -16s-7.16797 -16 -16 -16s-16 7.16797 -16 16s7.16797 16 16 16zM466.5 364.32c16.2842 -6.80176 29.5 -26.6445 29.5 -44.292v-0.0283203c0 -221.3 -135.91 -344.61 -221.59 -380.32
c-4.89062 -2.03223 -13.1592 -3.68164 -18.4551 -3.68164c-5.29688 0 -13.5645 1.64941 -18.4551 3.68164c-107 44.6006 -221.5 181.82 -221.5 380.32v0.0478516c0 17.6787 13.2559 37.5176 29.5898 44.2822l192 80c4.92676 1.85938 13.1973 3.50391 18.46 3.66992
c5.26074 -0.169922 13.5264 -1.81836 18.4502 -3.67969zM384 192c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16h-12.1201c-28.5098 0 -42.79 34.4697 -22.6299 54.6299l8.58008 8.57031c2.58691 2.58691 4.68652 7.65625 4.68652 11.3145
c0 8.83301 -7.16895 16.002 -16.002 16.002c-3.6582 0 -8.72754 -2.09961 -11.3145 -4.68652l-8.57031 -8.58008c-20.1602 -20.1602 -54.6299 -5.87988 -54.6299 22.6299v12.1201c0 8.83203 -7.16797 16 -16 16s-16 -7.16797 -16 -16v-12.1201
c0 -28.5098 -34.4697 -42.79 -54.6299 -22.6299l-8.57031 8.58008c-2.58691 2.58691 -7.65625 4.68652 -11.3145 4.68652c-8.83301 0 -16.002 -7.16895 -16.002 -16.002c0 -3.6582 2.09961 -8.72754 4.68652 -11.3145l8.58008 -8.57031
c20.1602 -20.1602 5.87988 -54.6299 -22.6299 -54.6299h-12.1201c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h12.1201c28.5098 0 42.79 -34.4697 22.6299 -54.6299l-8.58008 -8.57031c-2.58691 -2.58691 -4.68652 -7.65625 -4.68652 -11.3145
c0 -8.83301 7.16895 -16.002 16.002 -16.002c3.6582 0 8.72754 2.09961 11.3145 4.68652l8.57031 8.58008c20.1602 20.1602 54.6299 5.87988 54.6299 -22.6299v-12.1201c0 -8.83203 7.16797 -16 16 -16s16 7.16797 16 16v12.1201c0 28.5098 34.4697 42.79 54.6299 22.6299
l8.57031 -8.58008c2.58691 -2.58691 7.65625 -4.68652 11.3145 -4.68652c8.83301 0 16.002 7.16895 16.002 16.002c0 3.6582 -2.09961 8.72754 -4.68652 11.3145l-8.58008 8.57031c-20.1602 20.1602 -5.87988 54.6299 22.6299 54.6299h12.1201zM288 192
c8.83203 0 16 -7.16797 16 -16s-7.16797 -16 -16 -16s-16 7.16797 -16 16s7.16797 16 16 16z" />
<glyph glyph-name="soap" unicode="&#xf96e;"
d="M416 256c52.9922 0 96 -43.0078 96 -96v-128c0 -52.9922 -43.0078 -96 -96 -96h-320c-52.9922 0 -96 43.0078 -96 96v128c0 52.9922 43.0078 96 96 96h128c0.0517578 -20.3193 11.2119 -48.9912 24.9102 -64h-88.9102c-52.9922 0 -96 -43.0078 -96 -96
s43.0078 -96 96 -96h192h0.206055c52.8809 0 95.7998 42.918 95.7998 95.7998c0 36.9893 -28.2002 77.3047 -62.9463 89.9902c17.0488 15.6279 30.9092 47.082 30.9404 70.21zM320 192c-35.3281 0 -64 28.6719 -64 64s28.6719 64 64 64s64 -28.6719 64 -64
s-28.6719 -64 -64 -64zM208 352c-26.4961 0 -48 21.5039 -48 48s21.5039 48 48 48s48 -21.5039 48 -48s-21.5039 -48 -48 -48zM384 384c-17.6641 0 -32 14.3359 -32 32s14.3359 32 32 32s32 -14.3359 32 -32s-14.3359 -32 -32 -32zM160 160h192
c35.3281 0 64 -28.6719 64 -64s-28.6719 -64 -64 -64h-192c-35.3281 0 -64 28.6719 -64 64s28.6719 64 64 64z" />
<glyph glyph-name="stopwatch-20" unicode="&#xf96f;" horiz-adv-x="448"
d="M398.5 257.09c18.4922 -28.3281 33.501 -78.7754 33.501 -112.605c0 -0.133789 -0.000976562 -0.350586 -0.000976562 -0.484375c0 -116 -94.8701 -209.77 -211.28 -208c-113.96 1.78027 -208.08 100.5 -204.63 214.43c2.92773 95.2598 81.7354 184.443 175.91 199.07
v34.5h-32c-8.80469 0.0273438 -15.9727 7.19531 -16 16v32c0.0273438 8.80469 7.19531 15.9727 16 16h128c8.83203 0 16 -7.16797 16 -16v-32c0 -8.83203 -7.16797 -16 -16 -16h-32v-34.5c30.8857 -4.76953 75.5469 -24.7461 99.6904 -44.5898l24.6797 24.6797
c2.58691 2.58789 7.65625 4.6875 11.3145 4.6875c3.65918 0 8.72852 -2.09961 11.3154 -4.6875l22.6797 -22.6797c2.58789 -2.58691 4.6875 -7.65625 4.6875 -11.3154c0 -3.6582 -2.09961 -8.72754 -4.6875 -11.3145l-26.5898 -26.5801zM204.37 70.4502l-49.1299 0.0400391
c1.7998 15.6299 14.8496 36.2002 26.4102 51.2002c21.9092 30.0996 34.3496 45.7295 34.3496 81.3096c0 35.1504 -12.5703 61 -55.5703 61c-47.9492 0 -56.4297 -32.9404 -56.4297 -60.2402v-4.06934c0.0703125 -4.45605 3.74316 -8.07129 8.19922 -8.07129
c0.0361328 0 0.0947266 0 0.130859 0.000976562h24.9004c0.0361328 -0.000976562 0.0947266 -0.000976562 0.130859 -0.000976562c4.45508 0 8.12891 3.61523 8.19824 8.07129v5.22949c0 15.2803 3.30078 22.6797 12.6904 22.6797c10.4199 0 12.21 -7.34961 12.21 -24.2695
c0 -25.0205 -6.67969 -33.1504 -27.0996 -62.3398c-23.7803 -33.96 -35.6699 -56.1504 -38.4502 -91.3701c-0.0224609 -0.320312 -0.0410156 -0.84082 -0.0410156 -1.16113c0 -9.08594 7.37402 -16.46 16.46 -16.46c0.0527344 0 0.137695 0 0.19043 0.000976562h82.8506
c0.0332031 -0.000976562 0.0878906 -0.000976562 0.121094 -0.000976562c4.45508 0 8.12891 3.61621 8.19922 8.07129v22.3096c-0.0703125 4.45508 -3.74414 8.07129 -8.19922 8.07129c-0.0332031 0 -0.0878906 -0.000976562 -0.121094 -0.000976562zM344 95.6797v107.021
c0 38.6602 -19 61.2998 -55.7998 61.2998c-36.6201 0 -56.2002 -22.4902 -56.2002 -63.2197v-105.33c0 -33.9307 11.1904 -63.4502 54.7695 -63.4502c44.9307 0 57.2305 28.5195 57.2305 63.6797zM287.87 226.27c10.0098 0 13.0195 -8.05957 13 -19.3291v-115.94
c0 -13.2695 -3.36035 -21.2695 -13 -21.2695s-13.2305 7.47949 -13.2305 20.5898v115.949c0 12.5 3.82031 20 13.2305 20z" />
<glyph glyph-name="store-alt-slash" unicode="&#xf970;" horiz-adv-x="640"
d="M17.8896 324.38l88.4707 -68.3799h-74.2607c-25.5898 0 -40.79 28.5 -26.5898 49.7998zM576 34.5801l57.8301 -44.6797c3.41016 -2.65234 6.17773 -8.31055 6.17773 -12.6309c0 -3.0293 -1.50879 -7.42773 -3.36816 -9.81934l-19.6396 -25.2598
c-2.65234 -3.41895 -8.31543 -6.19434 -12.6426 -6.19434c-3.03223 0 -7.43457 1.51172 -9.82715 3.37402l-588.351 454.72c-3.41016 2.65234 -6.17773 8.31055 -6.17773 12.6309c0 3.02832 1.50879 7.42773 3.36816 9.81934l19.6299 25.2695
c2.65234 3.41309 8.31152 6.18262 12.6338 6.18262c3.03125 0 7.43359 -1.51074 9.82617 -3.37207l34.6904 -26.8203l10.6592 16c5.22266 7.83887 17.1045 14.2002 26.5234 14.2002h0.0869141h405.18h0.0117188c9.45117 0 21.4082 -6.36133 26.6885 -14.2002l85.29 -128
c14.1104 -21.2998 -1.08984 -49.7998 -26.5898 -49.7998h-318.48l41.4004 -32h53.0801v-41l128 -99v140h64v-189.42zM320 64v26.8799l64 -49.4697v-73.4102c0 -17.6641 -14.3359 -32 -32 -32h-256c-17.6641 0 -32 14.3359 -32 32v256h64v-160h192z" />
<glyph glyph-name="store-slash" unicode="&#xf971;" horiz-adv-x="640"
d="M121.51 64h226.91l157.33 -128h-414.52c-16.8105 0 -30.4004 14.2998 -30.4004 32v196.8c4.23047 -1.29297 11.2109 -2.90625 15.5801 -3.59961c4.69629 -0.660156 12.3574 -1.19727 17.0996 -1.2002c7.85352 0.12793 20.3975 1.83008 28 3.7998v-99.7998z
M93.5098 192.09h-0.21875c-3.54883 0 -9.28418 0.385742 -12.8008 0.860352c-58.9404 8.46973 -87.0098 81.6094 -56.4902 135l133.51 -108.62c-16.71 -16.5205 -38.8994 -27.2402 -64 -27.2402zM602.13 -10.0898c3.24316 -2.74219 5.875 -8.41406 5.875 -12.6611
c0 -2.99414 -1.43555 -7.38379 -3.20508 -9.79883l-18.6602 -25.2598c-2.42383 -3.41309 -7.78906 -6.18359 -11.9756 -6.18359c-2.91602 0 -7.10645 1.50684 -9.35449 3.36328l-558.939 454.72c-3.24316 2.74219 -5.875 8.41406 -5.875 12.6611
c0 2.99414 1.43555 7.38379 3.20508 9.79883l18.6602 25.2598c2.42188 3.41211 7.78516 6.18164 11.9697 6.18164c2.91797 0 7.11133 -1.51074 9.36035 -3.37109l33.6895 -27.4004l9.38965 15.7803c4.74609 8.18066 16.2734 14.9014 25.7305 15h383.81
c9.46289 -0.09375 20.9941 -6.81445 25.7402 -15l61.6602 -103.6c31.9404 -53.6006 3.59961 -127.99 -56.0596 -136.4c-3.57129 -0.5 -9.39453 -0.907227 -13 -0.910156c-28.0303 0 -52.9199 13 -70.1104 33.1104c-17.1104 -20.1104 -42 -33.1104 -70.1104 -33.1104
c-7.18164 0.106445 -18.5654 1.96094 -25.4102 4.14062l137.82 -112.11v79.6797c7.59863 -2.00586 20.1426 -3.70898 28 -3.7998c4.79492 0.00585938 12.541 0.542969 17.29 1.2002c4.38281 0.625 11.3584 2.2373 15.5703 3.59961v-130.21z" />
<glyph glyph-name="toilet-paper-slash" unicode="&#xf972;" horiz-adv-x="640"
d="M64 256c0 10.8096 0.530273 21.3398 1.41992 31.6699l316 -244.25c-4.17969 -32.2002 -12.8701 -57.7197 -22.1797 -85.5498c-3.98926 -12.0723 -17.5459 -21.8701 -30.2607 -21.8701h-0.119141h-280.86c-8.78906 0.0429688 -15.9209 7.21094 -15.9209 16
c0 1.41504 0.358398 3.65527 0.800781 5c21.3701 64.1201 31.1201 85.75 31.1201 126.87v172.13zM633.82 -10.0898c3.41602 -2.65234 6.18848 -8.31445 6.18848 -12.6387c0 -3.03027 -1.50879 -7.42969 -3.36914 -9.82129l-19.6396 -25.2598
c-2.65234 -3.41699 -8.31445 -6.18945 -12.6387 -6.18945c-3.03027 0 -7.42969 1.50977 -9.82129 3.36914l-588.36 454.72c-3.41211 2.65234 -6.18262 8.3125 -6.18262 12.6338c0 3.03223 1.51172 7.43359 3.37305 9.82617l19.6299 25.2598
c2.65234 3.41309 8.31152 6.18262 12.6338 6.18262c3.03125 0 7.43359 -1.51074 9.82617 -3.37207l53.2803 -41.1504c16.6299 27.7002 37.9297 44.5303 61.2598 44.5303h284.5c-36.8701 -38.5 -60.5 -108.38 -60.5 -192v-73l50.4297 -39
c-11.4297 31.5996 -18.4297 70 -18.4297 112c0 106 43 192 96 192s96 -86 96 -192c0 -92.3203 -32.7197 -168.91 -76.1797 -187.28zM512 192c17.6201 0 32 28.6299 32 64s-14.3701 64 -32 64s-32 -28.6201 -32 -64s14.3701 -64 32 -64z" />
<glyph glyph-name="virus" unicode="&#xf974;"
d="M483.55 220.45c0.147461 0.00292969 0.356445 0.00488281 0.503906 0.00488281c15.7041 0 28.4492 -12.7461 28.4492 -28.4502s-12.7451 -28.4502 -28.4492 -28.4502c-0.147461 0 -0.386719 0.00292969 -0.53418 0.00488281h-21.5391
c-50.6807 0 -76.0703 -61.2793 -40.2305 -97.1191l15.25 -15.2402c4.15039 -4.50879 7.51855 -13.1406 7.51855 -19.2686c0 -15.7051 -12.7451 -28.4502 -28.4502 -28.4502c-6.12793 0 -14.7598 3.36816 -19.2686 7.51855l-15.2402 15.2305
c-35.8398 35.8398 -97.1094 10.4492 -97.1094 -40.2305v-21.5195c0 -15.7051 -12.7461 -28.4502 -28.4502 -28.4502s-28.4502 12.7451 -28.4502 28.4502v21.5391c0 50.6807 -61.2695 76.0703 -97.1094 40.2305l-15.2402 -15.25
c-4.50879 -4.15039 -13.1406 -7.51855 -19.2686 -7.51855c-15.7051 0 -28.4502 12.7451 -28.4502 28.4502c0 6.12793 3.36816 14.7598 7.51855 19.2686l15.2305 15.2402c35.8398 35.8398 10.4492 97.1191 -40.2305 97.1191h-21.5498
c-0.147461 -0.00195312 -0.386719 -0.00488281 -0.533203 -0.00488281c-15.7051 0 -28.4502 12.7461 -28.4502 28.4502s12.7451 28.4502 28.4502 28.4502c0.146484 0 0.385742 -0.00195312 0.533203 -0.00488281h21.5693c50.6807 0 76.0703 61.2695 40.2305 97.1094
l-15.25 15.25c-4.21094 4.52148 -7.62793 13.2051 -7.62793 19.3828c0 15.6992 12.7412 28.4404 28.4404 28.4404c6.17969 0 14.8662 -3.41992 19.3877 -7.63281l15.2402 -15.2305c35.8398 -35.8291 97.1094 -10.4492 97.1094 40.2305v21.5596
c0 15.7051 12.7461 28.4502 28.4502 28.4502s28.4502 -12.7451 28.4502 -28.4502v-21.5498c0 -50.6797 61.2695 -76.0596 97.1094 -40.2295l15.2402 15.2197c4.52148 4.21289 13.208 7.63281 19.3877 7.63281c15.6992 0 28.4404 -12.7412 28.4404 -28.4404
c0 -6.17773 -3.41699 -14.8613 -7.62793 -19.3828l-15.2305 -15.25c-35.8398 -35.8398 -10.4492 -97.1094 40.2305 -97.1094h21.5498zM224 176c26.4961 0 48 21.5039 48 48s-21.5039 48 -48 48s-48 -21.5039 -48 -48s21.5039 -48 48 -48zM304 120c13.248 0 24 10.752 24 24
s-10.752 24 -24 24s-24 -10.752 -24 -24s10.752 -24 24 -24z" />
<glyph glyph-name="virus-slash" unicode="&#xf975;" horiz-adv-x="640"
d="M114 220.44c8.37207 0.0664062 20.9922 3.61914 28.1699 7.92969l244.5 -189c-21.2197 -7.45996 -38.2197 -26.7598 -38.2197 -53.3701v-21.5195c0 -15.7051 -12.7461 -28.4502 -28.4502 -28.4502s-28.4502 12.7451 -28.4502 28.4502v21.5391
c0 50.6807 -61.2695 76.0703 -97.1094 40.2305l-15.25 -15.25c-4.66113 -5.03711 -14.0127 -9.125 -20.875 -9.125c-15.6992 0 -28.4404 12.7412 -28.4404 28.4404c0 6.8623 4.08789 16.2139 9.125 20.875l15.2305 15.25c35.8291 35.8398 10.4492 97.1191 -40.2305 97.1191
h-21.5596c-15.6992 0 -28.4404 12.7412 -28.4404 28.4404s12.7412 28.4404 28.4404 28.4404h21.5596zM633.82 -10.0898c3.41602 -2.65234 6.18848 -8.31445 6.18848 -12.6387c0 -3.03027 -1.50879 -7.42969 -3.36914 -9.82129l-19.6396 -25.2598
c-2.65234 -3.41699 -8.31445 -6.18945 -12.6387 -6.18945c-3.03027 0 -7.42969 1.50977 -9.82129 3.36914l-588.36 454.72c-3.41211 2.65234 -6.18262 8.3125 -6.18262 12.6338c0 3.03223 1.51172 7.43359 3.37305 9.82617l19.6299 25.2598
c2.65234 3.41309 8.31152 6.18262 12.6338 6.18262c3.03125 0 7.43359 -1.51074 9.82617 -3.37207l93.2598 -72.0801c0.129883 0.139648 0.150391 0.320312 0.280273 0.459961c4.5957 4.5918 13.5986 8.31934 20.0947 8.31934c6.49707 0 15.5 -3.72754 20.0957 -8.31934
l15.25 -15.2305c35.8398 -35.8398 97.1094 -10.46 97.1094 40.2305v21.5498c0 15.7051 12.7461 28.4502 28.4502 28.4502s28.4502 -12.7451 28.4502 -28.4502v-21.54c0 -50.6895 61.2695 -76.0693 97.1094 -40.2295l15.25 15.2197
c4.51367 4.17578 13.167 7.56543 19.3154 7.56543c15.6992 0 28.4404 -12.7412 28.4404 -28.4404c0 -6.14844 -3.38965 -14.8018 -7.56543 -19.3154l-15.2305 -15.29c-35.8291 -35.8398 -10.4492 -97.1191 40.2305 -97.1191h21.5596
c15.6992 0 28.4404 -12.7412 28.4404 -28.4404s-12.7412 -28.4404 -28.4404 -28.4404v0h-21.5498c-30.4795 0 -51.2197 -22.1299 -55.3896 -47.5195zM335.43 220.52c0.0898438 1.19043 0.570312 2.26074 0.570312 3.48047c0 26.4961 -21.5039 48 -48 48
c-4.39844 -0.0683594 -11.3154 -1.36328 -15.4404 -2.88965z" />
<glyph glyph-name="viruses" unicode="&#xf976;" horiz-adv-x="640"
d="M624 96c8.83203 0 16 -7.16797 16 -16s-7.16797 -16 -16 -16h-12.1201c-28.5098 0 -42.79 -34.4697 -22.6299 -54.6299l8.58008 -8.57031c2.58691 -2.58691 4.68652 -7.65625 4.68652 -11.3145c0 -8.83301 -7.16895 -16.002 -16.002 -16.002
c-3.6582 0 -8.72754 2.09961 -11.3145 4.68652l-8.57031 8.58008c-20.1602 20.1602 -54.6299 5.87988 -54.6299 -22.6299v-12.1201c0 -8.83203 -7.16797 -16 -16 -16s-16 7.16797 -16 16v12.1201c0 28.5098 -34.4697 42.79 -54.6299 22.6299l-8.57031 -8.58008
c-2.58691 -2.58691 -7.65625 -4.68652 -11.3145 -4.68652c-8.83301 0 -16.002 7.16895 -16.002 16.002c0 3.6582 2.09961 8.72754 4.68652 11.3145l8.58008 8.57031c20.1602 20.1602 5.87988 54.6299 -22.6299 54.6299h-12.1201c-8.83203 0 -16 7.16797 -16 16
s7.16797 16 16 16h12.1201c28.5098 0 42.79 34.4697 22.6299 54.6299l-8.58008 8.57031c-2.58691 2.58691 -4.68652 7.65625 -4.68652 11.3145c0 8.83301 7.16895 16.002 16.002 16.002c3.6582 0 8.72754 -2.09961 11.3145 -4.68652l8.57031 -8.58008
c20.1602 -20.1602 54.6299 -5.87988 54.6299 22.6299v12.1201c0 8.83203 7.16797 16 16 16s16 -7.16797 16 -16v-12.1201c0 -28.5098 34.4697 -42.79 54.6299 -22.6299l8.57031 8.58008c2.58691 2.58691 7.65625 4.68652 11.3145 4.68652
c8.83301 0 16.002 -7.16895 16.002 -16.002c0 -3.6582 -2.09961 -8.72754 -4.68652 -11.3145l-8.58008 -8.57031c-20.1602 -20.1602 -5.87988 -54.6299 22.6299 -54.6299h12.1201zM480 64c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32
s14.3359 -32 32 -32zM346.51 234.67c-38.0195 0 -57.0498 -45.96 -30.1699 -72.8398l11.4297 -11.4297c3.44922 -3.44922 6.24902 -10.208 6.24902 -15.085c0 -11.7764 -9.55762 -21.334 -21.334 -21.334c-4.87695 0 -11.6357 2.7998 -15.085 6.24902l-11.4297 11.4297
c-26.8398 26.8799 -72.8398 7.83008 -72.8398 -30.1699v-16.1602c0 -11.7744 -9.55566 -21.3301 -21.3301 -21.3301s-21.3301 9.55566 -21.3301 21.3301v16.1602c0 38.0195 -45.96 57.0498 -72.8398 30.1699l-11.4297 -11.4297
c-3.44922 -3.44922 -10.208 -6.24902 -15.085 -6.24902c-11.7764 0 -21.334 9.55762 -21.334 21.334c0 4.87695 2.7998 11.6357 6.24902 15.085l11.4297 11.4297c26.8799 26.8398 7.83008 72.8398 -30.1699 72.8398h-16.1602c-11.7744 0 -21.3301 9.55566 -21.3301 21.3301
s9.55566 21.3301 21.3301 21.3301h16.1602c38.0195 0 57.0498 45.96 30.1699 72.8398l-11.4297 11.4404c-3.41895 3.44336 -6.19434 10.1758 -6.19434 15.0283c0 11.7744 9.55566 21.3301 21.3301 21.3301c4.85449 0 11.5898 -2.77734 15.0342 -6.19922l11.4297 -11.4297
c26.8398 -26.8799 72.8398 -7.83008 72.8398 30.1699v16.1602c0 11.7744 9.55566 21.3301 21.3301 21.3301s21.3301 -9.55566 21.3301 -21.3301v-16.1602c0 -38.0195 45.96 -57.0498 72.8398 -30.1699l11.4297 11.4297c3.44434 3.42188 10.1797 6.19922 15.0342 6.19922
c11.7744 0 21.3301 -9.55566 21.3301 -21.3301c0 -4.85254 -2.77539 -11.585 -6.19434 -15.0283l-11.4297 -11.4404c-26.8799 -26.8398 -7.83008 -72.8398 30.1699 -72.8398h16.1602c11.7744 0 21.3301 -9.55566 21.3301 -21.3301s-9.55566 -21.3301 -21.3301 -21.3301
h-16.1602zM160 256c17.6641 0 32 14.3359 32 32s-14.3359 32 -32 32s-32 -14.3359 -32 -32s14.3359 -32 32 -32zM240 224c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16s-16 -7.16797 -16 -16s7.16797 -16 16 -16z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 829 KiB

After

Width:  |  Height:  |  Size: 876 KiB

View File

@@ -6,8 +6,8 @@
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="assets/favicon.ico">
<link rel="stylesheet" href="styles.a176d817fea8bea6cd9e.css"></head>
<link rel="stylesheet" href="styles.5de5451578cdd1ad7eb0.css"></head>
<body>
<app-root></app-root>
<script src="runtime.689ba4fd6cadb82c1ac2.js" defer></script><script src="polyfills-es5.f752a17531a45fe93c1f.js" nomodule defer></script><script src="polyfills.06ba8d1a3d9dd3a8e8b9.js" defer></script><script src="scripts.cc5d7fb76aa54d397727.js" defer></script><script src="main.09d3646b3fdc1d594bb9.js" defer></script></body>
<script src="runtime.689ba4fd6cadb82c1ac2.js" defer></script><script src="polyfills-es5.f752a17531a45fe93c1f.js" nomodule defer></script><script src="polyfills.06ba8d1a3d9dd3a8e8b9.js" defer></script><script src="scripts.5520a99f673924c17e00.js" defer></script><script src="main.e9f73c1cbb9915107acb.js" defer></script></body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More