{"version":3,"sources":["webpack:///src/app/app-discovery/app-discovery.component.html","webpack:///src/app/app-impact-filter/app-impact-filter-add/app-impact-filter-add.component.html","webpack:///src/app/app-impact-filter/app-impact-filter-allowed/app-impact-filter-allowed.component.html","webpack:///src/app/app-impact-filter/app-impact-filter-pending/app-impact-filter-pending.component.html","webpack:///src/app/app.component.html","webpack:///src/app/dnsnext/access-rule/dnsnext-access-rule.component.html","webpack:///src/app/dnsnext/dnsnext.component.html","webpack:///src/app/dnsnext/infected-domains/add-new/dnsnext-infected-domains-add-new.component.html","webpack:///src/app/dnsnext/infected-domains/all-pending/dnsnext-infected-domains-all-pending.component.html","webpack:///src/app/dnsnext/infected-domains/dnsnext-infected-domains.component.html","webpack:///src/app/dnsnext/wb-domains/add-new/dnsnext-wb-domains-add-new.component.html","webpack:///src/app/dnsnext/wb-domains/all-pending/dnsnext-wb-domains-all-pending.component.html","webpack:///src/app/dnsnext/wb-domains/dnsnext-wb-domains.component.html","webpack:///src/app/footer/footer.component.html","webpack:///src/app/global-exclusions/global-exclusions.component.html","webpack:///src/app/home/home.component.html","webpack:///src/app/impact-filter/all/impact-filter.component.html","webpack:///src/app/impact-filter/impact-filter-settings.component.html","webpack:///src/app/impact-filter/pending-requests/impact-filter-pending.component.html","webpack:///src/app/login/login.component.html","webpack:///src/app/modals/dnsnext/dnsnext-csis-customer-finder-modal.html","webpack:///src/app/modals/dnsnext/dnsnext-rule-delete-modal.html","webpack:///src/app/nav-menu/nav-menu.component.html","webpack:///src/app/shared/empty-page.component.html","webpack:///src/app/shared/filters/grid-filter.component.html","webpack:///src/app/xtp/xtp.component.html","webpack:///src/app/zero-trust/zero-trust-add/zero-trust-add.component.html","webpack:///src/app/zero-trust/zero-trust-allowed/zero-trust-allowed.component.html","webpack:///src/app/zero-trust/zero-trust-blocked/zero-trust-blocked.component.html","webpack:///src/app/zero-trust/zero-trust-pending/zero-trust-pending.component.html","webpack:///src/$_lazy_route_resource lazy namespace object","webpack:///src/app/app-discovery/app-discovery.component.scss","webpack:///src/app/app-discovery/app-discovery.component.ts","webpack:///src/app/app-discovery/enums.ts","webpack:///src/app/app-impact-filter/app-impact-filter-add/app-impact-filter-add.component.ts","webpack:///src/app/app-impact-filter/app-impact-filter-allowed/app-impact-filter-allowed.component.ts","webpack:///src/app/app-impact-filter/app-impact-filter-pending/app-impact-filter-pending.component.ts","webpack:///src/app/app.component.scss","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/app.routing.ts","webpack:///src/app/common/common.component.ts","webpack:///src/app/dnsnext/access-rule/dnsnext-access-rule.component.ts","webpack:///src/app/dnsnext/dnsnext.component.scss","webpack:///src/app/dnsnext/dnsnext.component.ts","webpack:///src/app/dnsnext/infected-domains/add-new/dnsnext-infected-domains-add-new.component.ts","webpack:///src/app/dnsnext/infected-domains/all-pending/dnsnext-infected-domains-all-pending.component.ts","webpack:///src/app/dnsnext/infected-domains/dnsnext-infected-domains.component.ts","webpack:///src/app/dnsnext/wb-domains/add-new/dnsnext-wb-domains-add-new.component.ts","webpack:///src/app/dnsnext/wb-domains/all-pending/dnsnext-wb-domains-all-pending.component.ts","webpack:///src/app/dnsnext/wb-domains/dnsnext-wb-domains.component.ts","webpack:///src/app/footer/footer.component.scss","webpack:///src/app/footer/footer.component.ts","webpack:///src/app/form-validators/dnsnext-form-validators.ts","webpack:///src/app/global-exclusions/global-exclusions.component.scss","webpack:///src/app/global-exclusions/global-exclusions.component.ts","webpack:///src/app/helpers/auth.guard.ts","webpack:///src/app/helpers/error.interceptor.ts","webpack:///src/app/helpers/jwt.interceptor.ts","webpack:///src/app/home/home.component.ts","webpack:///src/app/impact-filter/all/impact-filter.component.ts","webpack:///src/app/impact-filter/impact-filter-settings.component.scss","webpack:///src/app/impact-filter/impact-filter-settings.component.ts","webpack:///src/app/impact-filter/pending-requests/impact-filter-pending.component.scss","webpack:///src/app/impact-filter/pending-requests/impact-filter-pending.component.ts","webpack:///src/app/login/login.component.scss","webpack:///src/app/login/login.component.ts","webpack:///src/app/mappers/filterMapper.ts","webpack:///src/app/modals/dnsnext/dnsnext-csis-customer-finder-modal.ts","webpack:///src/app/modals/dnsnext/dnsnext-rule-delete-modal.ts","webpack:///src/app/modals/modal-base.component.ts","webpack:///src/app/models/app-discovery/app-discovery-model.ts","webpack:///src/app/models/app-impact-filter/app-impact-filter.ts","webpack:///src/app/models/app-impact-filter/enums.ts","webpack:///src/app/models/authentication/authentication.ts","webpack:///src/app/models/common/common.ts","webpack:///src/app/models/dnsnext/dnsnext-csis-infected-category.ts","webpack:///src/app/models/dnsnext/dnsnext-customer-model.ts","webpack:///src/app/models/dnsnext/dnsnext-infected-domain-info.ts","webpack:///src/app/models/dnsnext/dnsnext-new-model.ts","webpack:///src/app/models/dnsnext/dnsnext-pending-model.ts","webpack:///src/app/models/dnsnext/dnsnext-wb-domain-model.ts","webpack:///src/app/models/dnsnext/enums.ts","webpack:///src/app/models/global-exclusions/enums.ts","webpack:///src/app/models/global-exclusions/global-exclusion.model.ts","webpack:///src/app/models/impact-filter/enums.ts","webpack:///src/app/models/impact-filter/impact-filter-all-model.ts","webpack:///src/app/models/impact-filter/impact-filter-history-model.ts","webpack:///src/app/models/impact-filter/impact-filter-settings.ts","webpack:///src/app/models/tac/enums.ts","webpack:///src/app/models/tac/tac-alert-rule-action-model.ts","webpack:///src/app/models/tac/tac-alert-rule-model.ts","webpack:///src/app/models/xtp/enums.ts","webpack:///src/app/models/xtp/xtp-rule-model.ts","webpack:///src/app/models/xtp/xtp-rule-query-model.ts","webpack:///src/app/models/xtp/xtp-rule-tac-rule-upsert-model.ts","webpack:///src/app/models/xtp/xtp-rule-tag-model.ts","webpack:///src/app/models/zero-trust/enums.ts","webpack:///src/app/models/zero-trust/zero-trust-interception.ts","webpack:///src/app/models/zero-trust/zero-trust-threat-type.ts","webpack:///src/app/nav-menu/nav-menu.component.scss","webpack:///src/app/nav-menu/nav-menu.component.ts","webpack:///src/app/services/app-discovery/app-discovery.service.ts","webpack:///src/app/services/app-impact-filter/app-impact-filter.service.ts","webpack:///src/app/services/authentication/authentication.service.ts","webpack:///src/app/services/dnsnext/access-rule.service.ts","webpack:///src/app/services/dnsnext/csis-customer.service.ts","webpack:///src/app/services/dnsnext/csis-infected-domains.service.ts","webpack:///src/app/services/dnsnext/csis-wb-domains.service.ts","webpack:///src/app/services/dnsnext/dnsnext.service.ts","webpack:///src/app/services/global-exclusions/global-exclusions-custom-validation.service.ts","webpack:///src/app/services/global-exclusions/global-exclusions.service.ts","webpack:///src/app/services/impact-filter/impact-filter.service.ts","webpack:///src/app/services/xtp/xtp.service.ts","webpack:///src/app/services/zero-trust/zero-trust.service.ts","webpack:///src/app/shared/directives/hs-sort-directive.ts","webpack:///src/app/shared/empty-page.component.scss","webpack:///src/app/shared/empty-page.component.ts","webpack:///src/app/shared/filters/grid-filter.component.scss","webpack:///src/app/shared/filters/grid-filter.component.ts","webpack:///src/app/xtp/xtp.component.css","webpack:///src/app/xtp/xtp.component.ts","webpack:///src/app/zero-trust/zero-trust-add/zero-trust-add.component.scss","webpack:///src/app/zero-trust/zero-trust-add/zero-trust-add.component.ts","webpack:///src/app/zero-trust/zero-trust-allowed/zero-trust-allowed.component.scss","webpack:///src/app/zero-trust/zero-trust-allowed/zero-trust-allowed.component.ts","webpack:///src/app/zero-trust/zero-trust-blocked/zero-trust-blocked.component.scss","webpack:///src/app/zero-trust/zero-trust-blocked/zero-trust-blocked.component.ts","webpack:///src/app/zero-trust/zero-trust-pending/zero-trust-pending.component.scss","webpack:///src/app/zero-trust/zero-trust-pending/zero-trust-pending.component.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","columns","value","label","filter","sort","width","AppDiscoveryComponent","service","authService","formBuilder","modalService","riskLevelEnum","model","currentViewTitle","message","showError","modalTitle","onUpdate","refreshRows","formGroup","group","applicationName","required","domains","vendor","riskLevel","None","grid","loaded","params","get","result","data","items","pagination","totalItems","count","pageNumber","onPageChanged","filterByColumn","filterByValue","onTextFilterChanged","application","setValue","reset","formControls","trim","toString","valid","currentApplication","x","createApplication","updateApplication","create","error","update","window","location","reload","Object","slice","length","controls","selector","template","AppDiscoveryRiskLevel","AppImpactFilterAddComponent","showConfirmation","relativePath","processName","fullPath","publisher","md5","status","Allow","addAllowedItem","setTimeout","AppImpactFilterAllowedComponent","getAllowedItems","setLoadingAndRefresh","column","direction","onSortChanged","item","Pending","updateItem","AppImpactFilterPendingComponent","getPendingItems","AppComponent","title","AppModule","declarations","imports","withServerTransition","appId","withComponents","forRoot","positionClass","timeOut","providers","provide","useClass","multi","bootstrap","entryComponents","routes","path","component","canActivate","AppRoutingModule","BaseComponent","refreshEvent","getCurrentUser","currentPage","headers","forEach","header","sortable","dir","none","orderByColumn","orderType","secondFilterByColumn","secondFilterByValue","currentUser","subscribe","user","domainName","document","addEventListener","clipboardData","setData","preventDefault","removeEventListener","execCommand","DnsNextAccessRuleComponent","rulesService","customerService","ruleModel","showInternalError","internalErrorMessage","selectedUserExternalId","customerFormGroup","customerName","ruleFormGroup","ruleName","ruleSubnet","cidrFormat","external","_this","getRules","modalRef","open","componentInstance","externalId","onCloseOrDismissEvent","callbackData","customerFormControls","errors","getCustomer","content","ruleFormControls","name","subnet","exists","existResult","createAccessRule","createPromiseError","existError","DnsNextComponent","customerId","ip","getCustomerIdByIp","Number","DnsNextInfectedDomainsAddNewComponent","impactFilterservice","infectedDomainsService","dnsnextStatusEnum","getCsisInfectedCategories","domain","domainFormat","category","getInfectedCategories","csisInfectedCategories","type","pendingModel","source","sendPendingRequest","requestExists","createRequest","DnsNextInfectedDomainsAllPendingComponent","dnsnextRequestStatusEnum","getPendingDomains","accepted","resolveRequest","username","requestedBy","DnsNextInfectedDomainsComponent","canUnblock","domainInfo","getDomainInfo","unblockDomain","Unblock","getCategoryById","DnsNextWBDomainsAddNewComponent","domainsService","Create","DnsNextWBDomainsAllPendingComponent","DnsNextWBDomainsComponent","getCustomerDomains","existingModal","confirmationModal","Delete","csisId","FooterComponent","currentYear","Date","getFullYear","DnsNextValidators","control","inputValue","isValid","cidrFormatRegex","test","invalidCidrNotation","invalidDomainFormat","domainFormatRegex","toLowerCase","RegExp","GlobalExclusionsComponent","toastrService","customValidator","selectedFilter","exclusionType","radioButtonFilter","All","commandLine","nullValidator","validator","valueValidator","addFilters","exclusions","exclusion","selectedExclusion","patchValue","$","modal","ev","isDeleted","timestamp","lastModifiedDate","upsert","success","getElementById","click","reason","onRadioFilterChanged","deleteOrRestore","saved","k","map","n","push","checked","AuthGuard","router","authenticationService","route","state","currentUserValue","navigate","queryParams","returnUrl","url","providedIn","ErrorInterceptor","request","next","handle","pipe","err","response","statusCode","logout","JwtInterceptor","token","clone","setHeaders","Authorization","HomeComponent","ImpactFilterComponent","impactFilterStatusEnum","requestActionEnum","feedSourceEnum","currentViewDescription","domainHistoryModel","getDomains","infectedCategories","action","getAction","isActionAvailable","threatType","Allowed","Blocked","isDomainInPending","isInPending","setStatusAction","s","categId","malwareCategoryName","malwareCategoryId","domainId","domainModel","getDomainHistoryByDomain","domainHistory","ImpactFilterSettingsComponent","ifModel","displayedHitCount","getHeimdalCategories","virusTotalFormGroup","categoryBlockingFormGroup","domainCategories","heimdalCategories","categoryBlockingFormControls","getHeimdalCategoriesByDomain","undefined","categs","setHeimdalCategories","createEntryDomainIfNotExists","createdIf","getDomainHitCount","hitCount","isMalicious","virusTotalFormControls","verdict","Malicious","ingestDomainToVirusTotal","ImpactFilterPendingComponent","loadingAction","errorMessage","getPendingRequests","setRequestAction","rejectRequestAction","LoginComponent","tokenRequired","loading","submitted","loginForm","password","snapshot","invalid","login","f","res","instanceOfLoginCodeViewModel","loginWithCode","mapToHttpParams","append","top","skip","mapToHttpParamsOdata","nr","getFilterFromGrid","pageSize","DnsNextCsisCustomerFinderModal","activeModal","minLength","getCustomers","dismissModal","DnsNextDeleteRuleModal","existsResult","deleteRule","ModalBaseComponent","dismiss","callback","close","emit","AppDiscoveryModel","AppImpactFilterItem","AppImpactFilterStatus","User","LoginViewModel","LoginCodeViewModel","object","HsGrid","Pagination","totalPages","OrderType","FilterEntities","ErrorResponse","RadioButtonFilterContent","RadioButtonFilter","DnsNextCsisInfectedCategory","DnsNextCsisCustomerModel","DnsNextInfectedDomainInfo","DnsNextAccessRuleCreationModel","DnsNextAccessRuleModel","DnsnextWBDomainsPendingModel","requestType","DnsnextInfectedDomainsPendingModel","DnsnextWBDomain","DnsNextWBDomainType","DnsNextWBDomainRequestType","DnsNextInfectedDomainRequestType","GlobalExclusionType","GlobalExclusion","ImpactFilterStatus","FeedSourceEnum","RequestAction","ImpactFilterPartnerVerdict","ImpactFilterDomainsModel","ImpactFilterAction","ImpactFilterDomainHistoryViewModel","ImpactFilterPartnerItemsModel","TacAlertActionType","TacAlertRuleActionModel","TacAlertRuleModel","XtpRuleLevelEnum","XtpRuleModel","tagWrappers","queryWrappers","XtpRuleQueryModel","XtpRuleTacAlertRuleUpsertModel","xtpRule","tacRule","tacAlertRule","XtpRuleTagModel","ZTStatus","ZTThreatType","ZeroTrustUpdateModel","ZeroTrustThreatType","NavMenuComponent","isExpanded","obsUser","AppDiscoveryService","http","baseUrl","toPromise","post","put","AppImpactFilterService","updateModel","AuthenticationService","currentUserSubject","JSON","parse","localStorage","getItem","asObservable","email","body","twoFactorCode","setItem","stringify","removeItem","AccessRuleService","EXTERNAL_ID_PARAM","RULE_ID_PARAM","creationRule","ruleId","rule","CsisCustomersService","customerIdParams","responseType","CsisInfectedDomainsService","DOMAIN_PARAM","ACCEPTED_PARAM","REQUEST_ID","CsisWBDomainsService","CUSTOMER_ID_PARAM","DOMAIN_NAME_PARAM","DnsNextService","GlobalExclusionCustomValidationService","validationPattern","FileName","FilePaths","MD5Hash","formControlTypeString","formControlValueString","typeControl","valueControl","validateValueByType","setErrors","invalidValue","match","Directory","FilePath","reg","MD5","GlobalExclusionsService","typeFilter","filterStr","has","set","ImpactFilterService","requestId","ifDomain","XtpService","severityFilter","onlyTestingRules","testingQuery","upsertModel","xtpRuleId","ZeroTrustService","rotate","NgbdSortableHeader","host","EmptyPageComponent","GridFilterComponent","hasRadioButtonFilter","sendFilterEvent","onCheckedFilterChanged","filteredColumns","categories","selectedColumn","selected","y","XtpComponent","isUpdateAction","isTesting","tagsCache","xtpRuleLevelEnum","selectedTags","xtpTacActions","selectedActions","description","author","level","queries","array","promises","getAllTags","getXtpTacActions","all","values","tag","associatedWrapper","rw","reduce","acc","concat","find","tw","query","queryIndex","removeAt","newTag","clear","qw","xtpModel","getTacAlertRuleByXtpRuleId","tacAlertRuleModel","tacAlertRuleActionWrappers","raw","tacAlertActionWrapper","extractUpsertModel","selectedTag","unshift","internalId","parameters","expression","cloneXtpRule","tacModel","cloneTacRule","queryGroup","index","queryWrapper","priority","threatEngineRuleWrapperId","findIndex","actionType","MarkAsResolved","removed","splice","ta","ruleActionModel","tacAlertActionId","tacAlertRuleId","ZeroTrustAddComponent","zeroStatusActionEnum","populateThreatType","hash","fileName","legitType","Legit","malware","Malware","ransomware","Ransomware","unknown","Unknown","virus","Virus","threatTypes","setResolution","ZeroTrustAllowedComponent","getAllowedExecutions","clearTimeout","timeoutForEdit","ZeroTrustBlockedComponent","getBlockedExecutions","ZeroTrustPendingComponent","getPendingExecutions","environment","production","getBaseUrl","getElementsByTagName","href","useFactory","deps","bootstrapModule","console","log"],"mappings":"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","file":"main-es5.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","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 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","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 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","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 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 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","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 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 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 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 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","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 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 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"]}