{"version":3,"sources":["./src/app/app-discovery/app-discovery.component.html","./src/app/app-impact-filter/app-impact-filter-add/app-impact-filter-add.component.html","./src/app/app-impact-filter/app-impact-filter-allowed/app-impact-filter-allowed.component.html","./src/app/app-impact-filter/app-impact-filter-pending/app-impact-filter-pending.component.html","./src/app/app.component.html","./src/app/dnsnext/access-rule/dnsnext-access-rule.component.html","./src/app/dnsnext/dnsnext.component.html","./src/app/dnsnext/infected-domains/add-new/dnsnext-infected-domains-add-new.component.html","./src/app/dnsnext/infected-domains/all-pending/dnsnext-infected-domains-all-pending.component.html","./src/app/dnsnext/infected-domains/dnsnext-infected-domains.component.html","./src/app/dnsnext/wb-domains/add-new/dnsnext-wb-domains-add-new.component.html","./src/app/dnsnext/wb-domains/all-pending/dnsnext-wb-domains-all-pending.component.html","./src/app/dnsnext/wb-domains/dnsnext-wb-domains.component.html","./src/app/footer/footer.component.html","./src/app/global-exclusions/global-exclusions.component.html","./src/app/home/home.component.html","./src/app/impact-filter/all/impact-filter.component.html","./src/app/impact-filter/impact-filter-settings.component.html","./src/app/impact-filter/pending-requests/impact-filter-pending.component.html","./src/app/login/login.component.html","./src/app/modals/dnsnext/dnsnext-csis-customer-finder-modal.html","./src/app/modals/dnsnext/dnsnext-rule-delete-modal.html","./src/app/nav-menu/nav-menu.component.html","./src/app/shared/empty-page.component.html","./src/app/shared/filters/grid-filter.component.html","./src/app/xtp/xtp.component.html","./src/app/zero-trust/zero-trust-add/zero-trust-add.component.html","./src/app/zero-trust/zero-trust-allowed/zero-trust-allowed.component.html","./src/app/zero-trust/zero-trust-blocked/zero-trust-blocked.component.html","./src/app/zero-trust/zero-trust-pending/zero-trust-pending.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/app-discovery/app-discovery.component.scss","./src/app/app-discovery/app-discovery.component.ts","./src/app/app-discovery/enums.ts","./src/app/app-discovery/index.ts","./src/app/app-impact-filter/app-impact-filter-add/app-impact-filter-add.component.ts","./src/app/app-impact-filter/app-impact-filter-allowed/app-impact-filter-allowed.component.ts","./src/app/app-impact-filter/app-impact-filter-pending/app-impact-filter-pending.component.ts","./src/app/app-impact-filter/index.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/common/common.component.ts","./src/app/dnsnext/access-rule/dnsnext-access-rule.component.ts","./src/app/dnsnext/dnsnext.component.scss","./src/app/dnsnext/dnsnext.component.ts","./src/app/dnsnext/index.ts","./src/app/dnsnext/infected-domains/add-new/dnsnext-infected-domains-add-new.component.ts","./src/app/dnsnext/infected-domains/all-pending/dnsnext-infected-domains-all-pending.component.ts","./src/app/dnsnext/infected-domains/dnsnext-infected-domains.component.ts","./src/app/dnsnext/wb-domains/add-new/dnsnext-wb-domains-add-new.component.ts","./src/app/dnsnext/wb-domains/all-pending/dnsnext-wb-domains-all-pending.component.ts","./src/app/dnsnext/wb-domains/dnsnext-wb-domains.component.ts","./src/app/footer/footer.component.scss","./src/app/footer/footer.component.ts","./src/app/form-validators/dnsnext-form-validators.ts","./src/app/form-validators/index.ts","./src/app/global-exclusions/global-exclusions.component.scss","./src/app/global-exclusions/global-exclusions.component.ts","./src/app/helpers/auth.guard.ts","./src/app/helpers/error.interceptor.ts","./src/app/helpers/index.ts","./src/app/helpers/jwt.interceptor.ts","./src/app/home/home.component.ts","./src/app/impact-filter/all/impact-filter.component.ts","./src/app/impact-filter/impact-filter-settings.component.scss","./src/app/impact-filter/impact-filter-settings.component.ts","./src/app/impact-filter/index.ts","./src/app/impact-filter/pending-requests/impact-filter-pending.component.scss","./src/app/impact-filter/pending-requests/impact-filter-pending.component.ts","./src/app/login/index.ts","./src/app/login/login.component.scss","./src/app/login/login.component.ts","./src/app/mappers/filterMapper.ts","./src/app/modals/dnsnext/dnsnext-csis-customer-finder-modal.ts","./src/app/modals/dnsnext/dnsnext-rule-delete-modal.ts","./src/app/modals/index.ts","./src/app/modals/modal-base.component.ts","./src/app/models/app-discovery/app-discovery-model.ts","./src/app/models/app-impact-filter/app-impact-filter.ts","./src/app/models/app-impact-filter/enums.ts","./src/app/models/authentication/authentication.ts","./src/app/models/authentication/index.ts","./src/app/models/common/common.ts","./src/app/models/common/index.ts","./src/app/models/dnsnext/dnsnext-csis-infected-category.ts","./src/app/models/dnsnext/dnsnext-customer-model.ts","./src/app/models/dnsnext/dnsnext-infected-domain-info.ts","./src/app/models/dnsnext/dnsnext-new-model.ts","./src/app/models/dnsnext/dnsnext-pending-model.ts","./src/app/models/dnsnext/dnsnext-wb-domain-model.ts","./src/app/models/dnsnext/enums.ts","./src/app/models/dnsnext/index.ts","./src/app/models/global-exclusions/enums.ts","./src/app/models/global-exclusions/global-exclusion.model.ts","./src/app/models/impact-filter/enums.ts","./src/app/models/impact-filter/impact-filter-all-model.ts","./src/app/models/impact-filter/impact-filter-history-model.ts","./src/app/models/impact-filter/impact-filter-settings.ts","./src/app/models/impact-filter/index.ts","./src/app/models/tac/enums.ts","./src/app/models/tac/tac-alert-rule-action-model.ts","./src/app/models/tac/tac-alert-rule-model.ts","./src/app/models/xtp/enums.ts","./src/app/models/xtp/xtp-rule-model.ts","./src/app/models/xtp/xtp-rule-query-model.ts","./src/app/models/xtp/xtp-rule-tac-rule-upsert-model.ts","./src/app/models/xtp/xtp-rule-tag-model.ts","./src/app/models/zero-trust/enums.ts","./src/app/models/zero-trust/zero-trust-interception.ts","./src/app/models/zero-trust/zero-trust-threat-type.ts","./src/app/nav-menu/nav-menu.component.scss","./src/app/nav-menu/nav-menu.component.ts","./src/app/services/app-discovery/app-discovery.service.ts","./src/app/services/app-impact-filter/app-impact-filter.service.ts","./src/app/services/authentication/authentication.service.ts","./src/app/services/dnsnext/access-rule.service.ts","./src/app/services/dnsnext/csis-customer.service.ts","./src/app/services/dnsnext/csis-infected-domains.service.ts","./src/app/services/dnsnext/csis-wb-domains.service.ts","./src/app/services/dnsnext/dnsnext.service.ts","./src/app/services/global-exclusions/global-exclusions-custom-validation.service.ts","./src/app/services/global-exclusions/global-exclusions.service.ts","./src/app/services/impact-filter/impact-filter.service.ts","./src/app/services/index.ts","./src/app/services/xtp/xtp.service.ts","./src/app/services/zero-trust/zero-trust.service.ts","./src/app/shared/directives/hs-sort-directive.ts","./src/app/shared/empty-page.component.scss","./src/app/shared/empty-page.component.ts","./src/app/shared/filters/grid-filter.component.scss","./src/app/shared/filters/grid-filter.component.ts","./src/app/shared/index.ts","./src/app/xtp/xtp.component.css","./src/app/xtp/xtp.component.ts","./src/app/zero-trust/index.ts","./src/app/zero-trust/zero-trust-add/zero-trust-add.component.scss","./src/app/zero-trust/zero-trust-add/zero-trust-add.component.ts","./src/app/zero-trust/zero-trust-allowed/zero-trust-allowed.component.scss","./src/app/zero-trust/zero-trust-allowed/zero-trust-allowed.component.ts","./src/app/zero-trust/zero-trust-blocked/zero-trust-blocked.component.scss","./src/app/zero-trust/zero-trust-blocked/zero-trust-blocked.component.ts","./src/app/zero-trust/zero-trust-pending/zero-trust-pending.component.scss","./src/app/zero-trust/zero-trust-pending/zero-trust-pending.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["export default \"
\\r\\n
\\r\\n
\\r\\n

{{currentViewTitle}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{item.vendor}}\\r\\n \\r\\n {{riskLevelEnum[item.riskLevel]}}\\r\\n \\r\\n {{item.domains}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{modalTitle}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{key}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{message}}
\\r\\n
{{message}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Item created successfully!

\\r\\n
\\r\\n\\r\\n
\\r\\n

Please try again.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n {{item.relativePath}}\\r\\n \\r\\n {{item.processName}}\\r\\n \\r\\n {{item.publisher}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n {{item.relativePath}}\\r\\n \\r\\n {{item.processName}}\\r\\n \\r\\n {{item.publisher}}\\r\\n \\r\\n {{item.count}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Customer: {{selectedUserExternalId}}
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.subnet}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Invalid CIDR Notation.
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{internalErrorMessage}}
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

Access rule already exists.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
This ip was not found in our database.
\\r\\n\\r\\n
0 && showError == false\\\">The customer {{customerId}} has the ip in access rules.
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
Invalid format.
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{i.name}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{internalErrorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

Requests already exists.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n
\\r\\n {{item.domainName}}\\r\\n
\\r\\n
\\r\\n {{item.category}}\\r\\n \\r\\n {{item.requestedBy}}\\r\\n \\r\\n {{dnsnextRequestStatusEnum[item.requestType]}}\\r\\n \\r\\n {{item.requestedTimestamp | date:'yyyy/MM/dd HH:mm:ss'}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
{{internalErrorMessage}}
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{internalErrorMessage}}
\\r\\n\\r\\n
\\r\\n

Info:

\\r\\n
\\r\\n

Domain: {{domainInfo.domain}}

\\r\\n
\\r\\n
\\r\\n

Status: {{domainInfo.status}}

\\r\\n
\\r\\n
\\r\\n

Category: {{getCategoryById(domainInfo.category)}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

Requests already exists.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
Invalid format.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{internalErrorMessage}}
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

Domain already exists.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n
\\r\\n {{item.domainName}}\\r\\n
\\r\\n
\\r\\n {{item.customerId}}\\r\\n \\r\\n {{item.requestedBy}}\\r\\n \\r\\n {{dnsnextStatusEnum[item.type]}}\\r\\n \\r\\n {{dnsnextRequestStatusEnum[item.requestType]}}\\r\\n \\r\\n {{item.requestedTimestamp | date:'yyyy/MM/dd HH:mm:ss'}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
{{internalErrorMessage}}
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{internalErrorMessage}}
\\r\\n\\r\\n
\\r\\n
Customer: {{selectedUserExternalId}}
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.domainName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dnsnextStatusEnum[item.type]}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

A request already exists for this domain deletion.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

Request created succesfully

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n ©{{currentYear}} Heimdal Security • Vat no. 35802495 • Vester Farimagsgade 1 • 3 Sal • 1606 København V\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

Global Exclusions

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n \\r\\n {{item.id}}\\r\\n \\r\\n \\r\\n {{item.value}}\\r\\n \\r\\n {{exclusionType[item.type]}}\\r\\n \\r\\n {{item.timestamp | date:'yyyy/MM/dd HH:mm:ss'}}\\r\\n \\r\\n {{item.lastModifiedDate | date:'yyyy/MM/dd HH:mm:ss'}}\\r\\n \\r\\n {{item.commandLine}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{modalTitle}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
Value does not match the selected Type
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{key}}\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"\\r\\n\"","export default \"
\\r\\n

{{currentViewTitle}}

\\r\\n

{{currentViewDescription}}

\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\\"VirusTotal\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{item.hits}}\\r\\n \\r\\n {{impactFilterStatusEnum[item.status]}}\\r\\n \\r\\n {{feedSourceEnum[item.feedSource]}}\\r\\n \\r\\n \\r\\n \\r\\n {{i.malwareCategoryName}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Domain: {{domainHistoryModel.domainName}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Initial statusRequested statusRequested bySolved byActionTimestamp
\\r\\n {{impactFilterStatusEnum[item.initialStatus]}}\\r\\n \\r\\n {{impactFilterStatusEnum[item.requestedStatus]}}\\r\\n \\r\\n {{item.requestedBy}}\\r\\n \\r\\n {{item.solvedBy}}\\r\\n \\r\\n {{requestActionEnum[item.requestAction]}}\\r\\n \\r\\n {{item.timestamp | date:'yyyy/MM/dd HH:mm:ss'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{message}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

Domain is already in pending requests.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{i.malwareCategoryName}}\\r\\n \\r\\n \\r\\n
\\r\\n
= 0\\\">\\r\\n

Hit Count: {{displayedHitCount | number}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{i.categoryName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
{{message}}
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

Notifications

\\r\\n \\r\\n
\\r\\n
\\r\\n

Domain already exists.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n

{{currentViewTitle}}

\\r\\n

{{currentViewDescription}}

\\r\\n

{{errorMessage}}

\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.domainName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\\"VirusTotal\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{item.hits}}\\r\\n \\r\\n {{feedSourceEnum[item.feedSource]}}\\r\\n \\r\\n {{item.threatType}}\\r\\n \\r\\n {{impactFilterStatusEnum[item.initialStatus]}}\\r\\n \\r\\n {{item.requestedBy}}\\r\\n \\r\\n {{impactFilterStatusEnum[item.requestedStatus]}}\\r\\n \\r\\n {{item.requestedTimestamp | date:'yyyy/MM/dd HH:mm:ss'}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n

Login

\\r\\n
\\r\\n \\\"Heimdal\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n

CSIS Customer Finder

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
This field is mandatory.
\\r\\n
Minimum 3 characters to find.
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{item.name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n

Delete Access Rule

\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Make sure that you know what you are doing by deleting this!\\r\\n

\\r\\n
\\r\\n

Is recommended to first add new rules and after that delete existing ones.

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n

There are no results to display.

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
FILTERS
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

XTP Rules

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n \\r\\n {{item.title}}\\r\\n \\r\\n \\r\\n {{item.description}}\\r\\n \\r\\n {{item.author}}\\r\\n \\r\\n {{xtpRuleLevelEnum[item.level]}}\\r\\n \\r\\n \\r\\n {{tagWrapper.tag}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{modalTitle}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{key}}\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
This field is mandatory
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
This field is mandatory.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{i.name}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

Item created successfully!

\\r\\n
\\r\\n\\r\\n
\\r\\n

Please try again.

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n {{item.hash}}\\r\\n
\\r\\n \\r\\n \\r\\n \\\"VirusTotal\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{item.fileName}}\\r\\n \\r\\n \\r\\n \\r\\n {{i.name}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n {{item.hash}}\\r\\n
\\r\\n \\r\\n \\r\\n \\\"VirusTotal\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{item.fileName}}\\r\\n \\r\\n \\r\\n \\r\\n {{i.name}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{column.label}}\\r\\n
\\r\\n {{item.hash}}\\r\\n
\\r\\n \\r\\n \\r\\n \\\"VirusTotal\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n {{item.fileName}}\\r\\n \\r\\n \\r\\n \\r\\n {{i.name}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export default \".hs-form-group {\\n display: inline-block;\\n width: 60%;\\n margin-left: 15%;\\n margin-top: 2%; }\\n\\n.hs-btn-action {\\n width: 10rem; }\\n\\n.hs-modal {\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n width: 35%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLWRpc2NvdmVyeS9EOlxcYVxcMVxcc1xcSGVpbWRhbC5CYWNrZW5kXFxIZWltZGFsLkltcGFjdEZpbHRlclxcSGVpbWRhbC5Db250cm9sUGFuZWxcXENsaWVudEFwcC9zcmNcXGFwcFxcYXBwLWRpc2NvdmVyeVxcYXBwLWRpc2NvdmVyeS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHFCQUFvQjtFQUNwQixVQUFVO0VBQ1YsZ0JBQWU7RUFDZixjQUFhLEVBQUE7O0FBR2pCO0VBQ0ksWUFBVyxFQUFBOztBQUdmO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxRQUFRO0VBQ1Isd0NBQWdDO1VBQWhDLGdDQUFnQztFQUNoQyxVQUFTLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAtZGlzY292ZXJ5L2FwcC1kaXNjb3ZlcnkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaHMtZm9ybS1ncm91cHtcclxuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIG1hcmdpbi1sZWZ0OjE1JTtcclxuICAgIG1hcmdpbi10b3A6MiU7XHJcbn1cclxuXHJcbi5ocy1idG4tYWN0aW9ue1xyXG4gICAgd2lkdGg6MTByZW07XHJcbn1cclxuXHJcbi5ocy1tb2RhbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0b3A6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICB3aWR0aDozNSU7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AppDiscoveryService } from '../services/app-discovery/app-discovery.service';\r\nimport { AppDiscoveryRiskLevel } from './enums';\r\nimport { AppDiscoveryModel } from '../models/app-discovery/app-discovery-model';\r\nimport { BaseComponent } from '../common/common.component';\r\nimport { AuthenticationService } from '../services';\r\nimport { getFilterFromGrid } from '../mappers/filterMapper';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\nconst columns: any[] = [\r\n { value: 'applicationName', label: 'Application Name', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'vendor', label: 'Vendor', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'riskLevel', label: 'Risk Level', filter: false, sort: false, width: { 'width': '20%' } },\r\n { value: 'domains', label: 'Domains', filter: false, sort: false, width: { 'width': '25%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-discovery',\r\n templateUrl: './app-discovery.component.html',\r\n styleUrls: ['./app-discovery.component.scss']\r\n})\r\n\r\nexport class AppDiscoveryComponent extends BaseComponent implements OnInit {\r\n formGroup: FormGroup;\r\n riskLevelEnum = AppDiscoveryRiskLevel;\r\n model: AppDiscoveryModel = new AppDiscoveryModel();\r\n currentViewTitle: string = 'Application discovery';\r\n message: string = \"\";\r\n showError = false;\r\n modalTitle: string = \"Create application\";\r\n onUpdate: boolean = false;\r\n\r\n constructor(public service: AppDiscoveryService, public authService: AuthenticationService,\r\n private formBuilder: FormBuilder, private modalService: NgbModal) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit() {\r\n this.formGroup = this.formBuilder.group({\r\n applicationName: ['', Validators.required],\r\n domains: ['', Validators.required],\r\n vendor: ['', Validators.required],\r\n riskLevel: [this.riskLevelEnum[AppDiscoveryRiskLevel.None], Validators.required]\r\n });\r\n }\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n refreshRows() {\r\n this.grid.loaded = false;\r\n this.message = '';\r\n var params = getFilterFromGrid(this.grid);\r\n\r\n this.service.get(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n });\r\n\r\n this.modalTitle = \"Create application\";\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n toggleOpenModal(application: AppDiscoveryModel) {\r\n if (application != null) {\r\n this.formGroup.setValue({\r\n applicationName: application.applicationName,\r\n vendor: application.vendor,\r\n domains: application.domains,\r\n riskLevel: this.riskLevelEnum[application.riskLevel]\r\n });\r\n this.modalTitle = application.applicationName;\r\n this.onUpdate = true;\r\n } else {\r\n this.formGroup.reset();\r\n this.onUpdate = false;\r\n }\r\n }\r\n\r\n save() {\r\n this.message = \"\";\r\n this.showError = false;\r\n\r\n var applicationName = this.formControls.applicationName.value.trim() ?? \"\";\r\n var vendor = this.formControls.vendor.value.trim() ?? \"\";\r\n var domains = this.formControls.domains.value.toString() ?? \"\";\r\n var riskLevel = this.formControls.riskLevel.value ?? AppDiscoveryRiskLevel.None;\r\n\r\n if (this.formGroup.valid == false || isNullOrUndefined(applicationName) ||\r\n isNullOrUndefined(vendor) || isNullOrUndefined(domains)) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n var currentApplication = this.grid.data.filter(x => x.applicationName == applicationName)[0];\r\n\r\n if (!isNullOrUndefined(currentApplication) && this.onUpdate == false) {\r\n this.message = \"The application already exists.\";\r\n this.showError = true;\r\n return;\r\n }\r\n\r\n if (isNullOrUndefined(currentApplication)) {\r\n let model: AppDiscoveryModel = new AppDiscoveryModel();\r\n model.applicationName = applicationName;\r\n model.vendor = vendor;\r\n model.domains = domains;\r\n model.riskLevel = riskLevel;\r\n\r\n this.createApplication(model);\r\n } else {\r\n currentApplication.applicationName = applicationName;\r\n currentApplication.vendor = vendor;\r\n currentApplication.domains = domains;\r\n currentApplication.riskLevel = riskLevel;\r\n\r\n this.updateApplication(currentApplication);\r\n }\r\n }\r\n\r\n createApplication(application: AppDiscoveryModel) {\r\n this.service.create(application).then(result => {\r\n if (result == true) {\r\n this.formGroup.reset();\r\n this.message = \"Application created successfully.\";\r\n } else {\r\n this.message = \"An error occurred. Please contact try again.\";\r\n this.showError = true;\r\n }\r\n }).catch(error => {\r\n this.message = error;\r\n this.showError = true;\r\n });\r\n }\r\n\r\n updateApplication(currentApplication: AppDiscoveryModel) {\r\n this.service.update(currentApplication).then(result => {\r\n if (result == true) {\r\n this.formGroup.reset();\r\n this.message = \"Application updated successfully.\";\r\n } else {\r\n this.message = \"An error occurred. Please contact try again.\";\r\n this.showError = true;\r\n }\r\n });\r\n }\r\n\r\n async delete(application: AppDiscoveryModel) {\r\n if (application != null) {\r\n await this.service.delete(application.id).then(\r\n () => {\r\n window.location.reload();\r\n });\r\n }\r\n }\r\n\r\n riskLevelkeys(): Array {\r\n var keys = Object.keys(AppDiscoveryRiskLevel);\r\n return keys.slice(keys.length / 2, keys.length - 1);\r\n }\r\n}\r\n","export enum AppDiscoveryRiskLevel {\r\n None = 0,\r\n Low = 1,\r\n Medium = 2,\r\n High = 3,\r\n Critical = 4\r\n}\r\n","export * from './app-discovery.component';\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AppImpactFilterService } from '../../services/app-impact-filter/app-impact-filter.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppImpactFilterItem } from '../../models/app-impact-filter/app-impact-filter';\r\nimport { AppImpactFilterStatus } from '../../models/app-impact-filter/enums';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\n@Component({\r\n selector: 'app-app-impact-filter-add',\r\n templateUrl: './app-impact-filter-add.component.html'\r\n})\r\nexport class AppImpactFilterAddComponent implements OnInit {\r\n formGroup: FormGroup;\r\n showError = false;\r\n showConfirmation = false;\r\n\r\n constructor(public service: AppImpactFilterService, private formBuilder: FormBuilder, private modalService: NgbModal) { }\r\n\r\n ngOnInit(): void {\r\n this.formGroup = this.formBuilder.group({\r\n relativePath: ['', Validators.required],\r\n processName: [''],\r\n fullPath: [''],\r\n publisher: [''],\r\n md5: ['']\r\n });\r\n }\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n createEntry() {\r\n this.showError = false;\r\n\r\n let model: AppImpactFilterItem = new AppImpactFilterItem();\r\n\r\n model.md5 = this.formControls.md5.value ?? \"\";\r\n model.processName = this.formControls.processName.value ?? \"\";\r\n model.relativePath = this.formControls.relativePath.value ?? \"\";\r\n model.fullPath = this.formControls.fullPath.value ?? \"\";\r\n model.publisher = this.formControls.publisher.value ?? \"\";\r\n model.status = AppImpactFilterStatus.Allow;\r\n\r\n if (isNullOrUndefined(model.relativePath) || model.relativePath == '') {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.service.addAllowedItem(model).then(result => {\r\n this.formGroup.reset();\r\n this.showConfirmation = true;\r\n\r\n setTimeout(() => {\r\n this.showConfirmation = false;\r\n }, 3000);\r\n }).catch(error => {\r\n this.showError = true;\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppImpactFilterService } from '../../services/app-impact-filter/app-impact-filter.service';\r\nimport { AuthenticationService } from '../../services';\r\nimport { AppImpactFilterItem } from '../../models/app-impact-filter/app-impact-filter';\r\nimport { BaseComponent } from '../../common/common.component';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\nimport { AppImpactFilterStatus } from '../../models/app-impact-filter/enums';\r\n\r\nconst columns: any[] = [\r\n { value: 'relativePath', label: 'Relative Path', filter: true, sort: false, width: { 'width': '40%' } },\r\n { value: 'processName', label: 'Process name', filter: true, sort: false, width: { 'width': '25%' } },\r\n { value: 'publisher', label: 'Publisher', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-app-impact-filter-allowed',\r\n templateUrl: './app-impact-filter-allowed.component.html' \r\n})\r\nexport class AppImpactFilterAllowedComponent extends BaseComponent implements OnInit {\r\n\r\n\r\n constructor(public service: AppImpactFilterService, public authService: AuthenticationService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n\r\n this.service.getAllowedItems(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });;\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setLoadingAndRefresh() {\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onRemoveAction(item) {\r\n\r\n item.status = AppImpactFilterStatus.Pending;\r\n\r\n this.service.updateItem(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppImpactFilterService } from '../../services/app-impact-filter/app-impact-filter.service';\r\nimport { AuthenticationService } from '../../services';\r\nimport { AppImpactFilterItem } from '../../models/app-impact-filter/app-impact-filter';\r\nimport { BaseComponent } from '../../common/common.component';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\nimport { AppImpactFilterStatus } from '../../models/app-impact-filter/enums';\r\n\r\nconst columns: any[] = [\r\n { value: 'relativePath', label: 'Relative Path', filter: true, sort: false, width: { 'width': '35%' } },\r\n { value: 'processName', label: 'Process name', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'publisher', label: 'Publisher', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'count', label: 'Count', filter: true, sort: false, width: { 'width': '10%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-app-impact-filter-pending',\r\n templateUrl: './app-impact-filter-pending.component.html'\r\n})\r\nexport class AppImpactFilterPendingComponent extends BaseComponent implements OnInit {\r\n\r\n constructor(public service: AppImpactFilterService, public authService: AuthenticationService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n\r\n this.service.getPendingItems(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setLoadingAndRefresh() {\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onApproveAction(item) {\r\n\r\n item.status = AppImpactFilterStatus.Allow;\r\n\r\n this.service.updateItem(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n}\r\n","export * from './app-impact-filter-pending/app-impact-filter-pending.component';\r\nexport * from './app-impact-filter-allowed/app-impact-filter-allowed.component';\r\nexport * from './app-impact-filter-add/app-impact-filter-add.component';\r\n","export default \"@media (max-width: 767px) {\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\n .body-content {\\n padding-top: 50px; } }\\n\\n.hs-container {\\n padding-left: 10%;\\n padding-right: 10%;\\n padding-bottom: 2.5rem; }\\n\\n#hs-page-container {\\n position: relative;\\n min-height: 90vh; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRDpcXGFcXDFcXHNcXEhlaW1kYWwuQmFja2VuZFxcSGVpbWRhbC5JbXBhY3RGaWx0ZXJcXEhlaW1kYWwuQ29udHJvbFBhbmVsXFxDbGllbnRBcHAvc3JjXFxhcHBcXGFwcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDZGQUFBO0VBQ0E7SUFDRSxpQkFBaUIsRUFBQSxFQUNsQjs7QUFHSDtFQUNFLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgLyogT24gc21hbGwgc2NyZWVucywgdGhlIG5hdiBtZW51IHNwYW5zIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBzY3JlZW4uIExlYXZlIGEgc3BhY2UgZm9yIGl0LiAqL1xyXG4gIC5ib2R5LWNvbnRlbnQge1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uaHMtY29udGFpbmVyIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEwJTtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMCU7XHJcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcclxufVxyXG5cclxuI2hzLXBhZ2UtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWluLWhlaWdodDogOTB2aDtcclxufVxyXG4iXX0= */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'app'; \r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppRoutingModule } from './app.routing';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\n\r\nimport { ImpactFilterService } from './services';\r\n\r\nimport { LoginComponent } from './login';\r\nimport { GridFilterComponent, NgbdSortableHeader, EmptyPageComponent } from './shared';\r\nimport { ImpactFilterPendingComponent, ImpactFilterComponent, ImpactFilterSettingsComponent } from './impact-filter';\r\nimport {\r\n DnsNextAccessRuleComponent,\r\n DnsNextComponent,\r\n DnsNextInfectedDomainsAddNewComponent,\r\n DnsNextInfectedDomainsAllPendingComponent,\r\n DnsNextInfectedDomainsComponent,\r\n DnsNextWBDomainsAddNewComponent,\r\n DnsNextWBDomainsAllPendingComponent,\r\n DnsNextWBDomainsComponent\r\n} from './dnsnext';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { JwtInterceptor, ErrorInterceptor } from './helpers';\r\nimport { BaseComponent } from './common/common.component';\r\nimport { ModalBaseComponent, DnsNextDeleteRuleModal, DnsNextCsisCustomerFinderModal } from './modals';\r\nimport { ZeroTrustPendingComponent, ZeroTrustAllowedComponent, ZeroTrustBlockedComponent, ZeroTrustAddComponent } from './zero-trust';\r\nimport { AppDiscoveryComponent } from './app-discovery';\r\nimport { XtpComponent } from './xtp/xtp.component';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { GlobalExclusionsComponent } from './global-exclusions/global-exclusions.component';\r\nimport { AppImpactFilterPendingComponent, AppImpactFilterAllowedComponent, AppImpactFilterAddComponent } from './app-impact-filter';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n FooterComponent,\r\n HomeComponent,\r\n LoginComponent,\r\n ImpactFilterComponent,\r\n ImpactFilterPendingComponent,\r\n ImpactFilterSettingsComponent,\r\n DnsNextAccessRuleComponent,\r\n DnsNextWBDomainsComponent,\r\n DnsNextWBDomainsAddNewComponent,\r\n DnsNextWBDomainsAllPendingComponent,\r\n DnsNextInfectedDomainsComponent,\r\n DnsNextInfectedDomainsAddNewComponent,\r\n DnsNextInfectedDomainsAllPendingComponent,\r\n NgbdSortableHeader,\r\n GridFilterComponent,\r\n EmptyPageComponent,\r\n BaseComponent,\r\n DnsNextDeleteRuleModal,\r\n DnsNextCsisCustomerFinderModal,\r\n ModalBaseComponent,\r\n ZeroTrustPendingComponent,\r\n ZeroTrustAllowedComponent,\r\n ZeroTrustBlockedComponent,\r\n ZeroTrustAddComponent,\r\n AppDiscoveryComponent,\r\n DnsNextComponent,\r\n XtpComponent,\r\n GlobalExclusionsComponent,\r\n AppImpactFilterPendingComponent,\r\n AppImpactFilterAddComponent,\r\n AppImpactFilterAllowedComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n FormsModule,\r\n AppRoutingModule,\r\n NgxPaginationModule,\r\n NgbModule,\r\n NgSelectModule,\r\n AgGridModule.withComponents([]),\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n MatTabsModule,\r\n ToastrModule.forRoot({\r\n positionClass: 'toast-top-center',\r\n timeOut: 5000 // 5 seconds\r\n })\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n ImpactFilterService\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [DnsNextDeleteRuleModal, DnsNextCsisCustomerFinderModal]\r\n})\r\nexport class AppModule { }\r\n","import { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoginComponent } from './login';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AuthGuard } from './helpers';\r\nimport { ImpactFilterPendingComponent, ImpactFilterComponent, ImpactFilterSettingsComponent } from './impact-filter';\r\nimport { DnsNextAccessRuleComponent, DnsNextComponent, DnsNextInfectedDomainsAddNewComponent, DnsNextInfectedDomainsAllPendingComponent, DnsNextInfectedDomainsComponent, DnsNextWBDomainsAddNewComponent, DnsNextWBDomainsAllPendingComponent, DnsNextWBDomainsComponent } from './dnsnext';\r\nimport { ZeroTrustPendingComponent, ZeroTrustAllowedComponent, ZeroTrustBlockedComponent, ZeroTrustAddComponent } from './zero-trust';\r\nimport { AppDiscoveryComponent } from './app-discovery';\r\nimport { XtpComponent } from './xtp/xtp.component';\r\nimport { GlobalExclusionsComponent } from './global-exclusions/global-exclusions.component';\r\nimport { AppImpactFilterPendingComponent, AppImpactFilterAllowedComponent, AppImpactFilterAddComponent } from './app-impact-filter';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: LoginComponent },\r\n { path: 'home', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'impact-filter', component: ImpactFilterComponent, canActivate: [AuthGuard]},\r\n { path: 'impact-filter-pending', component: ImpactFilterPendingComponent, canActivate: [AuthGuard]},\r\n { path: 'impact-filter-settings', component: ImpactFilterSettingsComponent, canActivate: [AuthGuard]},\r\n { path: 'dnsnext', component: DnsNextComponent, canActivate: [AuthGuard]},\r\n { path: 'dnsnext-access-rule', component: DnsNextAccessRuleComponent, canActivate: [AuthGuard]},\r\n { path: 'dnsnext-wb-domains', component: DnsNextWBDomainsComponent, canActivate: [AuthGuard]},\r\n { path: 'dnsnext-wb-domains-add-new', component: DnsNextWBDomainsAddNewComponent, canActivate: [AuthGuard]},\r\n { path: 'dnsnext-wb-domains-all-pending', component: DnsNextWBDomainsAllPendingComponent, canActivate: [AuthGuard] },\r\n { path: 'dnsnext-infected-domains', component: DnsNextInfectedDomainsComponent, canActivate: [AuthGuard] },\r\n { path: 'dnsnext-infected-domains-add-new', component: DnsNextInfectedDomainsAddNewComponent, canActivate: [AuthGuard] },\r\n { path: 'dnsnext-infected-domains-all-pending', component: DnsNextInfectedDomainsAllPendingComponent, canActivate: [AuthGuard] },\r\n { path: 'zero-trust-pending', component: ZeroTrustPendingComponent, canActivate: [AuthGuard] },\r\n { path: 'zero-trust-allowed', component: ZeroTrustAllowedComponent, canActivate: [AuthGuard] },\r\n { path: 'zero-trust-blocked', component: ZeroTrustBlockedComponent, canActivate: [AuthGuard] },\r\n { path: 'zero-trust-add', component: ZeroTrustAddComponent, canActivate: [AuthGuard] },\r\n { path: 'app-discovery', component: AppDiscoveryComponent, canActivate: [AuthGuard] },\r\n { path: 'xtp', component: XtpComponent, canActivate: [AuthGuard] },\r\n { path: 'global-exclusions', component: GlobalExclusionsComponent, canActivate: [AuthGuard] },\r\n { path: 'app-impact-filter-pending', component: AppImpactFilterPendingComponent, canActivate: [AuthGuard] },\r\n { path: 'app-impact-filter-allowed', component: AppImpactFilterAllowedComponent, canActivate: [AuthGuard] },\r\n { path: 'app-impact-filter-add', component: AppImpactFilterAddComponent, canActivate: [AuthGuard] },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AppRoutingModule { }\r\n","import { ViewChildren, QueryList, Output, EventEmitter, Component } from '@angular/core';\r\nimport { HsGrid, Pagination, FilterEntities, OrderType } from '../models/common';\r\nimport { User } from '../models/authentication';\r\nimport { NgbdSortableHeader, SortEvent } from '../shared';\r\nimport { AuthenticationService } from '../services';\r\n\r\n@Component({\r\n selector: 'app-base'\r\n})\r\n\r\nexport class BaseComponent {\r\n grid: HsGrid;\r\n user: User;\r\n message: string = '';\r\n\r\n @ViewChildren(NgbdSortableHeader) headers: QueryList;\r\n @Output() refreshEvent = new EventEmitter();\r\n\r\n constructor(public authService: AuthenticationService, columns: any[]) {\r\n this.getCurrentUser();\r\n\r\n this.grid = new HsGrid();\r\n this.grid.columns = columns;\r\n this.grid.pagination = new Pagination();\r\n this.grid.filter = new FilterEntities();\r\n }\r\n\r\n onPageChanged(pageNumber) {\r\n this.grid.pagination.currentPage = pageNumber;\r\n }\r\n\r\n onSortChanged({ column, direction }: SortEvent) {\r\n this.headers.forEach(header => {\r\n if (header.sortable != column) {\r\n header.direction = \"\";\r\n }\r\n });\r\n var dir = OrderType[direction];\r\n if (direction == '') {\r\n dir = OrderType.none;\r\n }\r\n\r\n this.grid.filter.orderByColumn = column;\r\n this.grid.filter.orderType = dir;\r\n this.grid.pagination = new Pagination();\r\n }\r\n\r\n onTextFilterChanged({ filterByColumn, filterByValue }) {\r\n this.grid.filter.filterByColumn = filterByColumn;\r\n this.grid.filter.filterByValue = filterByValue;\r\n this.grid.pagination = new Pagination();\r\n }\r\n\r\n onRadioFilterChanged({ secondFilterByColumn, secondFilterByValue }) {\r\n this.grid.filter.secondFilterByColumn = secondFilterByColumn;\r\n this.grid.filter.secondFilterByValue = secondFilterByValue;\r\n this.grid.pagination = new Pagination();\r\n }\r\n\r\n getCurrentUser() {\r\n this.authService.currentUser.subscribe(value => this.user = value);\r\n }\r\n\r\n copy(domainName: string) {\r\n document.addEventListener('copy', (e: ClipboardEvent) => {\r\n e.clipboardData.setData('text/plain', (domainName));\r\n e.preventDefault();\r\n document.removeEventListener('copy', null);\r\n });\r\n\r\n document.execCommand('copy');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DnsNextAccessRuleCreationModel } from '../../models/dnsnext';\r\nimport { AccessRuleService, AuthenticationService, CsisCustomersService } from '../../services';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BaseComponent } from '../../common/common.component';\r\nimport { DnsNextValidators } from '../../form-validators';\r\nimport { DnsNextDeleteRuleModal } from '../../modals/dnsnext/dnsnext-rule-delete-modal'; import { isNullOrUndefined } from 'util';\r\nimport { DnsNextCsisCustomerFinderModal } from '../../modals/dnsnext/dnsnext-csis-customer-finder-modal';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\n\r\nconst columns: any[] = [\r\n { value: 'name', label: 'Name', filter: false, sort: false, width: { 'width': '40%' } },\r\n { value: 'subnet', label: 'Subnet', filter: true, sort: false, width: { 'width': '40%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '20%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'dnsnext-access-rule',\r\n templateUrl: './dnsnext-access-rule.component.html'\r\n})\r\n\r\nexport class DnsNextAccessRuleComponent extends BaseComponent implements OnInit {\r\n customerFormGroup: FormGroup;\r\n ruleFormGroup: FormGroup;\r\n selectedUserExternalId: string;\r\n ruleModel: DnsNextAccessRuleCreationModel = new DnsNextAccessRuleCreationModel();\r\n selectedRuleId: number;\r\n showError: boolean = false;\r\n showInternalError: boolean = false;\r\n internalErrorMessage: string = '';\r\n\r\n constructor(\r\n public rulesService: AccessRuleService,\r\n public customerService: CsisCustomersService,\r\n public authService: AuthenticationService,\r\n private formBuilder: FormBuilder,\r\n private modalService: NgbModal) {\r\n super(authService, columns);\r\n\r\n this.selectedUserExternalId = null;\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit() {\r\n this.customerFormGroup = this.formBuilder.group({\r\n customerName: ['', Validators.required],\r\n });\r\n\r\n this.ruleFormGroup = this.formBuilder.group({\r\n ruleName: ['', Validators.required],\r\n ruleSubnet: ['', [Validators.required, DnsNextValidators.cidrFormat]],\r\n external: [true]\r\n });\r\n\r\n this.showError = false;\r\n this.showInternalError = false;\r\n }\r\n\r\n refreshRows() {\r\n this.grid.loaded = false;\r\n this.message = '';\r\n\r\n let _this = this;\r\n if (isNullOrUndefined(this.selectedUserExternalId) === false) {\r\n var params = getFilterFromGrid(this.grid);\r\n this.rulesService.getRules(this.selectedUserExternalId, params)\r\n .then(function (result) {\r\n _this.grid.data = result;\r\n _this.grid.pagination.totalItems = result.length;\r\n _this.grid.loaded = true;\r\n }).catch(function (error) {\r\n _this.showInternalError = true;\r\n _this.internalErrorMessage = error.message;\r\n _this.selectedUserExternalId = null;\r\n });\r\n }\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n get customerFormControls() { return this.customerFormGroup.controls; }\r\n get ruleFormControls() { return this.ruleFormGroup.controls; }\r\n\r\n onDeleteAction(item) {\r\n const modalRef = this.modalService.open(DnsNextDeleteRuleModal);\r\n\r\n let _this = this;\r\n modalRef.componentInstance.item = item;\r\n modalRef.componentInstance.externalId = this.selectedUserExternalId;\r\n modalRef.componentInstance.onCloseOrDismissEvent.subscribe(() => {\r\n _this.refreshRows();\r\n })\r\n }\r\n\r\n onFindAction() {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n\r\n const modalRef = this.modalService.open(DnsNextCsisCustomerFinderModal);\r\n\r\n let _this = this;\r\n modalRef.componentInstance.onCloseOrDismissEvent.subscribe((callbackData) => {\r\n if (callbackData == null) {\r\n return;\r\n }\r\n\r\n _this.selectedUserExternalId = callbackData;\r\n _this.customerFormControls.customerName.setValue(callbackData);\r\n _this.refreshRows();\r\n })\r\n }\r\n\r\n onSearchAction() {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n\r\n if (this.customerFormControls.customerName.errors !== null) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n let _this = this;\r\n this.customerService.getCustomer(this.customerFormControls.customerName.value)\r\n .then(function (result) {\r\n _this.selectedUserExternalId = result;\r\n _this.refreshRows();\r\n })\r\n .catch(function (error) {\r\n _this.showInternalError = true;\r\n _this.internalErrorMessage = error.message;\r\n _this.selectedUserExternalId = null;\r\n });\r\n }\r\n\r\n onAddAction(content) {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n\r\n if (this.ruleFormControls.ruleName.errors !== null || this.ruleFormControls.ruleSubnet.errors !== null || isNullOrUndefined(this.selectedUserExternalId)) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.ruleModel.name = this.ruleFormControls.ruleName.value;\r\n this.ruleModel.subnet = this.ruleFormControls.ruleSubnet.value;\r\n this.ruleModel.external = this.ruleFormControls.external.value;\r\n\r\n let _this = this;\r\n this.rulesService.exists(this.selectedUserExternalId, this.ruleModel)\r\n .then(function (existResult) {\r\n if (existResult === true) {\r\n _this.modalService.open(content);\r\n } else {\r\n _this.rulesService.createAccessRule(_this.selectedUserExternalId, _this.ruleModel)\r\n .then(function () {\r\n _this.refreshRows();\r\n _this.ruleFormGroup.reset({ external: true });\r\n })\r\n .catch(function (createPromiseError) {\r\n _this.showInternalError = true;\r\n _this.internalErrorMessage = createPromiseError.message;\r\n });\r\n }\r\n }).catch(function (existError) {\r\n _this.showInternalError = true;\r\n _this.internalErrorMessage = existError.message;\r\n _this.selectedUserExternalId = null;\r\n });\r\n }\r\n}\r\n","export default \".hs-form-group {\\n display: inline-block;\\n width: 60%;\\n margin-left: 15%;\\n margin-top: 2%; }\\n\\n.hs-btn-action {\\n width: 20%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZG5zbmV4dC9EOlxcYVxcMVxcc1xcSGVpbWRhbC5CYWNrZW5kXFxIZWltZGFsLkltcGFjdEZpbHRlclxcSGVpbWRhbC5Db250cm9sUGFuZWxcXENsaWVudEFwcC9zcmNcXGFwcFxcZG5zbmV4dFxcZG5zbmV4dC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHFCQUFvQjtFQUNwQixVQUFVO0VBQ1YsZ0JBQWU7RUFDZixjQUFhLEVBQUE7O0FBRWpCO0VBQ0ksVUFBUyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvZG5zbmV4dC9kbnNuZXh0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhzLWZvcm0tZ3JvdXB7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBtYXJnaW4tbGVmdDoxNSU7XHJcbiAgICBtYXJnaW4tdG9wOjIlO1xyXG59XHJcbi5ocy1idG4tYWN0aW9ue1xyXG4gICAgd2lkdGg6MjAlO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { DnsNextService } from '../services';\r\n\r\n@Component({\r\n selector: 'app-dnsnext',\r\n templateUrl: './dnsnext.component.html',\r\n styleUrls: ['./dnsnext.component.scss']\r\n})\r\n\r\nexport class DnsNextComponent implements OnInit {\r\n formGroup: FormGroup;\r\n showError = false;\r\n customerId = 0;\r\n\r\n constructor(public service: DnsNextService, private formBuilder: FormBuilder) {\r\n }\r\n\r\n ngOnInit() {\r\n this.formGroup = this.formBuilder.group({\r\n ip: ['', Validators.required]\r\n });\r\n }\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n getCustomerIdByIp() {\r\n this.showError = false;\r\n var ip = this.formControls.ip.value;\r\n\r\n if (isNullOrUndefined(ip) || ip.trim() == '') {\r\n this.showError = true;\r\n return;\r\n }\r\n\r\n this.service.getCustomerIdByIp(ip).then(result => {\r\n if (isNullOrUndefined(result) ) {\r\n this.customerId = -1;\r\n } else {\r\n this.customerId = Number(result);\r\n }\r\n });\r\n }\r\n}\r\n","export * from './access-rule/dnsnext-access-rule.component';\r\nexport * from './wb-domains/dnsnext-wb-domains.component';\r\nexport * from './wb-domains/add-new/dnsnext-wb-domains-add-new.component';\r\nexport * from './wb-domains/all-pending/dnsnext-wb-domains-all-pending.component';\r\nexport * from './infected-domains/dnsnext-infected-domains.component';\r\nexport * from './infected-domains/add-new/dnsnext-infected-domains-add-new.component';\r\nexport * from './infected-domains/all-pending/dnsnext-infected-domains-all-pending.component';\r\nexport * from './dnsnext.component';\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { DnsNextValidators } from \"../../../form-validators\";\r\nimport { DnsNextCsisInfectedCategory, DnsNextInfectedDomainRequestType, DnsnextInfectedDomainsPendingModel, DnsNextWBDomainRequestType } from \"../../../models/dnsnext\";\r\nimport { ImpactFilterInfectedCategoryModel } from \"../../../models/impact-filter\";\r\nimport { CsisInfectedDomainsService, ImpactFilterService } from \"../../../services\";\r\n\r\n@Component({\r\n selector: 'dnsnext-infected-domains-add-new',\r\n templateUrl: './dnsnext-infected-domains-add-new.component.html'\r\n})\r\n\r\nexport class DnsNextInfectedDomainsAddNewComponent implements OnInit {\r\n csisInfectedCategories: DnsNextCsisInfectedCategory[]\r\n dnsnextStatusEnum = DnsNextInfectedDomainRequestType;\r\n infectedCategories: ImpactFilterInfectedCategoryModel[];\r\n formGroup: FormGroup;\r\n showError: boolean = false;\r\n showInternalError: boolean = false;\r\n internalErrorMessage: string = '';\r\n pendingModel: DnsnextInfectedDomainsPendingModel;\r\n\r\n constructor(\r\n private impactFilterservice: ImpactFilterService,\r\n private formBuilder: FormBuilder,\r\n private modalService: NgbModal,\r\n private infectedDomainsService: CsisInfectedDomainsService\r\n ) {\r\n this.getCsisInfectedCategories();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formGroup = this.formBuilder.group({\r\n domain: ['', [Validators.required, DnsNextValidators.domainFormat]],\r\n category: [],\r\n });\r\n }\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n getCsisInfectedCategories() {\r\n this.infectedDomainsService.getInfectedCategories().then(result => {\r\n this.csisInfectedCategories = result;\r\n }).catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n\r\n getCategoryById(id: number): string {\r\n var category = this.csisInfectedCategories.filter(item => item.id == id)[0];\r\n\r\n if (category == null) {\r\n return \"UNKNOWN\";\r\n }\r\n\r\n return category.name;\r\n }\r\n\r\n createRequestAction(content, type: DnsNextInfectedDomainRequestType) {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n this.pendingModel = new DnsnextInfectedDomainsPendingModel(type);\r\n\r\n if (this.formControls.domain.errors !== null || this.formControls.category.errors !== null) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.pendingModel.domainName = this.formControls.domain.value;\r\n this.pendingModel.category = this.formControls.category.value;\r\n this.pendingModel.source = \"HeimdalControlPanel\"\r\n\r\n this.sendPendingRequest(content);\r\n }\r\n\r\n sendPendingRequest(content) {\r\n let _this = this;\r\n this.infectedDomainsService.requestExists(this.pendingModel.domainName)\r\n .then(function (existResult) {\r\n if (existResult == true) {\r\n _this.modalService.open(content)\r\n } else {\r\n _this.infectedDomainsService.createRequest(_this.pendingModel).catch(function (error) {\r\n _this.showInternalError = true;\r\n _this.internalErrorMessage = error.message;\r\n });\r\n _this.formGroup.reset();\r\n }\r\n }).catch(function (error) {\r\n _this.showInternalError = true;\r\n _this.internalErrorMessage = error.message;\r\n })\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../common/common.component\";\r\nimport { getFilterFromGrid } from \"../../../mappers/filterMapper\";\r\nimport { DnsNextCsisInfectedCategory, DnsNextInfectedDomainRequestType, DnsnextInfectedDomainsPendingModel } from \"../../../models/dnsnext\";\r\nimport { AuthenticationService, CsisInfectedDomainsService } from \"../../../services\";\r\n\r\nconst columns: any[] = [\r\n { value: 'domainName', label: 'Domain', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'category', label: 'Category', filter: false, sort: false, width: { 'width': '20%' } },\r\n { value: 'requestedBy', label: 'Requested by', filter: false, sort: false, width: { 'width': '15%' } },\r\n { value: 'requestType', label: 'Request Type', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'requestedTimestamp', label: 'Requested timestamp', filter: false, sort: false, width: { 'width': '20%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'dnsnext-infected-domains-all-pending',\r\n templateUrl: './dnsnext-infected-domains-all-pending.component.html'\r\n})\r\n\r\nexport class DnsNextInfectedDomainsAllPendingComponent extends BaseComponent {\r\n csisInfectedCategories: DnsNextCsisInfectedCategory[]\r\n dnsnextRequestStatusEnum = DnsNextInfectedDomainRequestType;\r\n showInternalError: boolean = false;\r\n internalErrorMessage: string = '';\r\n\r\n constructor(\r\n public authService: AuthenticationService,\r\n private infectedDomainsService: CsisInfectedDomainsService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n this.getCsisInfectedCategories();\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n this.showInternalError = false;\r\n\r\n this.infectedDomainsService.getPendingDomains(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n }).catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n\r\n getCsisInfectedCategories() {\r\n this.infectedDomainsService.getInfectedCategories().then(result => {\r\n this.csisInfectedCategories = result;\r\n }).catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n\r\n getCategoryById(id: number): string {\r\n var category = this.csisInfectedCategories.filter(item => item.id == id)[0];\r\n\r\n if (category == null) {\r\n return \"UNKNOWN\";\r\n }\r\n\r\n return category.name;\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n resolveAction(item: DnsnextInfectedDomainsPendingModel, accepted: boolean) {\r\n this.showInternalError = false;\r\n\r\n this.infectedDomainsService.resolveRequest(item.id, accepted)\r\n .then(() => {\r\n this.refreshRows();\r\n })\r\n .catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n\r\n canDoAction(item) {\r\n if (this.user.username != item.requestedBy) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { isNullOrUndefined } from \"util\";\r\nimport { DnsNextValidators } from \"../../form-validators\";\r\nimport { DnsNextCsisInfectedCategory, DnsNextInfectedDomainInfo, DnsNextInfectedDomainRequestType, DnsnextInfectedDomainsPendingModel } from \"../../models/dnsnext\";\r\nimport { CsisInfectedDomainsService } from \"../../services\";\r\n\r\n@Component({\r\n selector: 'dnsnext-infected-domains',\r\n templateUrl: './dnsnext-infected-domains.component.html'\r\n})\r\n\r\nexport class DnsNextInfectedDomainsComponent implements OnInit {\r\n csisInfectedCategories: DnsNextCsisInfectedCategory[]\r\n formGroup: FormGroup;\r\n showError: boolean = false;\r\n showInternalError: boolean = false;\r\n internalErrorMessage: string = '';\r\n domain: string;\r\n domainInfo: DnsNextInfectedDomainInfo;\r\n canUnblock: boolean = false;\r\n pendingModel: DnsnextInfectedDomainsPendingModel;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private infectedDomainsService: CsisInfectedDomainsService,\r\n private modalService: NgbModal,\r\n ) {\r\n this.getCsisInfectedCategories();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formGroup = this.formBuilder.group({\r\n domain: ['', [Validators.required, DnsNextValidators.domainFormat]],\r\n });\r\n }\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n getCsisInfectedCategories() {\r\n this.infectedDomainsService.getInfectedCategories().then(result => {\r\n this.csisInfectedCategories = result;\r\n }).catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n\r\n getCategoryById(id: number): string {\r\n var category = this.csisInfectedCategories.filter(item => item.id == id)[0];\r\n\r\n if (category == null) {\r\n return \"UNKNOWN\";\r\n }\r\n\r\n return category.name;\r\n }\r\n\r\n onFindAction() {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n this.domainInfo = null;\r\n\r\n if (this.formControls.domain.errors !== null) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.domain = this.formControls.domain.value;\r\n\r\n this.infectedDomainsService.getDomainInfo(this.domain)\r\n .then(result => {\r\n this.domainInfo = result;\r\n this.canUnblock = this.domainInfo.status == \"blocked\";\r\n })\r\n .catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n\r\n deleteDomain() {\r\n if (isNullOrUndefined(this.domainInfo) == false && isNullOrUndefined(this.domainInfo.domain) == false) {\r\n this.infectedDomainsService.unblockDomain(this.domainInfo.domain).then(() => { this.domainInfo = null; })\r\n }\r\n }\r\n\r\n createRequestAction(content) {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n this.pendingModel = new DnsnextInfectedDomainsPendingModel(DnsNextInfectedDomainRequestType.Unblock);\r\n\r\n if (this.formControls.domain.errors !== null) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.pendingModel.domainName = this.domain;\r\n this.pendingModel.category = this.getCategoryById(this.domainInfo.category);\r\n this.pendingModel.source = \"HeimdalControlPanel\";\r\n\r\n this.sendPendingRequest(content);\r\n }\r\n\r\n sendPendingRequest(content) {\r\n if (isNullOrUndefined(content) == false) {\r\n this.infectedDomainsService.requestExists(this.pendingModel.domainName)\r\n .then(existResult => {\r\n if (existResult == true) {\r\n this.modalService.open(content)\r\n } else {\r\n this.infectedDomainsService.createRequest(this.pendingModel)\r\n .then(() => {\r\n this.domainInfo = null;\r\n this.formGroup.reset();\r\n })\r\n .catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n }).catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n })\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { DnsNextCsisCustomerFinderModal } from '../../../modals/dnsnext/dnsnext-csis-customer-finder-modal';\r\nimport { DnsNextWBDomainRequestType, DnsnextWBDomainsPendingModel, DnsNextWBDomainType } from '../../../models/dnsnext';\r\nimport { CsisWBDomainsService } from '../../../services';\r\nimport { DnsNextValidators } from '../../../form-validators';\r\n\r\n@Component({\r\n selector: 'dnsnext-wb-domains-add-new',\r\n templateUrl: './dnsnext-wb-domains-add-new.component.html'\r\n})\r\n\r\nexport class DnsNextWBDomainsAddNewComponent implements OnInit {\r\n dnsnextStatusEnum = DnsNextWBDomainType;\r\n formGroup: FormGroup;\r\n showError: boolean = false;\r\n showInternalError: boolean = false;\r\n message: string = '';\r\n pendingModel: DnsnextWBDomainsPendingModel;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private modalService: NgbModal,\r\n private domainsService: CsisWBDomainsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.formGroup = this.formBuilder.group({\r\n domainName: ['', [Validators.required, DnsNextValidators.domainFormat]],\r\n customerId: ['', Validators.required]\r\n });\r\n }\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n onFindAction() {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n\r\n const modalRef = this.modalService.open(DnsNextCsisCustomerFinderModal);\r\n\r\n let _this = this;\r\n modalRef.componentInstance.onCloseOrDismissEvent.subscribe((callbackData) => {\r\n if (callbackData == null) {\r\n return;\r\n }\r\n\r\n _this.formControls.customerId.setValue(callbackData);\r\n })\r\n }\r\n\r\n createRequestAction(content, type: DnsNextWBDomainType) {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n this.pendingModel = new DnsnextWBDomainsPendingModel(DnsNextWBDomainRequestType.Create);\r\n\r\n if (this.formControls.domainName.errors !== null || this.formControls.customerId.errors !== null) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.pendingModel.domainName = this.formControls.domainName.value;\r\n this.pendingModel.customerId = this.formControls.customerId.value;\r\n\r\n this.pendingModel.type = type;\r\n\r\n this.sendPendingRequest(content);\r\n }\r\n\r\n sendPendingRequest(content) {\r\n let _this = this;\r\n this.domainsService.requestExists(this.pendingModel)\r\n .then(function (existResult) {\r\n if (existResult == true) {\r\n _this.modalService.open(content)\r\n } else {\r\n _this.domainsService.createRequest(_this.pendingModel).catch(() => { _this.showInternalError = true; });\r\n _this.formGroup.reset();\r\n }\r\n }).catch(() => {\r\n _this.showInternalError = true;\r\n })\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { BaseComponent } from \"../../../common/common.component\";\r\nimport { getFilterFromGrid } from \"../../../mappers/filterMapper\";\r\nimport { DnsNextWBDomainRequestType, DnsnextWBDomainsPendingModel, DnsNextWBDomainType } from \"../../../models/dnsnext\";\r\nimport { AuthenticationService, CsisWBDomainsService } from \"../../../services\";\r\n\r\nconst columns: any[] = [\r\n { value: 'domainName', label: 'Domain', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'customerId', label: 'Customer Id', filter: false, sort: false, width: { 'width': '20%' } },\r\n { value: 'requestedBy', label: 'Requested by', filter: false, sort: false, width: { 'width': '15%' } },\r\n { value: 'type', label: 'Domain Type', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'requestType', label: 'Request Type', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'requestedTimestamp', label: 'Requested timestamp', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'dnsnext-wb-domains-all-pending',\r\n templateUrl: './dnsnext-wb-domains-all-pending.component.html'\r\n})\r\n\r\nexport class DnsNextWBDomainsAllPendingComponent extends BaseComponent implements OnInit {\r\n dnsnextStatusEnum = DnsNextWBDomainType;\r\n dnsnextRequestStatusEnum = DnsNextWBDomainRequestType;\r\n\r\n constructor(\r\n public authService: AuthenticationService,\r\n private domainsService: CsisWBDomainsService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n this.domainsService.getPendingDomains(params).then(result => {\r\n this.grid.data = result;\r\n this.grid.pagination.totalItems = result.length;\r\n this.grid.loaded = true;\r\n });\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n resolveAction(item: DnsnextWBDomainsPendingModel, accepted: boolean) {\r\n\r\n let _this = this;\r\n this.domainsService.resolveRequest(item.id, accepted).then(() => { _this.refreshRows(); });\r\n }\r\n\r\n canDoAction(item) {\r\n if (this.user.username != item.requestedBy) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { isNullOrUndefined } from \"util\";\r\nimport { BaseComponent } from \"../../common/common.component\";\r\nimport { getFilterFromGrid } from \"../../mappers/filterMapper\";\r\nimport { DnsNextCsisCustomerFinderModal } from \"../../modals/dnsnext/dnsnext-csis-customer-finder-modal\";\r\nimport { DnsnextWBDomain, DnsNextWBDomainRequestType, DnsnextWBDomainsPendingModel, DnsNextWBDomainType } from \"../../models/dnsnext\";\r\nimport { AuthenticationService, CsisCustomersService, CsisWBDomainsService } from \"../../services\";\r\n\r\nconst columns: any[] = [\r\n { value: 'domainName', label: 'Domain', filter: true, sort: false, width: { 'width': '60%' } },\r\n { value: 'type', label: 'Type', filter: false, sort: false, width: { 'width': '20%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '20%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'dnsnext-wb-domains',\r\n templateUrl: './dnsnext-wb-domains.component.html'\r\n})\r\n\r\nexport class DnsNextWBDomainsComponent extends BaseComponent implements OnInit {\r\n dnsnextStatusEnum = DnsNextWBDomainType;\r\n customerFormGroup: FormGroup;\r\n selectedUserExternalId: string;\r\n showError: boolean = false;\r\n showInternalError: boolean = false;\r\n internalErrorMessage: string = '';\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public authService: AuthenticationService,\r\n private modalService: NgbModal,\r\n public customerService: CsisCustomersService,\r\n private domainsService: CsisWBDomainsService\r\n ) {\r\n super(authService, columns);\r\n this.selectedUserExternalId = null;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.customerFormGroup = this.formBuilder.group({\r\n customerName: ['', Validators.required],\r\n });\r\n\r\n this.showError = false;\r\n this.showInternalError = false;\r\n }\r\n\r\n refreshRows() {\r\n this.grid.loaded = false;\r\n\r\n if (isNullOrUndefined(this.selectedUserExternalId) === false) {\r\n var params = getFilterFromGrid(this.grid);\r\n\r\n if (isNullOrUndefined(this.selectedUserExternalId) == false) {\r\n this.domainsService.getCustomerDomains(this.selectedUserExternalId, params)\r\n .then(result => {\r\n this.grid.data = result;\r\n this.grid.pagination.totalItems = result.length;\r\n this.grid.loaded = true;\r\n }).catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n this.selectedUserExternalId = null;\r\n });\r\n }\r\n }\r\n }\r\n\r\n get customerFormControls() { return this.customerFormGroup.controls; }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onFindAction() {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n\r\n const modalRef = this.modalService.open(DnsNextCsisCustomerFinderModal);\r\n\r\n modalRef.componentInstance.onCloseOrDismissEvent.subscribe(callbackData => {\r\n if (callbackData == null) {\r\n return;\r\n }\r\n\r\n this.selectedUserExternalId = callbackData;\r\n this.customerFormControls.customerName.setValue(callbackData);\r\n this.refreshRows();\r\n })\r\n }\r\n\r\n onSearchAction() {\r\n this.showError = false;\r\n this.showInternalError = false;\r\n\r\n if (this.customerFormControls.customerName.errors !== null) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.customerService.getCustomer(this.customerFormControls.customerName.value)\r\n .then(result => {\r\n this.selectedUserExternalId = result;\r\n this.refreshRows();\r\n })\r\n .catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n this.selectedUserExternalId = null;\r\n });\r\n }\r\n\r\n deleteDomainAction(existingModal, confirmationModal, item: DnsnextWBDomain) {\r\n if (item == null) {\r\n return;\r\n }\r\n\r\n let pendingModel: DnsnextWBDomainsPendingModel = new DnsnextWBDomainsPendingModel(DnsNextWBDomainRequestType.Delete)\r\n\r\n pendingModel.customerId = this.selectedUserExternalId;\r\n pendingModel.csisId = item.csisId;\r\n pendingModel.domainName = item.domainName;\r\n pendingModel.type = item.type\r\n\r\n this.domainsService.requestExists(pendingModel)\r\n .then(existResult => {\r\n if (existResult == true) {\r\n this.modalService.open(existingModal);\r\n } else {\r\n this.domainsService.createRequest(pendingModel)\r\n .then(() => {\r\n this.modalService.open(confirmationModal);\r\n })\r\n .catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n this.showInternalError = true;\r\n this.internalErrorMessage = error.message;\r\n })\r\n }\r\n}\r\n","export default \".hs-footer {\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n height: 2.5rem;\\n width: 100%;\\n margin-top: 10px;\\n text-align: center; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZm9vdGVyL0Q6XFxhXFwxXFxzXFxIZWltZGFsLkJhY2tlbmRcXEhlaW1kYWwuSW1wYWN0RmlsdGVyXFxIZWltZGFsLkNvbnRyb2xQYW5lbFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxmb290ZXJcXGZvb3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsV0FBVztFQUNYLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ocy1mb290ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyLjVyZW07IFxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent {\r\n currentYear: number;\r\n\r\n constructor() {\r\n this.currentYear = (new Date()).getFullYear();\r\n }\r\n}\r\n","import { FormControl, ValidationErrors } from \"@angular/forms\";\r\nimport { isNullOrUndefined } from \"util\";\r\n\r\nexport class DnsNextValidators {\r\n private static cidrFormatRegex: RegExp = new RegExp('([1-9]|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])(\\\\.(\\\\d|[1-9]\\\\d|1\\\\d{2}|2[0-4]\\\\d|25[0-5])){3}\\\\/(2[4-9]|3[0-2])$');\r\n private static domainFormatRegex: RegExp = new RegExp('^(?:(?![×Þß÷þø])[-0-9a-zÀ-ÿ.])+\\\\.(?:[a-z])+?$');\r\n\r\n static cidrFormat(control: FormControl): ValidationErrors | null {\r\n let inputValue: string = control.value;\r\n var isValid = DnsNextValidators.cidrFormatRegex.test(inputValue);\r\n\r\n if (isValid === false) {\r\n return {\r\n invalidCidrNotation: true\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n static domainFormat(control: FormControl): ValidationErrors | null {\r\n let inputValue: string = control.value;\r\n\r\n if (isNullOrUndefined(inputValue)) {\r\n return {\r\n invalidDomainFormat: true\r\n }\r\n }\r\n\r\n var isValid = DnsNextValidators.domainFormatRegex.test(inputValue.toLowerCase());\r\n\r\n if (isValid == false) {\r\n return {\r\n invalidDomainFormat: true\r\n }\r\n }\r\n }\r\n}\r\n","export * from './dnsnext-form-validators';\r\n","export default \".hs-form-group {\\n display: inline-block;\\n width: 80%;\\n margin-left: 10%;\\n margin-right: 10%;\\n margin-top: 2%; }\\n\\n.hs-btn-action {\\n width: 10rem; }\\n\\n.badge {\\n background-color: #0b1a65;\\n color: white;\\n padding: 4px 8px;\\n text-align: center;\\n border-radius: 5px; }\\n\\n.btn-size {\\n display: inline-block;\\n width: 100%; }\\n\\n.form-control.ng-select {\\n border: none;\\n padding: 0; }\\n\\ntd {\\n vertical-align: middle; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZ2xvYmFsLWV4Y2x1c2lvbnMvRDpcXGFcXDFcXHNcXEhlaW1kYWwuQmFja2VuZFxcSGVpbWRhbC5JbXBhY3RGaWx0ZXJcXEhlaW1kYWwuQ29udHJvbFBhbmVsXFxDbGllbnRBcHAvc3JjXFxhcHBcXGdsb2JhbC1leGNsdXNpb25zXFxnbG9iYWwtZXhjbHVzaW9ucy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFxQjtFQUNyQixVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsWUFBWSxFQUFBOztBQUdkO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLHFCQUFxQjtFQUNyQixXQUFXLEVBQUE7O0FBR2I7RUFDRSxZQUFZO0VBQ1osVUFBVSxFQUFBOztBQUdaO0VBQ0Usc0JBQXNCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9nbG9iYWwtZXhjbHVzaW9ucy9nbG9iYWwtZXhjbHVzaW9ucy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ocy1mb3JtLWdyb3VwIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDgwJTtcclxuICBtYXJnaW4tbGVmdDogMTAlO1xyXG4gIG1hcmdpbi1yaWdodDogMTAlO1xyXG4gIG1hcmdpbi10b3A6IDIlO1xyXG59XHJcblxyXG4uaHMtYnRuLWFjdGlvbiB7XHJcbiAgd2lkdGg6IDEwcmVtO1xyXG59XHJcblxyXG4uYmFkZ2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwYjFhNjU7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLmJ0bi1zaXplIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mb3JtLWNvbnRyb2wubmctc2VsZWN0IHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxudGQge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../common/common.component';\r\nimport { AuthenticationService } from '../services';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { getFilterFromGrid } from '../mappers/filterMapper';\r\nimport { RadioButtonFilter } from '../models/common';\r\nimport { SortEvent } from '../shared';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { GlobalExclusion } from '../models/global-exclusions/global-exclusion.model';\r\nimport { GlobalExclusionType } from '../models/global-exclusions/enums';\r\nimport { GlobalExclusionsService } from '../services/global-exclusions/global-exclusions.service';\r\nimport { GlobalExclusionCustomValidationService } from '../services/global-exclusions/global-exclusions-custom-validation.service';\r\n\r\ndeclare var $: any;\r\n\r\nconst columns: any[] = [\r\n { value: 'Id', label: 'Id', filter: true, sort: true, width: { 'width': '10%' } },\r\n { value: 'Value', label: 'Value', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'Type', label: 'Type', filter: false, sort: true, width: { 'width': '10%' } },\r\n { value: 'Timestamp', label: 'Timestamp', filter: false, sort: true, width: { 'width': '15%' } },\r\n { value: 'LastModifiedDate', label: 'Last Modified Date', filter: false, sort: true, width: { 'width': '15%' } },\r\n { value: 'CommandLine', label: 'CommandLine', filter: true, sort: false, width: { 'width': '20%' } },\r\n { value: 'IsDeleted', label: 'Actions', filter: false, sort: true, width: { 'width': '10%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-global-exclusions',\r\n templateUrl: './global-exclusions.component.html',\r\n styleUrls: ['./global-exclusions.component.scss']\r\n})\r\n\r\nexport class GlobalExclusionsComponent extends BaseComponent implements OnInit {\r\n private selectedFilter: number = -1;\r\n private selectedExclusion: GlobalExclusion;\r\n\r\n formGroup: FormGroup;\r\n modalTitle: string = \"Create exclusion\";\r\n exclusionType = GlobalExclusionType;\r\n radioButtonFilter: RadioButtonFilter = new RadioButtonFilter();\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n constructor(\r\n public service: GlobalExclusionsService,\r\n public authService: AuthenticationService,\r\n private formBuilder: FormBuilder,\r\n private toastrService: ToastrService,\r\n private customValidator: GlobalExclusionCustomValidationService) {\r\n\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formGroup = this.formBuilder.group({\r\n value: ['', Validators.required],\r\n type: [this.exclusionType[GlobalExclusionType.All], Validators.required],\r\n commandLine: ['', Validators.nullValidator]\r\n },\r\n {\r\n validator: this.customValidator.valueValidator('type', 'value')\r\n });\r\n\r\n this.addFilters();\r\n }\r\n\r\n refreshRows(): void {\r\n this.grid.loaded = false;\r\n let filter = getFilterFromGrid(this.grid);\r\n\r\n this.service.get(filter, this.selectedFilter).then(exclusions => {\r\n this.grid.data = exclusions.items;\r\n this.grid.pagination.totalItems = exclusions.count;\r\n this.grid.loaded = true;\r\n });\r\n }\r\n\r\n onPageChange(pageNumber: number): void {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }): void {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n toggleOpenModal(exclusion: GlobalExclusion): void {\r\n this.selectedExclusion = exclusion;\r\n this.modalTitle = exclusion ? \"Update exclusion\" : \"Create exclusion\";\r\n\r\n if (exclusion) {\r\n this.formGroup.patchValue({\r\n value: exclusion.value,\r\n type: this.exclusionType[exclusion.type],\r\n commandLine: exclusion.commandLine\r\n });\r\n } else {\r\n this.formGroup.reset();\r\n }\r\n\r\n $('#exclusionModal').modal('show');\r\n }\r\n\r\n onSort(ev: SortEvent): void {\r\n this.onSortChanged(ev);\r\n this.refreshRows();\r\n }\r\n\r\n save(): void {\r\n let exclusion: GlobalExclusion = new GlobalExclusion();\r\n\r\n exclusion.value = this.formControls.value.value.trim();\r\n exclusion.type = GlobalExclusionType[this.formControls.type.value as string];\r\n exclusion.commandLine = this.formControls.commandLine.value?.trim();\r\n\r\n if (this.selectedExclusion) {\r\n exclusion.id = this.selectedExclusion.id;\r\n exclusion.isDeleted = this.selectedExclusion.isDeleted;\r\n exclusion.timestamp = this.selectedExclusion.timestamp;\r\n exclusion.lastModifiedDate = this.selectedExclusion.lastModifiedDate;\r\n }\r\n\r\n this.service.upsert(exclusion).then(success => {\r\n if (success) {\r\n this.toastrService.success(this.modalTitle, `Success`);\r\n } else {\r\n this.toastrService.error(this.modalTitle, `Something went wrong`);\r\n }\r\n\r\n document.getElementById('closeModalButton').click();\r\n }).catch(reason => {\r\n this.toastrService.error(this.modalTitle, `Something went wrong! ${reason}`);\r\n document.getElementById('closeModalButton').click();\r\n });\r\n }\r\n\r\n onStatusFilterChanged({ secondFilterByColumn, secondFilterByValue }): void {\r\n if (secondFilterByValue) {\r\n this.selectedFilter = Number(secondFilterByValue);\r\n } else {\r\n this.selectedFilter = null;\r\n }\r\n\r\n this.onRadioFilterChanged({ secondFilterByColumn, secondFilterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n deleteOrRestore(exclusion: GlobalExclusion): void {\r\n let title = exclusion.isDeleted ? 'Restore exclusion' : 'Delete exclusion';\r\n\r\n this.service.deleteOrRestore(exclusion).then(saved => {\r\n if (saved) {\r\n exclusion.isDeleted = !exclusion.isDeleted;\r\n this.toastrService.success(title, `Exclusion updated`);\r\n }\r\n }).catch(reason => {\r\n if (reason) {\r\n this.toastrService.error(title, `Something went wrong! ${reason}`);\r\n }\r\n });\r\n }\r\n\r\n typeKeys(): Array {\r\n let keys = Object.keys(GlobalExclusionType);\r\n return keys.filter(k => Number(k) >= 0).map(k => GlobalExclusionType[k]);\r\n }\r\n\r\n addFilters(): void {\r\n this.radioButtonFilter.column = 'Type';\r\n\r\n for (let n in GlobalExclusionType) {\r\n if (typeof GlobalExclusionType[n] === 'number') {\r\n this.radioButtonFilter.content.push({\r\n value: Number(GlobalExclusionType[n]),\r\n label: n,\r\n checked: n == GlobalExclusionType[GlobalExclusionType.All]\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from '../services';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate([''], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ErrorResponse } from '../models/common';\r\nimport { AuthenticationService } from '../services';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private router: Router, private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n var response = new ErrorResponse();\r\n response.statusCode = err.status;\r\n response.message = err.error;\r\n\r\n if (err.status == 401 || err.status == 403) {\r\n this.authenticationService.logout();\r\n this.router.navigate(['']);\r\n }\r\n\r\n return throwError(response);\r\n }))\r\n }\r\n}\r\n","export * from './auth.guard';\r\nexport * from './error.interceptor';\r\nexport * from './jwt.interceptor';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from '../services';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n let currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.token}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n})\r\nexport class HomeComponent {\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ImpactFilterService, AuthenticationService } from './../../services';\r\nimport {\r\n ImpactFilterDomainsModel, ImpactFilterDomainHistoryViewModel,\r\n ImpactFilterHeimdalCategoryModel, ImpactFilterInfectedCategoryModel, ImpactFilterAction, RequestAction\r\n} from './../../models/impact-filter';\r\nimport { ImpactFilterStatus, FeedSourceEnum } from './../../models/impact-filter';\r\nimport { RadioButtonFilter } from './../../models/common';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BaseComponent } from '../../common/common.component';\r\n\r\nconst columns: any[] = [\r\n { value: 'domainName', label: 'Domain', filter: true, sort: false, width: { 'width': '30%' } },\r\n { value: 'hits', label: 'Hit count', filter: false, sort: true, width: { 'width': '10%' } },\r\n { value: 'status', label: 'Status', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'feedSource', label: 'Feed source', filter: false, sort: false, width: { 'width': '15%' } },\r\n { value: 'threatType', label: 'Threat type', filter: false, sort: false, width: { 'width': '20%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-impact-filter',\r\n templateUrl: './impact-filter.component.html'\r\n})\r\n\r\nexport class ImpactFilterComponent extends BaseComponent implements OnInit {\r\n\r\n impactFilterStatusEnum = ImpactFilterStatus;\r\n requestActionEnum = RequestAction;\r\n categories: ImpactFilterHeimdalCategoryModel[];\r\n domainHistoryModel: ImpactFilterDomainHistoryViewModel;\r\n infectedCategories: ImpactFilterInfectedCategoryModel[];\r\n feedSourceEnum = FeedSourceEnum;\r\n radioButtonFilter: RadioButtonFilter = new RadioButtonFilter();\r\n currentViewTitle: string = 'All Domains';\r\n currentViewDescription: string = 'All impact filter domains';\r\n\r\n constructor(public service: ImpactFilterService, public authService: AuthenticationService, private modalService: NgbModal) {\r\n super(authService, columns);\r\n this.domainHistoryModel = new ImpactFilterDomainHistoryViewModel();\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.addFilters();\r\n }\r\n\r\n refreshRows() {\r\n this.grid.loaded = false;\r\n this.message = '';\r\n var params = getFilterFromGrid(this.grid);\r\n\r\n this.service.getDomains(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n\r\n this.grid.loaded = true;\r\n });\r\n\r\n this.service.getInfectedCategories().then(result => {\r\n this.infectedCategories = result;\r\n });\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onStatusFilterChanged({ secondFilterByColumn, secondFilterByValue }) {\r\n this.onRadioFilterChanged({ secondFilterByColumn, secondFilterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onRequestAction(item: ImpactFilterDomainsModel, status: ImpactFilterStatus, content) {\r\n var action = this.getAction(item, status);\r\n\r\n var isActionAvailable = false;\r\n if (item.status! != status) {\r\n if ((item.threatType == null || item.threatType == '') && status == ImpactFilterStatus.Allowed) {\r\n isActionAvailable = true;\r\n }\r\n\r\n if ((item.threatType != null && item.threatType != '') && status == ImpactFilterStatus.Blocked) {\r\n isActionAvailable = true;\r\n }\r\n }\r\n\r\n if (isActionAvailable == true) {\r\n this.service.isDomainInPending(item.id).then(isInPending => {\r\n if (isInPending == true) {\r\n this.refreshRows();\r\n this.modalService.open(content);\r\n } else {\r\n this.service.setStatusAction(action).then(s => {\r\n window.location.reload();\r\n });\r\n }\r\n });\r\n }\r\n\r\n return isActionAvailable;\r\n }\r\n\r\n getAction(item: ImpactFilterDomainsModel, status: ImpactFilterStatus) {\r\n var action = new ImpactFilterAction();\r\n if (item.threatType != null && item.threatType != '') {\r\n var categId = this.infectedCategories.filter(x => x.malwareCategoryName == item.threatType)[0].malwareCategoryId;\r\n action.malwareCategoryId = categId;\r\n }\r\n\r\n action.domainId = item.id;\r\n action.status = status;\r\n action.threatType = item.threatType;\r\n\r\n return action;\r\n }\r\n\r\n toggleOpenModal(domainModel: ImpactFilterDomainsModel) {\r\n this.service.getDomainHistoryByDomain(domainModel.domainName).then(result => {\r\n this.domainHistoryModel.domainHistory = result;\r\n this.domainHistoryModel.domainName = domainModel.domainName;\r\n this.domainHistoryModel.domainId = domainModel.id;\r\n });\r\n }\r\n\r\n getValidColumns() {\r\n return this.grid.columns.filter(x => x.isValid == false);\r\n }\r\n \r\n\r\n addFilters() {\r\n this.radioButtonFilter.column = 'status';\r\n\r\n for (var n in ImpactFilterStatus) {\r\n if (typeof ImpactFilterStatus[n] === 'number') {\r\n checked = false;\r\n if (n == ImpactFilterStatus[ImpactFilterStatus.All]) {\r\n var checked = true;\r\n }\r\n this.radioButtonFilter.content.push({ value: ImpactFilterStatus[n], label: n, checked: checked });\r\n }\r\n }\r\n }\r\n}\r\n","export default \".hs-form-group {\\n display: inline-block;\\n width: 60%;\\n margin-left: 15%;\\n margin-top: 2%; }\\n\\n.hs-btn-action {\\n width: 20%; }\\n\\n.hs-unavailableSelected {\\n border-radius: 4px;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 1px rgba(255, 0, 9, 0.5); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaW1wYWN0LWZpbHRlci9EOlxcYVxcMVxcc1xcSGVpbWRhbC5CYWNrZW5kXFxIZWltZGFsLkltcGFjdEZpbHRlclxcSGVpbWRhbC5Db250cm9sUGFuZWxcXENsaWVudEFwcC9zcmNcXGFwcFxcaW1wYWN0LWZpbHRlclxcaW1wYWN0LWZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLHFCQUFvQjtFQUNwQixVQUFVO0VBQ1YsZ0JBQWU7RUFDZixjQUFhLEVBQUE7O0FBRWpCO0VBQ0ksVUFBUyxFQUFBOztBQUdiO0VBQ0Usa0JBQWtCO0VBQ2xCLGdGQUFnRixFQUFBIiwiZmlsZSI6InNyYy9hcHAvaW1wYWN0LWZpbHRlci9pbXBhY3QtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhzLWZvcm0tZ3JvdXB7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBtYXJnaW4tbGVmdDoxNSU7XHJcbiAgICBtYXJnaW4tdG9wOjIlO1xyXG59XHJcbi5ocy1idG4tYWN0aW9ue1xyXG4gICAgd2lkdGg6MjAlO1xyXG59XHJcblxyXG4uaHMtdW5hdmFpbGFibGVTZWxlY3RlZCB7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDAgMXB4IHJnYmEoMjg4LCAwLCA5LCAwLjUpO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ImpactFilterService } from '../services';\r\nimport { ImpactFilterDomainsModel, ImpactFilterInfectedCategoryModel, ImpactFilterStatus, ImpactFilterAction, ImpactFilterPartnerItemsModel, ImpactFilterPartnerVerdict, ImpactFilterHeimdalCategoryModel } from '../models/impact-filter';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\n@Component({\r\n selector: 'app-impact-filter-settings',\r\n templateUrl: './impact-filter-settings.component.html',\r\n styleUrls: ['./impact-filter-settings.component.scss']\r\n})\r\n\r\nexport class ImpactFilterSettingsComponent implements OnInit {\r\n formGroup: FormGroup;\r\n virusTotalFormGroup: FormGroup;\r\n categoryBlockingFormGroup: FormGroup;\r\n impactFilterStatusEnum = ImpactFilterStatus;\r\n infectedCategories: ImpactFilterInfectedCategoryModel[];\r\n heimdalCategories: ImpactFilterHeimdalCategoryModel[];\r\n ifModel: ImpactFilterDomainsModel = new ImpactFilterDomainsModel();\r\n displayedHitCount: number = -1;\r\n showError = false;\r\n domainCategories: number[];\r\n message: string;\r\n\r\n constructor(public service: ImpactFilterService, private formBuilder: FormBuilder, private modalService: NgbModal) {\r\n this.getInfectedCategories();\r\n this.getHeimdalCategories();\r\n }\r\n\r\n ngOnInit() {\r\n this.formGroup = this.formBuilder.group({\r\n domainName: ['', Validators.required],\r\n threatType: []\r\n });\r\n\r\n this.virusTotalFormGroup = this.formBuilder.group({\r\n domainName: ['', Validators.required]\r\n });\r\n\r\n this.categoryBlockingFormGroup = this.formBuilder.group({\r\n domainName: ['', Validators.required],\r\n domainCategories: []\r\n });\r\n }\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n get virusTotalFormControls() { return this.virusTotalFormGroup.controls; }\r\n get categoryBlockingFormControls() { return this.categoryBlockingFormGroup.controls; }\r\n\r\n getInfectedCategories() {\r\n this.service.getInfectedCategories().then(result => {\r\n this.infectedCategories = result;\r\n });\r\n }\r\n\r\n getHeimdalCategories() {\r\n this.service.getHeimdalCategories().then(result => {\r\n this.heimdalCategories = result;\r\n });\r\n }\r\n\r\n getDomainCategories() {\r\n this.message = '';\r\n this.showError = false;\r\n\r\n var domainName = this.categoryBlockingFormControls.domainName.value;\r\n this.service.getHeimdalCategoriesByDomain(domainName).then(result => {\r\n this.domainCategories = result;\r\n });\r\n }\r\n\r\n updateDomainCategory() {\r\n this.message = '';\r\n this.showError = false;\r\n\r\n var domainName = this.categoryBlockingFormControls.domainName.value;\r\n if (domainName == undefined || domainName.trim() === '') {\r\n this.showError = true;\r\n return;\r\n }\r\n var categs = this.categoryBlockingFormControls.domainCategories.value;\r\n\r\n var domainModel = {\r\n domainName: domainName,\r\n heimdalCategories: categs\r\n }\r\n\r\n this.service.setHeimdalCategories(domainModel).then(result => {\r\n if (result == true) {\r\n this.message = 'Category updated successfully!';\r\n } else {\r\n this.message = 'Category could not be updated successfully!';\r\n }\r\n });\r\n }\r\n\r\n onRequestAction(status: ImpactFilterStatus, content) {\r\n this.showError = false;\r\n\r\n this.ifModel.domainName = this.formControls.domainName.value;\r\n this.ifModel.threatType = this.formControls.threatType.value;\r\n\r\n if (isNullOrUndefined(this.ifModel.domainName) || this.ifModel.domainName == '') {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n var isActionAvailable = false;\r\n if ((this.ifModel.threatType == null || this.ifModel.threatType == '') && status == ImpactFilterStatus.Allowed) {\r\n isActionAvailable = true;\r\n }\r\n\r\n if ((this.ifModel.threatType != null && this.ifModel.threatType != '') && status == ImpactFilterStatus.Blocked) {\r\n isActionAvailable = true;\r\n }\r\n\r\n if (isActionAvailable == true) {\r\n this.service.createEntryDomainIfNotExists(this.ifModel).then(createdIf => {\r\n if (isNullOrUndefined(createdIf) == false) {\r\n if (createdIf.status == status) {\r\n this.modalService.open(content);\r\n }\r\n this.service.isDomainInPending(createdIf.id).then(isInPending => {\r\n if (isInPending == false) {\r\n\r\n createdIf.threatType = this.ifModel.threatType;\r\n var action = this.getAction(createdIf, status);\r\n\r\n this.service.setStatusAction(action).then(s => {\r\n window.location.reload();\r\n })\r\n }\r\n else {\r\n this.modalService.open(content);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n return isActionAvailable;\r\n }\r\n\r\n hitCountAction() {\r\n let domainName = this.formControls.domainName.value;\r\n this.showError = false;\r\n\r\n if (isNullOrUndefined(domainName) || domainName == '') {\r\n this.showError = true;\r\n return;\r\n }\r\n\r\n this.service.getDomainHitCount(domainName)\r\n .then(hitCount => {\r\n this.displayedHitCount = hitCount;\r\n }).catch(error => {\r\n this.displayedHitCount = -1;\r\n })\r\n }\r\n\r\n getAction(item: ImpactFilterDomainsModel, status: ImpactFilterStatus) {\r\n var action = new ImpactFilterAction();\r\n if (item.threatType != null && item.threatType != '') {\r\n var categId = this.infectedCategories.filter(x => x.malwareCategoryName == item.threatType)[0].malwareCategoryId;\r\n action.malwareCategoryId = categId;\r\n }\r\n\r\n action.domainId = item.id;\r\n action.status = status;\r\n action.threatType = item.threatType;\r\n\r\n return action;\r\n }\r\n\r\n ingestDomainToVirusTotal(isMalicious: boolean) {\r\n this.showError = false;\r\n\r\n var domain = this.virusTotalFormControls.domainName.value;\r\n\r\n if (isNullOrUndefined(domain) || domain == '') {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n var verdict = isMalicious ? ImpactFilterPartnerVerdict.Malicious : ImpactFilterPartnerVerdict.Delete;\r\n\r\n var model = new ImpactFilterPartnerItemsModel();\r\n model.item = domain;\r\n model.verdict = verdict;\r\n\r\n this.service.ingestDomainToVirusTotal(model).then(success => {\r\n if (success == false) {\r\n this.showError = true;\r\n } else {\r\n window.location.reload();\r\n }\r\n });\r\n }\r\n}\r\n","export * from './pending-requests/impact-filter-pending.component';\r\nexport * from './all/impact-filter.component';\r\nexport * from './impact-filter-settings.component';\r\n","export default \".hs-spinner {\\n cursor: wait; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaW1wYWN0LWZpbHRlci9wZW5kaW5nLXJlcXVlc3RzL0Q6XFxhXFwxXFxzXFxIZWltZGFsLkJhY2tlbmRcXEhlaW1kYWwuSW1wYWN0RmlsdGVyXFxIZWltZGFsLkNvbnRyb2xQYW5lbFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxpbXBhY3QtZmlsdGVyXFxwZW5kaW5nLXJlcXVlc3RzXFxpbXBhY3QtZmlsdGVyLXBlbmRpbmcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9pbXBhY3QtZmlsdGVyL3BlbmRpbmctcmVxdWVzdHMvaW1wYWN0LWZpbHRlci1wZW5kaW5nLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhzLXNwaW5uZXIge1xyXG4gIGN1cnNvcjogd2FpdDtcclxufVxyXG4iXX0= */\"","import { Component } from '@angular/core';\r\nimport { ImpactFilterStatus, ImpactFilterPendingRequestsModel, FeedSourceEnum } from './../../models/impact-filter';\r\nimport { ImpactFilterService, AuthenticationService } from './../../services';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\nimport { BaseComponent } from '../../common/common.component';\r\n\r\nconst columns: any[] = [\r\n { value: 'domainName', label: 'Domain', filter: true, sort: false, width: { 'width': '25%' } },\r\n { value: 'hits', label: 'Hit count', filter: false, sort: true, width: { 'width': '10%' } },\r\n { value: 'feedSource', label: 'Feed source', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'threatType', label: 'Threat type', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'initialStatus', label: 'Initial status', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'requestedBy', label: 'Requested by', filter: false, sort: false, width: { 'width': '15%' } },\r\n { value: 'requestedStatus', label: 'Requested status', filter: false, sort: false, width: { 'width': '10%' } },\r\n { value: 'requestedTimestamp', label: 'Requested timestamp', filter: false, sort: false, width: { 'width': '15%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-impact-filter-pending',\r\n templateUrl: './impact-filter-pending.component.html',\r\n styleUrls: ['./impact-filter-pending.component.scss']\r\n})\r\n\r\nexport class ImpactFilterPendingComponent extends BaseComponent {\r\n impactFilterStatusEnum = ImpactFilterStatus;\r\n feedSourceEnum = FeedSourceEnum;\r\n loadingAction: boolean = false;\r\n errorMessage: string = null;\r\n currentViewTitle: string = 'Pending Requests';\r\n currentViewDescription: string = 'All infected domains pending requests';\r\n\r\n constructor(public service: ImpactFilterService, public authService: AuthenticationService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n this.service.getPendingRequests(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n });\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onApproveAction(item) {\r\n this.loadingAction = true;\r\n this.service.setRequestAction({ id: item.id }).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.errorMessage = error.message;\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n\r\n onRejectAction(item) {\r\n this.loadingAction = true;\r\n this.service.rejectRequestAction(item.id).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n\r\n setLoadingAndRefresh() {\r\n this.refreshRows();\r\n this.loadingAction = false;\r\n }\r\n\r\n canDoAction(item: ImpactFilterPendingRequestsModel) {\r\n if (this.user.username != item.requestedBy) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","export * from './login.component';","export default \".hs-login {\\n width: 70%;\\n margin: auto;\\n padding: 10px;\\n margin-top: 5%; }\\n .hs-login hs-login-form {\\n margin-top: 20px; }\\n .hs-login card-body {\\n margin: 10px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vRDpcXGFcXDFcXHNcXEhlaW1kYWwuQmFja2VuZFxcSGVpbWRhbC5JbXBhY3RGaWx0ZXJcXEhlaW1kYWwuQ29udHJvbFBhbmVsXFxDbGllbnRBcHAvc3JjXFxhcHBcXGxvZ2luXFxsb2dpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFVBQVU7RUFDVixZQUFZO0VBQ1osYUFBYTtFQUNiLGNBQWMsRUFBQTtFQUpoQjtJQU9JLGdCQUFnQixFQUFBO0VBUHBCO0lBV0ksWUFBWSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaHMtbG9naW4ge1xyXG4gIHdpZHRoOiA3MCU7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgbWFyZ2luLXRvcDogNSU7XHJcblxyXG4gIGhzLWxvZ2luLWZvcm0ge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcblxyXG4gIGNhcmQtYm9keSB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AuthenticationService } from '../services';\r\nimport { LoginCodeViewModel } from '../models/authentication';\r\nimport { ErrorResponse } from '../models/common';\r\n\r\n@Component({\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n tokenRequired: boolean = false;\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n error = '';\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) {\r\n // redirect to home if already logged in\r\n if (this.authenticationService.currentUserValue) {\r\n this.router.navigate(['/impact-filter-pending']);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required],\r\n token: ['', Validators.nullValidator]\r\n });\r\n\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/impact-filter-pending';\r\n }\r\n\r\n // convenience getter for easy access to form fields\r\n get f() { return this.loginForm.controls; }\r\n\r\n onSubmit() {\r\n\r\n this.submitted = true;\r\n this.error = '';\r\n\r\n if (this.tokenRequired == false) {\r\n\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n \r\n this.authenticationService.login(this.f.username.value, this.f.password.value).subscribe((res: any) => {\r\n if (LoginCodeViewModel.instanceOfLoginCodeViewModel(res) == true) {\r\n this.tokenRequired = true;\r\n }\r\n },\r\n (error: ErrorResponse) => {\r\n if (error.statusCode == 400) {\r\n this.error = error.message;\r\n }\r\n }\r\n );\r\n } else {\r\n this.authenticationService.loginWithCode(this.f.token.value).subscribe((res: any) => {\r\n if (res != null) {\r\n this.router.navigate(['/impact-filter-pending']);\r\n } else {\r\n this.router.navigate(['/']);\r\n }\r\n },\r\n (error: ErrorResponse) => {\r\n this.error = error.message;\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { FilterEntities, OrderType, HsGrid } from './../models/common/common';\r\n\r\nexport function mapToHttpParams(filter: FilterEntities) {\r\n return new HttpParams()\r\n .append(\"filterByColumn\", filter.filterByColumn ?? \"\")\r\n .append(\"filterByValue\", filter.filterByValue)\r\n .append(\"secondFilterByColumn\", filter.secondFilterByColumn ?? \"\")\r\n .append(\"secondFilterByValue\", filter.secondFilterByValue)\r\n .append(\"orderType\", OrderType[filter.orderType])\r\n .append(\"orderByColumn\", filter.orderByColumn ?? \"\")\r\n .append(\"top\", filter.top.toString())\r\n .append(\"skip\", filter.skip.toString());\r\n}\r\n\r\nexport function mapToHttpParamsOdata(filter: FilterEntities) {\r\n var params = new HttpParams()\r\n .append(\"$count\", `true`)\r\n .append(\"$top\", `${filter.top ?? 0}`)\r\n .append(\"$skip\", `${filter.skip ?? 0}`);\r\n\r\n if (filter.orderByColumn && filter.orderType !== OrderType.none) {\r\n params = params.append(\"$orderBy\", `${filter.orderByColumn} ${OrderType[filter.orderType]}`);\r\n }\r\n if (filter.filterByColumn && filter.filterByValue) {\r\n let nr: number = Number(filter.filterByValue);\r\n if (nr) {\r\n params = params.append(\"$filter\", `${filter.filterByColumn} eq ${filter.filterByValue}`);\r\n }\r\n else {\r\n params = params.append(\"$filter\", `contains(tolower(${filter.filterByColumn}),tolower('${filter.filterByValue}'))`);\r\n }\r\n }\r\n\r\n return params;\r\n}\r\n\r\nexport function getFilterFromGrid(grid: HsGrid): FilterEntities {\r\n var filter = new FilterEntities();\r\n\r\n filter.top = grid.pagination.pageSize;\r\n filter.skip = (grid.pagination.currentPage - 1) * grid.pagination.pageSize;\r\n filter.orderByColumn = grid.filter.orderByColumn;\r\n filter.orderType = grid.filter.orderType;\r\n filter.filterByColumn = grid.filter.filterByColumn;\r\n filter.filterByValue = grid.filter.filterByValue;\r\n filter.secondFilterByColumn = grid.filter.secondFilterByColumn;\r\n filter.secondFilterByValue = grid.filter.secondFilterByValue;\r\n\r\n return filter;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthenticationService, CsisCustomersService } from '../../services';\r\nimport { ModalBaseComponent } from '../modal-base.component';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { DnsNextCsiscustomerStripped } from '../../models/dnsnext/dnsnext-customer-data-model';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nconst columns: any[] = [\r\n { value: 'name', label: 'Name', filter: true, sort: false, width: { 'width': '40%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '20%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'dnsnext-csis-customer-finder-modal',\r\n templateUrl: './dnsnext-csis-customer-finder-modal.html'\r\n})\r\nexport class DnsNextCsisCustomerFinderModal extends ModalBaseComponent implements OnInit {\r\n filter: string;\r\n customers: DnsNextCsiscustomerStripped[];\r\n customerFormGroup: FormGroup;\r\n showError: boolean = false;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n public customerService: CsisCustomersService,\r\n public authService: AuthenticationService,\r\n private formBuilder: FormBuilder\r\n ) {\r\n super(activeModal, authService, columns);\r\n this.filter = '';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.customerFormGroup = this.formBuilder.group({\r\n customerName: ['', [Validators.required, Validators.minLength(3)]],\r\n });\r\n\r\n this.showError = false;\r\n }\r\n\r\n refreshRows() {\r\n this.grid.loaded = false;\r\n this.message = '';\r\n\r\n let _this = this;\r\n if (isNullOrUndefined(this.filter) === false) {\r\n this.customerService.getCustomers(this.filter)\r\n .then(function (result) {\r\n _this.grid.data = result;\r\n _this.grid.pagination.totalItems = result.length;\r\n _this.grid.loaded = true;\r\n })\r\n .catch(() => { });\r\n }\r\n }\r\n\r\n get customerFormControls() { return this.customerFormGroup.controls; }\r\n\r\n findAction() {\r\n if (this.customerFormControls.customerName.errors != null) {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n this.filter = this.customerFormControls.customerName.value;\r\n this.refreshRows();\r\n }\r\n\r\n selectAction(item: DnsNextCsiscustomerStripped) {\r\n if (item == null) {\r\n return;\r\n }\r\n\r\n this.dismissModal(item.externalId);\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DnsNextAccessRuleModel } from '../../models/dnsnext';\r\nimport { AccessRuleService, AuthenticationService } from '../../services';\r\nimport { ModalBaseComponent } from '../modal-base.component';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\n@Component({\r\n selector: 'dnsnext-rule-delete-modal',\r\n templateUrl: './dnsnext-rule-delete-modal.html'\r\n})\r\nexport class DnsNextDeleteRuleModal extends ModalBaseComponent implements OnInit {\r\n @Input() public item: DnsNextAccessRuleModel;\r\n @Input() public externalId: string;\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n public rulesService: AccessRuleService,\r\n public authService: AuthenticationService\r\n ) {\r\n super(activeModal, authService, []);\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n deleteAction() {\r\n if (this.item == null || isNullOrUndefined(this.externalId)) {\r\n return;\r\n }\r\n\r\n let _this = this;\r\n this.rulesService.exists(this.externalId, this.item).then(function (existsResult) {\r\n if (existsResult === true) {\r\n _this.rulesService.deleteRule(_this.externalId, _this.item.id).then(function () {\r\n _this.dismissModal();\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","export * from './modal-base.component';\r\nexport * from './dnsnext/dnsnext-csis-customer-finder-modal';\r\nexport * from './dnsnext/dnsnext-rule-delete-modal';\r\n","import { Component, EventEmitter, Output } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BaseComponent } from '../common/common.component';\r\nimport { AuthenticationService } from '../services';\r\n\r\n@Component({\r\n selector: 'modal-base'\r\n})\r\nexport class ModalBaseComponent extends BaseComponent {\r\n @Output() onCloseOrDismissEvent: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n public activeModal: NgbActiveModal,\r\n public authService: AuthenticationService,\r\n public columns: any[]\r\n ) {\r\n super(authService, columns);\r\n }\r\n\r\n dismissModal(callbackData?: any) {\r\n this.activeModal.dismiss();\r\n this.callback(callbackData);\r\n }\r\n\r\n closeModal(callbackData?: any) {\r\n this.activeModal.close();\r\n this.callback(callbackData);\r\n }\r\n\r\n callback(callbackData?: any) {\r\n this.onCloseOrDismissEvent.emit(callbackData);\r\n }\r\n}\r\n","import { AppDiscoveryRiskLevel } from \"../../app-discovery/enums\";\r\n\r\nexport class AppDiscoveryModel {\r\n id: string;\r\n applicationName: string;\r\n vendor: string;\r\n domains: string;\r\n riskLevel: AppDiscoveryRiskLevel;\r\n createdDate: Date;\r\n}\r\n","import { AppImpactFilterStatus } from \"./enums\";\r\n\r\nexport class AppImpactFilterItem {\r\n id: string;\r\n relativePath: string;\r\n fullPath: string;\r\n processName: string;\r\n publisher: string;\r\n md5: string;\r\n count: number;\r\n status: AppImpactFilterStatus;\r\n timestamp: Date;\r\n}\r\n","export enum AppImpactFilterStatus {\r\n Pending = 0,\r\n Allow = 100,\r\n Block = 200\r\n}\r\n","export class User {\r\n id: number;\r\n username: string;\r\n token?: string;\r\n}\r\nexport class LoginViewModel {\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport class LoginCodeViewModel {\r\n twoFactorCode: string;\r\n\r\n public static instanceOfLoginCodeViewModel(object: any): object is LoginCodeViewModel {\r\n return 'twoFactorCode' in object;\r\n }\r\n}\r\n\r\n\r\n","export * from './authentication';\r\n","export interface PagedResult {\r\n items: T[];\r\n count: number;\r\n}\r\n\r\nexport class HsGrid {\r\n data: T[] = [];\r\n columns: any[];\r\n filter: FilterEntities;\r\n pagination: Pagination;\r\n loaded: boolean;\r\n}\r\n\r\nexport class Pagination {\r\n constructor() {\r\n this.currentPage = 1;\r\n this.totalItems = 0;\r\n this.pageSize = 10;\r\n this.totalPages = 0;\r\n }\r\n currentPage: number;\r\n totalPages: number;\r\n pageSize: number;\r\n totalItems: number;\r\n}\r\n\r\nexport enum OrderType {\r\n asc = 0,\r\n desc = 1,\r\n none = 2\r\n}\r\n\r\nexport class FilterEntities {\r\n\r\n constructor() {\r\n this.filterByColumn = \"\";\r\n this.filterByValue = \"\";\r\n this.secondFilterByColumn = \"\";\r\n this.secondFilterByValue = \"\";\r\n this.orderType = OrderType.none;\r\n this.orderByColumn = \"\";\r\n }\r\n\r\n filterByColumn: string;\r\n filterByValue: string;\r\n secondFilterByColumn: string;\r\n secondFilterByValue: string;\r\n orderType: OrderType;\r\n orderByColumn: string;\r\n top: number;\r\n skip: number;\r\n}\r\n\r\nexport class ErrorResponse {\r\n statusCode: number;\r\n message: string;\r\n}\r\n\r\nexport class RadioButtonFilterContent{\r\n value: number;\r\n label: string;\r\n checked: boolean;\r\n}\r\n\r\nexport class RadioButtonFilter {\r\n column: string;\r\n content: RadioButtonFilterContent[] = [];\r\n}\r\n","export * from './common';\r\n","export class DnsNextCsisInfectedCategory {\r\n id: number;\r\n name: string;\r\n}\r\n","export class DnsNextCsisCustomerModel {\r\n name: string;\r\n externalId: string;\r\n}\r\n","export class DnsNextInfectedDomainInfo {\r\n domain: string;\r\n status: string;\r\n category: number;\r\n}\r\n","export class DnsNextAccessRuleCreationModel {\r\n name: string;\r\n subnet: string;\r\n external: boolean;\r\n}\r\n\r\nexport class DnsNextAccessRuleModel {\r\n external: boolean;\r\n generate_alerts: boolean;\r\n id: number\r\n name: string;\r\n subnet: string;\r\n url: string;\r\n}\r\n","import { DnsNextInfectedDomainRequestType, DnsNextWBDomainRequestType, DnsNextWBDomainType } from \".\";\r\n\r\nexport class DnsnextWBDomainsPendingModel {\r\n id: string;\r\n csisId: number;\r\n domainName: string;\r\n customerId: string;\r\n type: DnsNextWBDomainType;\r\n requestType: DnsNextWBDomainRequestType;\r\n requestedBy: string;\r\n requestedTimestamp: Date;\r\n\r\n constructor(requestType: DnsNextWBDomainRequestType) {\r\n this.requestType = requestType;\r\n }\r\n}\r\n\r\nexport class DnsnextInfectedDomainsPendingModel {\r\n id: string;\r\n domainName: string;\r\n category: string;\r\n source: string;\r\n requestType: DnsNextInfectedDomainRequestType;\r\n requestedBy: string;\r\n requestedTimestamp: Date;\r\n\r\n constructor(requestType: DnsNextInfectedDomainRequestType) {\r\n this.requestType = requestType;\r\n }\r\n}\r\n","import { DnsNextWBDomainType } from \".\";\r\n\r\nexport class DnsnextWBDomain {\r\n csisId: number;\r\n domainName: string;\r\n type: DnsNextWBDomainType;\r\n}\r\n","export enum DnsNextWBDomainType {\r\n White = 1,\r\n Black = 2\r\n}\r\n\r\nexport enum DnsNextWBDomainRequestType {\r\n Create = 1,\r\n Delete = 2,\r\n}\r\n\r\nexport enum DnsNextInfectedDomainRequestType {\r\n Block = 1,\r\n Unblock = 2,\r\n}\r\n","export * from './dnsnext-new-model';\r\nexport * from './dnsnext-customer-model'\r\nexport * from './enums';\r\nexport * from './dnsnext-pending-model';\r\nexport * from './dnsnext-wb-domain-model';\r\nexport * from './dnsnext-infected-domain-info';\r\nexport * from './dnsnext-csis-infected-category';\r\n","export enum GlobalExclusionType {\r\n All = -1,\r\n FileName = 100,\r\n FilePath = 200,\r\n Directory = 300,\r\n MD5 = 400\r\n}","import { GlobalExclusionType } from \"./enums\";\r\n\r\nexport class GlobalExclusion {\r\n id: number;\r\n value: string;\r\n type: GlobalExclusionType;\r\n timestamp: Date;\r\n lastModifiedDate: Date;\r\n commandLine: string;\r\n isDeleted: boolean;\r\n}","export enum ImpactFilterStatus {\r\n All = -1,\r\n New = 0,\r\n Allowed = 1,\r\n Blocked = 2\r\n}\r\n\r\nexport enum FeedSourceEnum {\r\n ImpactFilter = 0,\r\n Csis = 1\r\n}\r\n\r\nexport enum RequestAction {\r\n Approve = 0,\r\n Reject = 1\r\n}\r\n\r\nexport enum ImpactFilterPartnerVerdict {\r\n Delete = 0,\r\n Malicious = 1\r\n}\r\n","import { ImpactFilterStatus } from \".\";\r\nimport { FeedSourceEnum } from \"./enums\";\r\n\r\nexport class ImpactFilterDomainsModel {\r\n id: string;\r\n domainName: string;\r\n lookup: string;\r\n feedsource: FeedSourceEnum;\r\n hits: number;\r\n threatType: string;\r\n malwareCategoryId: number;\r\n status: ImpactFilterStatus;\r\n action: string[];\r\n}\r\n\r\nexport class ImpactFilterAction {\r\n domainId: string;\r\n malwareCategoryId: number;\r\n threatType: string;\r\n status: number;\r\n}\r\n","import { ImpactFilterStatus } from \".\";\r\n\r\nexport interface ImpactFilterDomainsHistoryModel {\r\n initialStatus: ImpactFilterStatus,\r\n requestedStatus: ImpactFilterStatus,\r\n requestedBy: string,\r\n solvedBy: string,\r\n timestamp: Date\r\n}\r\n\r\nexport class ImpactFilterDomainHistoryViewModel {\r\n domainName: string;\r\n domainId: string;\r\n domainHistory: ImpactFilterDomainsHistoryModel[];\r\n}\r\n","import { ImpactFilterPartnerVerdict } from \"./enums\";\r\n\r\nexport class ImpactFilterPartnerItemsModel {\r\n verdict: ImpactFilterPartnerVerdict;\r\n item: string;\r\n};\r\n","export * from './impact-filter-all-model';\r\nexport * from './impact-filter-history-model';\r\nexport * from './impact-filter-pending-model';\r\nexport * from './impact-filter-categories-model';\r\nexport * from './impact-filter-settings';\r\nexport * from './enums';\r\n","export enum TacAlertActionType {\r\n None = 0,\r\n TPBlocklistGP = 1,\r\n PatchingAddToGP = 2,\r\n PatchingUninstall = 3,\r\n NGAVQuarantine = 4,\r\n NGAVRestore = 5,\r\n NGAVAllowlist = 6,\r\n FWIsolate = 7,\r\n FWBlockIP = 8,\r\n FWBlockPort = 9,\r\n REPAllowlist = 10,\r\n PAMApprove = 11,\r\n PAMDeny = 12,\r\n APPCAllowlist = 13,\r\n APPCBlocklist = 14,\r\n ESECReleaseEmail = 15,\r\n EFPRestoreEmail = 16,\r\n EFPDeleteEmail = 17,\r\n CallDashboardLogs = 18,\r\n CallFileToDashboard = 19,\r\n RDConnect = 20,\r\n MarkAsResolved = 21,\r\n MarkAsUnresolved = 22,\r\n NGAVBlockProcess = 23,\r\n REPBlock = 24,\r\n PAMDeescalate = 25,\r\n PAMRetry = 26\r\n}","import { TacAlertActionModel } from \"./tac-alert-action-model\";\r\n\r\nexport class TacAlertRuleActionModel {\r\n priority: number;\r\n tacAlertRuleId: number;\r\n tacAlertActionId: number;\r\n tacAlertActionWrapper: TacAlertActionModel;\r\n}","import { XtpRuleLevelEnum } from \"../xtp/enums\";\r\nimport { TacAlertRuleActionModel } from \"./tac-alert-rule-action-model\";\r\n\r\nexport class TacAlertRuleModel {\r\n id: number;\r\n title: string;\r\n description: string;\r\n expression: string;\r\n parameters: string;\r\n level: XtpRuleLevelEnum;\r\n timestamp: Date;\r\n isDeleted: boolean;\r\n tacAlertRuleActionWrappers: TacAlertRuleActionModel[];\r\n \r\n constructor() {\r\n this.id = 0;\r\n }\r\n}","export enum XtpRuleLevelEnum {\r\n All = -1,\r\n Informational = 0,\r\n Low = 1,\r\n Medium = 2,\r\n High = 3,\r\n Critical = 4,\r\n}","import { XtpRuleLevelEnum } from \"./enums\";\r\nimport { XtpRuleQueryModel } from \"./xtp-rule-query-model\";\r\nimport { XtpRuleTagModel } from \"./xtp-rule-tag-model\";\r\n\r\nexport class XtpRuleModel {\r\n id: number;\r\n title: string;\r\n description: string;\r\n author: string;\r\n level: XtpRuleLevelEnum;\r\n timestamp: Date;\r\n lastModifiedDate: Date;\r\n isDeleted: boolean;\r\n internalId: number;\r\n isTesting: boolean;\r\n\r\n tagWrappers: XtpRuleTagModel[];\r\n queryWrappers: XtpRuleQueryModel[];\r\n\r\n constructor() {\r\n this.id = 0;\r\n this.tagWrappers = [];\r\n this.queryWrappers = [];\r\n }\r\n}","export class XtpRuleQueryModel {\r\n id: number;\r\n threatEngineRuleWrapperId: number;\r\n query: string;\r\n timestamp: Date;\r\n priority: number;\r\n\r\n constructor() {\r\n this.id = 0;\r\n }\r\n}","import { TacAlertRuleModel } from \"../tac/tac-alert-rule-model\";\r\nimport { XtpRuleModel } from \"./xtp-rule-model\";\r\n\r\nexport class XtpRuleTacAlertRuleUpsertModel {\r\n xtpRule: XtpRuleModel;\r\n tacAlertRule: TacAlertRuleModel;\r\n\r\n constructor(xtpRule: XtpRuleModel, tacRule: TacAlertRuleModel) {\r\n this.xtpRule = xtpRule;\r\n this.tacAlertRule = tacRule;\r\n }\r\n}","export class XtpRuleTagModel {\r\n id: number;\r\n tag: string;\r\n timestamp: Date;\r\n\r\n constructor() {\r\n this.id = 0;\r\n }\r\n}","export enum ZTStatus {\r\n Default = 0,\r\n Unknown = 100,\r\n Allowed = 200,\r\n Blocked = 300\r\n}\r\n\r\nexport enum ZTThreatType {\r\n Default = 0,\r\n Legit = 100,\r\n Malware = 200,\r\n Ransomware = 300,\r\n Unknown = 400,\r\n Virus = 500\r\n}\r\n","import { ZTStatus, ZTThreatType } from \"./enums\";\r\n\r\nexport interface ZeroTrustInterceptionModel {\r\n id: string;\r\n hash: string;\r\n status: ZTStatus;\r\n fileName: string;\r\n threatType: ZTThreatType;\r\n description: string;\r\n}\r\n\r\nexport class ZeroTrustUpdateModel {\r\n id: string;\r\n hash: string;\r\n status: ZTStatus;\r\n fileName: string;\r\n threatType: ZTThreatType;\r\n description: string;\r\n}\r\n","import { ZTThreatType } from \"./enums\";\r\n\r\nexport class ZeroTrustThreatType {\r\n name: string;\r\n type: ZTThreatType;\r\n}\r\n","export default \"html {\\n font-size: 14px; }\\n @media (min-width: 768px) {\\n html html {\\n font-size: 16px; } }\\n .navbar a.navbar-brand {\\n white-space: normal;\\n text-align: center;\\n word-break: break-all; }\\n .navbar .link-active .text-dark {\\n color: #2EAEE4 !important; }\\n .navbar .nav-item {\\n box-shadow: 10px 0px 0px -8px lightgray; }\\n .navbar .hs-box-shadow {\\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.05); }\\n .dropdown-submenu {\\n position: relative; }\\n .dropdown-submenu > .dropdown-menu {\\n top: 0;\\n left: 100%;\\n margin-top: -6px;\\n margin-left: -1px;\\n border-radius: 0 6px 6px 6px; }\\n .dropdown-submenu:hover > .dropdown-menu {\\n display: block; }\\n .dropdown-submenu > a:after {\\n display: block;\\n content: \\\" \\\";\\n float: right;\\n width: 0;\\n height: 0;\\n border-color: transparent;\\n border-style: solid;\\n border-width: 5px 0 5px 5px;\\n border-left-color: #ccc;\\n margin-top: 5px;\\n margin-right: -10px; }\\n .dropdown-submenu:hover > a:after {\\n border-left-color: #fff; }\\n .dropdown-submenu.pull-left {\\n float: none; }\\n .dropdown-submenu.pull-left > .dropdown-menu {\\n left: -100%;\\n margin-left: 10px;\\n border-radius: 6px 0 6px 6px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbmF2LW1lbnUvRDpcXGFcXDFcXHNcXEhlaW1kYWwuQmFja2VuZFxcSGVpbWRhbC5JbXBhY3RGaWx0ZXJcXEhlaW1kYWwuQ29udHJvbFBhbmVsXFxDbGllbnRBcHAvc3JjXFxhcHBcXG5hdi1tZW51XFxuYXYtbWVudS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWUsRUFBQTtFQUVmO0lBSEY7TUFLTSxlQUFlLEVBQUEsRUFDaEI7RUFJTDtFQUVJLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIscUJBQXFCLEVBQUE7RUFKekI7RUFTTSx5QkFBeUIsRUFBQTtFQVQvQjtFQWdCSSx1Q0FBdUMsRUFBQTtFQWhCM0M7RUFvQkksaURBQThDLEVBQUE7RUFJbEQ7RUFDRSxrQkFBa0IsRUFBQTtFQUdwQjtFQUNFLE1BQU07RUFDTixVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUdqQiw0QkFBNEIsRUFBQTtFQUc5QjtFQUNFLGNBQWMsRUFBQTtFQUdoQjtFQUNFLGNBQWM7RUFDZCxZQUFZO0VBQ1osWUFBWTtFQUNaLFFBQVE7RUFDUixTQUFTO0VBQ1QseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQUNuQiwyQkFBMkI7RUFDM0IsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixtQkFBbUIsRUFBQTtFQUdyQjtFQUNFLHVCQUF1QixFQUFBO0VBR3pCO0VBQ0UsV0FBVyxFQUFBO0VBR2I7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBR2pCLDRCQUE0QixFQUFBIiwiZmlsZSI6InNyYy9hcHAvbmF2LW1lbnUvbmF2LW1lbnUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJodG1sIHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgaHRtbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXZiYXIge1xyXG4gIGEubmF2YmFyLWJyYW5kIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgfVxyXG5cclxuICAubGluay1hY3RpdmUge1xyXG4gICAgLnRleHQtZGFyayB7XHJcbiAgICAgIGNvbG9yOiAjMkVBRUU0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2LWl0ZW0ge1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxMHB4IDBweCAwcHggLTlweCBsaWdodGdyYXkgIWltcG9ydGFudDtcclxuICAgIC1tb3otYm94LXNoYWRvdzogMTBweCAwcHggMHB4IC05cHggbGlnaHRncmF5ICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAxMHB4IDBweCAwcHggLThweCBsaWdodGdyYXk7XHJcbiAgfVxyXG5cclxuICAuaHMtYm94LXNoYWRvdyB7XHJcbiAgICBib3gtc2hhZG93OiAwIC4yNXJlbSAuNzVyZW0gcmdiYSgwLCAwLCAwLCAuMDUpO1xyXG4gIH1cclxufVxyXG5cclxuLmRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmRyb3Bkb3duLXN1Ym1lbnUgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogLTZweDtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCA2cHg7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwIDZweCA2cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMCA2cHggNnB4IDZweDtcclxufVxyXG5cclxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5kcm9wZG93bi1zdWJtZW51ID4gYTphZnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY29udGVudDogXCIgXCI7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xyXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjY2NjO1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xyXG59XHJcblxyXG4uZHJvcGRvd24tc3VibWVudTpob3ZlciA+IGE6YWZ0ZXIge1xyXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uZHJvcGRvd24tc3VibWVudS5wdWxsLWxlZnQge1xyXG4gIGZsb2F0OiBub25lO1xyXG59XHJcblxyXG4uZHJvcGRvd24tc3VibWVudS5wdWxsLWxlZnQgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgbGVmdDogLTEwMCU7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4O1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogNnB4IDAgNnB4IDZweDtcclxuICBib3JkZXItcmFkaXVzOiA2cHggMCA2cHggNnB4O1xyXG59XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { AuthenticationService } from '../services';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.scss']\r\n})\r\nexport class NavMenuComponent {\r\n isExpanded = false;\r\n currentUser: string;\r\n\r\n constructor(private router: Router, private authenticationService: AuthenticationService) {}\r\n\r\n getCurrentUser() {\r\n var obsUser = this.authenticationService.currentUser;\r\n obsUser.subscribe(result => {\r\n if (result != null) {\r\n this.currentUser = result.username;\r\n }\r\n });\r\n\r\n return obsUser;\r\n }\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n logout() {\r\n this.authenticationService.logout();\r\n this.router.navigate(['']);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { PagedResult, FilterEntities } from './../../models/common';\r\nimport { mapToHttpParams } from './../../mappers/filterMapper';\r\nimport { AppDiscoveryModel } from '../../models/app-discovery/app-discovery-model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AppDiscoveryService {\r\n constructor(public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) { }\r\n\r\n async get(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'threatPreventionAppDiscovery/Get', { params: params }).toPromise();\r\n }\r\n\r\n async create(application: AppDiscoveryModel) {\r\n return await this.http.post(this.baseUrl + 'threatPreventionAppDiscovery/Create', application).toPromise();\r\n }\r\n\r\n async update(application: AppDiscoveryModel) {\r\n return await this.http.put(this.baseUrl + 'threatPreventionAppDiscovery/Update', application).toPromise();\r\n }\r\n\r\n async delete(id: string) {\r\n return await this.http.delete(this.baseUrl + 'threatPreventionAppDiscovery/Delete?applicationId=' + id).toPromise();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { mapToHttpParams } from '../../mappers/filterMapper';\r\nimport { FilterEntities, PagedResult } from '../../models/common';\r\nimport { AppImpactFilterItem } from '../../models/app-impact-filter/app-impact-filter';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AppImpactFilterService {\r\n\r\n constructor(public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) { }\r\n\r\n async getPendingItems(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'AppImpactFilter/GetPendingItems', { params: params }).toPromise();\r\n }\r\n\r\n async getAllowedItems(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'AppImpactFilter/GetAllowedItems', { params: params }).toPromise();\r\n }\r\n\r\n async addAllowedItem(updateModel: AppImpactFilterItem) {\r\n return await this.http.post(this.baseUrl + 'AppImpactFilter/AddNew', updateModel).toPromise();\r\n }\r\n\r\n async updateItem(updateModel: AppImpactFilterItem) {\r\n return await this.http.post(this.baseUrl + 'AppImpactFilter/Update', updateModel).toPromise();\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { User, LoginViewModel, LoginCodeViewModel } from './../../models/authentication';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') public baseUrl: string) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): User {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n login(email: string, password: string) {\r\n var model = new LoginViewModel();\r\n model.email = email;\r\n model.password = password;\r\n\r\n return this.http.post(this.baseUrl + \"api/auth/createToken\", model)\r\n .pipe(map(result => {\r\n return result;\r\n }));\r\n }\r\n\r\n loginWithCode(token: string) {\r\n var body = new LoginCodeViewModel();\r\n body.twoFactorCode = token;\r\n\r\n return this.http.post(this.baseUrl + \"api/auth/loginWithCode\", body)\r\n .pipe(map(result => {\r\n\r\n //store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(result));\r\n this.currentUserSubject.next(result);\r\n\r\n return result;\r\n }));\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n this.currentUserSubject.next(null);\r\n localStorage.removeItem('currentUser');\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { DnsNextAccessRuleCreationModel, DnsNextAccessRuleModel } from '../../models/dnsnext';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { mapToHttpParams } from '../../mappers/filterMapper';\r\nimport { FilterEntities } from '../../models/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AccessRuleService {\r\n private readonly EXTERNAL_ID_PARAM: string = 'externalId';\r\n private readonly RULE_ID_PARAM: string = 'ruleId';\r\n\r\n constructor(\r\n public http: HttpClient, @Inject('BASE_URL') public baseUrl: string\r\n ) { }\r\n\r\n async createAccessRule(externalId: string, creationRule: DnsNextAccessRuleCreationModel) {\r\n let params = new HttpParams();\r\n params = params.append(this.EXTERNAL_ID_PARAM, externalId);\r\n\r\n return await this.http.post(this.baseUrl + 'CsisAccessRules/AddAccessRule', creationRule, { params: params }).toPromise();\r\n }\r\n\r\n async getRules(externalId: string, filter: FilterEntities) {\r\n let params = mapToHttpParams(filter);\r\n params = params.append(this.EXTERNAL_ID_PARAM, externalId);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisAccessRules/GetAccessRules', { params: params }).toPromise();\r\n }\r\n\r\n async deleteRule(externalId: string, ruleId: number) {\r\n let params = new HttpParams();\r\n params = params.append(this.EXTERNAL_ID_PARAM, externalId);\r\n params = params.append(this.RULE_ID_PARAM, ruleId.toString());\r\n\r\n return await this.http.delete(this.baseUrl + 'CsisAccessRules/DeleteAccessRule', { params: params }).toPromise();\r\n }\r\n\r\n async exists(externalId: string, rule: DnsNextAccessRuleCreationModel){\r\n let params = new HttpParams();\r\n params = params.append(this.EXTERNAL_ID_PARAM, externalId);\r\n params = params.append('name', rule.name);\r\n params = params.append('subnet', rule.subnet);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisAccessRules/Exists', { params: params }).toPromise();\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { DnsNextCsiscustomerStripped } from '../../models/dnsnext/dnsnext-customer-data-model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CsisCustomersService {\r\n constructor(\r\n public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) {\r\n }\r\n\r\n async getCustomer(name: string){\r\n let customerIdParams = new HttpParams();\r\n customerIdParams = customerIdParams.append('customerName', name);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisCustomers/GetCustomerIdByName', { params: customerIdParams, responseType: 'text' }).toPromise();\r\n }\r\n\r\n async getCustomers(filter: string) {\r\n let params = new HttpParams();\r\n params = params.append('filter', filter);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisCustomers/GetCsisCustomers', { params: params }).toPromise();\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { mapToHttpParams } from \"../../mappers/filterMapper\";\r\nimport { FilterEntities, PagedResult } from \"../../models/common\";\r\nimport { DnsNextCsisInfectedCategory, DnsNextInfectedDomainInfo, DnsnextInfectedDomainsPendingModel } from \"../../models/dnsnext\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CsisInfectedDomainsService {\r\n private readonly DOMAIN_PARAM: string = 'domain';\r\n private readonly ACCEPTED_PARAM: string = 'accepted';\r\n private readonly REQUEST_ID: string = 'requestId';\r\n\r\n constructor(\r\n public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) {\r\n }\r\n\r\n async getInfectedCategories() {\r\n return await this.http.get(this.baseUrl + 'CsisZone/GetCategories').toPromise();\r\n }\r\n\r\n async getPendingDomains(filter: FilterEntities) {\r\n let params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'CsisZone/GetPendingDomains', { params: params }).toPromise();\r\n }\r\n\r\n async createRequest(model: DnsnextInfectedDomainsPendingModel) {\r\n\r\n let params = new HttpParams();\r\n return await this.http.post(this.baseUrl + 'CsisZone/CreateRequest', model, { params: params }).toPromise();\r\n }\r\n\r\n async requestExists(domain: string){\r\n let params = new HttpParams();\r\n params = params.append(this.DOMAIN_PARAM, domain);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisZone/RequestExists', { params: params }).toPromise();\r\n }\r\n\r\n async resolveRequest(id: string, accepted: boolean) {\r\n let params = new HttpParams();\r\n params = params.append(this.ACCEPTED_PARAM, accepted.toString());\r\n params = params.append(this.REQUEST_ID, id);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisZone/ResolveRequest', { params: params }).toPromise();\r\n }\r\n\r\n async getDomainInfo(domain: string){\r\n let params = new HttpParams();\r\n params = params.append(this.DOMAIN_PARAM, domain);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisZone/GetDomainInfo', { params: params }).toPromise();\r\n }\r\n\r\n async unblockDomain(domain: string) {\r\n let params = new HttpParams();\r\n params = params.append(this.DOMAIN_PARAM, domain);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisZone/UnblockDomain', { params: params }).toPromise();\r\n }\r\n}\r\n","import { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { mapToHttpParams } from \"../../mappers/filterMapper\";\r\nimport { FilterEntities } from \"../../models/common\";\r\nimport { DnsnextWBDomain, DnsnextWBDomainsPendingModel, DnsNextWBDomainType } from \"../../models/dnsnext\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CsisWBDomainsService {\r\n private readonly EXTERNAL_ID_PARAM: string = 'externalId';\r\n private readonly ACCEPTED_PARAM: string = 'accepted';\r\n private readonly CUSTOMER_ID_PARAM: string = 'customerId';\r\n private readonly DOMAIN_NAME_PARAM: string = 'domainName';\r\n private readonly REQUEST_ID: string = 'requestId';\r\n\r\n constructor(\r\n public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) {\r\n }\r\n\r\n async getPendingDomains(filter: FilterEntities) {\r\n let params = mapToHttpParams(filter);\r\n return await this.http.get(this.baseUrl + 'CsisWBDomains/GetPendingDomains', { params: params }).toPromise();\r\n }\r\n\r\n async createRequest(model: DnsnextWBDomainsPendingModel) {\r\n let params = new HttpParams();\r\n return await this.http.post(this.baseUrl + 'CsisWBDomains/CreateRequest', model, { params: params }).toPromise();\r\n }\r\n\r\n async requestExists(model: DnsnextWBDomainsPendingModel){\r\n let params = new HttpParams();\r\n params = params.append(this.DOMAIN_NAME_PARAM, model.domainName);\r\n params = params.append(this.CUSTOMER_ID_PARAM, model.customerId);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisWBDomains/RequestExists', { params: params }).toPromise();\r\n }\r\n\r\n async resolveRequest(id: string, accepted: boolean) {\r\n let params = new HttpParams();\r\n params = params.append(this.REQUEST_ID, id);\r\n params = params.append(this.ACCEPTED_PARAM, accepted.toString());\r\n\r\n return await this.http.get(this.baseUrl + 'CsisWBDomains/ResolveRequest', { params: params }).toPromise();\r\n }\r\n\r\n async getCustomerDomains(externalId: string, filter: FilterEntities){\r\n let params = mapToHttpParams(filter);\r\n params = params.append(this.EXTERNAL_ID_PARAM, externalId);\r\n\r\n return await this.http.get(this.baseUrl + 'CsisWBDomains/GetCustomerDomains', { params: params }).toPromise();\r\n }\r\n\r\n async deleteCustomerDomain(type: DnsNextWBDomainType, domainId: number, externalId: string) {\r\n let params = new HttpParams();\r\n params = params.append('type', type.toString());\r\n params = params.append('domainId', domainId.toString());\r\n params = params.append(this.EXTERNAL_ID_PARAM, externalId);\r\n\r\n return await this.http.delete(this.baseUrl + 'CsisWBDomains/DeleteDomain', { params: params }).toPromise();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DnsNextService {\r\n constructor(public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) { }\r\n\r\n async getCustomerIdByIp(ip) {\r\n return await this.http.get(this.baseUrl + 'DnsNext/GetCustomerIdByIp?ip='+ ip).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { GlobalExclusionType } from 'src/app/models/global-exclusions/enums';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GlobalExclusionCustomValidationService {\r\n\r\n private validationPattern = {\r\n FileName: new RegExp(/^([^:?*\\\"<>\\\\/|]*)$/),\r\n FilePaths: [\r\n new RegExp(/^\\\\{2}([^:?*\\\"<>\\/\\\\|]{1,})(\\\\{1}[^:?*\\\"<>\\/\\\\|]{1,}){2,}$/),\r\n new RegExp(/^(([a-zA-Z]\\:)|(\\\\))(\\\\{1}|((\\\\{1})[^\\\\]([^/:*?<>\"|]*))+)$/),\r\n new RegExp(/^(\\\\{1}[^:?*\\\"<>\\/\\\\|]{1,}){2,}$/),\r\n new RegExp(/%.+%/)\r\n ],\r\n MD5Hash: new RegExp(/^[a-f0-9A-F]{32}$/),\r\n };\r\n\r\n valueValidator(formControlTypeString: string, formControlValueString: string) {\r\n return (formGroup: FormGroup) => {\r\n const typeControl = formGroup.controls[formControlTypeString];\r\n const valueControl = formGroup.controls[formControlValueString];\r\n\r\n if (!typeControl || !valueControl || typeControl.errors || valueControl.errors) {\r\n return null;\r\n }\r\n\r\n const value: string = valueControl.value.trim();\r\n const type: GlobalExclusionType = GlobalExclusionType[typeControl.value as string];\r\n\r\n if (!this.validateValueByType(type, value)) {\r\n valueControl.setErrors({ invalidValue: true });\r\n }\r\n }\r\n }\r\n\r\n private validateValueByType(type: GlobalExclusionType, value: string): boolean {\r\n let match = false;\r\n if (type == GlobalExclusionType.FileName) {\r\n match = this.validationPattern.FileName.test(value);\r\n } else if (type == GlobalExclusionType.Directory || type == GlobalExclusionType.FilePath) {\r\n for (let reg of this.validationPattern.FilePaths) {\r\n match = match || reg.test(value);\r\n }\r\n } else if (type == GlobalExclusionType.MD5) {\r\n match = this.validationPattern.MD5Hash.test(value);\r\n }\r\n\r\n return match;\r\n }\r\n}","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { PagedResult, FilterEntities } from './../../models/common';\r\nimport { mapToHttpParamsOdata } from './../../mappers/filterMapper';\r\nimport { GlobalExclusion } from 'src/app/models/global-exclusions/global-exclusion.model';\r\nimport { GlobalExclusionType } from 'src/app/models/global-exclusions/enums';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class GlobalExclusionsService {\r\n constructor(\r\n public http: HttpClient,\r\n @Inject('BASE_URL') public baseUrl: string) {\r\n }\r\n\r\n async get(filter: FilterEntities, typeFilter: number) {\r\n var params = mapToHttpParamsOdata(filter);\r\n \r\n if (typeFilter > 0) {\r\n var filterStr = `Type eq Heimdal.Domain.Common.Enums.GlobalExclusionType'${GlobalExclusionType[typeFilter]}'`;\r\n\r\n if (params.has('$filter')) {\r\n var f = params.get('$filter');\r\n params = params.set('$filter', `${f} and ${filterStr}`);\r\n }\r\n else {\r\n params = params.append('$filter', filterStr);\r\n }\r\n }\r\n\r\n return await this.http.get>(`${this.baseUrl}globalExclusion/get`, { params: params }).toPromise();\r\n }\r\n\r\n async deleteOrRestore(exclusion: GlobalExclusion) {\r\n var params = new HttpParams().append('id', exclusion.id.toString());\r\n\r\n return await this.http.post(`${this.baseUrl}globalExclusion/deleteOrRestoreExclusion`, null, { params: params }).toPromise();\r\n }\r\n\r\n async upsert(exclusion: GlobalExclusion) {\r\n return await this.http.put(`${this.baseUrl}globalExclusion/upsertExclusion`, exclusion).toPromise();\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { PagedResult, FilterEntities } from './../../models/common';\r\nimport {\r\n ImpactFilterPendingRequestsModel, ImpactFilterDomainsModel, ImpactFilterDomainsHistoryModel,\r\n ImpactFilterHeimdalCategoryModel, ImpactFilterInfectedCategoryModel, ImpactFilterAction, ImpactFilterPartnerItemsModel\r\n} from './../../models/impact-filter';\r\nimport { mapToHttpParams } from './../../mappers/filterMapper';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ImpactFilterService {\r\n constructor(public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) { }\r\n\r\n async getDomains(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'ImpactFilter/GetDomains', { params: params }).toPromise();\r\n }\r\n\r\n async getNewDomains(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'ImpactFilter/GetNewDomains/', { params: params }).toPromise();\r\n }\r\n\r\n async setStatusAction(action: ImpactFilterAction) {\r\n return await this.http.put(this.baseUrl + 'ImpactFilter/SetStatus', action).toPromise();\r\n }\r\n\r\n async getPendingRequests(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'ImpactFilter/GetPendingRequests', { params: params }).toPromise();\r\n }\r\n\r\n async setRequestAction(object: any) {\r\n return await this.http.put(this.baseUrl + 'ImpactFilter/SetRequestStatus', object).toPromise();\r\n }\r\n\r\n async rejectRequestAction(requestId: string) {\r\n let params = new HttpParams();\r\n params = params.append('requestId', requestId);\r\n\r\n return await this.http.get(this.baseUrl + 'ImpactFilter/RejectRequest', { params: params }).toPromise();\r\n }\r\n\r\n async getDomainHistoryByDomain(domain: string) {\r\n return await this.http.get(this.baseUrl + 'ImpactFilter/GetDomainHistoryByDomain/' + domain).toPromise();\r\n }\r\n\r\n async getDomainHitCount(domain: string){\r\n let params = new HttpParams();\r\n params = params.append('domain', domain);\r\n\r\n return await this.http.get(this.baseUrl + 'ImpactFilter/GetDomainHitCount', { params: params }).toPromise();\r\n }\r\n\r\n async setHeimdalCategories(domainModel: any) {\r\n return await this.http.put(this.baseUrl + 'ImpactFilter/SetHeimdalCategories', domainModel).toPromise();\r\n }\r\n\r\n async getHeimdalCategories() {\r\n return await this.http.get(this.baseUrl + 'ImpactFilter/GetHeimdalCategories').toPromise();\r\n }\r\n\r\n async getHeimdalCategoriesByDomain(domainName: string) {\r\n let params = new HttpParams();\r\n params = params.append('domainName', domainName);\r\n return await this.http.get(this.baseUrl + 'ImpactFilter/GetHeimdalCategoriesByDomain', { params: params }).toPromise();\r\n }\r\n\r\n async getInfectedCategories() {\r\n return await this.http.get(this.baseUrl + 'ImpactFilter/GetInfectedCategories').toPromise();\r\n }\r\n\r\n async isDomainInPending(domainId: string) {\r\n return await this.http.get(this.baseUrl + 'ImpactFilter/IsDomainInPending/' + domainId).toPromise();\r\n }\r\n\r\n async createEntryDomainIfNotExists(ifDomain: ImpactFilterDomainsModel) {\r\n return await this.http.post(this.baseUrl + 'ImpactFilter/CreateEntryDomainIfNotExists', ifDomain).toPromise();\r\n }\r\n\r\n async ingestDomainToVirusTotal(model: ImpactFilterPartnerItemsModel) {\r\n return await this.http.post(this.baseUrl + 'ImpactFilter/ingestDomainToVirusTotal', model).toPromise();\r\n }\r\n}\r\n","export * from './authentication/authentication.service';\r\nexport * from './impact-filter/impact-filter.service';\r\nexport * from './dnsnext/access-rule.service';\r\nexport * from './dnsnext/csis-customer.service';\r\nexport * from './dnsnext/csis-wb-domains.service';\r\nexport * from './dnsnext/csis-infected-domains.service';\r\nexport * from './dnsnext/dnsnext.service';\r\nexport * from './zero-trust/zero-trust.service'\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { PagedResult, FilterEntities } from './../../models/common';\r\nimport { mapToHttpParamsOdata } from './../../mappers/filterMapper';\r\nimport { XtpRuleModel } from 'src/app/models/xtp/xtp-rule-model';\r\nimport { XtpRuleTagModel } from 'src/app/models/xtp/xtp-rule-tag-model';\r\nimport { TacAlertRuleModel } from 'src/app/models/tac/tac-alert-rule-model';\r\nimport { TacAlertActionModel } from 'src/app/models/tac/tac-alert-action-model';\r\nimport { XtpRuleTacAlertRuleUpsertModel } from 'src/app/models/xtp/xtp-rule-tac-rule-upsert-model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XtpService {\r\n constructor(\r\n public http: HttpClient,\r\n @Inject('BASE_URL') public baseUrl: string) {\r\n }\r\n\r\n async get(filter: FilterEntities, severityFilter: number, onlyTestingRules: boolean) {\r\n const testingQuery = 'IsTesting eq true';\r\n var params = mapToHttpParamsOdata(filter);\r\n\r\n if (params.has('$filter') && onlyTestingRules) {\r\n var f = params.get('$filter');\r\n params = params.set('$filter', `${f} and ${testingQuery}`);\r\n }\r\n else if (onlyTestingRules) {\r\n params = params.append('$filter', testingQuery);\r\n }\r\n\r\n if (severityFilter != null) {\r\n params = params.append('severityFilter', severityFilter.toString());\r\n }\r\n\r\n return await this.http.get>(`${this.baseUrl}xtp/get`, { params: params }).toPromise();\r\n }\r\n\r\n async deleteOrRestore(rule: XtpRuleModel) {\r\n var params = new HttpParams()\r\n .append('ruleId', rule.id.toString())\r\n .append('isDeleteAction', rule.isDeleted ? 'false' : 'true');\r\n\r\n return await this.http.put(`${this.baseUrl}xtp/deleteOrRestoreRule`, null, { params: params }).toPromise();\r\n }\r\n\r\n async upsert(upsertModel: XtpRuleTacAlertRuleUpsertModel) {\r\n return await this.http.put(`${this.baseUrl}xtp/upsert`, upsertModel).toPromise();\r\n }\r\n\r\n async getAllTags() {\r\n return await this.http.get(`${this.baseUrl}xtp/getAllTags`).toPromise();\r\n }\r\n\r\n async getTacAlertRuleByXtpRuleId(xtpRuleId: number) {\r\n var params = new HttpParams().append('xtpRuleId', xtpRuleId.toString());\r\n\r\n return await this.http.get(`${this.baseUrl}xtp/getTacAlertRuleByXtpRuleId`, { params: params }).toPromise();\r\n }\r\n\r\n async getXtpTacActions() {\r\n return await this.http.get(`${this.baseUrl}xtp/getXtpTacActions`).toPromise();\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { mapToHttpParams } from '../../mappers/filterMapper';\r\nimport { FilterEntities, PagedResult } from '../../models/common';\r\nimport { ZeroTrustInterceptionModel, ZeroTrustUpdateModel } from '../../models/zero-trust/zero-trust-interception';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ZeroTrustService {\r\n\r\n constructor(public http: HttpClient, @Inject('BASE_URL') public baseUrl: string) { }\r\n\r\n async getAllowedExecutions(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'ZeroTrust/GetAllowedExecutions', { params: params }).toPromise();\r\n }\r\n\r\n async getBlockedExecutions(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'ZeroTrust/GetBlockedExecutions', { params: params }).toPromise();\r\n }\r\n\r\n async getPendingExecutions(filter: FilterEntities) {\r\n var params = mapToHttpParams(filter);\r\n return await this.http.get>(this.baseUrl + 'ZeroTrust/GetPendingExecutions', { params: params }).toPromise();\r\n }\r\n\r\n async setResolution(updateModel: ZeroTrustUpdateModel) {\r\n return await this.http.post(this.baseUrl + 'ZeroTrust/SetResolution', updateModel).toPromise();\r\n }\r\n}\r\n","import { Directive, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nexport type SortDirection = 'asc' | 'desc' | '';\r\nconst rotate: { [key: string]: SortDirection } = { 'asc': 'desc', 'desc': '', '': 'asc' };\r\n\r\nexport interface SortEvent {\r\n column: string;\r\n direction: SortDirection;\r\n}\r\n\r\n@Directive({\r\n selector: 'th[sortable]',\r\n host: {\r\n '[class.asc]': 'direction === \"asc\"',\r\n '[class.desc]': 'direction === \"desc\"',\r\n '(click)': 'rotate()'\r\n }\r\n})\r\n\r\nexport class NgbdSortableHeader {\r\n\r\n @Input() sortable: string;\r\n @Input() direction: SortDirection = '';\r\n @Output() sort = new EventEmitter();\r\n\r\n rotate() {\r\n if (this.sortable != '') {\r\n this.direction = rotate[this.direction];\r\n this.sort.emit({ column: this.sortable, direction: this.direction });\r\n }\r\n }\r\n}\r\n","export default \"#hs-empty-page-message {\\n float: right;\\n font-style: italic;\\n font-family: initial; }\\n\\n.hs-empty-page {\\n margin: auto;\\n padding: 10px;\\n margin-top: 1%; }\\n\\n.hs-blocked {\\n width: 50%;\\n float: left; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL0Q6XFxhXFwxXFxzXFxIZWltZGFsLkJhY2tlbmRcXEhlaW1kYWwuSW1wYWN0RmlsdGVyXFxIZWltZGFsLkNvbnRyb2xQYW5lbFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxzaGFyZWRcXGVtcHR5LXBhZ2UuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBQUd0QjtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IsY0FBYSxFQUFBOztBQUdmO0VBQ0UsVUFBUztFQUNULFdBQVUsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9lbXB0eS1wYWdlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2hzLWVtcHR5LXBhZ2UtbWVzc2FnZSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBmb250LWZhbWlseTogaW5pdGlhbDtcclxufVxyXG5cclxuLmhzLWVtcHR5LXBhZ2Uge1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIG1hcmdpbi10b3A6MSU7XHJcbn1cclxuXHJcbi5ocy1ibG9ja2Vke1xyXG4gIHdpZHRoOjUwJTtcclxuICBmbG9hdDpsZWZ0O1xyXG59XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hs-empty-page',\r\n templateUrl: './empty-page.component.html',\r\n styleUrls: ['./empty-page.component.scss'],\r\n})\r\nexport class EmptyPageComponent {\r\n\r\n}\r\n","export default \".row {\\n margin-top: 1%; }\\n\\n.hs-drop-down {\\n border-radius: 0px;\\n border-left: 0px; }\\n\\n.hs-filter-btn {\\n border-collapse: separate;\\n border-top-left-radius: 0px;\\n border-bottom-left-radius: 0px; }\\n\\n.hs-filter-input {\\n border-collapse: separate;\\n border-top-right-radius: 0px;\\n border-bottom-right-radius: 0px; }\\n\\n.container {\\n display: block;\\n position: relative;\\n padding-left: 35px;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none; }\\n\\n.container input {\\n position: absolute;\\n opacity: 0;\\n cursor: pointer; }\\n\\n.checkmark {\\n position: absolute;\\n top: 0;\\n left: 0;\\n height: 25px;\\n width: 25px;\\n background-color: #eee;\\n border-radius: 50%; }\\n\\n.container:hover input ~ .checkmark {\\n background-color: #ccc; }\\n\\n.container input:checked ~ .checkmark {\\n background-color: #2EAEE4; }\\n\\n.checkmark:after {\\n content: \\\"\\\";\\n position: absolute;\\n display: none; }\\n\\n.container input:checked ~ .checkmark:after {\\n display: block; }\\n\\n.container .checkmark:after {\\n top: 9px;\\n left: 9px;\\n width: 8px;\\n height: 8px;\\n border-radius: 50%;\\n background: white; }\\n\\nh5 {\\n color: #2EAEE4; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2ZpbHRlcnMvRDpcXGFcXDFcXHNcXEhlaW1kYWwuQmFja2VuZFxcSGVpbWRhbC5JbXBhY3RGaWx0ZXJcXEhlaW1kYWwuQ29udHJvbFBhbmVsXFxDbGllbnRBcHAvc3JjXFxhcHBcXHNoYXJlZFxcZmlsdGVyc1xcZ3JpZC1maWx0ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLHlCQUF5QjtFQUN6QiwyQkFBMkI7RUFDM0IsOEJBQThCLEVBQUE7O0FBR2hDO0VBQ0UseUJBQXlCO0VBQ3pCLDRCQUE0QjtFQUM1QiwrQkFBK0IsRUFBQTs7QUFHakM7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixxQkFBcUI7RUFDckIsaUJBQWlCLEVBQUE7O0FBUm5CO0lBV0ksa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixlQUFlLEVBQUE7O0FBSW5CO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsWUFBWTtFQUNaLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixhQUFhLEVBQUE7O0FBR2Y7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsUUFBUTtFQUNSLFNBQVM7RUFDVCxVQUFVO0VBQ1YsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvZmlsdGVycy9ncmlkLWZpbHRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yb3cge1xyXG4gIG1hcmdpbi10b3A6IDElO1xyXG59XHJcblxyXG4uaHMtZHJvcC1kb3duIHtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWxlZnQ6IDBweDtcclxufVxyXG5cclxuLmhzLWZpbHRlci1idG4ge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcclxufVxyXG5cclxuLmhzLWZpbHRlci1pbnB1dCB7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7XHJcbn1cclxuXHJcbi5jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gIGlucHV0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uY2hlY2ttYXJrIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG4gIHdpZHRoOiAyNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG4uY29udGFpbmVyOmhvdmVyIGlucHV0IH4gLmNoZWNrbWFyayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcclxufVxyXG5cclxuLmNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJFQUVFNDtcclxufVxyXG5cclxuLmNoZWNrbWFyazphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyazphZnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5jb250YWluZXIgLmNoZWNrbWFyazphZnRlciB7XHJcbiAgdG9wOiA5cHg7XHJcbiAgbGVmdDogOXB4O1xyXG4gIHdpZHRoOiA4cHg7XHJcbiAgaGVpZ2h0OiA4cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG59XHJcblxyXG5oNSB7XHJcbiAgY29sb3I6ICMyRUFFRTQ7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Input, Output, EventEmitter } from '@angular/core';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { RadioButtonFilter, RadioButtonFilterContent } from '../../models/common';\r\n\r\n@Component({\r\n selector: 'grid-filter',\r\n templateUrl: './grid-filter.component.html',\r\n styleUrls: ['./grid-filter.component.scss'],\r\n})\r\nexport class GridFilterComponent implements OnInit {\r\n\r\n @Input() columns: any[] = [];\r\n @Input() radioButtonFilter: RadioButtonFilter;\r\n @Input() hasRadioButtonFilter: boolean = false;\r\n @Output() sendFilterEvent = new EventEmitter();\r\n @Output() onCheckedFilterChanged = new EventEmitter();\r\n\r\n public categories: string[];\r\n public filterByValue: string;\r\n public selectedColumn: any;\r\n\r\n ngOnInit() {\r\n var filteredColumns = this.columns.filter(x => x.filter == true);\r\n this.categories = filteredColumns.map(x => x.label);\r\n this.selectedColumn = this.categories[0];\r\n }\r\n\r\n filterByColumn() {\r\n var selected = this.columns.filter(x => x.label == this.selectedColumn).map(y => y.value);\r\n if (isNullOrUndefined(this.filterByValue) || this.filterByValue === '') {\r\n selected = [];\r\n }\r\n\r\n this.sendFilterEvent.emit({ filterByColumn: selected, filterByValue: this.filterByValue });\r\n }\r\n\r\n filter(item: RadioButtonFilterContent) {\r\n var value = item.value.toString();\r\n var column = this.radioButtonFilter.column;\r\n\r\n if(item.value < 0)\r\n {\r\n column = '';\r\n value = '';\r\n }\r\n\r\n this.onCheckedFilterChanged.emit({ secondFilterByColumn: column, secondFilterByValue: value });\r\n }\r\n}\r\n","export * from './directives/hs-sort-directive';\r\nexport * from './filters/grid-filter.component';\r\nexport * from './empty-page.component';\r\n","export default \".hs-form-group {\\r\\n display: inline-block;\\r\\n width: 80%;\\r\\n margin-left: 10%;\\r\\n margin-right: 10%;\\r\\n margin-top: 2%;\\r\\n}\\r\\n\\r\\n.hs-btn-action {\\r\\n width: 10rem;\\r\\n}\\r\\n\\r\\n.badge {\\r\\n background-color: #0b1a65;\\r\\n color: white;\\r\\n padding: 4px 8px;\\r\\n text-align: center;\\r\\n border-radius: 5px;\\r\\n}\\r\\n\\r\\n.btn-size {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.form-control.ng-select {\\r\\n border: none;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAveHRwL3h0cC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UscUJBQXFCO0VBQ3JCLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFlBQVk7RUFDWixVQUFVO0FBQ1oiLCJmaWxlIjoic3JjL2FwcC94dHAveHRwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaHMtZm9ybS1ncm91cCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IDEwJTtcclxuICBtYXJnaW4tcmlnaHQ6IDEwJTtcclxuICBtYXJnaW4tdG9wOiAyJTtcclxufVxyXG5cclxuLmhzLWJ0bi1hY3Rpb24ge1xyXG4gIHdpZHRoOiAxMHJlbTtcclxufVxyXG5cclxuLmJhZGdlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGIxYTY1O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBwYWRkaW5nOiA0cHggOHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuXHJcbi5idG4tc2l6ZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZm9ybS1jb250cm9sLm5nLXNlbGVjdCB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../common/common.component';\r\nimport { AuthenticationService } from '../services';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { getFilterFromGrid } from '../mappers/filterMapper';\r\nimport { XtpRuleModel } from '../models/xtp/xtp-rule-model';\r\nimport { XtpRuleLevelEnum } from '../models/xtp/enums';\r\nimport { XtpService } from '../services/xtp/xtp.service';\r\nimport { PagedResult, RadioButtonFilter } from '../models/common';\r\nimport { SortEvent } from '../shared';\r\nimport { XtpRuleTagModel } from '../models/xtp/xtp-rule-tag-model';\r\nimport { XtpRuleQueryModel } from '../models/xtp/xtp-rule-query-model';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TacAlertRuleModel } from '../models/tac/tac-alert-rule-model';\r\nimport { TacAlertActionModel } from '../models/tac/tac-alert-action-model';\r\nimport { TacAlertActionType } from '../models/tac/enums';\r\nimport { XtpRuleTacAlertRuleUpsertModel } from '../models/xtp/xtp-rule-tac-rule-upsert-model';\r\nimport { TacAlertRuleActionModel } from '../models/tac/tac-alert-rule-action-model';\r\n\r\ndeclare var $: any;\r\n\r\nconst columns: any[] = [\r\n { value: 'Title', label: 'Title', filter: true, sort: true, width: { 'width': '25%' } },\r\n { value: 'Description', label: 'Description', filter: false, sort: false, width: { 'width': '20%' } },\r\n { value: 'Author', label: 'Author', filter: true, sort: true, width: { 'width': '10%' } },\r\n { value: 'Level', label: 'Severity', filter: false, sort: true, width: { 'width': '10%' } },\r\n { value: 'Categories', label: 'Categories', filter: false, sort: false, width: { 'width': '25%' } },\r\n { value: 'IsDeleted', label: 'Actions', filter: false, sort: true, width: { 'width': '10%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-xtp',\r\n templateUrl: './xtp.component.html',\r\n styleUrls: ['./xtp.component.css']\r\n})\r\n\r\nexport class XtpComponent extends BaseComponent implements OnInit {\r\n private xtpModel: XtpRuleModel;\r\n private selectedFilter: number = null;\r\n private isUpdateAction: boolean = false;\r\n\r\n formGroup: FormGroup;\r\n isTesting: boolean = false;\r\n tagsCache: XtpRuleTagModel[] = [];\r\n onlyTestingRules: boolean = false;\r\n modalTitle: string = \"Create rule\";\r\n xtpRuleLevelEnum = XtpRuleLevelEnum;\r\n tacAlertRuleModel: TacAlertRuleModel;\r\n selectedTags: XtpRuleTagModel[] = [];\r\n xtpTacActions: TacAlertActionModel[] = [];\r\n selectedActions: TacAlertActionModel[] = [];\r\n radioButtonFilter: RadioButtonFilter = new RadioButtonFilter();\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n get queries() { return this.formControls['queries'] as FormArray; }\r\n\r\n constructor(\r\n public service: XtpService,\r\n public authService: AuthenticationService,\r\n private formBuilder: FormBuilder,\r\n private toastrService: ToastrService) {\r\n\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formGroup = this.formBuilder.group({\r\n title: ['', Validators.required],\r\n description: ['', Validators.required],\r\n author: ['', Validators.required],\r\n level: [this.xtpRuleLevelEnum[XtpRuleLevelEnum.All], Validators.required],\r\n queries: this.formBuilder.array([])\r\n });\r\n\r\n this.addFilters();\r\n }\r\n\r\n refreshRows(): void {\r\n this.grid.loaded = false;\r\n this.modalTitle = \"Create rule\";\r\n let promises: Promise[] = [];\r\n let filter = getFilterFromGrid(this.grid);\r\n\r\n if (this.tagsCache.length == 0 || this.xtpTacActions.length == 0) {\r\n promises.push(this.service.getAllTags(), this.service.getXtpTacActions());\r\n }\r\n\r\n promises.push(this.service.get(filter, this.selectedFilter, this.onlyTestingRules));\r\n\r\n Promise.all(promises).then(values => {\r\n if (values.length > 1) {\r\n this.tagsCache = values[0];\r\n this.xtpTacActions = values[1];\r\n }\r\n\r\n let result: PagedResult = values[values.length - 1];\r\n\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n\r\n for (var tag of this.tagsCache) {\r\n if (tag.id !== 0) {\r\n break;\r\n }\r\n\r\n var associatedWrapper = this.grid.data\r\n .map(rw => rw.tagWrappers)\r\n .reduce((acc, value) => acc.concat(value, []))\r\n .find(tw => tw.tag.toLowerCase() == tag.tag.toLowerCase());\r\n\r\n if (associatedWrapper) {\r\n tag.id = associatedWrapper.id;\r\n tag.timestamp = associatedWrapper.timestamp;\r\n }\r\n }\r\n });\r\n }\r\n\r\n addQuery(): void {\r\n this.queries.push(this.formBuilder.group({ query: ['', Validators.required] }));\r\n }\r\n\r\n removeQuery(queryIndex: number): void {\r\n if (queryIndex >= 0) {\r\n this.queries.removeAt(queryIndex);\r\n }\r\n }\r\n\r\n createNewTag(tag: string): XtpRuleTagModel {\r\n let newTag = new XtpRuleTagModel();\r\n newTag.tag = tag;\r\n return newTag;\r\n }\r\n\r\n onPageChange(pageNumber: number): void {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }): void {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onStatusFilterChanged({ secondFilterByColumn, secondFilterByValue }): void {\r\n if (secondFilterByValue) {\r\n this.selectedFilter = Number(secondFilterByValue);\r\n } else {\r\n this.selectedFilter = null;\r\n }\r\n\r\n this.onRadioFilterChanged({ secondFilterByColumn, secondFilterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n toggleOpenModal(model: XtpRuleModel): void {\r\n this.queries.clear();\r\n this.isUpdateAction = model != null;\r\n this.selectedTags = [];\r\n this.selectedActions = [];\r\n\r\n if (this.isUpdateAction) {\r\n this.selectedTags = model.tagWrappers;\r\n\r\n model.queryWrappers.forEach(qw => {\r\n this.queries.push(this.formBuilder.group({ query: [qw.query, Validators.required] }));\r\n });\r\n\r\n this.formGroup.patchValue({\r\n title: model.title,\r\n description: model.description,\r\n author: model.author,\r\n level: this.xtpRuleLevelEnum[model.level]\r\n });\r\n\r\n this.xtpModel = model;\r\n this.modalTitle = model.title;\r\n this.isTesting = model.isTesting;\r\n\r\n this.service.getTacAlertRuleByXtpRuleId(model.id).then(tacRule => {\r\n this.tacAlertRuleModel = tacRule;\r\n this.selectedActions = tacRule?.tacAlertRuleActionWrappers?.map(raw => raw.tacAlertActionWrapper) ?? [];\r\n\r\n $('#ruleModal').modal('show');\r\n });\r\n\r\n } else {\r\n this.xtpModel = null;\r\n this.isTesting = false;\r\n this.tacAlertRuleModel = null;\r\n\r\n this.formGroup.reset();\r\n this.queries.push(this.formBuilder.group({ query: ['', Validators.required] }));\r\n\r\n $('#ruleModal').modal('show');\r\n }\r\n }\r\n\r\n onSort(ev: SortEvent): void {\r\n this.onSortChanged(ev);\r\n this.refreshRows();\r\n }\r\n\r\n save(): void {\r\n let upsertModel = this.extractUpsertModel();\r\n let title = this.isUpdateAction ? 'Update rule' : 'Create rule';\r\n\r\n this.service.upsert(upsertModel).then(success => {\r\n if (success) {\r\n this.toastrService.success(title, `Success`);\r\n for (var selectedTag of this.selectedTags) {\r\n if (selectedTag.id === 0) {\r\n this.tagsCache.unshift(selectedTag);\r\n }\r\n }\r\n } else {\r\n this.toastrService.error(title, `Something went wrong`);\r\n }\r\n\r\n document.getElementById('closeModalButton').click();\r\n }).catch(reason => {\r\n this.toastrService.error(title, `Something went wrong! ${reason}`);\r\n });\r\n }\r\n\r\n deleteOrRestore(rule: XtpRuleModel): void {\r\n let title = rule.isDeleted ? 'Restore rule' : 'Delete rule';\r\n\r\n this.service.deleteOrRestore(rule).then(saved => {\r\n if (saved) {\r\n rule.isDeleted = !rule.isDeleted;\r\n this.toastrService.success(title, `Rule updated`);\r\n }\r\n }).catch(reason => {\r\n if (reason) {\r\n this.toastrService.error(title, `Something went wrong! ${reason}`);\r\n }\r\n });\r\n }\r\n\r\n levelKeys(): Array {\r\n let keys = Object.keys(XtpRuleLevelEnum);\r\n return keys.filter(k => Number(k) >= 0).map(k => XtpRuleLevelEnum[k]);\r\n }\r\n\r\n addFilters(): void {\r\n this.radioButtonFilter.column = 'Severity';\r\n\r\n for (let n in XtpRuleLevelEnum) {\r\n if (typeof XtpRuleLevelEnum[n] === 'number') {\r\n this.radioButtonFilter.content.push({\r\n value: Number(XtpRuleLevelEnum[n]),\r\n label: n,\r\n checked: n == XtpRuleLevelEnum[XtpRuleLevelEnum.All]\r\n });\r\n }\r\n }\r\n }\r\n\r\n private cloneXtpRule(rule: XtpRuleModel): XtpRuleModel {\r\n let clone = new XtpRuleModel();\r\n if (rule == null) {\r\n return clone;\r\n }\r\n\r\n clone.id = rule.id;\r\n clone.title = rule.title;\r\n clone.description = rule.description;\r\n clone.author = rule.author;\r\n clone.level = rule.level;\r\n clone.timestamp = rule.timestamp;\r\n clone.lastModifiedDate = rule.lastModifiedDate;\r\n clone.isDeleted = rule.isDeleted;\r\n clone.internalId = rule.internalId;\r\n clone.isTesting = rule.isTesting;\r\n\r\n return clone;\r\n }\r\n\r\n private cloneTacRule(rule: TacAlertRuleModel): TacAlertRuleModel {\r\n let clone = new TacAlertRuleModel();\r\n if (rule == null) {\r\n return clone;\r\n }\r\n\r\n clone.id = rule.id;\r\n clone.title = rule.title;\r\n clone.description = rule.description;\r\n clone.level = rule.level;\r\n clone.timestamp = rule.timestamp;\r\n clone.isDeleted = rule.isDeleted;\r\n clone.parameters = rule.parameters;\r\n clone.expression = rule.expression;\r\n\r\n return clone;\r\n }\r\n\r\n private extractUpsertModel(): XtpRuleTacAlertRuleUpsertModel {\r\n let xtpModel: XtpRuleModel = this.cloneXtpRule(this.xtpModel);\r\n let tacModel: TacAlertRuleModel = this.cloneTacRule(this.tacAlertRuleModel);\r\n\r\n xtpModel.isDeleted = false;\r\n xtpModel.isTesting = this.isTesting;\r\n xtpModel.tagWrappers = this.selectedTags;\r\n xtpModel.title = this.formControls.title.value.trim();\r\n xtpModel.author = this.formControls.author.value.trim();\r\n xtpModel.description = this.formControls.description.value.trim();\r\n xtpModel.level = XtpRuleLevelEnum[this.formControls.level.value as string];\r\n\r\n this.queries.value.forEach((queryGroup: any, index: number) => {\r\n let queryWrapper = new XtpRuleQueryModel();\r\n\r\n queryWrapper.id = 0;\r\n queryWrapper.priority = index;\r\n queryWrapper.query = queryGroup.query.trim();\r\n queryWrapper.threatEngineRuleWrapperId = xtpModel.id;\r\n\r\n xtpModel.queryWrappers.push(queryWrapper);\r\n });\r\n\r\n if (this.isUpdateAction == false) {\r\n xtpModel.internalId = -1;\r\n }\r\n\r\n let index = this.selectedActions.findIndex(action => action.actionType === TacAlertActionType.MarkAsResolved);\r\n if (index >= 0) {\r\n let removed = this.selectedActions.splice(index, 1)[0];\r\n this.selectedActions.push(removed);\r\n } else {\r\n this.selectedActions.push(this.xtpTacActions.find(ta => ta.actionType === TacAlertActionType.MarkAsResolved));\r\n }\r\n\r\n tacModel.tacAlertRuleActionWrappers = this.selectedActions.map((action, index) => {\r\n var ruleActionModel = new TacAlertRuleActionModel();\r\n\r\n ruleActionModel.priority = index;\r\n ruleActionModel.tacAlertActionId = action.id;\r\n ruleActionModel.tacAlertRuleId = tacModel.id;\r\n\r\n return ruleActionModel;\r\n });\r\n\r\n tacModel.parameters = 'Id';\r\n tacModel.title = xtpModel.title;\r\n tacModel.level = xtpModel.level;\r\n tacModel.isDeleted = xtpModel.isDeleted;\r\n tacModel.description = xtpModel.description;\r\n tacModel.timestamp = xtpModel.timestamp;\r\n\r\n return new XtpRuleTacAlertRuleUpsertModel(xtpModel, tacModel);\r\n }\r\n}\r\n","export * from './zero-trust-pending/zero-trust-pending.component';\r\nexport * from './zero-trust-allowed/zero-trust-allowed.component';\r\nexport * from './zero-trust-blocked/zero-trust-blocked.component';\r\nexport * from './zero-trust-add/zero-trust-add.component';\r\n","export default \".hs-form-group {\\n display: inline-block;\\n width: 60%;\\n margin-left: 15%;\\n margin-top: 2%; }\\n\\n.hs-btn-action {\\n width: 20%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvemVyby10cnVzdC96ZXJvLXRydXN0LWFkZC9EOlxcYVxcMVxcc1xcSGVpbWRhbC5CYWNrZW5kXFxIZWltZGFsLkltcGFjdEZpbHRlclxcSGVpbWRhbC5Db250cm9sUGFuZWxcXENsaWVudEFwcC9zcmNcXGFwcFxcemVyby10cnVzdFxcemVyby10cnVzdC1hZGRcXHplcm8tdHJ1c3QtYWRkLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UscUJBQXFCO0VBQ3JCLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBOztBQUdoQjtFQUNFLFVBQVUsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3plcm8tdHJ1c3QvemVyby10cnVzdC1hZGQvemVyby10cnVzdC1hZGQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaHMtZm9ybS1ncm91cCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiA2MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IDE1JTtcclxuICBtYXJnaW4tdG9wOiAyJTtcclxufVxyXG5cclxuLmhzLWJ0bi1hY3Rpb24ge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { isNullOrUndefined } from 'util';\r\nimport { ZTStatus, ZTThreatType } from '../../models/zero-trust/enums';\r\nimport { ZeroTrustUpdateModel } from '../../models/zero-trust/zero-trust-interception';\r\nimport { ZeroTrustThreatType } from '../../models/zero-trust/zero-trust-threat-type';\r\nimport { ZeroTrustService } from '../../services';\r\n\r\n@Component({\r\n selector: 'app-zero-trust-add',\r\n templateUrl: './zero-trust-add.component.html',\r\n styleUrls: ['./zero-trust-add.component.scss']\r\n})\r\nexport class ZeroTrustAddComponent implements OnInit {\r\n formGroup: FormGroup;\r\n zeroStatusActionEnum = ZTStatus;\r\n threatTypes: ZeroTrustThreatType[];\r\n showError = false;\r\n showConfirmation = false;\r\n\r\n constructor(public service: ZeroTrustService, private formBuilder: FormBuilder, private modalService: NgbModal) { }\r\n\r\n ngOnInit(): void {\r\n this.populateThreatType();\r\n\r\n this.formGroup = this.formBuilder.group({\r\n hash: ['', Validators.required],\r\n fileName: [''],\r\n description: [''],\r\n threatType: []\r\n });\r\n }\r\n\r\n get formControls() { return this.formGroup.controls; }\r\n\r\n populateThreatType() {\r\n let legitType = new ZeroTrustThreatType();\r\n legitType.type = ZTThreatType.Legit;\r\n legitType.name = \"Legit\"\r\n\r\n let malware = new ZeroTrustThreatType();\r\n malware.type = ZTThreatType.Malware;\r\n malware.name = \"Malware\";\r\n\r\n let ransomware = new ZeroTrustThreatType();\r\n ransomware.type = ZTThreatType.Ransomware;\r\n ransomware.name = \"Ransomware\";\r\n\r\n let unknown = new ZeroTrustThreatType();\r\n unknown.type = ZTThreatType.Unknown;\r\n unknown.name = \"Unknown\";\r\n\r\n let virus = new ZeroTrustThreatType();\r\n virus.type = ZTThreatType.Virus;\r\n virus.name = \"Virus\";\r\n\r\n this.threatTypes = [\r\n legitType,\r\n malware,\r\n ransomware,\r\n unknown,\r\n virus\r\n ];\r\n }\r\n\r\n createEntry(status) {\r\n this.showError = false;\r\n\r\n let model: ZeroTrustUpdateModel = new ZeroTrustUpdateModel();\r\n\r\n model.status = status;\r\n model.hash = this.formControls.hash.value ?? \"\";\r\n model.fileName = this.formControls.fileName.value ?? \"\";\r\n model.description = this.formControls.description.value ?? \"\";\r\n model.threatType = this.formControls.threatType.value;\r\n\r\n if (isNullOrUndefined(model.hash) || model.hash == '') {\r\n this.showError = true;\r\n return false;\r\n }\r\n\r\n if (model.threatType == null) {\r\n return false\r\n }\r\n\r\n this.service.setResolution(model).then(result => {\r\n this.formGroup.reset();\r\n this.showConfirmation = true;\r\n\r\n setTimeout(() => {\r\n this.showConfirmation = false;\r\n }, 3000);\r\n }).catch(error => {\r\n this.showError = true;\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3plcm8tdHJ1c3QvemVyby10cnVzdC1hbGxvd2VkL3plcm8tdHJ1c3QtYWxsb3dlZC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../../common/common.component';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\nimport { RadioButtonFilter } from '../../models/common';\r\nimport { ZTStatus, ZTThreatType } from '../../models/zero-trust/enums';\r\nimport { ZeroTrustInterceptionModel } from '../../models/zero-trust/zero-trust-interception';\r\nimport { ZeroTrustThreatType } from '../../models/zero-trust/zero-trust-threat-type';\r\nimport { AuthenticationService, ZeroTrustService } from '../../services';\r\n\r\nconst columns: any[] = [\r\n { value: 'hash', label: 'MD5 Hash', filter: true, sort: false, width: { 'width': '30%' } },\r\n { value: 'fileName', label: 'File name', filter: true, sort: false, width: { 'width': '15%' } },\r\n { value: 'threatType', label: 'Threat type', filter: true, sort: false, width: { 'width': '10%' } },\r\n { value: 'description', label: 'Description', filter: true, sort: false, width: { 'width': '30%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-zero-trust-allowed', \r\n templateUrl: './zero-trust-allowed.component.html',\r\n styleUrls: ['./zero-trust-allowed.component.scss']\r\n})\r\nexport class ZeroTrustAllowedComponent extends BaseComponent implements OnInit {\r\n zeroStatusActionEnum = ZTStatus;\r\n loadingAction: boolean = false;\r\n radioButtonFilter: RadioButtonFilter = new RadioButtonFilter();\r\n threatTypes: ZeroTrustThreatType[];\r\n\r\n private timeoutForEdit: any;\r\n\r\n constructor(public service: ZeroTrustService, public authService: AuthenticationService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.populateThreatType();\r\n }\r\n\r\n populateThreatType() {\r\n let legitType = new ZeroTrustThreatType();\r\n legitType.type = ZTThreatType.Legit;\r\n legitType.name = \"Legit\"\r\n\r\n let malware = new ZeroTrustThreatType();\r\n malware.type = ZTThreatType.Malware;\r\n malware.name = \"Malware\";\r\n\r\n let ransomware = new ZeroTrustThreatType();\r\n ransomware.type = ZTThreatType.Ransomware;\r\n ransomware.name = \"Ransomware\";\r\n\r\n let unknown = new ZeroTrustThreatType();\r\n unknown.type = ZTThreatType.Unknown;\r\n unknown.name = \"Unknown\";\r\n\r\n let virus = new ZeroTrustThreatType();\r\n virus.type = ZTThreatType.Virus;\r\n virus.name = \"Virus\";\r\n\r\n this.threatTypes = [\r\n legitType,\r\n malware,\r\n ransomware,\r\n unknown,\r\n virus\r\n ];\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n this.service.getAllowedExecutions(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n });\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onStatusFilterChanged({ secondFilterByColumn, secondFilterByValue }) {\r\n this.onRadioFilterChanged({ secondFilterByColumn, secondFilterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n setLoadingAndRefresh() {\r\n this.refreshRows();\r\n this.loadingAction = false;\r\n }\r\n\r\n onRejectAction(item) {\r\n this.loadingAction = true;\r\n\r\n item.status = ZTStatus.Blocked;\r\n\r\n this.service.setResolution(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n\r\n onStatusChanged(item) {\r\n clearTimeout(this.timeoutForEdit);\r\n\r\n this.timeoutForEdit = setTimeout(() => {\r\n this.service.setResolution(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }, 3000);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3plcm8tdHJ1c3QvemVyby10cnVzdC1ibG9ja2VkL3plcm8tdHJ1c3QtYmxvY2tlZC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../../common/common.component';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\nimport { RadioButtonFilter } from '../../models/common';\r\nimport { ZTStatus, ZTThreatType } from '../../models/zero-trust/enums';\r\nimport { ZeroTrustInterceptionModel } from '../../models/zero-trust/zero-trust-interception';\r\nimport { ZeroTrustThreatType } from '../../models/zero-trust/zero-trust-threat-type';\r\nimport { AuthenticationService, ZeroTrustService } from '../../services';\r\n\r\nconst columns: any[] = [\r\n { value: 'hash', label: 'MD5 Hash', filter: true, sort: false, width: { 'width': '30%' } },\r\n { value: 'fileName', label: 'File name', filter: true, sort: false, width: { 'width': '15%' } },\r\n { value: 'threatType', label: 'Threat type', filter: true, sort: false, width: { 'width': '10%' } },\r\n { value: 'description', label: 'Description', filter: true, sort: false, width: { 'width': '30%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-zero-trust-blocked',\r\n templateUrl: './zero-trust-blocked.component.html',\r\n styleUrls: ['./zero-trust-blocked.component.scss']\r\n})\r\nexport class ZeroTrustBlockedComponent extends BaseComponent implements OnInit {\r\n zeroStatusActionEnum = ZTStatus;\r\n loadingAction: boolean = false;\r\n radioButtonFilter: RadioButtonFilter = new RadioButtonFilter();\r\n threatTypes: ZeroTrustThreatType[];\r\n\r\n private timeoutForEdit: any;\r\n\r\n constructor(public service: ZeroTrustService, public authService: AuthenticationService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.populateThreatType();\r\n }\r\n\r\n populateThreatType() {\r\n let legitType = new ZeroTrustThreatType();\r\n legitType.type = ZTThreatType.Legit;\r\n legitType.name = \"Legit\"\r\n\r\n let malware = new ZeroTrustThreatType();\r\n malware.type = ZTThreatType.Malware;\r\n malware.name = \"Malware\";\r\n\r\n let ransomware = new ZeroTrustThreatType();\r\n ransomware.type = ZTThreatType.Ransomware;\r\n ransomware.name = \"Ransomware\";\r\n\r\n let unknown = new ZeroTrustThreatType();\r\n unknown.type = ZTThreatType.Unknown;\r\n unknown.name = \"Unknown\";\r\n\r\n let virus = new ZeroTrustThreatType();\r\n virus.type = ZTThreatType.Virus;\r\n virus.name = \"Virus\";\r\n\r\n this.threatTypes = [\r\n legitType,\r\n malware,\r\n ransomware,\r\n unknown,\r\n virus\r\n ];\r\n }\r\n\r\n onStatusChanged(item) {\r\n clearTimeout(this.timeoutForEdit);\r\n\r\n this.timeoutForEdit = setTimeout(() => {\r\n this.service.setResolution(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }, 3000);\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n this.service.getBlockedExecutions(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n });\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onStatusFilterChanged({ secondFilterByColumn, secondFilterByValue }) {\r\n this.onRadioFilterChanged({ secondFilterByColumn, secondFilterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n setLoadingAndRefresh() {\r\n this.refreshRows();\r\n this.loadingAction = false;\r\n }\r\n\r\n onApproveAction(item) {\r\n this.loadingAction = true;\r\n\r\n item.status = ZTStatus.Allowed;\r\n\r\n this.service.setResolution(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3plcm8tdHJ1c3QvemVyby10cnVzdC1wZW5kaW5nL3plcm8tdHJ1c3QtcGVuZGluZy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../../common/common.component';\r\nimport { getFilterFromGrid } from '../../mappers/filterMapper';\r\nimport { RadioButtonFilter } from '../../models/common';\r\nimport { ZTStatus, ZTThreatType } from '../../models/zero-trust/enums';\r\nimport { ZeroTrustInterceptionModel, ZeroTrustUpdateModel } from '../../models/zero-trust/zero-trust-interception';\r\nimport { ZeroTrustThreatType } from '../../models/zero-trust/zero-trust-threat-type';\r\nimport { AuthenticationService } from '../../services';\r\nimport { ZeroTrustService } from '../../services/zero-trust/zero-trust.service';\r\n\r\nconst columns: any[] = [\r\n { value: 'hash', label: 'MD5 Hash', filter: true, sort: false, width: { 'width': '30%' } },\r\n { value: 'fileName', label: 'File name', filter: true, sort: false, width: { 'width': '15%' } },\r\n { value: 'threatType', label: 'Threat type', filter: true, sort: false, width: { 'width': '10%' } },\r\n { value: 'description', label: 'Description', filter: true, sort: false, width: { 'width': '30%' } },\r\n { value: 'actions', label: 'Actions', filter: false, sort: false, width: { 'width': '15%' } }\r\n];\r\n\r\n@Component({\r\n selector: 'app-zero-trust-pending',\r\n templateUrl: './zero-trust-pending.component.html',\r\n styleUrls: ['./zero-trust-pending.component.scss']\r\n})\r\n\r\nexport class ZeroTrustPendingComponent extends BaseComponent implements OnInit {\r\n zeroStatusActionEnum = ZTStatus;\r\n loadingAction: boolean = false;\r\n radioButtonFilter: RadioButtonFilter = new RadioButtonFilter();\r\n threatTypes: ZeroTrustThreatType[];\r\n\r\n private timeoutForEdit: any;\r\n\r\n constructor(public service: ZeroTrustService, public authService: AuthenticationService) {\r\n super(authService, columns);\r\n this.refreshRows();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.populateThreatType();\r\n }\r\n\r\n populateThreatType() {\r\n let legitType = new ZeroTrustThreatType();\r\n legitType.type = ZTThreatType.Legit;\r\n legitType.name = \"Legit\"\r\n\r\n let malware = new ZeroTrustThreatType();\r\n malware.type = ZTThreatType.Malware;\r\n malware.name = \"Malware\";\r\n\r\n let ransomware = new ZeroTrustThreatType();\r\n ransomware.type = ZTThreatType.Ransomware;\r\n ransomware.name = \"Ransomware\";\r\n\r\n let unknown = new ZeroTrustThreatType();\r\n unknown.type = ZTThreatType.Unknown;\r\n unknown.name = \"Unknown\";\r\n\r\n let virus = new ZeroTrustThreatType();\r\n virus.type = ZTThreatType.Virus;\r\n virus.name = \"Virus\";\r\n\r\n this.threatTypes = [\r\n legitType,\r\n malware,\r\n ransomware,\r\n unknown,\r\n virus\r\n ];\r\n }\r\n\r\n refreshRows() {\r\n var params = getFilterFromGrid(this.grid);\r\n this.grid.loaded = false;\r\n this.service.getPendingExecutions(params).then(result => {\r\n this.grid.data = result.items;\r\n this.grid.pagination.totalItems = result.count;\r\n this.grid.loaded = true;\r\n });\r\n }\r\n\r\n onPageChange(pageNumber) {\r\n this.onPageChanged(pageNumber);\r\n this.refreshRows();\r\n }\r\n\r\n onSort({ column, direction }) {\r\n this.onSortChanged({ column, direction });\r\n this.refreshRows();\r\n }\r\n\r\n setLoadingAndRefresh() {\r\n this.refreshRows();\r\n this.loadingAction = false;\r\n }\r\n\r\n onStatusChanged(item) {\r\n clearTimeout(this.timeoutForEdit);\r\n\r\n this.timeoutForEdit = setTimeout(() => {\r\n this.service.setResolution(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }, 3000);\r\n }\r\n\r\n setFilterEvent({ filterByColumn, filterByValue }) {\r\n this.onTextFilterChanged({ filterByColumn, filterByValue });\r\n this.refreshRows();\r\n }\r\n\r\n onApproveAction(item) {\r\n this.loadingAction = true;\r\n\r\n item.status = ZTStatus.Allowed;\r\n\r\n this.service.setResolution(item ).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n\r\n onRejectAction(item) {\r\n this.loadingAction = true;\r\n\r\n item.status = ZTStatus.Blocked;\r\n\r\n this.service.setResolution(item).then(result => {\r\n this.setLoadingAndRefresh();\r\n }).catch(error => {\r\n this.setLoadingAndRefresh();\r\n });\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///"}