{"version":3,"sources":["components/common/ErrorHandler.jsx","components/haivision-hub/subscriptions/SubscriptionTable.jsx","components/common/Utils/JellyHeader.jsx","components/haivision-hub/subscriptions/Subscriptions.jsx","components/common/userContext.js","components/common/Utils/SlotsAvailable.jsx","components/haivision-hub/contracts/ContractProvisionSuccessModal.jsx","components/common/StepStatusRow.jsx","components/haivision-hub/contracts/HubProvisionStatusProgress.jsx","components/haivision-hub/contracts/ContractNewProvisionDialog.jsx","components/haivision-hub/api-credentials/RevealKeyvaultSecrets.jsx","components/common/secretRevealButton.jsx","components/haivision-hub/api-credentials/ApiCredentialTable.jsx","components/haivision-hub/api-credentials/ApiCredential.jsx","components/haivision-hub/contracts/AssetsRow.jsx","components/haivision-hub/contracts/AssetsTable.jsx","components/haivision-hub/contracts-details/RatesModal.jsx","components/haivision-hub/contracts/ContractItemsTable.jsx","components/haivision-hub/provisions/ProvisionDetailModal.jsx","components/haivision-hub/provisions/ProvisionChangeModal.jsx","components/haivision-hub/provisions/ProvisionDeleteModal.jsx","components/haivision-hub/provisions/ProvisionStatusVerify.jsx","components/haivision-hub/provisions/ProvisionsTable.jsx","components/haivision-hub/ems/DeviceByTenantTable.jsx","components/haivision-hub/ems/DeviceByAccountTable.jsx","components/haivision-hub/contracts/ContractRow.jsx","components/haivision-hub/contracts/ContractsTable.jsx","components/haivision-hub/contracts/Contracts.jsx","components/haivision-hub/contracts-details/ContractDetails.jsx","components/haivision-hub/provisions/Provisions.jsx","components/Home.jsx","components/haivision-hub/route/routeTable.jsx","components/haivision-hub/route/route.jsx","components/haivision-hub/support/ClearModal.jsx","components/haivision-hub/support/ResourceCard.jsx","components/haivision-hub/support/TopologyCard.jsx","components/haivision-hub/support/HubletsView.jsx","components/haivision-hub/route/routeHublet.jsx","components/haivision-hub/route/routeDiagram.jsx","components/haivision-hub/support/TopologyDetails.jsx","components/haivision-hub/support/TopologySupport.jsx","components/haivision-hub/support/ContainerSupport.jsx","components/haivision-hub/organizations/SubscriptionCardItem.jsx","components/haivision-hub/organizations/OrganizationLine.jsx","components/haivision-hub/organizations/OrganizationTable.jsx","components/haivision-hub/organizations/Organizations.jsx","components/haivision-hub/role/RoleModal.jsx","components/haivision-hub/feature-flags/FeatureFlagService.jsx","components/haivision-hub/subscriptions/FeatureFlagCard.jsx","components/haivision-hub/subscriptions/SubscriptionFeatureSection.jsx","components/common/Loading.jsx","components/haivision-hub/ems/HubDevicePairingCode.jsx","components/haivision-hub/subscriptions/SubscriptionPage.jsx","components/haivision-hub/feature-flags/FeatureFlagSubRow.jsx","components/haivision-hub/subscriptions/SubscriptionSelect.jsx","components/haivision-hub/feature-flags/FeatureFlagTableRow.jsx","components/haivision-hub/feature-flags/FeatureFlagTable.jsx","components/haivision-hub/feature-flags/FeatureFlags.jsx","components/jellyfish/users/Users.jsx","components/jellyfish/audit-log/AuditLogTable.jsx","components/jellyfish/users/UserEdit.jsx","components/haivision-hub/users/HubUserSubscriptions.jsx","components/haivision-hub/users/HubUsersRow.jsx","components/haivision-hub/users/HubUsers.jsx","components/jellyfish/audit-log/AuditLog.jsx","components/haivision-hub/route/routeDetails.jsx","components/common/Exceptions/NotFound_Shark.js","components/jellyfish/servicePrincipals/SecretModal.jsx","components/jellyfish/servicePrincipals/SecretsRow.jsx","components/jellyfish/servicePrincipals/SecretsTable.jsx","components/jellyfish/servicePrincipals/ServicePrincipalRow.jsx","components/jellyfish/servicePrincipals/ServicePrincipals.jsx","components/common/Exceptions/NotAuthorized_Shark.js","components/haivision-license/product/haivision-product-add.jsx","components/haivision-license/product/Haivision-product-delete.jsx","components/haivision-license/product/haivision-set-product-default-value-by-productType-and-version.jsx","components/haivision-license/product/haivision-product.jsx","components/haivision-license/license/haivision-license-add.jsx","components/haivision-license/license/haivision-license-delete.jsx","components/haivision-license/license/haivision-license.jsx","components/haivision-license/license/haivision-command360-license-add.jsx","components/haivision-license/sortHelper.js","components/haivision-license/product/haivision-default-product-license-option-update.jsx","components/haivision-license/product/haivision-product-detail.jsx","components/haivision-license/license/haivision-license-option-detail-modal.jsx","components/haivision-license/license/haivision-license-upgrade.jsx","components/haivision-license/license/haivision-license-detail.jsx","components/haivision-license/request/haivision-license-request-Item.jsx","components/haivision-license/request/haivision-license-request.jsx","components/haivision-license/producttype/haivision-producttype-add.jsx","components/haivision-license/producttype/haivision-producttype.jsx","components/haivision-license/producttype/haivision-producttype-version-add.jsx","components/haivision-license/producttype/haivision-product-license-option-add.jsx","components/haivision-license/producttype/haivision-product-license-option-update.jsx","components/haivision-license/producttype/haivision-product-version-metadata-add-update.jsx","components/haivision-license/producttype/haivision-product-version-image-upload.jsx","components/haivision-license/producttype/haivision-producttype-detail.jsx","components/haivision-license/kicker-caller.jsx","components/haivision-hub/ems/EmsHubFlags.jsx","components/common/Utils/NavigationButtons.jsx","components/haivision-hub/ems/ListAllEmsAccounts.jsx","components/haivision-torii/ToriiOrganizations.jsx","components/haivision-torii/ToriiSalesforceItems.jsx","components/haivision-torii/ToriiSalesforceAssets.jsx","components/haivision-torii/ToriiUsageBySubscription.jsx","components/haivision-torii/ToriiSubscriptions.jsx","components/haivision-torii/ToriiUsers.jsx","components/haivision-production/awbench/SelectUUIDBox.jsx","components/haivision-production/awbench/CreateAirProduct.jsx","components/haivision-production/awbench/CreatePro4Product.jsx","components/haivision-production/awbench/CreateProProduct.jsx","components/haivision-production/awbench/CreateAWFunctionalTests.jsx","components/haivision-production/awbench/CreateAwModem.jsx","components/haivision-production/awbench/CreateAllProducts.jsx","components/haivision-production/awbench/AWBenchProducts.jsx","components/haivision-production/awbench/AwModemsDataTable.jsx","components/haivision-production/awbench/AwFunctionalTestsDataTable.jsx","components/haivision-production/awbench/AwAirSeriesDataTable.jsx","components/haivision-production/awbench/AwProSeriesDataTable.jsx","components/haivision-production/awbench/AwPro4SeriesDataTable.jsx","components/haivision-production/awbench/AwProductDetails.jsx","components/haivision-production/WorkOrder/haivision-Work-order-detail.jsx","components/haivision-production/WorkOrder/haivision-work-order-add.jsx","components/haivision-production/WorkOrder/haivision-Work-order.jsx","components/haivision-production/uut/haivision-uuts-add.jsx","components/haivision-production/uut/haivision-uut.jsx","components/haivision-production/uut/haivision-uut-detail.jsx","components/haivision-production/model/haivision-model-update.jsx","components/haivision-production/model/haivision-model.jsx","components/common/useFetch.jsx","components/haivision-webbing/webbingApi.jsx","components/haivision-webbing/WebbingCreateAccount.jsx","components/haivision-webbing/WebbingAccounts.jsx","components/haivision-webbing/WebbingCreateBranch.jsx","components/haivision-webbing/WebbingBranches.jsx","components/haivision-webbing/WebbingUsages.jsx","components/haivision-webbing/WebbingDevices.jsx","components/common/Content/Content.jsx","components/common/SideBar/HaiSideBar.jsx","components/common/Layout.jsx","components/common/Exceptions/NeedAuthenticate_Shark.js","components/JellyfishLogin.jsx","App.js","registerServiceWorker.js","index.js","infra/azure-aad-auth.js","infra/axios.js","infra/authProvider.js","static/404_shark.png","static/jellyfishbg.jpeg","static/jellyfish.svg"],"names":["default","cogoToast","require","handleError","error","errors","length","forEach","msg","message","position","SubscriptionTable","React","Component","constructor","arguments","state","subscriptions","loading","axios","get","process","then","response","this","setState","data","componentDidMount","getSubscriptions","render","createElement","Row","Col","sm","md","size","offset","ProgressBar","leftLabel","barColors","background","right","left","hideRight","animate","List","ListHeader","checkbox","style","gridTemplateColumns","alternateRowColors","map","sub","index","TableRow","key","subscriptionId","color","displayName","JellyHeader","props","paddingLeft","onClick","Header","title","undefined","borderBottom","type","children","subtitle","fontSize","Subscription","super","console","log","sessionStorage","getItem","Container","className","fluid","UserContext","createContext","UserProvider","Provider","Consumer","SlotsAvailable","slotsAvailable","setSlotsAvailable","useState","useEffect","getSlotsAvailable","async","url","app","REACT_APP_CONNECT_API_BASE_URL","margin","href","target","rel","ContractProvisionSuccessModal","Modal","show","onHide","hide","ModalHeader","ModalTitle","ModalBody","FormGroup","FormLabel","LabelValue","contract","contractName","accountName","provision","domain","claimCode","subscriptionName","ModalFooter","Button","variant","StepStatusRow","includes","alignItems","justifyContent","marginTop","Icon","iconname","isFailed","text","HubProvisionStatusProgress","stateStepMap","Map","status","runningProvision","stepStatus","isRunning","provisionInProgress","retrying","Fragment","failMessage","ContractNewProvisionDialog","setProvision","showDoneModal","setShowDoneModal","postingProvision","setPostingProvision","setRunningProvision","intervalChecks","getLastCustomerProvision","onGoing","id","r","enableInterval","catch","e","flag","func","clearInterval","setInterval","validateForm","valid","orgDomain","Dialog","content","buttons","label","primary","disabled","postProvision","body","name","contractId","post","close","hideDoneModal","SecretRevealButton","showSecret","setShowSecret","secret","setSecret","jellySp","setJellySp","setLoading","getJellySpData","jellyfishDbId","concat","res","_res$data$secrets","_res$data$secrets$","spId","secretId","getSecret","applicationId","secrets","_props$secretValue","secretValue","defaultProps","ApiCredentialTable","apiCredentials","renewAction","rotateAction","removeAction","cred","clientId","deletedDate","jellyServicePrincipalId","moment","validTo","format","hubSubscriptionRole","FontAwesomeIcon","icon","faCalendarPlus","cursor","faSyncAlt","faTrash","ApiCredential","setSubscriptionId","setApiCredentials","creatingCredential","setCreatingCredential","showNotification","setShowNotification","loadApiCredentials","customerName","hubOrganization","organizationId","hubSubscription","createApiCredentials","put","hubApiCredentialId","delete","Notification","top","description","autohide","onDismiss","AssetsRow","asset","setAsset","processingAsset","setProcessingAsset","showDisableDialog","setShowDisableDialog","showEnableDialog","setShowEnableDialog","showApiCredDialog","setShowApiCredDialog","apiCredSubId","setApiCredSubId","disableOrEnableSub","isDisable","orgId","updateAssetStatus","success","err","newAsset","isDisabled","height","flexDirection","azureSubscriptionName","azureSubscriptionId","faMinusCircle","faCheckCircle","display","faKey","subId","info","window","open","OverlayTrigger","placement","popoverContent","faCog","onClose","headline","AssetsTable","assetsMapped","setAssetsMapped","loadingSubs","setLoadingSubs","showInfo","setShowInfo","showProvisionDialog","setShowProvisionDialog","showNewSubDialog","setShowNewSubDialog","postingNewSub","setPostingNewSub","selectedSub","setSelectedSub","options","setOptions","createdNewSub","setCreatedNewSub","querySubscriptions","hubOrgId","mountSubSelect","assets","filter","a","specificSub","SelectOption","value","hubSubscriptions","mergedAssets","sfAsset","orchestrator","findIndex","Object","assign","splice","s","push","sort","padding","border","borderRadius","toggleProvisionDialog","toggleNewSubDialog","textalign","Select","isSearchable","onChange","warn","RatesModal","_this$props$rates","rates","rate","from","to","quality","price","unitOfMeasure","threshold","ContractItemsTable","_this$props$contractI","marginBottom","contractItems","item","startDate","endDate","faExternalLinkAlt","showModalClick","modalComponent","ratesModal","activeContractItem","hideRatesModal","ProvisionDetailModal","_this$state$provision","_this$state$provision2","_this$state$provision3","_this$state$provision4","_this$state$provision5","_this$state$provision6","_this$state$sp","_this$state$sp2","_this$state$sp3","centered","font","claimedDate","claimedUserEmail","srtHubOrganizationId","srtHubSubscriptionId","sp","tenantId","retryProvision","getProvisionByClaimCode","ProvisionChangeModal","_this$state$item$stat","FormControl","handleChange","submitting","handleSubmit","enableOrDisable","notificationShow","bind","event","checked","temp","JSON","stringify","successNotification","preventDefault","ProvisoinDeleteModal","deleteProvision","alert","ProvisionStatusVerify","showModal","hubLoading","jellyfishLoading","hubProvision","jellyfishProvision","componentWillReceiveProps","nextProps","prev","loadClaimCodeStatusFromHub","loadClaimCodeStatusFromJellyfish","handleHide","createdAt","createdDate","claimCodeReedemedAt","ProvisionsTable","provisions","detailModal","detailModalItem","changeModal","changeModalItem","deleteModal","deleteModalItem","statusModal","showDeleteModal","showDetailModal","showChangeModal","showStatusVerifyModal","hideDetailodal","hideDeleteModal","itemDeleted","p","hideChangeModal","showSuccessNotification","hideSuccessNotification","values","i","getProvisions","notificationComponent","b","prov","_prov$subscriptionNam","startsWith","faCopyright","faSearch","faPen","faEye","DeviceByTenantTable","devices","setDevices","showDeleteDialog","setShowDeleteDialog","showDeleteBulkDialog","setShowDeleteBulkDialog","selectedListToDelete","setSelectedListToDelete","showGeneratePairCode","setShowGeneratePairCode","showNewDeviceCode","setShowNewDeviceCode","newDeviceCode","setNewDeviceCode","getDevices","accountId","deleteDeviceBulk","promises","deleteDevice","Promise","all","remainingDevices","d","DataTable","columnStructure","fieldKey","HaiDataTableColumnType","ACTIONS","compact","emptyStateText","selectable","onCheckAll","nextCheckAllState","devicesSelected","selected","TitleBar","withSearch","rightComponent","CopyToClipboard","pairingPasscode","fill","bulkActions","selectedItems","rowData","actionItems","actionIcon","iconColor","bodyText","t","getTenants","DeviceByAccountTable","tenants","setTenants","selectedAccount","account","_props$account","_res$data","_props$account2","ContractRow","setContract","emsAccount","setEmsAccount","loadingAssets","setLoadingAssets","collapseSubs","setCollapseSubs","loadingContractLineItems","setLoadingContractLineItems","collapseItems","setCollapseItems","loadingProvisions","setLoadingProvisions","collapseProvisions","setCollapseProvisions","refreshingContract","setRefreshingContract","_props$contract","overflowWrap","activationDate","resposne_sf","toggleCollapseSubs","Spinner","faChevronCircleDown","faChevronCircleRight","contractLineItems","toggleCollapseItems","provisionResponse","toggleCollapseProvisions","faSync","spin","contractResponse","refreshSF","Collapse","isOpen","history","isDetails","ContractsTable","contracts","fullContracts","activeContract","filterForm","placeholder","filterContracts","filterSubs","contractTable","loadingData","getContracts","hideModal","filtered","c","_c$accountName","_c$name","_c$hubOrgId","_c$id","valueUp","toUpperCase","Array","PageTitle","Contracts","user","ContractDetails","organization","setOrganization","idParam","useParams","setError","_response$data","org","find","getOrg","response_asset","prevState","response_cli","Form","Provision","ProvisionTable","Home","isLoggedIn","showNoPermissionDialog","isLogedIn","componentDidUpdate","textAlign","authState","AuthenticationState","Authenticated","roles","HubRouteTable","routes","routeDetailPage","routeId","location","route","borderStyle","borderWidth","borderColor","paddingTop","marginRight","faSpinner","faBan","Date","streamingRunningTime","toISOString","substr","HubRoute","subscriptionIdParam","setRoutes","refreshRoutes","results","createdOn","ClearModal","clearResult","ResourceCard","Card","inverse","backgroundColor","CardBody","hubletDefinitionId","hubletId","externalStatus","provisionStartTime","provisionEndTime","region","CardFooter","resourceLog","faCloud","errorMessage","isUnrecoverable","faThumbsUp","faThumbsDown","provisionState","provisionStepState","timeStamp","defaultValue","stackTrace","faCopy","copyText","document","getElementById","select","setSelectionRange","navigator","clipboard","writeText","copyToClipboard","TopologyCard","collapse","startedByName","stoppedByName","collapseResources","collapseTopologyError","toggle","toggleResources","toggleTopology","buttonsRow","applicationLogs","getUserNames","users","topology","startedBy","userName","stoppedBy","_this$props$topology$","_this$props$topology$2","_this$props$topology$3","_this$props$topology$4","_this$props$topology$5","_this$props$topology$6","xl","faAngleUp","faAngleDown","resources","some","_r$errors","faExclamationTriangle","routeStartTime","routeEndTime","totalResources","HubletsView","HubRouteHublet","hublet","modalShow","hubletResource","showSPSecret","handleModalShow","_this$state$hublet$re","_this$state$hubletRes","_this$state$hubletRes2","definitionId","version","_p$data","_p$data$inputConnecti","_p$data2","_p$data2$inputConnect","_p$data3","_p$data3$inputConnect","_p$data4","_p$data4$inputConnect","_p$data5","_p$data5$inputConnect","_p$data5$inputConnect2","_p$data6","_p$data6$inputConnect","_p$data6$inputConnect2","_p$data7","_p$data7$inputConnect","_p$data7$inputConnect2","inputConnectivityData","fqdn","ipAddress","port","srtConfig","srtLatency","srtMode","srtPassphrase","_p$data8","_p$data8$outputConnec","_p$data9","_p$data9$outputConnec","_p$data10","_p$data10$outputConne","_p$data11","_p$data11$outputConne","_p$data12","_p$data12$outputConne","_p$data12$outputConne2","_p$data13","_p$data13$outputConne","_p$data13$outputConne2","_p$data14","_p$data14$outputConne","_p$data14$outputConne2","outputConnectivityData","parameters","toLowerCase","HubRouteDiagram","alignContent","CardContainer","card","hublets","h","_this$state$route$hub","hubletResources","x","_this$state$route$hub2","_this$state$route$hub3","outputs","out","LineTo","delay","fromAnchor","toAnchor","TopologyDetails","_props$route","subscription","setSubscription","setUsers","collapseHublet","setCollapseHublet","orchestratorVersion","setOrchestratorVersion","querySubData","getOrchestratorVersion","organizationName","azure","linkToResourceGroup","toggleCollapseHublet","topologies","overflowY","flexFlow","t1","t2","TopologySupport","loadingTopology","setLoadingTopology","form","setForm","topologyId","setRoute","setTopologies","setAzure","isFormOpen","setIsFormOpen","clearModalOpen","setClearModalOpen","searchType","setSearchType","refreshing","setRefreshing","showRoutesBySub","setShowRoutesBySub","routeParams","navigate","useNavigate","toggleForm","formTemp","handleInputChange","tempForm","getTopologiesById","_response$data$","_response$data$2","newArray","topo","azureSubscription","searchRequest","searchByRouteId","clearSearch","closeClearModalNo","formRender","Tabs","onSelect","eventkey","selectedTab","TabItem","caption","UncontrolledTooltip","hidden","required","search","faRedo","ContainerSupport","SubscriptionCardItem","OrganizationLine","setCollapse","setSubscriptions","goToSubscription","goToOrganization","subsViewGrid","boarder","OrganizationTable","allOrganizations","organizations","sortState","getOrganizations","filterOrgs","_c$domain","_c$organizationId","Organization","subsInGrid","toggleSubsInGrid","CustomInput","RoleModal","setRoles","userEmail","setUserEmail","userRoleId","setUserRole","sending","setSending","queryRoles","_ref","spinnerColor","isLoading","styles","option","provided","role","sendInvite","invitations","emailAddress","roleId","enableBySubHttp","enableBySub","callback","disableBySubHttp","disableBySub","enableGloballyHttp","enableGlobally","disableGloballyHttp","disableGlobally","FeatureFlagCard","CardHeader","cardTitle","styleVariant","changes","loadingRequirement","Switch","valueChangedTo","openFFDialog","featureId","SubscriptionFeatureSection","openFFDialogWithDirect","directSwitch","ff","clickedFeature","setDialogTitle","subscriptionHasRequirement","showContractMessage","setShowFeatureDialog","directEnableOrDisableFF","enableOrDisablebySub","_this$state$clickedFe","enableOrDisableCustomFeatures","loadFeatures","dialogContent","switchingFF","subscriptionFeatureFlags","flagListOpen","orchestratorV2Enabled","akamaiPresetEnabled","rttPresetEnabled","hubApplianceManagerEnabled","cloudRoutingEnabled","zannaHubletEnabled","hubnetTrailEnabled","showFFDialog","dialogTitle","syncingFeatures","loadFeatureFlags","checkFeatures","handleClose","headers","Pragma","Expires","handleFlagListToggle","_this$state$subscript","_this$state$subscript2","_this$state$subscript3","_this$state$subscript4","_this$state$subscript5","_this$state$subscript6","_this$state$subscript7","_this$state$subscript8","_this$state$subscript9","_this$state$subscript10","_this$state$subscript11","_this$state$subscript12","_this$state$subscript13","_this$state$subscript14","_this$state$subscript15","_this$state$subscript16","_this$state$subscript17","_this$state$subscript18","orchestratorActive","f","infrastructureActive","nodeIp","edge_nodes_ff","makito_input_hublet_ff","makito_output_hublet_ff","makito_preset_creator","akamaiActive","RttPresetActive","cloudRoutingActive","zannaHubletActive","hubnetTrailActive","setSwitchingFF","hasRequirement","isEnabled","featureStateName","featureUri","baseUrl","syncFeaturesWithSalesforce","Loading","HubDevicePairingCode","hubSubId","tenantName","deviceCode","SubscriptionPage","loadingSub","setLoadingSub","showRoleModal","setShowRoleModal","showAddUserModal","setShowAddUserModal","userIdtoAdd","setUserIdtoAdd","userRoletoAdd","setUserRoletoAdd","allUsers","setAllUsers","userLoading","setUserLoading","loadingContract","setLoadingContract","collapseUsers","setCollapseUsers","showDevicePairCode","setShowDevicePairCode","params","querySubscription","getUsers","getSFAssets","getAllUsers","u","goToRoutePage","userId","removeUserFromSub","hideRoleModal","addUserToSub","FeatureFlagSubRow","openSubDialog","SubscriptionSelect","subs","unshift","FeatureFlagTableRow","featureflag","showGlobalDialog","setShowGlobalDialog","showSubDialog","setShowSubDialog","dialogGlobalTitle","setDialogGlobalTitle","showAddSubModal","setShowAddSubModal","addSubModalTitle","setAddSubModalTitle","checkedValue","setCheckedValue","setSubId","selectedFF","setSelectedFF","getFeatureFlags","ffId","enableOrDisableGlobally","hideAddSub","openGlobalDialog","toggleCollapse","showAddSub","feature","sub_index","FeatureFlagTable","allFeaturesFlags","featureflags","subNames","localeCompare","filterFF","_c$description","FeatuerFlag","Users","filteredUsers","setfilteredUsers","loadingUsers","setLoadingUsers","clickedUser","setClickedUser","showDeleteUser","setshowDeleteUser","showUserStatusChangeConfirm","setShowUserStatusChangeConfirm","showUserStatusChangeNotification","setShowUserStatusChangeNotification","userTypeFilter","setUserTypeFilter","userFilter","setUserFilter","userRoleFilter","setUserRoleFilter","firstTimeRender","useRef","current","filterUsers","filteredData","_filteredData","_filteredData2","filterByName","_user$displayName","_user$email","_user$appId","email","appId","_user$roles","as","_u$roles","faEdit","goToEditPage","openDeleteDialog","patch","updateUserStatus","AuditLogTable","logs","logDetail","logDetailShow","logFilter","showLogDetail","hideLogDetail","action","appModule","eventType","ResponseStatusCode","ResponseStatus","faFile","float","ReactJson","src","theme","UserEdit","setUser","allRoles","setAllRoles","sendingUpdate","setSendingUpdate","userRoles","setUserRoles","setLogs","getUserById","getAllRoles","getUserAuditLogs","getAppAuditLogs","addOrRemoveRoles","rolesToAdd","rolesToRemove","userHasRole","newRoles","changeUserRole","HubUserSubscriptions","_user$subscriptions","fontFamily","goToSubscriptionPage","HubUsersRow","isUpdating","setIsUpdating","showDisableModal","setShowDisableModal","isApplication","faPlaneArrival","goToContractPage","tempUser","HubUsers","setFilteredUsers","_user$userName","_user$id","maxWidth","AuditLog","add","logType","setLogFilters","loadAuditLog","UserName","clearLogFilters","setLogType","setApp","setFrom","date","setTo","width","HubRouteDetail","_props$routeId","_props$subscriptionId","setRouteId","refreshRouteDetail","NotFound_Shark","NotFound","backgroundImage","SharkNotFound","pageTitle","subTitle","notFoundMessage","homeButton","SecretModal","_props$sp","_props$secret","_props$secret2","_props$secret3","_props$secret4","expireDate","SecretsRow","_secret$keyVaultId","_secret$keyVaultId2","showRenewDialog","setShowRenewDialog","showDeleteSecret","setShowDeleteSecret","notificationMsg","setNotificationMsg","showSecretModal","setShowSecretModal","keyVaultId","substring","lastIndexOf","keyVaultSecretName","encodedUrl","escape","encodeURIComponent","encoded","duration","diff","now","asDays","toFixed","renewDate","secretType","renewSecret","getSecrets","deleteSecret","SecretsTable","setSecrets","ServicePrincipalRow","_sp$createdDate","_sp$secrets","showDeleteSP","setShowDeleteSP","setSp","collapseSecrets","setCollapseSecrets","showCreateNewSecret","setShowCreateNewSecret","createdSecret","setCreatedSecret","loadingSecrets","setLoadingSecrets","tmp","_last_modified_date","faPlusCircle","loadSps","deleteSP","createNewSecret","ServicePrincipal","allSPs","setAllSPs","filteredSPs","setfilteredSPs","loadingSPs","setLoadingSPs","columnFilters","setColumnFilters","showNewSPModal","setShowNewSPModal","createdSP","setCreatedSP","spForm","setSpForm","moduleId","pageData","setPageData","currentPage","pageNum","parseInt","pageSize","getAllServicePrincipal","page","_filteredSPs$data","_createdSP$secrets","tempSet","Value","Comparator","Pagination","pageCount","totalPages","onPageChange","newPage","previousPage","hasNextPage","formTitle","NotAuthorized_Shark","HaivisionProductAdd","showProductAdd","newProduct","productTypeId","sku","productTypes","submitProductAdd","handleAddProduct","getProducts","productType","HaivisionProductDelete","product","nextprops","handleConfirmDelete","reponse","refresh","HaivisionSetProductDefaultValueByProductType","showValueComponent","_this$state$selectedP","_this$state$selectedP2","showOption","selectedProductOptionData","availableValues","split","o","productTypeList","versionList","productList","productOptionDatas","selectedProductType","selectedVersion","changeGeneratdLicenses","newDefaultLicenseOption","setMaxVersion","composeSubmitData","productDefaultOptions","productLicenseOptionId","productVersionId","licenseSectionItem","ProductVersionId","submit","clearData","setProductOptionDatas","setSelectProductOptionData","productOptionData","onChangeProductType","productVersions","version1","version2","majorVersion","minorVersion","patchVersion","productLicenseOptions","selectedProductOption","onSelectOption","submitProductLicenseOptionUpdate","formError","productId","getProduct","newProduceLicenseOption","licenseSection","valueName","isShowOption","desc","isArray","_this$state$selectedP3","_this$state$selectedV","_this$state$selectedV2","_this$state$selectedV3","selectedVersionTmp","_this$state$selectedP4","_this$state$productOp","HaivisionProduct","_this$params","_this$params2","products","filteredProducts","showDelete","showSetProductDefaultValyeByProductType","deleteProduct","filterParams","GetProducts","handleDisable","handleSetProductDefaultValueByType","_this","requestProducts","getPaginatedProducts","requestProductTypes","spread","_len","responses","_key","handleDetails","_this$state$filteredP","_this$state$filteredP2","_this$state$filteredP3","_p$productType","extendedCallout","triggerByHover","arrowdirection","tooltiptopspacing","tooltipleftspacing","calloutleftspacing","flex","paddingRight","_this$state$filteredP4","HaivisionLicenseDelete","slice","withParams","HaivisionLicenseAdd","_prev$productList","_prev$versionList","setProductList","selectedSku","_prev$productList2","_prev$versionList2","Set","isMx","isCommand360","setLicenseOptionDatas","request","licenseOptions","licensesOptionDatatmp","opt","productLicenseOption","Item","selectedValue","newLicense","licenseOptionDatas","showCommand360LicenseItem","trim","serialNumber","macAddresses","isVm","isAzure","productVersionNumber","existLicense","showCommand360ConfirmModel","setProductTypeList","_prev$productTypeList","_prev$productList3","_prev$versionList3","setProductVersionList","productSku","_prev$versionList4","active","v","setSelectToFirst","setLicenseOptions","versionNumber","opdef","_version$productLicen","op","setVmAndAzure","getDefaultValueFromAvailables","availables","handleSubmitModal","bMissingExpdate","getCommand360License","handleNewLicense","license","handleShowsCommand360ConfirmModel","getExistLicenseInfo","join","handleConfirmUpdate","showUpdateCommand360LicenseModel","handleHideModal","handleLicenseOptionValue","loIndex","pre","resourceId","instanceUuid","cpuId","licenseRequestNumber","showServerLicenseItem","macs","m","itemValue","HaivisionLicense","getLicensesPaginated","OrderBy","searchBySn","filterParam","totalPageTmp","Math","ceil","licenses","searchByMacAddress","_response$data2","searchByFilter","filterType","GetLicenses","showAdd","deleteLicense","isLoadingLs","handleCreateShow","handleDelete","_responses$0$data","_responses$0$data2","setIsloadingLs","handleDownload","lic","datastr","fileName","blob","Blob","encoding","link","URL","createObjectURL","download","click","handleMergeDownload","handleDetail","_e$target$value","_lic$macAddresses","_a$data","_a$data2","HaivisionCommand360License","newlicense","setProduct","setExistLicense","setShowCommand360ConfirmModel","licenseText","setLicenseText","macAddressString","setMacAddressString","SetSerialNumber","SetMacAddresses","replaceMsg","SetReplaceMsg","getCommand360ProductType","setNewLicense","optionTmp","_reponse$data","handleDownloadLicense","ex","copyContent","permissions","query","result","obj","warningMessage","warningOption","replace","sortByVersionDesc","arrayToSort","MakitoDefaultProductLicenseOptionUpdate","_this$props$productLi","_this$props$selectedD","_this$props$productLi2","showProductLicenseOptionUpdate","selectedDefaultLicenseOption","_prev$newProduceLicen","_prev$newProduceLicen2","_nextProps$productLic","_nextProps$productLic2","_nextProps$productLic3","handleProductLicenseOptionUpdate","RegExp","test","formControlValue","getValueSection","_this$state$newDefaul","_this$state$newDefaul2","invalid","HaivisionProductDetail","productIdParam","setProductId","setSelectedVersion","showNoVersionWarnning","setshowNoVersionWarnning","showProductVersionAdd","setShowProductVersionAdd","showProductLicenseOptionAdd","setShowProductLicenseOptionAdd","setShowProductLicenseOptionUpdate","setSelectedDefaultLicenseOption","updateProductLicenseOption","setUpdateProductLicenseOption","_product$productType","_product$productType$","sortHelper","_product$productType2","ver","_selectedVersion$prod","defaultLicenseOption","getDefaultLicenseOptionDate","HaivisionLicenseOptionDetailModal","getProductLicenseOptions","selectedLicenseOption","_this$state$selectedL","_this$state$selectedL2","tmpSelectedProductOption","tmpSelectedLicenseOption","_this$state$productLi","_this$state$selectedL3","HaivisionLicenseOptionUpgradeModal","_response$data$produc","versions","HaivisionLicenseDetail","_props$licenseId","setLicense","setIsVm","setIsAzure","licenseId","setLicenseId","selectLicenseOptionData","setSelectLicenseOptionData","showOptionDetailModal","setShowOptionDetailModal","setShowDelete","showUpgrade","setShowUpgrade","setDeleteLicense","IsLoadingLs","setIsLoadingLs","getLicense","handleUpgradeLicense","handleLiceseOptionDetailModal","handleDeleteLicense","getMacAddres","fontWeight","RefreshLicense","HaivisionLicenseRequestItem","licenseRequestItems","licenseRequestId","licenseActionRunning","showErrorNotification","getLicenseRequestItems","getProductBySku","getGetProductOptionDataWithDefaultValue","handleActionSpinner","hideCopyNotification","licensedProductSku","requestedVersion","sn","indexOf","recordTypeName","serverMacAddresses","productTypeName","expirationDate","PostCreateAndGetLicenseText","licenseDto","finally","handleCreateAndGetLicenseText","handleWiiteFileToLocal","licenseUrl","getFileName","todayDate","replaceAll","uploadUrl","versionUpgrade","handleUpload","handleCreateAndDownload","HaivisionLicenseRequest","licenseRequests","filteredLicenseRequest","showAssetIdList","handleViewAssets","getLicenseRequests","filterLicenseRequest","filterLicenseRequestByStatus","_c$status","l","partnerAccountName","endUserAccountName","LicenseRequestItem","HaivisionProductTypeAdd","showNotice","showWarningdlg","showProductTypeAdd","newProductType","salesforceLibraryName","salesforceLibrarySubfolder","onHideHaivisionProductTypeAdd","handleAddProductType","SetShowWarningdlg","isShow","SetShowNotice","handleCloseNotice","onCancelDlg","onConfirmDlg","handleUpdate","updateDto","getProductTypes","submitProductTypeAdd","_this$state$newProduc","_this$state$newProduc2","_this$state$newProduc3","dynamicResizing","minWidth","HaivisionProductType","GetProductTypes","handleUpdateProductType","handleHideProductType","HaivisionProductTypeVersionAdd","_this$props$selectedV","_this$props$selectedV2","_this$props$selectedV3","_this$props$selectedV4","_this$props$selectedV5","_this$props$selectedV6","_this$props$selectedV7","_this$props$selectedV8","_this$props$selectedV9","_this$props$selectedV10","_this$props$selectedV11","dlgTitle","isUpdateVersion","newProductVersion","publishedDate","releaseType","imageLink","imageType","md5","sha1","sha2","versionDescription","_nextProps$selectedVe","_nextProps$selectedVe2","publishDateStr","utc","_nextProps$selectedVe3","_nextProps$selectedVe4","_nextProps$selectedVe5","_nextProps$selectedVe6","_nextProps$selectedVe7","_nextProps$selectedVe8","_nextProps$selectedVe9","_nextProps$selectedVe10","_nextProps$selectedVe11","_nextProps$selectedVe12","submitProductVersion","submitProductVersionUpdate","submitProductVersionAdd","isValidDate","handleProductVersionAdd","getVersion","dateString","getUpdatedVersion","HaivisionProductLicenseOptionAdd","selectedVersionId","submitProductLicenseOptionAdd","handleProductLicenseOptionAdd","MakitoProductLicenseOptionUpdate","ProductVersionMetadata","metaDataDto","SetMetaDataDto","metaData","blobUri","salesforceFileName","salesforceDownloadUrl","producVersionId","SetProducVersionId","warningTitle","SetWarningTitle","warningContent","SetWarningContent","resultMessage","SetResultMessage","setShow","titleStr","buttonTitleStr","isCancelled","ProductVersionImageFileUpload","file","setFile","uploading","setUploading","productVersionImageId","SetProductVersionImageId","setProductTypeName","productVersion","setProductVersion","progressPercentage","setProgressPercentage","completeFileUploadInfo","fileUploadToAzureBlob","blobUploadSasUrl","blobClient","BlobServiceClient","getContainerClient","getBlockBlobClient","blobHTTPHeaders","blobContentDisposition","blobCacheControl","onProgress","ev","loadedBytes","maxSingleShotSize","uploadData","files","onFileUpload","InputFileNameModal","handleOk","mobileMode","HaivisionProductTypeDetail","productTypeIdParam","setProductTypeId","setProductType","setVersions","setShowNoVersionWarnning","setIsUpdateVersion","showProductVersionImageAddUpdate","SetShowProductVersionImageAddUpdate","showProductVersionImageUpload","SetShowProductVersionImageUpload","metadataDto","SetMetadataDto","SetShowProductTypeAdd","handleCloseNotification","showInputFileNameModal","SetShowInputFileNameModal","SetFileName","selectedImage","SetSelectedImage","requestVersion","requestProductType","tempVersions","getUpdatedVersionById","getProductTypeById","onHideProductVersionImageUpdate","onHideProductVersionImageUpload","getSfLinkContent","handleWarningDlgOk","handleInputFileNameClose","handleInputFileNameConfirm","handleSubmitCreateSFDownloadLink","image","showAction","handleDeleteProductOptionData","productVersionImages","img","showOnTooltipHover","Link","showGoTo","handleProductVersionImageUpload","handleProductVersionImageDownload","focus","handleProductVersionImageDelete","getImageLinkContent","_selectedVersion$prod2","HaivisionProductLicenseOptionUpdate","KickerCaller","sessionId","authenticate","EmsHubFlags","_props$account$flags","_props$account2$flags","_props$account3","_props$account3$hub","_props$account3$hub$f","_props$account4","_props$account4$hub","_props$account4$hub$f","flags","hub","featureFlags","columns","NavigationButtons","_props$data","handlePreviousPage","start","end","setVisibleData","replaceState","borderBlock","handleNextPage","nextPage","ListAllEmsAccounts","accounts","setAccounts","expandContent","setExpandContent","visibleData","setSelectedAccount","setVisibleDataFromPageNum","_a$hub","Panel","panelColor","PanelTitle","PanelDetail","PanelDetailItem","divider","Actions","ActionItem","expandButton","eventKey","expanded","isDivider","ExpandedPanel","ToriiOrganizations","setOrganizations","enabled","alias","origin","tier","currency","ToriiSalesforceItems","items","setItems","sortable","CUSTOM","ToriiSalesforceAssets","setAssets","ToriiUsageBySubscription","usage","setUsage","peak","peakPreviousPeriod","details","ToriiSubscriptions","notFound","setNotFound","isAllSubscriptions","setIsAllSubscriptions","getSubByOrgId","getAllSubscriptions","_a$skus","expandedState","showActive","CreatedOn","supportStatus","salesforceServiceContractId","mcrAccountId","monthlyCost","skus","Divider","ToriiUsers","lastSignIn","SelectUUIDBox","loadingTypeahead","setLoadingTypeAhead","selectedOption","setSelectedOption","CACHE","makeAndHandleRequest","resp","totalCount","serial","uuid","handleSearch","useCallback","q","AsyncTypeahead","useCache","labelKey","maxResults","PER_PAGE","onInputChange","onPaginate","handlePagination","shownResults","cachedQuery","total_count","minLength","onSearch","filterBy","paginate","renderMenuItemChildren","onBlur","CreateAirProduct","isNewProduct","setIsNewProduct","macAddress","productName","maupitiVersion","idTahiti","idCuracao","idBull","idPalma","idOleron","idMercury","onChangeHandler","evt","getProductBySerial","CreatePro4Product","macAddress1","macAddress2","kereonVersion","idSirocco","idTresco","idChergui","idLavezzi","CreateProProduct","rosedoVersion","idBrehat","idOuessant","CreateAwFunctionalTests","nameTest","numberPass","dateTestOld","dateTest","datetime","minimumDate","offRangeCallback","range","CreateAwModem","model","revision","firmwareFull","skuId","CreateAllProducts","formType","setFormType","AWBenchProducts","setProducts","openCreateModal","setOpenCreateModal","getAwProducts","_a$serial","AwModemsDataTable","modems","AwFunctionalTestsDataTable","functionalTests","AwAirSeriesDataTable","_props$air","_props$air2","_props$air3","_props$air4","_props$air5","_props$air6","_props$air7","_props$air8","_props$air9","_props$air10","fontStyle","air","AwProSeriesDataTable","_props$pro","_props$pro2","_props$pro3","_props$pro4","_props$pro5","_props$pro6","_props$pro7","_props$pro8","_props$pro9","pro","AwPro4SeriesDataTable","_props$pro10","_props$pro11","pro4","AwProductDetails","loadingTests","setLoadingTests","loadingPro","setLoadingPro","loadingPro4","setLoadingPro4","loadingModems","setLoadingModems","loadingAir","setLoadingAir","setModems","tests","setTests","setPro4","setPro","setAir","getFunctionalTests","getModems","getPro4","getPro","getAir","keys","HaivisionWorkOrderDetail","workOrderId","workOrderNumber","setWorkOrderNumber","units","SetUnits","workOrder","SetWorkOrder","btnVisible","setBtnVisible","SetCurrentPage","totalPage","SetTotalPage","unitPage","SetUnitPage","getWorkOrderByWorkOrderNumber","wo","getUnitsOfWorkOrders","total","floor","unit","workOrderFactoryName","workOrderFirstSerialNumber","workOrderLastSerialNumber","comments","dateCreated","toUTCString","WorkOrderAdd","modelFilterStr","setModelFilterStr","models","setModels","modelOptions","setModelOptions","selectedModel","SetSelectedModel","locations","setLocations","selectedLocation","SetSelectedLocation","year","setYear","getFullYear","toString","week","setWeek","lot","setLot","existingWO","setExistingWO","count","setCount","comment","setComment","setUserName","getWeekNumber","workOrderNumberWithoutLot","GetFilterWo","maxItem","reduce","max","code","String","padStart","onLoadWorkOrders","GetModels","GetLocations","dateIn","UTC","getMonth","getDate","setUTCDate","getUTCDate","getUTCDay","yearStart","getUTCFullYear","inputStyle","classNamePrefix","filterStr","filterdModels","filterModel","step","handleCreate","woDto","orderCount","modelId","HaivisionWorkOrder","workOrders","SetWorkOrders","showCreateWOModal","setShowCreateWOModal","filteredWorkOrders","SetfilteredWorkOrders","woFilter","setWoFilter","setFilterParams","getWorkOrders","workOrdersAll","pageIndex","HaivisionUUTSAdd","modelFilter","setModelFilter","serialNumbers","SetSerialNumbers","SetShowNotification","onLoadUUTs","_x$description","selectedModelObj","macCount","serialNumberDto","HaivisionUUT","uuts","SetUUTs","showCreateUUTModal","setShowCreateUUTModal","filteredUUTs","SetfilteredUUTs","uutFilter","setUUTFilter","searchParamDto","setSearchParamDto","PageNumber","PageSize","ColumnFilters","getUUTs","uUTsAll","uut","UUTSAdd","HaivisionUUTDetail","uutId","snParam","setSNParam","uutIdParam","setUUTIdParam","SetAssets","SetLicenses","SetUnit","loadingLic","setLoadingLic","loadingAsset","setLoadingAsset","testResultPage","SetTestResultPage","getAssetsBySerialNumber","getLicensesBySerialNumber","getUnitById","_result$unitTestResul","orderedTestResult","unitTestResults","dateTimeTested","checkColor","dpkgVersion","stageType","dateShipped","extraInfo","stationName","stageName","fullInfoResult","testResultName","_result$licenseOption","_result$licenseOption2","_result$macAddresses$","expiredDate","currentVersion","ProductModelUpdate","setModel","SetAction","bCancel","onLoadModels","modelDto","HaivisionProductionModel","SetModels","showAddModal","setShowAddModal","showUpdateModal","setShowUpdateModal","updateModel","setUpdateModel","getModels","OnUpdateAddModel","bshow","OnUpdateUpdateModel","useFetch","fetchFunction","setData","fetchData","BASE_URL","getAccounts","queryParams","getBranches","setServiceDeviceBranch","iccid","branchID","setServiceDeviceProduct","productID","activateServicesDevice","suspendServicesDevice","createBranch","createAccount","createServiceDeviceAssignmentAccount","accountID","WebbingCreateAccount","branchId","statusId","mobile","accountRef","WebbingAccounts","showCreate","setShowCreate","_a$name","statusID","WebbingCreateBranch","WebbingBranches","branches","WebbingUsages","usages","setUsages","_a$date","countryName","totalUsage","WebbingDevices","showActivate","setShowActivate","showSuspend","setShowSuspend","activateBranchName","setActivateBranchName","activateProductId","setActivateProductId","activateAccountName","setActivateAccountName","creatingCustomBranch","setCreatingCustomBranch","creatingCustomAccount","setCreatingCustomAccount","devicesLoading","devicesError","branchesLoading","branchesError","productsLoading","productsError","accountsLoading","accountsError","selectedBranch","setSelectedBranch","iccidFilter","setIccidFilter","filteredDevices","device","_device$branchName","_device$branchName2","branchName","handleShowActivate","closeButton","onSubmit","formData","FormData","iccids","branch","createdBranch","createdaccount","allowNew","customOption","newSelectionPrefix","htmlFor","handleShowSuspend","_a$iccid","statusName","Content","backgroundRepeat","Routes","Route","exact","path","element","Outlet","HaiSideBar","showGrafana","setShowGrafana","SidebarSections","iconName","defaultPath","menuItems","selectedItem","setSelectedItem","versionUI","packageJson","Sidebar","collapsible","logoSrc","JellyfishLogo","productNameCollapsed","menuContent","defaultActive","onSignOut","authProvider","logout","footer","InfoFooter","gap","borderTopLeftRadius","borderTopRightRadius","getGrafanaLink","env","faChartArea","Layout","toggleSideBar","sideBarOpen","_class","NeedAuthenticate_Shark","JellyfishLogin","useContext","ScreenInfoContext","responsiveProps","containerHeight","logoSize","DynamicContainer","responsive","vGap","Login","accentColor","appLogoSrc","appLogoStyle","useFullPageContainer","IconButton","login","lineHeight","ThemeContext","CreateHaiThemeContext","ThemeNames","ARGON","App","haiThemeContextState","accountInfo","setAccountInfo","Unauthenticated","accessToken","getAccount","getAccessToken","ThemeProvider","username","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","caches","reload","config","getElementsByTagName","getAttribute","rootElement","ReactDOM","BrowserRouter","basename","addEventListener","fetch","ready","unregister","checkValidServiceWorker","registerServiceWorker","storeToken","acc","setItem","removeToken","removeItem","getToken","interceptors","use","reject","_error$response","_error$response2","_error$response3","_error$response3$data","_error$response3$data2","originalRequest","_retry","defaults","common","MsalAuthProvider","auth","authority","redirectUri","protocol","host","postLogoutRedirectUri","REACT_APP_PORTAL_BASE_URL","cache","cacheLocation","storeAuthStateInCookie","scopes","LoginType","Redirect","module","exports"],"mappings":"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","file":"static/js/main.fdfc50a0.chunk.js","sourcesContent":["const { default: cogoToast } = require(\"cogo-toast\")\n\nexport const handleError = (error) => {\n if(!error) {\n cogoToast.error(\"Error on processing\", {position: 'top-right'})\n }\n else if(error.errors && error.errors.length > 0) {\n error.errors.forEach(msg => {\n cogoToast.error(error.message + ': ' + msg, {position: 'top-right'})\n });\n } else {\n cogoToast.error(error.message, {position: 'top-right'})\n }\n \n}\n","import React from \"react\";\nimport { Col, Row, Spinner } from \"reactstrap\";\nimport { List, ListHeader, Animation, TableRow , ProgressBar } from \"@hai/ui-react\";\nimport axios from \"axios\";\n\nclass SubscriptionTable extends React.Component {\n state = {\n subscriptions: [],\n loading: true,\n };\n\n async getSubscriptions() {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Operations/client-subscription\"\n )\n .then((response) => {\n this.setState({ subscriptions: response.data, loading: false });\n });\n }\n\n componentDidMount() {\n this.getSubscriptions();\n }\n\n render() {\n if (this.state.loading) {\n return (\n \n \n {\" \"}\n {this.state.loading && (\n \n )}\n \n \n );\n } else {\n return (\n
\n \n \n
\n
Subscription Name
\n
Sub ID
\n
Status
\n \n\n {this.state.subscriptions.map((sub, index) => (\n \n
\n
{sub.displayName}
\n
{sub.subscriptionId}
\n
{sub.state}
\n \n ))}\n
\n
\n );\n }\n }\n}\n\nexport default SubscriptionTable;\n","import React from \"react\";\nimport { Header, Icon , ProgressBar } from \"@hai/ui-react\";\nimport PropTypes from \"prop-types\";\nimport { Row, Col } from \"reactstrap\";\n\nconst JellyHeader = (props) => {\n return (\n {\n if (props.onClick) {\n props.onClick();\n }\n }}\n >\n \n \n \n );\n};\n\nJellyHeader.propTypes = {\n title: PropTypes.string.isRequired,\n children: PropTypes.any,\n};\n\nexport default JellyHeader;\n","import React from \"react\";\nimport SubscriptionTable from \"./SubscriptionTable\";\nimport { Row, Col, Container } from \"reactstrap\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\n\nclass Subscription extends React.Component {\n constructor(props) {\n super(props);\n console.log(\"subs env\", process.env.REACT_APP_HUB_API_BASE_URL);\n }\n\n state = {\n subscriptions: [],\n };\n\n render() {\n if (!sessionStorage.getItem(\"user.authState\")) {\n return
auth required...
;\n } else {\n return (\n \n \n \n \n );\n }\n }\n}\n\nexport default Subscription;\n","import React from \"react\";\n\nconst UserContext = React.createContext();\n\nconst UserProvider = UserContext.Provider;\nconst UserConsumer = UserContext.Consumer;\n\nexport { UserProvider, UserConsumer, UserContext };\n","import React, { useEffect, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport axios from \"axios\";\n\nconst SlotsAvailable = (props) => {\n const [slotsAvailable, setSlotsAvailable] = useState(null);\n\n useEffect(() => {\n getSlotsAvailable();\n }, []);\n\n const getSlotsAvailable = async () => {\n let url;\n if (props.app === \"connect\") {\n url =\n process.env.REACT_APP_CONNECT_API_BASE_URL +\n \"/ConnectOperation/client-subscription/slots\";\n } else {\n url =\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Operations/client-subscription/slots\";\n }\n await axios.get(url).then((response) => {\n setSlotsAvailable(response.data);\n });\n };\n\n return (\n slotsAvailable != null && (\n
\n

\n Slots Available: {slotsAvailable}. Add more{\" \"}\n \n here\n \n .\n

\n
\n )\n );\n};\n\nSlotsAvailable.propTypes = {\n app: PropTypes.string.isRequired,\n};\n\nexport default SlotsAvailable;\n","import {Modal, ModalTitle, ModalHeader, ModalBody, ModalFooter, LabelValue } from '@hai/ui-react';\nimport React, { Component } from 'react';\nimport { Button, FormGroup, FormLabel } from '@hai/ui-react';\nimport {Row, Col} from 'reactstrap';\n\nclass ContractProvisionSuccessModal extends Component {\n constructor(props) {\n super(props); \n }\n\n render() { \n\n return (\n \n \n\n \n Provisioned successfully!\n \n \n \n\n \n \n \n Contract Name\n {this.props.contract.contractName}\n \n \n\n \n \n Company Name\n {this.props.contract.accountName}\n \n \n\n \n \n \n \n Domain\n {this.props.provision.domain}\n \n \n\n \n \n Claim code\n {this.props.provision.claimCode}\n \n \n \n \n \n \n Subscription Id\n {this.props.provision.subscriptionId}\n \n \n\n \n \n Subscription Name\n {this.props.provision.subscriptionName}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) \n }\n}\n\n\nexport default ContractProvisionSuccessModal;\n","import { Animation, Icon } from '@hai/ui-react';\nimport React from 'react';\nimport { Row } from 'reactstrap';\nimport PropTypes from 'prop-types'\n\nconst StepStatusRow = props => {\n \n let noLoop = !(props.type === \"StatusError\") && !props.type.includes(\"OK\");\n return (\n \n
\n \n
\n  \n {props.text}\n \n )\n}\n\nStepStatusRow.propTypes = {\n type: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n isFailed: PropTypes.bool\n}\n\nexport default StepStatusRow;","\nimport React, { useState } from 'react';\nimport StepStatusRow from '../../common/StepStatusRow';\nimport PropTypes from 'prop-types';\n\nconst HubProvisionStatusProgress = props => {\n\n const [stateStepMap] = useState(\n new Map([\n ['not_started', 0],\n ['serviceprincipal_created', 1],\n ['subscription_found', 2],\n ['serviceprincipal_role_assigned', 3],\n ['sf_asset_created', 4],\n ['precreated_hub', 5],\n ['claimed', 6],\n ['added_features', 7],\n ['completed', 8],\n ])\n )\n\n let status = stateStepMap.get(props.runningProvision.stepStatus);\n let isRunning = props.runningProvision.provisionInProgress;\n let retrying = props.retrying || false;\n\n return (\n <>\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n )\n}\n\nHubProvisionStatusProgress.propTypes = {\n runningProvision: PropTypes.object.isRequired\n}\n\nexport default HubProvisionStatusProgress;","import {\n Animation,\n Dialog,\n FormLabel,\n LabelValue,\n ProgressBar } from \"@hai/ui-react\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport ContractProvisionSuccessModal from \"./ContractProvisionSuccessModal\";\n\nimport PropTypes from \"prop-types\";\nimport cogoToast from \"cogo-toast\";\nimport HubProvisionStatusProgress from \"./HubProvisionStatusProgress\";\nimport { Col, Row } from \"reactstrap\";\n\nconst ContractNewProvisionDialog = (props) => {\n const [provision, setProvision] = useState(null);\n const [showDoneModal, setShowDoneModal] = useState(false);\n const [postingProvision, setPostingProvision] = useState(false);\n const [runningProvision, setRunningProvision] = useState(null);\n\n var intervalChecks = null;\n\n const getLastCustomerProvision = (onGoing) => {\n axios.get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Provisions/latest/contracts/\" + props.contract.id\n ).then(r => {\n if (r.data) {\n setRunningProvision(r.data);\n if (onGoing) {\n enableInterval(true, () => getLastCustomerProvision());\n }\n }\n }).catch(e => {\n enableInterval(false);\n })\n }\n\n const enableInterval = async (flag, func) => {\n if (flag) {\n clearInterval(intervalChecks);\n intervalChecks = setInterval(func, 15000);\n } else {\n console.log(\"stop interval\");\n clearInterval(intervalChecks);\n }\n };\n\n const postProvision = () => {\n if (validateForm()) {\n setPostingProvision(true);\n enableInterval(true, () => getLastCustomerProvision(true));\n var body = {\n name: props.contract.accountName,\n domain: props.contract.orgDomain,\n contractId: props.contract.id,\n };\n axios\n .post(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Operations/client-subscription/provision\",\n body\n )\n .then((response) => {\n setShowDoneModal(true);\n setProvision(response.data);\n setPostingProvision(false);\n enableInterval(false)\n })\n .catch((error) => {\n setPostingProvision(false);\n enableInterval(false);\n getLastCustomerProvision(false);\n });\n }\n };\n\n const validateForm = () => {\n var valid = true;\n if (\n props.contract.orgDomain === \"\" ||\n props.contract.orgDomain === undefined\n ) {\n cogoToast.error(\"Domain is required. Check Salesforce\", {\n position: \"top-right\",\n });\n valid = false;\n }\n if (\n props.contract.accountName === \"\" ||\n props.contract.accountName === undefined\n ) {\n cogoToast.error(\"Company name is required. Check Salesforce\", {\n position: \"top-right\",\n });\n valid = false;\n }\n return valid;\n };\n\n const hideDoneModal = () => {\n setShowDoneModal(false);\n props.close();\n };\n\n return (\n <>\n \n Company Name\n {props.contract.accountName}\n\n Domain\n {props.contract.orgDomain}\n\n Contract Id\n {props.contract.id}\n\n {(postingProvision && !runningProvision) && (\n \n )}\n {runningProvision && }\n {runningProvision && runningProvision.failMessage != null && \n Provision for {runningProvision.claimCode} failed. Retry in Provision page}\n \n }\n buttons={[\n {\n label: \"Yes\",\n primary: true,\n disabled: postingProvision || runningProvision,\n onClick: () => postProvision(),\n },\n { label: \"No\", onClick: () => props.close(), disabled: postingProvision },\n ]}\n >\n\n {showDoneModal && provision != null && (\n \n )}\n \n );\n};\n\nContractNewProvisionDialog.propTypes = {\n close: PropTypes.func.isRequired,\n contract: PropTypes.object.isRequired,\n};\nexport default ContractNewProvisionDialog;\n","import { faClipboard } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Button, FormControl, FormGroup, Icon, IconCard , ProgressBar } from \"@hai/ui-react\";\nimport axios from \"axios\";\nimport React, { Component } from \"react\";\n\nclass RevealKeyvaultSecrets extends Component {\n constructor(props) {\n super(props);\n this.state = {\n recordId: this.props.recordId,\n secretValue: \"\",\n buttonShow: true,\n };\n }\n\n componentDidMount() {}\n\n async retrieveSecret() {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/HubApiCredentials/secrets/\" +\n this.state.recordId\n )\n .then((response) => {\n this.setState((prev) => {\n prev.secretValue = response.data;\n return prev;\n });\n })\n .catch((err) => {\n this.setState((prev) => {\n prev.secretValue = err.data;\n return prev;\n });\n });\n }\n\n render() {\n if (this.state.buttonShow) {\n return (\n
\n {\n this.retrieveSecret();\n this.setState((prev) => {\n prev.buttonShow = false;\n return prev;\n });\n }}\n >\n Click to Reveal\n \n
\n );\n } else {\n return <>{this.state.secretValue};\n }\n }\n}\n\nexport default RevealKeyvaultSecrets;\n","import React, { useEffect, useState } from \"react\";\nimport { Button, Animation , ProgressBar } from \"@hai/ui-react\";\nimport axios from \"../../infra/axios\";\nimport PropTypes from \"prop-types\";\n\nfunction SecretRevealButton(props) {\n const [showSecret, setShowSecret] = useState(props.showSecret);\n const [secret, setSecret] = useState(null);\n const [jellySp, setJellySp] = useState(null);\n const [loading, setLoading] = useState(false);\n\n const getSecret = async (spId, secretId) => {\n setLoading(true);\n await axios\n .get(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/azure-resource/service-principals/${spId}/secrets/${secretId}/with-secret`\n )\n .then((res) => {\n setSecret(res.data);\n setLoading(false);\n })\n .catch((e) => setLoading(false));\n };\n\n const getJellySpData = async () => {\n if (props.jellyfishDbId != null) {\n setLoading(true);\n await axios\n .get(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/azure-resource/service-principals/by-db/${props.jellyfishDbId}`\n )\n .then((res) => {\n setJellySp(res.data);\n setLoading(false);\n getSecret(res.data.applicationId, res.data.secrets?.[0]?.secretId);\n })\n .catch((e) => setLoading(false));\n }\n };\n\n if (!showSecret) {\n return (\n
\n {\n setShowSecret(true);\n getJellySpData();\n }}\n >\n Click to Reveal\n \n
\n );\n } else {\n return (\n <>\n {loading && }\n {!loading &&
{props.secretValue ?? secret?.secretValue}
}\n \n );\n }\n}\n\nSecretRevealButton.propTypes = {\n jellyfishDbId: PropTypes.string,\n secretValue: PropTypes.string,\n showSecret: PropTypes.bool\n}\n\nSecretRevealButton.defaultProps = {\n showSecret: false\n}\n\n\nexport default SecretRevealButton;\n","import { Button, List, ListHeader, TableRow , ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport RevealKeyvaultSecrets from \"./RevealKeyvaultSecrets\";\nimport moment from \"moment\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCalendarPlus,\n faSyncAlt,\n faTrash,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport SecretRevealButton from \"../../common/secretRevealButton\";\n\nclass ApiCredentialTable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n apiCredentials: this.props.apiCredentials,\n renewAction: this.props.renewAction,\n rotateAction: this.props.rotateAction,\n removeAction: this.props.removeAction,\n };\n }\n\n componentDidMount() {}\n\n render() {\n return (\n \n \n
\n
Client Id
\n
Client Secret
\n
Expire Date
\n
Role
\n
Renew
\n
Rekey
\n
Remove
\n \n {this.state.apiCredentials.map((cred, index) => {\n return (\n \n
\n
{cred.clientId}
\n
\n {\" \"}{cred.deletedDate != null ? \"\" : }{\" \"}\n
\n
{cred.deletedDate != null ? \"Deleted\" : moment(cred.validTo).format(\"yyyy-MM-DD\")}
\n
{cred.hubSubscriptionRole}
\n
\n this.state.renewAction(cred.id)}\n />\n
\n
\n this.state.rotateAction(cred.id)}\n />\n
\n
\n this.state.removeAction(cred.id)}\n />\n
\n \n );\n })}\n
\n );\n }\n}\n\nexport default ApiCredentialTable;\n","import { Animation, Button, FormLabel, LabelValue, Modal, ModalBody, Notification, Spinner , ProgressBar } from \"@hai/ui-react\";\nimport React, { Component, useEffect, useState } from \"react\";\nimport { ModalHeader } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport ApiCredentialTable from \"./ApiCredentialTable\";\n\nconst ApiCredential = (props) => {\n const [loading, setLoading] = useState(true);\n const [subscriptionId, setSubscriptionId] = useState(props.subscriptionId);\n const [apiCredentials, setApiCredentials] = useState(null);\n const [creatingCredential, setCreatingCredential] = useState(false);\n const [showNotification, setShowNotification] = useState(false);\n\n useEffect(() => {\n loadApiCredentials();\n }, []);\n\n const loadApiCredentials = async () => {\n setLoading(true);\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/HubApiCredentials/subscriptions/\" +\n subscriptionId\n )\n .then((response) => {\n setApiCredentials(response.data);\n setLoading(false);\n })\n .catch((e) => setLoading(false));\n };\n\n const createApiCredentials = async () => {\n setCreatingCredential(true);\n axios\n .post(\n process.env.REACT_APP_HUB_API_BASE_URL + \"/HubApiCredentials/create\",\n {\n customerName: props.customerName,\n hubOrganization: props.organizationId,\n hubSubscription: props.subscriptionId,\n hubSubscriptionRole: \"operator\",\n }\n )\n .then((response) => {\n setLoading(false);\n setCreatingCredential(false);\n setShowNotification(true);\n loadApiCredentials();\n })\n .catch((e) => {\n setLoading(false);\n setCreatingCredential(false);\n });\n };\n\n const renewApiCredentials = async (hubApiCredentialId) => {\n await axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/HubApiCredentials/\" +\n hubApiCredentialId +\n \"/renew-key\"\n )\n .then((response) => loadApiCredentials());\n };\n\n const rotateApiCredentials = async (hubApiCredentialId) => {\n await axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/HubApiCredentials/\" +\n hubApiCredentialId +\n \"/rotate-key\"\n )\n .then((response) => loadApiCredentials());\n };\n\n const removeApiCredentials = async (hubApiCredentialId) => {\n await axios\n .delete(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/HubApiCredentials/\" +\n hubApiCredentialId +\n \"/remove-key\"\n )\n .then((response) => loadApiCredentials());\n };\n\n return (\n <>\n {loading && }\n {!loading && (\n
\n createApiCredentials()}\n disabled={creatingCredential}\n >\n Create Api Credentials\n \n {\n creatingCredential && \n }\n \n \n
\n )}\n setShowNotification(false)}\n />\n\n \n \n );\n};\n\nexport default ApiCredential;\n","import {\n faCheckCircle,\n faMinusCircle,\n faCog,\n faKey,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n Dialog,\n OverlayTrigger,\n TableRow,\n Modal,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Button,\n ModalTitle } from \"@hai/ui-react\";\nimport cogoToast from \"cogo-toast\";\nimport React, { useState, useEffect } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport ApiCredential from \"../api-credentials/ApiCredential\";\n\nconst AssetsRow = (props) => {\n const [asset, setAsset] = useState(props.asset);\n const [processingAsset, setProcessingAsset] = useState(false);\n\n //disable\n const [showDisableDialog, setShowDisableDialog] = useState(false);\n // enable\n const [showEnableDialog, setShowEnableDialog] = useState(false);\n\n // apiCredDialogShow\n const [showApiCredDialog, setShowApiCredDialog] = useState(false);\n const [apiCredSubId, setApiCredSubId] = useState(null);\n\n useEffect(() => {}, []);\n\n const goToSubscription = (subId) => {\n if (!props.orgId) {\n cogoToast.error(\"Could not find organization\", { position: \"top-right\" });\n return;\n }\n window.open(\n `/hub/organizations/${props.orgId}/subscriptions/${subId}`,\n \"_blank\"\n );\n };\n\n const disableOrEnableSub = (isDisable) => {\n setProcessingAsset(true);\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Operations/client-subscription/organizations/${\n props.orgId\n }/subscriptions/${asset.subscriptionId}/${\n isDisable ? \"disable\" : \"enable\"\n }`\n )\n .then((response) => {\n setProcessingAsset(false);\n setShowDisableDialog(false);\n setShowEnableDialog(false);\n updateAssetStatus();\n cogoToast.success(\n `Subscription ${isDisable ? \"disabled\" : \"enabled\"}`,\n { position: \"top-right\" }\n );\n })\n .catch((err) => setProcessingAsset(false));\n };\n\n const updateAssetStatus = () => {\n let newAsset = { ...asset, isDisabled: !asset.isDisabled };\n setAsset(newAsset);\n };\n\n return (\n <>\n \n
\n
\n \n {asset.subscriptionName}\n \n

{asset.subscriptionId}

\n
\n
\n {asset.azureSubscriptionName\n ? asset.azureSubscriptionName\n : asset.name}\n
\n {asset.azureSubscriptionId}\n
\n
\n {\" \"}\n {asset.isDisabled != null ? (\n {\n if (!asset.isDisabled) {\n setShowDisableDialog(true);\n } else {\n setShowEnableDialog(true);\n }\n }}\n />\n ) : (\n \"Not found\"\n )}\n
\n {/* ApiCredentials Dialog */}\n {\n setApiCredSubId(asset.subscriptionId);\n setShowApiCredDialog(true);\n }}\n >\n \n \n\n {/* Details ICON */}\n {\n if (asset.isDisabled) {\n cogoToast.info(\"This subscription is disabled\", {\n position: \"top-right\",\n });\n } else {\n goToSubscription(asset.subscriptionId);\n }\n }}\n >\n \n \n \n \n \n\n {\n setShowApiCredDialog(false);\n setApiCredSubId(null);\n }}\n size=\"xl\"\n >\n Api Credentials\n \n {\"Subscription Id: \" + apiCredSubId}\n
\n \n
\n
\n \n {\n setShowApiCredDialog(false);\n setApiCredSubId(null);\n }}\n >\n Close\n \n \n \n\n {\n setShowDisableDialog(false);\n }}\n headline={`Disable subscription`}\n content={\n <>\n

The following subscription will be disabled:

\n

\n {asset?.azureSubscriptionName} - {asset?.subscriptionId}\n

\n

\n

\n Note: ClaimCode will also be disabled as well. Please confirm this\n action.\n

\n \n }\n buttons={[\n {\n label: \"Yes\",\n disabled: processingAsset,\n onClick: () => disableOrEnableSub(true),\n },\n {\n label: \"No\",\n primary: true,\n onClick: () => {\n setShowDisableDialog(false);\n },\n },\n ]}\n >\n\n {/* ENABLE SUB DIALOG */}\n {\n setShowEnableDialog(false);\n }}\n headline={`Enable subscription`}\n content={\n <>\n

The following subscription will be enabled:

\n

\n {asset?.azureSubscriptionName} - {asset?.subscriptionId}\n

\n

\n

\n Note: ClaimCode will also be enabled as well. Please confirm this\n action.\n

\n \n }\n buttons={[\n {\n label: \"Yes\",\n disabled: processingAsset,\n onClick: () => disableOrEnableSub(false),\n },\n {\n label: \"No\",\n primary: true,\n onClick: () => {\n setShowEnableDialog(false);\n },\n },\n ]}\n >\n \n );\n};\n\nexport default AssetsRow;\n","import {\n Animation,\n Button,\n Dialog,\n List,\n ListHeader,\n ProgressBar, \n SelectOption} from \"@hai/ui-react\";\nimport cogoToast from \"cogo-toast\";\nimport React, { useState, useEffect } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport PropTypes from \"prop-types\";\nimport ContractNewProvisionDialog from \"./ContractNewProvisionDialog\";\nimport Select from \"react-select\";\nimport ContractProvisionSuccessModal from \"./ContractProvisionSuccessModal\";\nimport AssetsRow from \"./AssetsRow\";\n\nconst AssetsTable = (props) => {\n const [assetsMapped, setAssetsMapped] = useState(null);\n const [loadingSubs, setLoadingSubs] = useState(true);\n const [showInfo, setShowInfo] = useState(false);\n const [showProvisionDialog, setShowProvisionDialog] = useState(false);\n const [showNewSubDialog, setShowNewSubDialog] = useState(false);\n\n //new hub sub\n const [postingNewSub, setPostingNewSub] = useState(false);\n const [selectedSub, setSelectedSub] = useState(null);\n const [options, setOptions] = useState(null);\n const [createdNewSub, setCreatedNewSub] = useState(false);\n const [provision, setProvision] = useState(null);\n\n useEffect(() => {\n querySubscriptions(props.contract.hubOrgId);\n mountSubSelect();\n }, []);\n\n const mountSubSelect = () => {\n let options = props.contract.assets\n .filter((a) => {\n if (props.specificSub) {\n return a.subscriptionId === props.specificSub;\n }\n return a;\n })\n .map((a) => {\n return (a.azureSubscriptionName + \" - \" + a.azureSubscriptionId);\n });\n setOptions(options);\n };\n\n const querySubscriptions = (orgId) => {\n if (orgId) {\n setLoadingSubs(true);\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/SrtHub/organizations/${orgId}/subscriptions`\n )\n .then(async (response) => {\n // We need all of this because we merge subscriptions from 2 contract and from hub.\n let hubSubscriptions = response.data;\n\n let mergedAssets = props.contract.assets.map((sfAsset) => {\n sfAsset.orchestrator = \"Loading...\";\n\n let index = hubSubscriptions.findIndex(\n (sub) => sub.subscriptionId == sfAsset.subscriptionId\n );\n\n if (index != -1) {\n let newAsset = Object.assign(hubSubscriptions[index], sfAsset);\n hubSubscriptions.splice(index, 1);\n return newAsset;\n } else {\n return sfAsset;\n }\n }); // merge the asset property into hub sub\n\n hubSubscriptions.forEach((s, index) => {\n mergedAssets.push({\n id: \"XXXXXXXXXXXXXXX\" + index,\n subscriptionId: s.subscriptionId,\n isDisabled: s.isDisabled,\n azureSubscriptionName: s.subscriptionName,\n azureSubscriptionId: \"00000-00000-00000-00000\",\n orchestrator: \"Loading...\",\n });\n });\n\n mergedAssets = mergedAssets.filter((a) => {\n if (props.specificSub) {\n return a.subscriptionId === props.specificSub;\n }\n return a;\n });\n setLoadingSubs(false);\n setAssetsMapped(mergedAssets.sort());\n })\n .catch((error) => {\n setLoadingSubs(false);\n });\n } else {\n setShowInfo(true);\n setAssetsMapped(props.contract.assets);\n setLoadingSubs(false);\n }\n };\n\n const toggleProvisionDialog = () => setShowProvisionDialog(true);\n const toggleNewSubDialog = () => setShowNewSubDialog(true);\n\n const generateNewClaimCode = () => {\n if (selectedSub?.value) {\n setPostingNewSub(true);\n axios\n .post(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Operations/client-subscription/srthub/claim-code/generate/${selectedSub.value}`\n )\n .then((response) => {\n setProvision(response.data);\n setPostingNewSub(false);\n setCreatedNewSub(true);\n setSelectedSub(null);\n })\n .catch((err) => setPostingNewSub(false));\n } else {\n cogoToast.warn(\"Select subscription first\", { position: \"top-right\" });\n }\n };\n\n return (\n \n {showInfo && (\n Showing only assets because org id is not valid.\n )}\n \n \n Hub Org Id: {props.contract.hubOrgId}\n \n \n
\n
Hub Subscription
\n
Azure Subscription
\n
Hub Subscription Status
\n \n {loadingSubs && }\n {assetsMapped &&\n assetsMapped.map((asset, index) => (\n \n ))}\n
\n\n setShowProvisionDialog(false)}\n >\n\n {\n setShowNewSubDialog(false);\n setSelectedSub(null);\n }}\n headline=\"Do you wish to create a new Hub Subscrpition for the selected sub?\"\n content={\n <>\n setSelectedSub(sub)}\n >\n {\" \"}\n \n {selectedSub && (\n

\n By clicking YES you are going to create a new Hub\n Subscription/Claim Code using the selected Azure Subscription:{\" \"}\n {selectedSub.label}\n

\n )}\n \n }\n buttons={[\n {\n label: \"Yes\",\n primary: true,\n disabled: postingNewSub,\n onClick: () => generateNewClaimCode(),\n },\n {\n label: \"No\",\n onClick: () => {\n setShowNewSubDialog(false);\n setSelectedSub(null);\n },\n },\n ]}\n >\n\n {createdNewSub && (\n setCreatedNewSub(false)}\n >\n )}\n \n );\n};\n\nAssetsTable.propTypes = {\n contract: PropTypes.object.isRequired,\n specificSub: PropTypes.string,\n};\n\nexport default AssetsTable;\n","import React from 'react';\nimport {Modal, ModalTitle, ModalHeader, ModalBody, ModalFooter,\n List, ListHeader, TableRow, Button } from '@hai/ui-react';\nimport {Row, Col} from 'reactstrap'\nimport './RatesModal.scss';\n\nclass RatesModal extends React.Component {\n \n \n render = () => { \n return (\n \n \n Rates\n \n \n \n \n
From
\n
To
\n
Quality
\n
Price
\n
Unit
\n
Threshold
\n \n\n {this.props.rates?.map((rate, index) => (\n \n
\n
{rate.from}
\n
{rate.to}
\n
{rate.quality}
\n
{rate.price}
\n
{rate.unitOfMeasure}
\n
{rate.threshold}
\n \n ))}\n
\n
\n \n \n \n \n \n \n \n \n
\n )\n}\n}\n\nexport default RatesModal;","import { List, ListHeader, TableRow , ProgressBar } from \"@hai/ui-react\";\nimport React from \"react\";\nimport moment from \"moment\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faExternalLinkAlt } from \"@fortawesome/free-solid-svg-icons\";\nimport RatesModal from \"../contracts-details/RatesModal\";\n\nexport default class ContractItemsTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n ratesModal: false,\n activeContractItem: null,\n };\n }\n\n modalComponent() {\n if (this.state.ratesModal) {\n return (\n this.hideRatesModal()}\n >\n );\n } else {\n return;\n }\n }\n\n showModalClick(item) {\n this.setState({ ratesModal: true, activeContractItem: item });\n }\n\n hideRatesModal() {\n this.setState({ ratesModal: false, activeContractItem: null });\n }\n\n render = () => {\n return (\n \n Contract Line Items\n
\n \n \n
\n
Id
\n
Name
\n
Start Date
\n
End Date
\n
Status
\n
Rates
\n \n\n {this.props.contractItems?.map((item, index) => {\n return (\n
\n \n
\n
{item.id}
\n
{item.name}
\n
{moment(item.startDate).format(\"MM/DD/YYYY\")}
\n
{moment(item.endDate).format(\"MM/DD/YYYY\")}
\n
{item.status}
\n
\n this.showModalClick(item)}\n />{\" \"}\n
\n
\n {this.modalComponent()}\n
\n );\n })}\n
\n\n {/* */}\n \n );\n };\n}\n","import {\n Button, FormGroup,\n FormLabel, Modal,\n ModalBody,\n ModalFooter, ModalHeader, ModalTitle\n, ProgressBar } from \"@hai/ui-react\";\nimport React from \"react\";\nimport { Col, Row } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport HubProvisionStatusProgress from \"../contracts/HubProvisionStatusProgress\";\n\nvar intervalChecks = null;\n\nclass ProvisionDetailModal extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n sp: null,\n retrying: false,\n provision: props.provision,\n }\n }\n\n\n componentDidMount() {\n this.getProvisionByClaimCode();\n if (this.state.provision.jellyServicePrincipalId) {\n axios.get(process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/azure-resource/service-principals/by-db/${this.props.provision.jellyServicePrincipalId}`)\n .then(response => {\n this.setState({sp: response.data})\n })\n } \n }\n\n getProvisionByClaimCode() {\n axios.get(process.env.REACT_APP_HUB_API_BASE_URL + `/Provisions/by-claim-code/${this.state.provision.claimCode}`)\n .then(res => this.setState({provision: res.data}));\n }\n\n retryProvision() {\n this.enableInterval(true, () => this.getProvisionByClaimCode());\n this.setState({retrying : true});\n axios.post(process.env.REACT_APP_HUB_API_BASE_URL + `/Operations/client-subscription/provision/${this.props.provision.id}/resume`)\n .then(res => {\n this.setState({retrying: false, provision: res.data});\n this.enableInterval(false);\n })\n .catch(e => {\n this.setState({retrying: false});\n this.enableInterval(false);\n this.getProvisionByClaimCode();\n })\n }\n\n async enableInterval(flag, func) {\n if (flag) {\n clearInterval(intervalChecks);\n intervalChecks = setInterval(func, 15000);\n } else {\n clearInterval(intervalChecks);\n }\n };\n\n render = () => {\n return (\n \n \n Provision code {this.state.provision.claimCode}\n \n \n \n \n \n \n

{this.state.provision.domain ?? \"\"}

\n
\n \n \n \n \n

{this.state.provision.claimCode ?? \"\"}

\n
\n \n\n \n \n \n

{this.state.provision.claimedDate ?? \"\"}

\n
\n \n
\n\n \n \n \n \n

\n {this.state.provision.claimedUserEmail ?? \"\"}\n

\n
\n \n\n \n \n \n

\n {this.state.provision.status} \n

\n
\n \n\n \n \n \n

\n {this.state.provision.srtHubOrganizationId ?? \"\"}\n

\n
\n \n
\n\n \n \n \n \n

\n {this.state.provision.srtHubSubscriptionId ?? \"\"}\n

\n
\n \n\n \n \n {\" \"}\n

\n {this.state.provision.subscriptionName}\n

\n
\n \n\n \n \n {\" \"}\n

{this.state.provision.subscriptionId}\n

\n
\n \n
\n \n\n \n \n \n

\n {this.state.sp?.name}\n

\n
\n \n\n \n \n \n

\n {this.state.sp?.applicationId}\n

\n
\n \n\n \n \n \n

\n {this.state.sp?.tenantId}\n

\n
\n \n\n
\n \n \n \n \n

\n {this.state.provision.stepStatus} \n

\n
\n \n\n {this.state.provision.failMessage && \n \n \n

\n {this.state.provision.failMessage} \n

\n
\n \n }\n
\n\n {\n this.state.provision &&\n \n }\n\n\n
\n \n \n \n \n {this.state.provision.failMessage \n && (this.state.provision.provisionInProgress != null\n && !this.state.provision.provisionInProgress) \n && }\n \n \n \n \n );\n };\n}\n\nexport default ProvisionDetailModal;\n","import React from \"react\";\nimport {\n Modal,\n ModalTitle,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Button,\n FormGroup,\n FormLabel,\n FormControl,\n ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col } from \"reactstrap\";\nimport moment from \"moment\";\nimport axios from \"axios\";\nimport { Fragment } from \"react\";\nimport cogoToast from \"cogo-toast\";\n\nclass ProvisionChangeModal extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n item: this.props.provision,\n notificationShow: false,\n submitting: false,\n };\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n enableOrDisable() {\n this.setState({ submitting: true });\n if (this.state.item.status === \"new\") {\n // disable\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Provisions/disable/\" +\n this.state.item.claimCode\n )\n .then((response) => {\n cogoToast.success(\"Disabled sucessfully\", { position: \"top-right\" });\n let item = this.state.item;\n item.status = \"disabled\";\n this.setState({ submitting: false });\n });\n } else {\n // enable\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Provisions/enable/\" +\n this.state.item.claimCode\n )\n .then((response) => {\n cogoToast.success(\"Enabled sucessfully\", { position: \"top-right\" });\n let item = this.state.item;\n item.status = \"new\";\n this.setState({ submitting: false });\n });\n }\n }\n\n handleChange(event) {\n const target = event.target;\n const value = target.type === \"checkbox\" ? target.checked : target.value;\n const name = target.name;\n var temp = this.state.item;\n temp[name] = value;\n this.setState({\n item: temp,\n });\n }\n\n handleSubmit(event) {\n this.setState({ submitting: true });\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL + \"/Provisions/update\",\n JSON.stringify(this.state.item)\n )\n .then((response) => {\n if (response.status == 200) {\n this.setState({ submitting: false });\n this.props.successNotification();\n this.props.hide();\n }\n })\n .catch((e) => this.setState({ submitting: false }));\n\n event.preventDefault();\n }\n\n render = () => {\n return (\n \n \n \n Edit\n \n \n \n \n \n \n

{this.state.item.claimCode}

\n
\n \n \n \n \n

{this.state.item.status ?? \"\"}

\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n Save Change\n \n \n \n this.enableOrDisable()}\n >\n {this.state.item.status === \"new\"\n ? \"Disable Code\"\n : \"Enable Code\"}\n \n \n \n \n \n \n \n \n
\n );\n };\n}\nexport default ProvisionChangeModal;\n","import React from \"react\";\nimport {\n Modal,\n ModalTitle,\n ModalHeader,\n ModalBody,\n ModalFooter,\n Button,\n FormGroup,\n FormLabel,\n FormControl,\n ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col } from \"reactstrap\";\nimport axios from \"axios\";\n\nclass ProvisoinDeleteModal extends React.Component {\n deleteProvision(id) {\n axios\n .delete(\n process.env.REACT_APP_HUB_API_BASE_URL + \"/Provisions/delete/\" + id\n )\n .then((response) => {\n if (response.status == 200) {\n this.props.successNotification();\n this.props.hide(id);\n } else {\n alert(\"delete failed\");\n }\n });\n }\n\n render = () => {\n return (\n \n \n Delete\n \n \n Are you sure deleting the following claim code?\n
\n
\n
    \n
  • \"{this.props.provision.claimCode}\"
  • \n
\n
\n \n \n \n this.deleteProvision(this.props.provision.id)}\n >\n Confirm\n \n \n \n \n \n \n \n
\n );\n };\n}\n\nexport default ProvisoinDeleteModal;\n","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n Modal,\n ModalHeader,\n ModalBody,\n List,\n ListHeader,\n TableRow,\n TagInput,\n Animation,\n FormGroup,\n FormLabel,\n FormControl,\n LabelValue,\n ModalFooter,\n Button,\n ProgressBar } from \"@hai/ui-react\";\n\nclass ProvisionStatusVerify extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showModal: props.show,\n claimCode: props.claimCode,\n hubLoading: true,\n jellyfishLoading: true,\n hubProvision: null,\n jellyfishProvision: null,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.showModal = nextProps.show;\n prev.claimCode = nextProps.claimCode;\n return prev;\n });\n this.loadClaimCodeStatusFromHub(nextProps.claimCode);\n this.loadClaimCodeStatusFromJellyfish(nextProps.claimCode);\n }\n\n componentDidMount() {\n this.loadClaimCodeStatusFromHub(this.state.claimCode);\n this.loadClaimCodeStatusFromJellyfish(this.state.claimCode);\n }\n\n handleHide() {\n this.setState({\n showModal: false,\n claimCode: null,\n hubLoading: true,\n jellyfishLoading: true,\n hubProvision: null,\n jellyfishProvision: null,\n });\n }\n\n async loadClaimCodeStatusFromHub(claimCode) {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Provisions/from-hub/\" +\n claimCode\n )\n .then((response) => {\n this.setState((prev) => {\n prev.hubProvision = response.data;\n prev.hubLoading = false;\n return prev;\n });\n });\n }\n\n async loadClaimCodeStatusFromJellyfish(claimCode) {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Provisions/by-claim-code/\" +\n claimCode\n )\n .then((response) => {\n this.setState((prev) => {\n prev.jellyfishProvision = response.data;\n prev.jellyfishLoading = false;\n return prev;\n });\n console.log(this.state.jellyfishProvision);\n });\n }\n\n render() {\n return (\n
\n this.handleHide()}\n >\n \n Claim Code - {this.state.claimCode}\n \n \n {this.state.hubLoading && this.state.jellyfishLoading && (\n \n )}\n {!this.state.hubLoading && !this.state.jellyfishLoading && (\n
\n \n \n
\n
Hub Value
\n
Jellyfish Value
\n
\n \n \n
\n Created Date\n
\n
{this.state.hubProvision.createdAt}
\n
{this.state.jellyfishProvision.createdDate}
\n
\n \n \n
\n Claimed Date\n
\n
{this.state.hubProvision.claimCodeReedemedAt}
\n
{this.state.jellyfishProvision.claimedDate}
\n
\n \n
\n
\n )}\n
\n \n \n \n \n
\n );\n }\n}\n\nexport default ProvisionStatusVerify;\n","import React from \"react\";\nimport { Col, Row, Spinner } from \"reactstrap\";\nimport {\n List,\n ListHeader,\n Notification,\n TableRow,\n Animation, ProgressBar } from \"@hai/ui-react\";\nimport axios from \"../../../infra/axios\";\nimport moment from \"moment\";\nimport ProvisionDetailModal from \"./ProvisionDetailModal\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCopyright,\n faEye,\n faPen,\n faSearch,\n faTrash,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport ProvisionChangeModal from \"./ProvisionChangeModal\";\nimport ProvisoinDeleteModal from \"./ProvisionDeleteModal\";\nimport ProvisionStatusVerify from \"./ProvisionStatusVerify\";\n\nclass ProvisionsTable extends React.Component {\n state = {\n provisions: [],\n loading: true,\n detailModal: false,\n detailModalItem: null,\n changeModal: false,\n changeModalItem: null,\n deleteModal: false,\n deleteModalItem: null,\n successNotification: false,\n statusModal: false,\n };\n\n async getProvisions() {\n await axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + \"/Provisions\")\n .then((response) => {\n var values = [];\n for (var i in response.data) {\n values.push(response.data[i]);\n }\n this.setState({\n provisions: values,\n loading: false,\n });\n });\n }\n\n componentDidMount() {\n if (this.props.provisions) {\n this.setState({\n provisions: this.props.provisions,\n loading: false,\n });\n } else {\n this.getProvisions();\n }\n }\n\n modalComponent() {\n return (\n
\n {this.state.detailModal && (\n this.hideDetailodal()}\n />\n )}\n {this.state.changeModal && (\n this.hideChangeModal()}\n successNotification={this.showSuccessNotification}\n />\n )}\n {this.state.deleteModal && (\n this.hideDeleteModal(id)}\n successNotification={this.showSuccessNotification}\n />\n )}\n {this.state.showStatusVerifyModal && (\n \n )}\n
\n );\n }\n\n showDeleteModal = (item) =>\n this.setState({ deleteModal: true, deleteModalItem: item });\n\n showDetailModal = (item) =>\n this.setState({ detailModal: true, detailModalItem: item });\n\n showChangeModal = (item) =>\n this.setState({ changeModal: true, changeModalItem: item });\n\n showStatusVerifyModal = (claimCode) => {\n this.setState({\n showStatusVerifyModal: true,\n claimCode: claimCode,\n });\n };\n\n hideDetailodal = () =>\n this.setState({ detailModal: false, detailModalItem: null });\n\n hideDeleteModal = (itemDeleted) => {\n if (itemDeleted) {\n let provisions = [...this.state.provisions].filter(\n (p) => p.id !== itemDeleted\n );\n this.setState({\n provisions: provisions,\n deleteModal: false,\n deleteModalItem: null,\n });\n } else {\n this.setState({ deleteModal: false, deleteModalItem: null });\n }\n };\n\n hideChangeModal = () =>\n this.setState({ changeModal: false, changeModalItem: null });\n\n notificationComponent() {\n return (\n
\n {this.state.successNotification && (\n \n )}\n
\n );\n }\n showSuccessNotification = () => this.setState({ successNotification: true });\n hideSuccessNotification = () => this.setState({ successNotification: false });\n\n render() {\n if (this.state.provisions == null || this.state.provisions.length == 0) {\n return (\n \n \n \n No data...\n \n \n \n \n {\" \"}\n {this.state.loading && (\n \n )}\n \n \n \n );\n } else {\n return (\n \n {this.notificationComponent()}\n \n \n
Domain
\n
Claim Code
\n
Created Date (UTC)
\n
Claimed Date (UTC)
\n
Contract Id
\n\n
\n
\n
\n
\n \n\n {this.state.provisions\n .sort((a, b) =>\n moment(a.createdDate) < moment(b.createdDate) ? 1 : -1\n )\n .map((prov, index) => (\n \n
{prov.domain}
\n
{prov.claimCode}
\n
\n {\" \"}\n {prov.createdDate &&\n moment(prov.createdDate).format(\"MM/DD/YYYY HH:mm\")}{\" \"}\n
\n
\n {\" \"}\n {prov.claimedDate &&\n moment(prov.claimedDate).format(\"MM/DD/YYYY HH:mm\")}{\" \"}\n
\n
{prov.contractId}
\n
{prov.subscriptionName?.startsWith(\"CONNECT-\") && }
\n
\n this.showStatusVerifyModal(prov.claimCode)}\n >\n
\n
\n this.showChangeModal(prov)}\n />\n
\n
\n this.showDetailModal(prov)}\n />\n
\n
\n this.showDeleteModal(prov)}\n />\n
\n \n ))}\n
\n {this.modalComponent()}\n \n );\n }\n }\n}\n\nexport default ProvisionsTable;\n","import React, { useEffect, useState } from 'react'\nimport axios from '../../../infra/axios';\nimport { Button, CopyToClipboard, DataTable, Dialog, Icon, ProgressBar } from '@hai/ui-react';\nimport { HaiDataTableColumnType } from '@hai/ui-react/dist/types';\nimport cogoToast from 'cogo-toast';\nimport PropTypes from \"prop-types\";\n\nconst DeviceByTenantTable = props => {\n const [loading, setLoading] = useState(true);\n const [devices, setDevices] = useState([]);\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const [showDeleteBulkDialog, setShowDeleteBulkDialog] = useState(false);\n const [selectedListToDelete, setSelectedListToDelete] = useState(null);\n const [showGeneratePairCode, setShowGeneratePairCode] = useState(false);\n const [showNewDeviceCode, setShowNewDeviceCode] = useState(false);\n const [newDeviceCode, setNewDeviceCode] = useState('')\n\n useEffect(()=> {\n getDevices();\n }, []);\n\n const getDevices = () => {\n if (props?.tenantId) {\n axios.get(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts/${props?.accountId}/tenants/${props?.tenantId}/devices`)\n .then(res => {\n setDevices(res.data)\n setLoading(false);\n })\n .catch(e => {\n setLoading(false);\n })\n } else {\n cogoToast.info(`No tenant found.`, {position: `top-right`});\n setLoading(false)\n }\n }\n\n const deleteDevice = (id) => {\n return axios.delete(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts/${props.accountId}/tenants/${props.tenantId}/devices/${id}`)\n }\n\n const deleteDeviceBulk = () => {\n if (selectedListToDelete) {\n var promises = selectedListToDelete.map(id => deleteDevice(id));\n Promise.all(promises).then(res => {\n cogoToast.success(`Devices deleted`);\n const remainingDevices = devices.filter(d => !selectedListToDelete.includes(d.id));\n setDevices(remainingDevices);\n setSelectedListToDelete(null);\n })\n }\n }\n\n const createNewPairCode = () => {\n axios.post(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts/${props.accountId}/tenants/${props.tenantId}/passcode`)\n .then(res => {\n setNewDeviceCode(res.data.pairingPasscode);\n setShowNewDeviceCode(true)\n });\n }\n\n const bulkActions = selectedItems => \n ()\n\n const onCheckAllEvent = nextCheckAllState => {\n const devicesSelected = devices.map(d => { return {...d, selected: nextCheckAllState}})\n setDevices(devicesSelected);\n }\n\n const deleteTenant = () => {\n axios.delete(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts/${props.accountId}/tenants/${props.tenantId}`)\n .then(t => {\n props.getTenants();\n setShowDeleteDialog(false);\n cogoToast.success(`Tenant deleted.`, {position: `top-right`})\n })\n }\n\n\n return (
\n\n {loading && ()}\n
\n {!loading && (\n \n \n
Pair code
\n
setShowGeneratePairCode(true)} />
\n
setShowDeleteDialog(true)} />
\n
}\n />\n \n \n \n {devices && devices.map((data, index) => {\n return console.log(`delete`, data.id)\n }]} />;\n })}\n )}\n\n setShowDeleteDialog(false)}\n headline=\"Delete Tenant?\"\n bodyText={`This action will delete the tenant ${props?.tenantId}.`}\n buttons={[\n { label: 'CANCEL' },\n { label: 'DELETE', variant: 'danger', onClick: () => deleteTenant() },\n ]}\n >\n\n setShowDeleteBulkDialog(false)}\n headline=\"Delete devices?\"\n bodyText={`This action will delete all selected devices.`}\n buttons={[\n { label: 'CANCEL' },\n { label: 'DELETE', variant: 'danger', onClick: () => deleteDeviceBulk() },\n ]}\n >\n\n setShowGeneratePairCode(false)}\n headline=\"Generate new device pairing code?\"\n buttons={[\n { label: 'CANCEL' },\n { label: 'CONFIRM', variant: 'primary', onClick: () => createNewPairCode() },\n ]}\n >\n\n setShowNewDeviceCode(false)}\n show={showNewDeviceCode}\n buttons={[{ label: 'OK', variant: 'primary' }]}\n />\n )\n}\n\nexport default DeviceByTenantTable;","import React, { useEffect, useState } from 'react'\nimport axios from '../../../infra/axios';\nimport { ProgressBar } from '@hai/ui-react';\nimport cogoToast from 'cogo-toast';\nimport PropTypes from \"prop-types\";\nimport DeviceByTenantTable from './DeviceByTenantTable';\n\nconst DeviceByAccountTable = (props) => {\n const [tenants, setTenants] = useState(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (props.selectedAccount === props.account.id) {\n getTenants();\n }\n }, [props.selectedAccount]);\n\n const getTenants = () => {\n axios.get(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts/${props.account?.id}/tenants`)\n .then(\n res => {\n setTenants(res.data);\n setLoading(false);\n if (res.data?.length > 1) { \n throw 'Account has more than one tenant'; \n }\n }).catch(e => {\n cogoToast.info(e, {position: `top-right`})\n setLoading(false);\n })\n }\n\n\n\n return (<>\n {loading && }\n {tenants && tenants.map(t => )}\n );\n}\n\nDeviceByAccountTable.propTypes = {\n account: PropTypes.any.isRequired\n}\n\nexport default DeviceByAccountTable;","import {\n faChevronCircleDown,\n faChevronCircleRight,\n faCog,\n faExternalLinkAlt,\n faSync,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React, { useEffect } from \"react\";\nimport moment from \"moment\";\nimport { Animation, Spinner, TableRow , ProgressBar } from \"@hai/ui-react\";\nimport { Collapse } from \"reactstrap\";\nimport { useState } from \"react\";\nimport AssetsTable from \"./AssetsTable\";\nimport ContractItemsTable from \"./ContractItemsTable\";\nimport axios from \"../../../infra/axios\";\nimport ProvisionsTable from \"../provisions/ProvisionsTable\";\nimport DeviceByAccountTable from \"../ems/DeviceByAccountTable\";\n\nconst ContractRow = (props) => {\n useEffect(() => {\n if (props.contract) {\n setContract(props.contract);\n }\n }, [props.contract]);\n\n const [contract, setContract] = useState(null);\n const [emsAccount, setEmsAccount] = useState(null);\n const [loadingAssets, setLoadingAssets] = useState(false);\n const [collapseSubs, setCollapseSubs] = useState(false);\n\n const toggleCollapseSubs = async () => {\n if (!collapseSubs) {\n setLoadingAssets(true);\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/HubServiceContract/${contract.id}/HubAssets`\n )\n .then((resposne_sf) => {\n contract.assets = resposne_sf.data;\n setLoadingAssets(false);\n });\n } else {\n contract.assets = null;\n }\n setCollapseSubs(!collapseSubs);\n };\n\n const [loadingContractLineItems, setLoadingContractLineItems] = useState(false);\n const [collapseItems, setCollapseItems] = useState(false);\n\n const toggleCollapseItems = async () => {\n if (!collapseItems) {\n setLoadingContractLineItems(true);\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/HubServiceContract/${contract.id}/HubContractLineItems`\n )\n .then((resposne_sf) => {\n contract.contractLineItems = resposne_sf.data;\n setLoadingContractLineItems(false);\n });\n\n if (contract.hubOrgId) {\n axios.get(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts/hub/${contract.hubOrgId}`).then(res => {\n setEmsAccount(res.data);\n });\n }\n\n } else {\n contract.contractLineItems = null;\n }\n\n setCollapseItems(!collapseItems);\n };\n\n const [loadingProvisions, setLoadingProvisions] = useState(false);\n const [collapseProvisions, setCollapseProvisions] = useState(false);\n \n const toggleCollapseProvisions = async () => {\n if (!collapseProvisions) {\n setLoadingProvisions(true);\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Provisions/by-contracts/${contract.id}`\n )\n .then((provisionResponse) => {\n contract.provisions = provisionResponse.data;\n setLoadingProvisions(false);\n });\n } else {\n contract.provisions = null;\n }\n setCollapseProvisions(!collapseProvisions);\n };\n\n const navigateToContractDetails = () => {\n window.open(\"/hub/contracts/\" + props.contract.id, \"_blank\");\n };\n\n const [refreshingContract, setRefreshingContract] = useState(false);\n\n const refreshSF = async (id) => {\n if (!refreshingContract) {\n setRefreshingContract(true);\n\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL + `/HubServiceContract/${id}`\n )\n .then(async (contractResponse) => {\n setContract(contractResponse.data);\n });\n setRefreshingContract(false);\n }\n };\n\n if (contract) {\n if (contract?.id !== props?.contract?.id) setContract(props.contract);\n return (\n <>\n \n
\n
\n \n {contract.name}\n \n
\n
{contract.accountName}
\n
\n {contract.orgDomain}\n
\n {contract.hubOrgId}\n
\n
\n {moment(contract.startDate).format(\"MM/DD/YYYY\")}\n
\n {moment(contract.endDate).format(\"MM/DD/YYYY\")}\n
\n
\n {contract.claimCode}\n
\n {contract.activationDate\n ? moment(contract.activationDate).format(\"MM/DD/YYYY\")\n : \"\"}\n
\n
{contract.status}
\n\n toggleCollapseSubs()}\n >\n {loadingAssets && }\n {!loadingAssets && (\n \n )}\n \n\n toggleCollapseItems()}\n >\n {loadingContractLineItems && }\n {!loadingContractLineItems && (\n \n )}\n \n\n toggleCollapseProvisions()}\n >\n {loadingProvisions && }\n {!loadingProvisions && (\n \n )}\n \n\n \n refreshSF(contract.id)}\n >\n  \n navigateToContractDetails()}\n >\n \n \n\n \n {collapseSubs && (\n \n )}\n \n\n \n {collapseItems &&\n <>\n \n\n {/* SHOW EMS ACCOUNT/TENANT */}\n {emsAccount && \n

window.open(\"/ems/accounts/\" + emsAccount.id, \"_blank\")} style={{cursor: 'pointer', color: '#ff99ff'}}>\n Ems Account: {emsAccount.name} - {emsAccount.id} {\" \"}\n \n

\n \n \n }\n \n }\n
\n\n \n {collapseProvisions && (\n \n )}\n \n \n );\n } else {\n return ;\n }\n};\n\nexport default ContractRow;\n","import React from \"react\";\nimport { List, ListHeader, FormControl, Animation, ProgressBar, Header } from \"@hai/ui-react\";\nimport \"./ContractsTable.scss\";\nimport axios from \"../../../infra/axios\";\nimport { Col, Row } from \"reactstrap\";\nimport SlotsAvailable from \"../../common/Utils/SlotsAvailable\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport ContractRow from \"./ContractRow\";\nimport { Fragment } from \"react\";\n\nclass ContractsTable extends React.Component {\n state = {\n contracts: [],\n subscriptions: null,\n fullContracts: null,\n showModal: false,\n activeContract: null,\n loading: true,\n };\n\n async getContracts() {\n await axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + \"/HubServiceContract\")\n .then((resposne_sf) => {\n var contracts = resposne_sf.data.sort((a, b) =>\n a.name > b.name ? 1 : -1\n );\n this.setState((prev) => {\n prev.fullContracts = contracts;\n prev.contracts = contracts;\n prev.loading = false;\n return prev;\n });\n });\n }\n\n componentDidMount() {\n this.getContracts();\n }\n\n showModalClick(contract) {\n this.setState({ showModal: true, activeContract: contract });\n }\n\n hideModal() {\n this.setState({ showModal: false, activeContract: null });\n }\n\n filterForm = () => {\n return (\n \n \n this.filterContracts(e.target.value)}\n >\n \n \n this.filterSubs(e.target.value)}\n >\n \n \n );\n };\n\n contractTable = () => {\n return (\n \n \n
\n
Name
\n
Company Name
\n
Domain / Org Id
\n
Start / End Date
\n
Claim Code / Activation Date
\n
Status
\n
Assets
\n
Items
\n
Claim Codes
\n \n\n {this.state.contracts.map((contract, index) => (\n \n ))}\n
\n );\n };\n\n loadingData = () => {\n return (\n
\n \n \n No data...\n \n \n \n \n {\" \"}\n {this.state.loading && (\n \n )}\n \n \n
\n );\n };\n\n filterContracts(value) {\n if (value == \"\") {\n this.setState((prev) => {\n prev.contracts = prev.fullContracts;\n return prev;\n });\n } else {\n if (value.length >= 2) {\n let filtered = this.state.fullContracts.filter((c) => {\n let valueUp = value.toUpperCase();\n if (c.accountName?.toUpperCase().includes(valueUp)) return true;\n if (c.name?.toUpperCase().includes(valueUp)) return true;\n if (c.hubOrgId?.toUpperCase().includes(valueUp)) return true;\n if (c.id?.toUpperCase().includes(valueUp)) return true;\n });\n this.setState((prev) => {\n prev.contracts = filtered;\n return prev;\n });\n }\n }\n }\n\n async filterSubs(value) {\n if (value == \"\") {\n this.setState((prev) => {\n prev.contracts = prev.fullContracts;\n return prev;\n });\n } else if (value.length == 36) {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/HubServiceContract/HubSubscription/\" +\n value\n )\n .then((resposne_sf) => {\n this.setState((prev) => {\n prev.contracts = new Array(resposne_sf.data);\n prev.loading = false;\n return prev;\n });\n });\n }\n }\n\n render() {\n if (this.state.contracts === null || this.state.contracts.length === 0) {\n return (\n
\n {this.PageTitle()}\n {this.filterForm()}\n
\n {this.loadingData()}\n
\n );\n } else {\n return (\n
\n {this.PageTitle()}\n {this.filterForm()}\n
\n {this.contractTable()}\n
\n );\n }\n }\n\n PageTitle() {\n return (\n \n
\n
\n \n
\n
\n );\n }\n}\n\nexport default ContractsTable;\n","import React from \"react\";\nimport { Container } from \"reactstrap\";\nimport { UserContext } from \"../../common/userContext\";\nimport ContractsTable from \"./ContractsTable\";\n\nclass Contracts extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n if (!sessionStorage.getItem(\"user.authState\")) {\n return
auth required...
;\n } else {\n return (\n \n {(user) => {\n return (\n \n \n \n );\n }}\n \n );\n }\n }\n}\n\nexport default Contracts;\n","import React, { useEffect, useState } from \"react\";\nimport {\n FormGroup,\n FormLabel,\n Form,\n LabelValue,\n ProgressBar, \n Header} from \"@hai/ui-react\";\nimport { Row, Col, Spinner, Container } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport AssetsTable from \"../contracts/AssetsTable\";\nimport ContractItemsTable from \"../contracts/ContractItemsTable\";\nimport moment from \"moment\";\nimport { useParams } from \"react-router-dom\";\n\nconst ContractDetails = (props) => {\n const [contract, setContract] = useState(null);\n const [loading, setLoading] = useState(true);\n const [organization, setOrganization] = useState(null);\n const {idParam} = useParams();\n const [error, setError] = useState(null);\n \n\n useEffect(() => {\n getContracts();\n }, []);\n\n const getOrg = async (orgId) => {\n axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + `/SrtHub/organizations`)\n .then((response) => {\n let org = response.data.find(\n (org) => org.organizationId == orgId\n );\n if (org) {\n setOrganization(org)\n }\n });\n }\n\n const getContracts = async() => {\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/HubServiceContract/${idParam}`\n )\n .then((response) => {\n setContract(response.data);\n getOrg(response.data?.hubOrgId);\n setLoading(false);\n })\n .then(() => {\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/HubServiceContract/${idParam}/HubAssets`\n )\n .then((response_asset) => {\n setContract((prevState) => ({\n ...prevState,\n assets: response_asset.data}));\n });\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/HubServiceContract/${idParam}/HubContractLineItems`\n )\n .then((response_cli) => {\n setContract((prevState) => ({\n ...prevState,\n contractLineItems: response_cli.data}));\n });\n })\n .catch((error) => {\n setLoading(false);\n setError(true);\n });\n }\n\n if (loading && contract === null) {\n return (\n
\n \n \n {\" \"}\n {loading && (\n \n )}\n \n \n
\n );\n } else if (loading === false && contract === null) {\n return (\n
\n

Invalid contract or not found. Please, go back.

\n
\n );\n } else {\n return (\n <>\n \n \n {\" \"}\n \n \n \n\n
\n \n \n Organization\n {organization && (\n {organization.name}\n )}\n \n \n \n \n Contract Name\n \n {contract?.name}\n \n \n\n \n \n \n Company Name\n \n {contract?.accountName}\n \n \n\n \n \n Domain\n {contract?.orgDomain}\n \n \n\n \n \n Status\n {contract?.status}\n \n \n\n \n \n Start date\n \n {moment(contract?.startDate).format(\"MM/DD/YYYY\")}\n \n \n \n\n \n \n End date\n \n {moment(contract?.endDate).format(\"MM/DD/YYYY\")}\n \n \n \n \n\n
\n\n \n \n Assets\n {contract?.assets && (\n \n )}\n \n \n\n
\n\n \n \n Items\n {contract?.contractLineItems && (\n \n )}\n \n \n\n
\n\n \n Invoices\n \n
\n \n );\n }\n}\n\nexport default ContractDetails;\n","import React from \"react\";\nimport ProvisionTable from \"./ProvisionsTable\";\nimport { Row, Col, Container } from \"reactstrap\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport { Header } from \"@hai/ui-react\";\n\nclass Provision extends React.Component {\n constructor(props) {\n super(props);\n console.log(\"provision env\", process.env.REACT_APP_HUB_API_BASE_URL);\n }\n\n render() {\n if (!sessionStorage.getItem(\"user.authState\")) {\n return
auth required...
;\n } else {\n return (\n \n
\n\n \n
\n );\n }\n }\n}\n\nexport default Provision;\n","import { Dialog, ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport { AuthenticationState } from \"react-aad-msal\";\nimport { UserContext, UserProvider } from \"./common/userContext\";\nimport LastestProvisionsTable from \"./haivision-hub/provisions/LastestProvisionsTable\";\n\nclass Home extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isLoggedIn: false,\n showNoPermissionDialog: false,\n };\n }\n\n componentDidMount() {\n this.setState((prev) => {\n prev.isLogedIn =\n sessionStorage.getItem(\"user.authState\") === \"Authenticated\"\n ? true\n : false;\n return prev;\n });\n }\n\n componentDidUpdate() { }\n\n render() {\n if (sessionStorage.getItem(\"user.authState\") === \"Authenticated\") {\n return (\n
\n
\n

\n Hello {sessionStorage.getItem(\"user.name\")}\n

\n

\n Welcome to Haivision Control Center{\" \"}\n

\n

\n Navigate on the side menu to explore.\n

\n
\n\n {/* */}\n\n\n \n {(user) => {\n if (\n user.authState === AuthenticationState.Authenticated &&\n user.roles.length == 0\n ) {\n this.setState({ showNoPermissionDialog: true });\n }\n }}\n \n \n

\n You have no roles assgined. Please contact Jellyfish Admin.\n

\n
\n }\n buttons={[\n {\n label: \"OK\",\n primary: true,\n onClick: () => this.setState({ showNoPermissionDialog: false }),\n },\n ]}\n />\n \n );\n } else {\n return

Please Login First

;\n }\n }\n}\n\nexport default Home;\n","import { List, ListHeader, TableRow , ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faBan,\n faCaretSquareRight,\n faCheckCircle,\n faChevronCircleRight,\n faMinusCircle,\n faSpinner,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { useHistory } from \"react-router-dom\";\n\nclass HubRouteTable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n routes: this.props.routes,\n subscriptionId: this.props.subscriptionId,\n };\n }\n\n routeDetailPage(subscriptionId, routeId) {\n window.location =\n \"/hub/subscriptions/\" + subscriptionId + \"/routes/\" + routeId;\n }\n\n render() {\n return (\n
\n \n \n
\n
Name
\n
Status
\n
Duration
\n
\n \n {this.state.routes.map((route, index) => {\n return (\n \n this.routeDetailPage(this.state.subscriptionId, route.id)\n }\n >\n
\n
{route.name}
\n
\n
\n {(route.status == \"Ended\" || route.status == \"Idle\") && (\n \n )}\n {(route.status == \"Stopping\" ||\n route.status == \"Starting\") && (\n \n )}\n {route.status == \"StoppingIncomplete\" && (\n \n )}\n {route.status == \"Running\" && (\n \n )}\n {route.status}\n
\n
\n
\n {new Date(route.streamingRunningTime)\n .toISOString()\n .substr(11, 8)}\n
\n
\n
\n \n
\n \n );\n })}\n
\n
\n );\n }\n}\n\nHubRouteTable.propTypes = {\n routes: PropTypes.array,\n subscriptionId: PropTypes.string,\n};\n\nexport default HubRouteTable;\n","import { Animation, Header , ProgressBar, Spinner } from \"@hai/ui-react\";\nimport PropTypes from \"prop-types\";\nimport React, { Component, useEffect, useState } from \"react\";\nimport HubRouteTable from \"./routeTable\";\nimport axios from \"../../../infra/axios\";\nimport { useParams } from \"react-router-dom\";\n\nconst HubRoute = (props) => {\n let {subscriptionIdParam} = useParams();\n const [routes, setRoutes] = useState(null);\n const [loading, setLoading] = useState(true);\n const [subscriptionId, setSubscriptionId] = useState(props.subscriptionId || subscriptionIdParam);\n\n useEffect(() => {\n refreshRoutes(subscriptionId);\n },[])\n\n const refreshRoutes = async (subscriptionId) => {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Support/subscriptions/\" +\n subscriptionId +\n \"/hublets/routes\"\n )\n .then((response) => {\n setRoutes(response.data.results.sort((a, b) =>\n a.createdOn < b.createdOn ? 1 : -1\n ));\n setLoading(false);\n });\n }\n\n if (loading) {\n return ;\n } else {\n return (\n
\n \n
\n \n
\n );\n }\n }\n\nHubRoute.propTypes = {\n subscriptionId: PropTypes.string,\n};\n\nexport default HubRoute;\n","import React from 'react';\nimport {Button, Dialog} from '@hai/ui-react';\n\n const ClearModal = (props) => {\n return (\n <>\n props.clearResult() },\n {label: 'No', onClick:() => props.close()}]}\n />\n \n )\n }\nexport default ClearModal;","import React from 'react';\nimport {Card, CardHeader, CardBody, CardFooter, Row, Col } from 'reactstrap';\nimport { faCloud, faCopy, faThumbsDown, faThumbsUp } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button, LabelValue, FormLabel} from '@hai/ui-react';\n\nimport moment from 'moment';\nimport cogoToast from 'cogo-toast';\n\nconst ResourceCard = (props) => {\n\n var copyToClipboard =async (id) => {\n var copyText = document.getElementById(id);\n copyText.select();\n copyText.setSelectionRange(0, 99999); /*For mobile devices*/\n await navigator.clipboard.writeText(copyText.value);\n cogoToast.success(\"Copied to clipboard\");\n }\n\n\n return (\n \n \n \n \n \n \n Id: \n {props.r.id}\n \n \n Hublet definition Id: \n {props.r.hubletDefinitionId}\n \n \n Hublet Id: \n {props.r.hubletId}\n \n \n Status: \n {props.r.status}\n \n \n External Status: \n {props.r.externalStatus}\n \n \n \n \n Provision start: \n {moment(props.r.provisionStartTime).format(\"YYYY-MM-DD HH:mm:ss\")}\n \n\n \n Provision end: \n {moment(props.r.provisionEndTime).format(\"YYYY-MM-DD HH:mm:ss\")}\n \n\n \n Region: \n {props.r.region}\n \n \n \n \n \n Errors found: {props.r.errors.length} \n \n \n \n \n {props.r.errors.map((e, index) => {\n return(
\n \n \n Message: \n {e.errorMessage}\n \n \n Is Unrecoverable: \n \n \n \n Provision state:\n {e.provisionState}\n \n \n Provision step state:\n {e.provisionStepState}\n \n \n Time:\n {moment(e.timeStamp).format(\"YYYY-MM-DD HH:mm:ss\")}\n \n\n \n Stacktrace:\n \n copyToClipboard(\"trace\"+index)}>\n \n \n
\n
\n )\n })}\n
\n
\n )\n}\n\n\nexport default ResourceCard;","import React, { Component } from \"react\";\nimport { Row, Col, Card, Collapse } from \"reactstrap\";\nimport { Button, LabelValue, FormLabel , ProgressBar } from \"@hai/ui-react\";\nimport moment from \"moment\";\nimport {\n faAngleDown,\n faAngleUp,\n faArrowDown,\n faCloud,\n faCopy,\n faExclamationTriangle,\n faThumbsDown,\n faThumbsUp,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport ResourceCard from \"./ResourceCard\";\nimport cogoToast from \"cogo-toast\";\n\nclass TopologyCard extends Component {\n state = {\n collapse: false,\n startedByName: null,\n stoppedByName: null,\n collapseResources: false,\n collapseTopologyError: false,\n };\n\n toggle = () => this.setState({ collapse: !this.state.collapse });\n toggleResources = () =>\n this.setState({ collapseResources: !this.state.collapseResources });\n toggleTopology = () =>\n this.setState({ collapseTopologyError: !this.state.collapseTopologyError });\n\n buttonsRow = (t) => {\n return (\n
\n \n
\n );\n };\n\n copyToClipboard = async (id) => {\n var copyText = document.getElementById(id);\n copyText.select();\n copyText.setSelectionRange(0, 99999); /*For mobile devices*/\n await navigator.clipboard.writeText(copyText.value);\n cogoToast.success(\"Copied to clipboard\");\n };\n\n componentDidMount() {\n this.getUserNames();\n }\n\n getUserNames() {\n let startedByName;\n let stoppedByName;\n this.props.users.find((user) => {\n if (this.props.topology.startedBy === user.id)\n startedByName = user.userName;\n\n if (this.props.topology.stoppedBy === user.id)\n stoppedByName = user.userName;\n });\n this.setState({\n startedByName: startedByName,\n stoppedByName: stoppedByName,\n });\n }\n\n render() {\n return (\n \n \n \n \n

\n Topology Id - {this.props.topology.id}{\" \"}\n {\" \"}\n {(this.props.topology.errors?.length >= 1 ||\n this.props.topology.resources?.some(\n (r) => r.errors?.length >= 1\n )) && (\n \n )}\n

\n \n\n \n

\n Started:{\" \"}\n {this.props.topology.routeStartTime &&\n moment(this.props.topology.routeStartTime).format(\n \"YYYY-MM-DD HH:mm:ss\"\n )}\n

\n \n \n

\n Ended:{\" \"}\n {this.props.topology.routeEndTime &&\n moment(this.props.topology.routeEndTime).format(\n \"YYYY-MM-DD HH:mm:ss\"\n )}\n

\n \n \n

\n Status: {this.props.topology.state}\n

\n \n \n {this.buttonsRow(this.props.topology)}\n \n \n \n \n \n \n Provision Start Time\n \n \n {moment(this.props.topology.provisionStartTime).format(\n \"YYYY-MM-DD HH:mm:ss\"\n )}\n \n \n \n \n Provision End Time\n \n \n {moment(this.props.topology.provisionEndTime).format(\n \"YYYY-MM-DD HH:mm:ss\"\n )}\n \n \n \n \n Started by\n \n \n {this.state.startedByName\n ? this.state.startedByName\n : this.props.topology.startedBy}\n \n \n \n \n Stopped by\n \n \n {this.state.stoppedByName\n ? this.state.stoppedByName\n : this.props.topology.stoppedBy}\n \n \n \n \n Topology State\n \n \n {this.props.topology.state}\n \n \n \n \n Total Resources\n \n \n {this.props.topology.totalResources}\n \n \n \n\n \n \n
\n Resources ({this.props.topology.resources?.length}){\" \"}\n \n
\n \n
\n\n {/* RESOURCES */}\n \n \n {this.props.topology.resources?.map((r, index) => (\n \n ))}\n \n \n\n {/* TOPOLOGY ERRORS */}\n \n \n
\n Topology errors ({this.props.topology.errors?.length}){\" \"}\n \n
\n \n
\n \n \n {this.props.topology.errors?.map((e, index) => {\n return (\n
\n \n \n \n Message:{\" \"}\n \n \n {e.errorMessage}\n \n \n \n \n Is Unrecoverable:{\" \"}\n \n \n \n \n \n \n \n Provision state:\n \n \n {e.provisionState}\n \n \n \n \n Provision step state:\n \n \n {e.provisionStepState}\n \n \n \n \n Time:\n \n \n {moment(e.timeStamp).format(\"YYYY-MM-DD HH:mm:ss\")}\n \n \n\n \n \n Stacktrace:\n \n \n \n \n this.copyToClipboard(\"trace\" + index)\n }\n >\n \n \n \n
\n
\n );\n })}\n
\n
\n
\n \n \n );\n }\n}\n\nexport default TopologyCard;\n","import { CardContainer, Spinner , ProgressBar } from \"@hai/ui-react\";\nimport React from \"react\";\nimport { Col, Row } from \"reactstrap\";\nimport LineTo from \"react-lineto\";\nimport HubletsCard from \"./HubletsCard\";\nimport { useEffect } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport { useState } from \"react\";\n\nconst HubletsView = (props) => {\n const [imageDefinitions, setImageDefinitions] = useState(null);\n\n useEffect(() => {\n getHubletsImages();\n }, []);\n\n const getHubletsImages = async () => {\n await axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/hublet-definitions/image`,\n props.hublets.map((h) => h.definitionId)\n )\n .then((response) => setImageDefinitions(response.data));\n };\n\n return (\n <>\n {!imageDefinitions && }\n {\n \n \n h.type === \"input\")\n .map((h, index) => (\n \n ))}\n />\n \n\n \n h.type === \"processing\")\n .map((h, index) => (\n \n ))}\n />\n \n\n \n h.type === \"output\")\n .map((h, index) => (\n \n ))}\n />\n \n \n }\n\n {imageDefinitions &&\n /*Generate lines */\n props.hublets\n .filter((h) => h.outputs !== null && h.outputs.length > 0)\n .map((hublet) => {\n return hublet.outputs.map((out, index) => {\n return (\n \n );\n });\n })}\n \n );\n};\n\nexport default HubletsView;\n","import React, { Component } from \"react\";\nimport {\n Card,\n Modal,\n ModalBody,\n ModalHeader,\n Button,\n ModalTitle,\n FormLabel,\n FormControl,\n Form,\n Header,\n LabelValue,\n ProgressBar } from \"@hai/ui-react\";\nimport { Col, Row } from \"reactstrap\";\nimport FormGroup from \"reactstrap/lib/FormGroup\";\nimport SecretRevealButton from \"../../common/secretRevealButton\";\nimport PropTypes from 'prop-types';\n\nclass HubRouteHublet extends Component {\n constructor(props) {\n console.log('aaaaa', props);\n super(props);\n this.state = {\n hublet: this.props.hublet,\n modalShow: false,\n hubletResource: this.props.hubletResource,\n showSPSecret: false,\n };\n this.handleModalShow = this.handleModalShow.bind(this);\n }\n\n handleModalShow() {\n this.setState((prev) => {\n prev.modalShow = !prev.modalShow;\n return prev;\n });\n }\n\n render() {\n return (\n \n \n \n Region: {this.state.hublet.region?.toUpperCase()}\n \n \n Status: {this.state.hublet.status}\n \n \n Version: {this.state.hublet.version}\n \n \n \n \n \n }\n />\n \n \n Hublet: {this.state.hublet.name}\n \n \n \n
Input
\n {this.state.hubletResource?.map((p, index) => {\n return (\n \n FQDN\n \n IP Address\n \n Port\n \n URL\n \n SRT Latency\n \n SRT Mode\n \n SRT Passphrase\n \n \n \n \n );\n })}\n
\n
Output
\n {this.state.hubletResource?.map((p, index) => {\n return (\n \n FQDN\n \n IP Address\n \n Port\n \n URL\n \n SRT Latency\n \n SRT Mode\n \n SRT Passphrase\n \n \n \n \n );\n })}\n
\n
Additional Parameters
\n {this.state.hublet.parameters.map((p, index) => {\n if (p.name.toLowerCase().includes(\"passphrase\")) {\n return (\n \n {p.name}\n \n \n \n \n );\n } else {\n return (\n \n {p.name}\n \n \n );\n }\n })}\n
\n
\n \n \n );\n }\n}\n\nHubRouteHublet.propTypes = {\n hublet: PropTypes.object.isRequired,\n hubletResource: PropTypes.any.isRequired\n}\n\nexport default HubRouteHublet;\n","import React, { Component } from \"react\";\nimport { Col, Row } from \"reactstrap\";\nimport { CardContainer, Spinner , ProgressBar } from \"@hai/ui-react\";\nimport HubRouteHublet from \"./routeHublet\";\nimport LineTo from \"react-lineto\";\nimport PropTypes from 'prop-types';\n\nclass HubRouteDiagram extends Component {\n constructor(props) {\n super(props);\n this.state = { route: this.props.route };\n }\n render() {\n return (\n
\n \n \n h.type === \"input\")\n .map((h, index) => {\n return (\n x.hubletId === h.id\n )}\n />\n );\n })}\n />\n \n\n \n h.type === \"processing\")\n .map((h, index) => {\n return (\n x.hubletId === h.id\n )}\n />\n );\n })}\n />\n \n\n \n h.type === \"output\")\n .map((h, index) => {\n return (\n x.hubletId === h.id\n )}\n />\n );\n })}\n />\n \n \n\n {this.state.route.hublets\n .filter((h) => h.outputs !== null && h.outputs.length > 0)\n .map((hublet) => {\n return hublet.outputs.map((out, index) => {\n return (\n \n );\n });\n })}\n
\n );\n }\n}\n\nHubRouteDiagram.propTypes = {\n route: PropTypes.object.isRequired\n}\n\nexport default HubRouteDiagram;\n","import React, { useEffect, useState } from \"react\";\nimport { Button, LabelValue, FormLabel, Animation , ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col, Collapse } from \"reactstrap\";\nimport \"./TopologyDetails.scss\";\nimport TopologyCard from \"./TopologyCard\";\nimport {\n faAngleDown,\n faAngleUp,\n faCloud,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport axios from \"../../../infra/axios\";\nimport HubletsView from \"./HubletsView\";\nimport HubRouteDiagram from \"../route/routeDiagram\";\n\nconst TopologyDetails = (props) => {\n const [subscription, setSubscription] = useState(null);\n const [users, setUsers] = useState(null);\n const [collapseHublet, setCollapseHublet] = useState(false);\n const [orchestratorVersion, setOrchestratorVersion] = useState(null);\n \n const querySubData = async () => {\n let orgId = props.route.organizationId;\n let subId = props.route.subscriptionId;\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/SrtHub/organizations/${orgId}/subscriptions/${subId}`\n )\n .then((response) => setSubscription(response.data));\n };\n const toggleCollapseHublet = () => setCollapseHublet(!collapseHublet);\n\n const getUserNames = async () => {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/SrtHub/organizations/${props.route.organizationId}/subscriptions/${props.route.subscriptionId}/users`\n )\n .then((response) => {\n setUsers(response.data);\n });\n };\n\n const getOrchestratorVersion = async () => {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/features/orchestrator-v2/subscriptions/${props.route.subscriptionId}`\n )\n .then((response) =>\n setOrchestratorVersion(response.data.orchestratorVersion)\n )\n .catch((err) => setOrchestratorVersion(\"Not found\"));\n };\n\n useEffect(() => {\n (async function () {\n await querySubData();\n await getUserNames();\n await getOrchestratorVersion();\n })();\n }, []);\n\n return (\n
\n \n \n
Org Name: 
{\" \"}\n
\n {subscription ? subscription.organizationName : \"Loading...\"} |{\" \"}\n
\n
 Sub name: 
{\" \"}\n
\n {subscription ? subscription.subscriptionName : \"Loading...\"} |{\" \"}\n
\n
 Orchestrator: 
{\" \"}\n
{orchestratorVersion ? orchestratorVersion : \"Loading...\"}
\n \n
\n
\n
\n \n {/* Route Id */}\n \n Route Id\n \n {props.route.id}\n \n \n {/* Route Name */}\n \n Route Name\n \n {props.route.name}\n \n \n {/* Subscription Id */}\n \n \n Subscription Id\n \n \n {props.route.subscriptionId}\n \n \n {/* Organization Id */}\n \n \n Organization Id\n \n \n {props.route.organizationId}\n \n \n\n \n Status\n \n {props.route.status}\n \n \n {props.azure && (\n \n
\n \n
\n \n )}\n
\n\n
\n \n \n Hublets scheme \n \n \n \n \n {props?.route?.hublets && collapseHublet && (\n // \n \n )}\n \n
\n {!users && }\n {users && props.topologies && (\n \n {props.topologies\n .sort((t1, t2) => {\n if (t1.provisionStartTime > t2.provisionStartTime) return -1;\n if (t1.provisionStartTime < t2.provisionStartTime) return 1;\n return 0;\n })\n .map((t, index) => (\n \n ))}\n
\n )}\n \n );\n};\n\nexport default TopologyDetails;\n","import { faRecycle, faRedo, faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n Button,\n FormControl,\n FormGroup,\n FormLabel,\n Animation,\n TabItem,\n Tabs,\n ProgressBar } from \"@hai/ui-react\";\nimport cogoToast from \"cogo-toast\";\nimport React, { useEffect, useState } from \"react\";\nimport {\n Col,\n Collapse,\n Container,\n Row,\n UncontrolledTooltip,\n} from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport HubRoute from \"../route/route\";\nimport ClearModal from \"./ClearModal\";\nimport TopologyDetails from \"./TopologyDetails\";\nimport { useNavigate, useParams } from \"react-router-dom\";\n\nconst TopologySupport = () => {\n const [loading, setLoading] = useState(false);\n const [loadingTopology, setLoadingTopology] = useState(false);\n const [routes, setRoutes] = useState(null);\n const [form, setForm] = useState({topologyId: null, routeId: null, subscriptionId: null});\n const [route, setRoute] = useState(null);\n const [topologies, setTopologies] = useState([]);\n const [azure, setAzure] = useState(null);\n const [isFormOpen, setIsFormOpen] = useState(false);\n const [clearModalOpen, setClearModalOpen] = useState(false);\n const [searchType, setSearchType] = useState(\"byroute\");\n const [refreshing, setRefreshing] = useState(false);\n const [showRoutesBySub, setShowRoutesBySub] = useState(false);\n const routeParams = useParams();\n const navigate = useNavigate();\n\n const toggleForm = () => setIsFormOpen(!isFormOpen);\n\n useEffect(() => {\n var formTemp = { ...form };\n if (routeParams) {\n formTemp.topologyId = routeParams.topologyId;\n formTemp.routeId = routeParams.routeId;\n formTemp.subscriptionId = routeParams.subscriptionId;\n setForm(formTemp);\n if (formTemp.topologyId) {\n setSearchType(\"bytopology\");\n } else if (formTemp.routeId) {\n setSearchType(\"byroute\");\n } else if (formTemp.subscriptionId) {\n setSearchType(\"bysubscription\");\n }\n // search();\n }\n }, []);\n\n const handleInputChange = (event) => {\n if (event != null) {\n const target = event.target;\n const value = target.type === \"checkbox\" ? target.checked : target.value;\n const name = target.name;\n var tempForm = { ...form };\n tempForm[name] = value;\n setForm(tempForm);\n }\n };\n\n const getTopologiesById = async (topologies) => {\n if (topologies?.length > 0) {\n setLoading(true);\n setLoadingTopology(true);\n\n await axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL + `/Support/topologies`,\n topologies\n )\n .then((response) => {\n let newArray = topologies;\n response.data\n .map((item) => item.topology)\n .forEach((topo) => newArray.push(topo));\n setRoute(response.data[0]?.route);\n setAzure(response.data[0]?.azureSubscription);\n setTopologies(newArray);\n setIsFormOpen(true);\n setLoading(false)\n setLoadingTopology(false);\n })\n .catch((err) => {\n setLoadingTopology(false);\n setLoading(false);\n });\n }\n }\n\n const search = async() => {\n if (\n topologies === null ||\n topologies.length === 0 ||\n searchType === \"bysubscription\"\n ) {\n await searchRequest();\n } else {\n setClearModalOpen(true);\n }\n }\n\n const searchRequest = async() => {\n if (validateForm()) {\n setRefreshing(true);\n setLoading(true);\n switch (searchType) {\n case \"bytopology\":\n setShowRoutesBySub(false);\n navigate(\n `/hub/support/routes/topology/${form.topologyId}`\n );\n await getTopologiesById([form.topologyId]);\n break;\n\n case \"byroute\":\n setShowRoutesBySub(false);\n navigate(\n `/hub/support/routes/route/${form.routeId}`\n );\n await searchByRouteId(form.routeId);\n break;\n\n case \"bysubscription\":\n setShowRoutesBySub(true);\n navigate(\n `/hub/support/routes/subscription/${form.subscriptionId}`\n );\n break;\n }\n setRefreshing(false);\n setLoading(false);\n }\n }\n\n const validateForm = () => {\n var valid = true;\n if (\n (searchType === \"byroute\" && !form.routeId) ||\n (searchType === \"bytopology\" && !form.topologyId) ||\n (searchType === \"bysubscription\" &&\n !form.subscriptionId)\n ) {\n cogoToast.warn(\"Please fill the field to search\", {\n position: \"top-right\",\n });\n return false;\n }\n\n return valid;\n }\n\n const clearSearch = () => {\n setTopologies([]);\n setAzure(null);\n setRoute(null);\n setClearModalOpen(false);\n searchRequest();\n }\n\n const closeClearModalNo = () => {\n setClearModalOpen(false);\n searchRequest();\n }\n\n const searchByRouteId = async (routeId) => {\n setLoading(true);\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/topologies/routes/${routeId}`\n )\n .then(async (response) => {\n if (response.data.topologies && response.data.topologies.length > 0) {\n await getTopologiesById(response.data.topologies.map((t) => t.id));\n setLoading(false);\n } else {\n cogoToast.info(\"No topology was found for this route\", {\n position: \"top-right\",\n });\n setLoading(false);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n\n const searchBySubId = () => {\n this.setState({ loading: true });\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/subscriptions/${form.subscriptionId}/hublets/routes`\n )\n .then((response) => {\n setLoading(false);\n setRoutes(response.data);\n });\n }\n\n const formRender = () => {\n return (\n
\n \n\n \n \n

\n Search{\" \"}\n

\n \n \n {\n const { eventkey } = e.target;\n setSearchType(eventkey);}}\n selectedTab={searchType}\n >\n \n \n \n \n \n\n \n Fill topology to direct search or fill the route id to search all\n topologies in it.\n \n
\n\n \n \n \n \n {\" \"}\n by Route Id\n \n \n \n \n\n \n \n \n by Topology Id\n \n \n \n \n\n \n \n \n by Subscription Id\n \n \n \n \n \n\n \n \n search()}\n className=\"float-right\"\n disabled={loading}\n >\n Search \n \n \n \n
\n );\n }\n\n if (!sessionStorage.getItem(\"user.authState\")) {\n return
Auth required...
;\n } else {\n return (\n \n \n \n
\n \n Toggle Form\n \n\n {\n setTopologies([])\n searchRequest();\n }}\n >\n Refresh{\" \"}\n \n \n
\n \n\n
\n\n {formRender()}\n\n {loading && (\n \n \n \n )}\n\n {route != null &&\n !loadingTopology &&\n !showRoutesBySub && (\n \n )}\n\n {showRoutesBySub && (\n \n )}\n
\n );\n }\n}\n\nexport default TopologySupport;\n","import React,{Component} from 'react'\n\nclass ContainerSupport extends Component {\n state = { }\n render() { \n return (
Container Errors
);\n }\n}\n \nexport default ContainerSupport;","import {\n faCheckCircle,\n faCog,\n faMinusCircle,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport React from \"react\";\nimport { Card, CardBody, CardFooter } from \"reactstrap\";\nimport \"./SubscriptionCardItem.scss\";\n\nconst SubscriptionCardItem = (props) => {\n return (\n
\n \n \n

\n {props.sub.subscriptionName}{\" \"}\n {props.sub.isDisabled ? (\n \n ) : (\n \n )}\n

\n

{props.sub.subscriptionId}

\n

\n
\n \n
\n \n
\n
\n
\n
\n );\n};\n\nexport default SubscriptionCardItem;\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport {\n faCheckCircle,\n faChevronCircleDown,\n faChevronCircleRight,\n faCog,\n faMinusCircle,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n List,\n ListHeader,\n OverlayTrigger,\n TableRow,\n Animation,\n ProgressBar } from \"@hai/ui-react\";\nimport { Col, Collapse, Row, } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport \"./OrganizationLine.scss\";\nimport SubscriptionCardItem from \"./SubscriptionCardItem\";\nimport cogoToast from \"cogo-toast\";\n\nconst OrganizationLine = (props) => {\n const [collapse, setCollapse] = useState(false);\n const [loadingSubs, setLoadingSubs] = useState(false);\n const [subscriptions, setSubscriptions] = useState(null);\n const toggleCollapse = () => {\n setCollapse(!collapse);\n querySubscriptions(props.org.organizationId);\n };\n\n const querySubscriptions = (orgId) => {\n setLoadingSubs(true);\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/SrtHub/organizations/${orgId}/subscriptions`\n )\n .then((response) => {\n setSubscriptions(response.data);\n setLoadingSubs(false);\n })\n .catch((error) => setLoadingSubs(false));\n };\n\n let navigate = useNavigate();\n const goToSubscription = (subId) => {\n navigate(\n `/hub/organizations/${props.org.organizationId}/subscriptions/${subId}`\n );\n };\n\n const goToOrganization = (subId) => {\n let contractId;\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Provisions/by-organizations/${props.org.organizationId}`\n )\n .then((response) => {\n contractId = response.data[0]?.contractId;\n if (contractId) {\n navigate(`/contracts/${contractId}`);\n } else {\n cogoToast.error(\"Contract not found\", { position: \"top-right\" });\n }\n });\n };\n\n const renderSubs = () => {\n if (props.subsViewGrid) {\n return (\n \n {subscriptions.map((sub, index) => {\n return (\n goToSubscription(sub.id)}>\n \n \n );\n })}\n \n );\n } else {\n return (\n \n \n
\n
Sub Name
\n
Sub Id
\n
Status
\n
\n \n
\n {subscriptions.map((sub, index) => {\n return (\n \n
\n
{sub.subscriptionName}
\n
{sub.subscriptionId}
\n
\n {sub.isDisabled ? (\n \n ) : (\n \n )}\n
\n
\n goToSubscription(sub.subscriptionId)}\n />\n
\n \n );\n })}\n
\n
\n );\n }\n };\n\n return (\n
\n \n
\n
{props.org.name}
\n
{props.org.domain}
\n
{props.org.organizationId}
\n
\n \n toggleCollapse()}\n />\n \n
\n
\n goToOrganization()}\n />\n
\n \n \n \n {loadingSubs && }\n {subscriptions && renderSubs()}\n
\n \n \n );\n};\n\nexport default OrganizationLine;\n","import React from \"react\";\nimport { Col, Row, Spinner } from \"reactstrap\";\nimport { FormControl, List, ListHeader, Animation , ProgressBar } from \"@hai/ui-react\";\nimport axios from \"axios\";\nimport OrganizationLine from \"./OrganizationLine\";\n\nclass OrganizationTable extends React.Component {\n state = {\n allOrganizations: [],\n organizations: [],\n subscriptions: [],\n loading: true,\n sortState: null,\n };\n\n async getOrganizations() {\n await axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + \"/SrtHub/organizations\")\n .then((response) => {\n this.setState({\n organizations: response.data,\n allOrganizations: response.data,\n loading: false,\n });\n })\n .catch((error) => this.setState({ loading: false }));\n }\n\n async getSubscriptions(orgId) {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/SrtHub/organizations/\" +\n orgId +\n \"/subscriptions\"\n )\n .then((response) => {\n this.setState({ subscriptions: response.data, loading: false });\n })\n .catch((error) => this.setState({ loading: false }));\n }\n\n componentDidMount() {\n this.getOrganizations();\n }\n\n filterOrgs(value) {\n if (value == null || value === \"\") {\n this.setState({ organizations: this.state.allOrganizations });\n } else {\n let filtered = this.state.organizations.filter((c) => {\n let valueUp = value.toUpperCase();\n if (c.domain?.toUpperCase().includes(valueUp)) return true;\n if (c.name?.toUpperCase().includes(valueUp)) return true;\n if (c.organizationId?.toUpperCase().includes(valueUp)) return true;\n });\n this.setState({ organizations: filtered });\n }\n }\n\n render() {\n if (this.state.loading) {\n return (\n \n \n {\" \"}\n {this.state.loading && (\n \n )}\n \n \n );\n } else {\n return (\n
\n this.filterOrgs(e.target.value)}\n >\n
\n \n \n
\n
Org Name
\n
Org Domain
\n
Org Id
\n
\n \n\n {this.state.organizations\n .sort((a, b) => (a.name > b.name ? 1 : -1))\n .map((org, index) => (\n
\n \n
\n ))}\n
\n
\n );\n }\n }\n}\n\nexport default OrganizationTable;\n","import React from \"react\";\nimport OrganizationTable from \"./OrganizationTable\";\nimport { Button, Header , ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col, Container, CustomInput } from \"reactstrap\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\n\nclass Organization extends React.Component {\n constructor(props) {\n super(props);\n console.log(\"subs env\", process.env.REACT_APP_HUB_API_BASE_URL);\n }\n\n state = {\n organizations: [],\n subsInGrid: false,\n };\n\n toggleSubsInGrid = () => {\n this.setState({ subsInGrid: !this.state.subsInGrid });\n };\n\n render() {\n if (!sessionStorage.getItem(\"user.authState\")) {\n return
auth required...
;\n } else {\n return (\n \n \n \n this.toggleSubsInGrid()}\n />\n \n \n \n \n );\n }\n }\n}\n\nexport default Organization;\n","import {\n Button,\n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Spinner,\n ProgressBar } from \"@hai/ui-react\";\nimport cogoToast from \"cogo-toast\";\nimport React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport Select from \"react-select\";\nimport { Col } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\n\n/**\n *\n * @param {*} show boolean to show modal\n * @param {*} hide function to execute onHide\n */\nconst RoleModal = (props) => {\n const [roles, setRoles] = useState(null);\n const [userEmail, setUserEmail] = useState(null);\n const [userRoleId, setUserRole] = useState(null);\n const [sending, setSending] = useState(false);\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n queryRoles();\n }, []);\n\n const queryRoles = () => {\n setLoading(true);\n axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + `/srthub/roles`)\n .then((response) => {\n let temp = response.data.map((r) => {\n return { label: r.description, value: r.id };\n });\n setRoles(temp);\n setLoading(false);\n })\n .catch((err) => setLoading(false));\n };\n\n const sendInvite = () => {\n if (!userEmail) {\n cogoToast.warn(\"Email is required\", { position: \"top-right\" });\n return;\n }\n if (!userRoleId) {\n cogoToast.warn(\"Role is required\", { position: \"top-right\" });\n return;\n }\n let body = {\n invitations: [{ emailAddress: userEmail, roleId: userRoleId }],\n message:\n \"You were invited from Jellyfish to Subscription: \" +\n props.subscriptionId,\n };\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/SrtHub/organizations/${props.organizationId}/subscriptions/${props.subscriptionId}/users/roles`,\n body\n )\n .then((response) => {\n cogoToast.success(\"User invited\", { position: \"top-right\" });\n setSending(false);\n })\n .catch((error) => {\n setSending(false);\n });\n };\n\n const customStyles = {\n option: (provided, state) => ({\n ...provided,\n borderBottom: \"1px dotted red\",\n color: \"red\",\n background: \"white\",\n }),\n };\n\n return (\n \n \n Invite user\n \n \n \n \n \n User e-mail\n \n setUserEmail(value)}\n />\n \n \n \n \n \n Role\n \n {loading && }\n {!loading && (\n setUserRole(role.value)}\n />\n )}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default RoleModal;\n","const { default: axios } = require(\"../../../infra/axios\");\n\nconst enableBySub = (id, subId, callback) => {\n return axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/features/${id}/subscriptions/${subId}/activate`\n )\n .then(callback);\n};\n\nconst disableBySub = (id, subId, callback) => {\n return axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/features/${id}/subscriptions/${subId}/deactivate`\n )\n .then(callback);\n};\n\nconst enableGlobally = (id, callback) => {\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/features/${id}/activate`\n )\n .then(callback);\n};\n\nconst disableGlobally = (id, callback) => {\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/features/${id}/deactivate`\n )\n .then(callback);\n};\n\nexport const enableBySubHttp = enableBySub,\n disableBySubHttp = disableBySub,\n enableGloballyHttp = enableGlobally,\n disableGloballyHttp = disableGlobally;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n import {\n Switch,\n Notification,\n Dialog,\n Animation,\n OverlayTrigger,\n Icon,\n ProgressBar } from \"@hai/ui-react\";\n import {\n Card,\n CardFooter,\n CardHeader,\n CardBody,\n } from \"reactstrap\";\n\nconst FeatureFlagCard = props => {\n\n return (\n \n \n {props.cardTitle}{\" \"}\n \n \n \n \n \n {props.loadingRequirement && (\n \n )}\n {!props.loadingRequirement && (\n \n props.openFFDialog({\n id: props.featureId,\n flag: !valueChangedTo,\n })\n }\n checked={props.checked}\n disabled={props.disabled}\n key=\"rttPresetEnabled\"\n />\n )}\n \n \n )\n}\n\nFeatureFlagCard.propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n featureId: PropTypes.string.isRequired,\n cardTitle: PropTypes.string.isRequired,\n loadingRequirement: PropTypes.bool.isRequired,\n changes: PropTypes.element,\n openFFDialog: PropTypes.func.isRequired\n}\n\nexport default FeatureFlagCard;","import {\n faCheckCircle,\n faMinusCircle,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n TableRow,\n List,\n ListHeader,\n Button,\n Notification,\n Dialog,\n ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport { Col, Row, Spinner, Collapse } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport {\n enableBySubHttp,\n disableBySubHttp,\n} from \"../feature-flags/FeatureFlagService\";\nimport FeatureFlagCard from \"./FeatureFlagCard\";\n\nclass SubscriptionFeatureSection extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loadingData: true,\n subscriptionFeatureFlags: null,\n subscriptionId: this.props.subscriptionId,\n flagListOpen: false,\n\n orchestratorV2Enabled: false,\n akamaiPresetEnabled: false,\n rttPresetEnabled: false,\n hubApplianceManagerEnabled: false,\n cloudRoutingEnabled: false,\n zannaHubletEnabled: false,\n hubnetTrailEnabled: false,\n\n switchingFF: false,\n showNotification: false,\n showFFDialog: false,\n dialogTitle: \"\",\n clickedFeature: null,\n showContractMessage: false,\n loadingRequirement: false,\n directSwitch: false,\n\n syncingFeatures: false\n };\n }\n\n componentDidMount() {\n this.setState((prevState) => {\n prevState.loadingData = true;\n return prevState;\n });\n this.loadFeatures();\n\n this.setState((prevState) => {\n prevState.loadingData = false;\n return prevState;\n });\n }\n\n loadFeatures() {\n this.loadFeatureFlags(this.state.subscriptionId).then(() => {\n this.checkFeatures();\n });\n }\n\n handleClose() {\n this.setState({ showFFDialog: false, directSwitch: false });\n }\n\n async loadFeatureFlags() {\n this.setState({ loadingRequirement: true });\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/subscriptions/${this.state.subscriptionId}/featureflags`,\n {\n headers: {\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Expires: \"0\",\n },\n }\n )\n .then((response) => {\n this.setState((prev) => {\n prev.subscriptionFeatureFlags = response.data;\n prev.loadingRequirement = false;\n return prev;\n });\n })\n .catch((err) => {\n this.setState({ loadingRequirement: false });\n });\n }\n\n handleFlagListToggle() {\n this.setState((prevState) => {\n prevState.flagListOpen = !prevState.flagListOpen;\n return prevState;\n });\n }\n\n async syncFeaturesWithSalesforce() {\n if (this.state.subscriptionId != null) {\n this.setState({syncingFeatures: true});\n axios.post( process.env.REACT_APP_HUB_API_BASE_URL + `/Operations/features/sync-salesforce/subscriptions/${this.state.subscriptionId}`)\n .then(r => this.setState({syncingFeatures: false})); \n }\n } \n\n checkFeatures() {\n // v2 with nodeip\n let orchestratorActive = this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"orchestrator-v2-messages-ff\"\n )?.flag;\n let infrastructureActive = this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"infrastructure-hublets:require-2-or-more-outputs\"\n )?.flag;\n let nodeIp =\n this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"use-node-public-ip-flow-ff\"\n )?.flag ?? false;\n\n // hubappliance\n let edge_nodes_ff = this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"edge-nodes-ff\"\n )?.flag;\n let makito_input_hublet_ff = this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"dr-ems-makito-input-hublet-ff\"\n )?.flag;\n let makito_output_hublet_ff = this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"dr-ems-makito-output-hublet-ff\"\n )?.flag;\n let makito_preset_creator = this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"ems.hub.haivision.com:create-makito-preset\"\n )?.flag;\n\n // akamai\n let akamaiActive =\n this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"femto.hub.haivision.com:create-akamai-hublet\"\n )?.flag ?? false;\n\n // rtt\n let RttPresetActive =\n this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"femto.hub.haivision.com:create-kraken-hublet\"\n )?.flag ?? false;\n\n // cloud routing\n let cloudRoutingActive =\n this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"activate-cloud-routing\"\n )?.flag ?? false;\n\n // zanna processing hublet\n let zannaHubletActive =\n this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"zanna-processing-hublet-ff\"\n )?.flag ?? false;\n\n // hubnetTrail\n let hubnetTrailActive =\n this.state.subscriptionFeatureFlags.find(\n (f) => f.id === \"activate-hubnet-free-trial\"\n )?.flag ?? false;\n\n this.setState({\n rttPresetEnabled: RttPresetActive,\n orchestratorV2Enabled:\n (orchestratorActive && !infrastructureActive && nodeIp) || false,\n hubApplianceManagerEnabled:\n (edge_nodes_ff &&\n makito_input_hublet_ff &&\n makito_output_hublet_ff &&\n makito_preset_creator) ||\n false,\n akamaiPresetEnabled: akamaiActive,\n cloudRoutingEnabled: cloudRoutingActive,\n zannaHubletEnabled: zannaHubletActive,\n hubnetTrailEnabled: hubnetTrailActive,\n });\n }\n\n setSwitchingFF(value) {\n this.setState((prev) => {\n prev.switchingFF = value;\n return prev;\n });\n }\n\n setShowNotification(value) {\n this.setState({ showNotification: value });\n }\n\n setShowFeatureDialog(value) {\n this.setState({ showFFDialog: value });\n }\n\n setDialogTitle(value) {\n this.setState({ dialogTitle: value });\n }\n\n async subscriptionHasRequirement(featureId) {\n let hasRequirement;\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/features/${featureId}/subscriptions/${this.state.subscriptionId}/hasRequirement`\n )\n .then((response) => (hasRequirement = response.data))\n .catch((error) => {\n hasRequirement = false;\n });\n return hasRequirement;\n }\n\n async enableOrDisableCustomFeatures(isEnabled, featureStateName, featureUri) {\n this.setSwitchingFF(true);\n this.setState({ [featureStateName]: isEnabled });\n\n let baseUrl =\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/features/${featureUri}/subscriptions/${this.state.subscriptionId}`;\n if (isEnabled) {\n baseUrl += \"/deactivate\";\n } else {\n baseUrl += \"/activate\";\n }\n await axios\n .put(baseUrl)\n .then((response) => {\n this.setSwitchingFF(false);\n this.setShowNotification(true);\n })\n .catch((err) => {\n this.setSwitchingFF(false);\n this.setState({ [featureStateName]: !isEnabled });\n });\n }\n\n openFFDialogWithDirect = async (ff) => {\n this.setState({ directSwitch: true });\n this.openFFDialog(ff);\n };\n openFFDialog = async (ff) => {\n this.setState({ clickedFeature: ff, loadingRequirement: true });\n if (ff.flag) {\n //if its enable, then disable\n this.setDialogTitle(\"Are you sure you want to disable the feature flag?\");\n } else {\n this.setDialogTitle(\"Are you sure you want to enable the feature flag?\");\n }\n\n let hasReq = await this.subscriptionHasRequirement(ff.id);\n if (!hasReq) {\n this.setState({ showContractMessage: true });\n }\n this.setShowFeatureDialog(true);\n this.setState({ loadingRequirement: false });\n };\n\n directEnableOrDisableFF = async () => {\n if (this.state.clickedFeature.flag) {\n await disableBySubHttp(\n this.state.clickedFeature.id,\n this.state.subscriptionId,\n (response) => {\n this.setShowNotification(true);\n }\n );\n } else {\n await enableBySubHttp(\n this.state.clickedFeature.id,\n this.state.subscriptionId,\n (response) => {\n this.setShowNotification(true);\n }\n );\n }\n };\n\n // if directSwitch is true, then it will enable/disable the ff directly in hub\n enableOrDisablebySub = async () => {\n if (this.state.directSwitch) {\n await this.directEnableOrDisableFF();\n } else {\n switch (this.state.clickedFeature?.id) {\n case \"femto.hub.haivision.com:create-akamai-hublet\":\n await this.enableOrDisableCustomFeatures(\n this.state.clickedFeature.flag,\n \"akamaiPresetEnabled\",\n \"akamai-hublet-preset-creator\"\n );\n break;\n\n case \"femto.hub.haivision.com:create-kraken-hublet\":\n await this.enableOrDisableCustomFeatures(\n this.state.clickedFeature.flag,\n \"rttPresetEnabled\",\n \"rtt-preset-creator\"\n );\n break;\n\n case \"appliance-manager\":\n await this.enableOrDisableCustomFeatures(\n this.state.clickedFeature.flag,\n \"hubApplianceManagerEnabled\",\n \"appliance-manager\"\n );\n break;\n\n case \"orchestrator-v2-messages-ff\":\n await this.enableOrDisableCustomFeatures(\n this.state.clickedFeature.flag,\n \"orchestratorV2Enabled\",\n \"orchestrator-v2\"\n );\n break;\n case \"activate-cloud-routing\":\n await this.enableOrDisableCustomFeatures(\n this.state.clickedFeature.flag,\n \"cloudRoutingEnabled\",\n \"activate-cloud-routing\"\n );\n break;\n case \"zanna-processing-hublet-ff\":\n await this.enableOrDisableCustomFeatures(\n this.state.clickedFeature.flag,\n \"zannaHubletEnabled\",\n \"zanna-processing-hublet-ff\"\n );\n break;\n case \"activate-hubnet-free-trial\":\n await this.enableOrDisableCustomFeatures(\n this.state.clickedFeature.flag,\n \"hubnetTrailEnabled\",\n \"hubnet-trail\"\n );\n break;\n\n default:\n await this.directEnableOrDisableFF();\n break;\n }\n }\n\n this.setShowFeatureDialog(false);\n this.setState({ clickedFeature: null, directSwitch: false });\n this.loadFeatures(); //calling this again because it check all features state again\n };\n\n dialogContent = () => {\n if (this.state.switchingFF) {\n return \"Loading...\";\n } else if (this.state.showContractMessage ) {\n return \"This subscription doesn't have the contract line required for this feature.\"\n } else {\n return null;\n }\n };\n\n render() {\n return (\n
\n
\n \n \n

Features

\n \n
\n {this.state.loadingData && }\n {this.state.subscriptionFeatureFlags && (\n <>\n \n {/* ORCHESTRATOR V2 */}\n \n \n
  • \n Disable\n infrastructure-hublets:require-2-or-more-outputs\n
  • \n
  • enable orchestrator-v2-messages-ff
  • \n
  • enable use-node-public-ip-flow-ff
  • \n
  • \n enable notify-resource-provision-state-changes-ff\n
  • \n \n }\n checked={this.state.orchestratorV2Enabled}\n disabled={this.state.switchingFF}\n featureId=\"orchestrator-v2-messages-ff\"\n loadingRequirement={this.state.loadingRequirement}\n openFFDialog={this.openFFDialog}\n >\n \n\n {/* Appliance Manager */}\n \n \n
  • edge-nodes-ff
  • \n
  • ems.hub.haivision.com:create-makito-preset
  • \n
  • dr-ems-makito-input-hublet-ff
  • \n
  • dr-ems-makito-output-hublet-ff
  • \n \n }\n checked={this.state.hubApplianceManagerEnabled}\n disabled={this.state.switchingFF}\n featureId=\"appliance-manager\"\n loadingRequirement={this.state.loadingRequirement}\n openFFDialog={this.openFFDialog}\n >\n \n\n {/* AKAMAI PRESET FF */}\n \n \n
  • \n Changes femto.hub.haivision.com:create-akamai-hublet\n
  • \n \n }\n checked={this.state.akamaiPresetEnabled}\n disabled={this.state.switchingFF}\n featureId=\"femto.hub.haivision.com:create-akamai-hublet\"\n loadingRequirement={this.state.loadingRequirement}\n openFFDialog={this.openFFDialog}\n >\n \n\n {/* RTT PRESET */}\n \n \n
  • \n Changes femto.hub.haivision.com:create-kraken-hublet\n
  • \n \n }\n checked={this.state.rttPresetEnabled}\n disabled={this.state.switchingFF}\n featureId=\"femto.hub.haivision.com:create-kraken-hublet\"\n loadingRequirement={this.state.loadingRequirement}\n openFFDialog={this.openFFDialog}\n >\n \n\n {/* Cloud Routing */}\n \n \n
  • Changes activate-cloud-routing
  • \n \n }\n checked={this.state.cloudRoutingEnabled}\n disabled={this.state.switchingFF}\n featureId=\"activate-cloud-routing\"\n loadingRequirement={this.state.loadingRequirement}\n openFFDialog={this.openFFDialog}\n >\n \n\n {/* Audio Hublet */}\n \n \n
  • Changes zanna-processing-hublet-ff
  • \n \n }\n checked={this.state.zannaHubletEnabled}\n disabled={this.state.switchingFF}\n featureId=\"zanna-processing-hublet-ff\"\n loadingRequirement={this.state.loadingRequirement}\n openFFDialog={this.openFFDialog}\n >\n \n\n {/* Hubnet Trail */}\n \n \n
  • Changes activate-hubnet-free-trial
  • \n \n }\n checked={this.state.hubnetTrailEnabled}\n disabled={this.state.switchingFF}\n featureId=\"activate-hubnet-free-trial\"\n loadingRequirement={this.state.loadingRequirement}\n openFFDialog={this.openFFDialog}\n >\n \n
    \n \n )}\n\n {!this.state.loadingData && this.state.subscriptionFeatureFlags && (\n
    \n this.handleFlagListToggle()}\n >\n See All Flags\n \n\n this.syncFeaturesWithSalesforce()}\n disabled={!this.state.subscriptionId}\n >\n Sync Features\n \n\n \n \n \n
    \n
    Feature Flag
    \n
    Global Flag
    \n
    \n \n {this.state.subscriptionFeatureFlags.map((ff, index) => {\n return (\n
    \n \n
    \n
    {ff.id}
    \n
    \n {\n this.openFFDialogWithDirect(ff)}\n />\n }\n
    \n
    \n
    \n \n
    \n );\n })}\n
    \n
    \n
    \n )}\n
    \n
    \n this.setShowNotification(false)}\n />\n\n this.enableOrDisablebySub(),\n disabled: this.state.switchingFF,\n },\n { label: \"No\", onClick: () => this.handleClose() },\n ]}\n />\n
    \n );\n }\n}\n\nexport default SubscriptionFeatureSection;\n","import React from \"react\";\nimport propTypes from 'prop-types';\nimport { Animation , ProgressBar } from \"@hai/ui-react\";\n\nconst Loading = (props) => {\n\n if (props?.show) {\n return ();\n } else {return null;}\n}\n\nLoading.propTypes = {\n show: propTypes.bool.isRequired\n}\n\nexport default Loading;","import React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { Col, Row } from \"reactstrap\";\nimport axios from '../../../infra/axios';\nimport Loading from \"../../common/Loading\";\nimport propTypes from 'prop-types';\nimport { FormLabel, LabelValue , ProgressBar } from \"@hai/ui-react\";\n\nconst HubDevicePairingCode = (props) => {\n const [tenants, setTenants] = useState(null);\n const [loading, setLoading] = useState(false);\n\n const getDevicePairingCode = () => {\n setLoading(true);\n axios.get(process.env.REACT_APP_HUB_API_BASE_URL + `/Ems/accounts/hub-subscriptions/${props.hubSubId}/device-pair-code`)\n .then(res => {\n setTenants(res.data);\n setLoading(false);\n })\n .catch(e => setLoading(false));\n }\n\n useEffect(() => {\n getDevicePairingCode();\n }, [])\n\n return (\n \n \n {tenants && tenants.map(t => {\n return (\n {t.tenantName} ({t.tenantId})\n {t.deviceCode}\n )\n }\n )}\n\n );\n}\nHubDevicePairingCode.propTypes = {\n hubSubId: propTypes.string.isRequired\n}\n\nexport default HubDevicePairingCode;","import React, { useEffect, useState, version } from \"react\";\nimport { Col, Row, Spinner, Collapse, Card, CardFooter } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport Select from \"react-select\";\nimport {\n Button,\n Animation,\n FormControl,\n FormGroup,\n FormLabel,\n List,\n ListHeader,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n Switch,\n TableRow,\n Notification,\n ProgressBar } from \"@hai/ui-react\";\nimport RoleModal from \"../../haivision-hub/role/RoleModal\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faAngleDown, faAngleUp } from \"@fortawesome/free-solid-svg-icons\";\nimport AssetsTable from \"../../haivision-hub/contracts/AssetsTable\";\nimport SubscriptionFeatureSection from \"./SubscriptionFeatureSection\";\nimport HubDevicePairingCode from \"../ems/HubDevicePairingCode\";\nimport { useParams } from \"react-router-dom\";\n\nconst SubscriptionPage = (props) => {\n const [subscription, setSubscription] = useState(null);\n const [loadingSub, setLoadingSub] = useState(true);\n const [users, setUsers] = useState(null);\n const [showRoleModal, setShowRoleModal] = useState(false);\n const [showAddUserModal, setShowAddUserModal] = useState(false);\n const [userIdtoAdd, setUserIdtoAdd] = useState(null);\n const [userRoletoAdd, setUserRoletoAdd] = useState(null);\n const [allUsers, setAllUsers] = useState(null);\n const [showNotification, setShowNotification] = useState(false);\n const [userLoading, setUserLoading] = useState(false);\n\n //contract\n const [contract, setContract] = useState(null);\n const [loadingContract, setLoadingContract] = useState(true);\n //users\n const [collapseUsers, setCollapseUsers] = useState(false);\n const [showDevicePairCode, setShowDevicePairCode] = useState(false);\n var params = useParams();\n\n useEffect(() => {\n let subId = params.subId;\n let orgId = params.orgId;\n (async function () {\n await querySubscription(subId, orgId);\n await getUsers(subId, orgId);\n await getSFAssets(subId);\n })();\n }, []);\n\n const querySubscription = async (subId, orgId) => {\n setLoadingSub(true);\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/SrtHub/organizations/${orgId}/subscriptions/${subId}`\n )\n .then((response) => {\n setSubscription(response.data);\n setLoadingSub(false);\n })\n .catch((error) => {\n setLoadingSub(false);\n });\n };\n\n const getSFAssets = async (subId) => {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/HubServiceContract/HubSubscription/${subId}`\n )\n .then(async (response) => {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/HubServiceContract/${response.data.id}/HubAssets`\n )\n .then((response_asset) => {\n response.data.assets = response_asset.data;\n setContract(response.data);\n setLoadingContract(false);\n });\n })\n .catch((err) => setLoadingContract(false));\n };\n\n const getUsers = async (subId, orgId) => {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/SrtHub/organizations/${orgId}/subscriptions/${subId}/users`\n )\n .then((response) => {\n setUsers(response.data);\n });\n };\n\n const hideRoleModal = () => {\n setShowRoleModal(false);\n };\n\n const getAllUsers = async () => {\n await axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + `/Support/hub/users`)\n .then((response) => {\n setAllUsers(\n response.data.map((u) => ({ label: u.userName, value: u.id }))\n );\n });\n };\n\n const addUserToSub = async (subscriptionId, userId, roleId) => {\n await axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/subscriptions/${subscriptionId}/users/${userId}?roleId=${roleId}`\n )\n .then((response) => {\n setShowAddUserModal(false);\n setShowNotification(true);\n if (response.status == 200) {\n let subId = params.subId;\n let orgId = params.orgId;\n getUsers(subId, orgId);\n }\n })\n .then((response) => {\n setUserLoading(false);\n });\n };\n\n const removeUserFromSub = async (subscriptionId, userId) => {\n await axios\n .delete(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/subscriptions/${subscriptionId}/users/${userId}`\n )\n .then((response) => {\n if (response.status == 200) {\n setShowNotification(true);\n let subId = params.subId;\n let orgId = params.orgId;\n getUsers(subId, orgId);\n }\n })\n .then((response) => {\n setUserLoading(false);\n });\n };\n\n const goToRoutePage = (subscriptionId) => {\n window.location = \"/hub/subscriptions/\" + subscriptionId + \"/routes/\";\n };\n\n return (\n
    \n {loadingSub && }\n {!loadingSub && subscription && (\n
    \n {/* Sub informations */}\n \n \n

    Subscription

    \n \n
    \n \n \n
    \n {\" \"}\n {subscription.subscriptionName} - {subscription.subscriptionId}\n
    \n \n \n {subscription.description}\n \n \n goToRoutePage(subscription.subscriptionId)}\n >\n View Routes\n \n setShowDevicePairCode(true)}\n >\n Device pair code\n \n \n
    \n
    \n \n\n {/* Assets */}\n \n \n

    Salesforce Assets

    \n \n
    \n\n \n {loadingContract && (\n \n \n \n )}\n {!loadingContract && !contract && (\n \n

    No asset found

    \n \n )}\n {contract && (\n \n \n \n )}\n
    \n
    \n\n {/* Users */}\n \n \n setCollapseUsers(!collapseUsers)}\n >\n Users \n \n \n \n \n \n {\n getAllUsers();\n setShowAddUserModal(true);\n }}\n >\n Add User\n \n \n \n
    \n \n \n {userLoading && (\n \n \n \n )}\n {!userLoading && (\n \n {users && (\n \n \n
    \n
    Username
    \n
    User Id
    \n
    User role
    \n
    \n \n {users.map((u, index) => {\n return (\n \n
    \n
    {u.userName}
    \n
    {u.id}
    \n
    {u.role.description}
    \n
    \n {\n setUserLoading(true);\n removeUserFromSub(\n params.subId,\n u.id\n );\n }}\n >\n Remove\n \n
    \n \n );\n })}\n
    \n )}\n \n )}\n \n setShowDevicePairCode(false)}>\n Hub device pairing code\n \n \n \n \n \n \n\n \n\n {showRoleModal && (\n \n )}\n {showAddUserModal && (\n {\n setUserIdtoAdd(null);\n setUserRoletoAdd(null);\n setShowAddUserModal(false);\n }}\n >\n \n Add User to Sub\n \n \n \n User\n {\n setUserIdtoAdd(value);\n }}\n onClick={() => {\n getAllUsers();\n }}\n >\n \n \n Role\n {\n setUserRoletoAdd(value);\n }}\n >\n \n \n \n {\n setUserLoading(true);\n addUserToSub(\n params.subId,\n userIdtoAdd.value,\n userRoletoAdd.value\n );\n }}\n >\n Add\n \n \n \n \n )}\n {showNotification && (\n setShowNotification(false)}\n >\n )}\n
    \n
    \n
    \n )}\n
    \n );\n};\n\nexport default SubscriptionPage;\n","import { faCheckCircle, faMinusCircle, } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { TableRow } from '@hai/ui-react';\nimport React from 'react';\n\n\nconst FeatureFlagSubRow = (props) => {\n\n\n return (\n
    \n
    {props.sub.id}
    \n
    {props.sub.name}
    \n
    props.openSubDialog(props.sub, props.ff)} />
    \n )}\n\nexport default FeatureFlagSubRow; ","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { useState } from \"react\";\nimport { useEffect } from \"react\";\nimport Select from \"react-select\";\nimport axios from \"../../../infra/axios\";\nimport { handleError } from \"../../common/ErrorHandler\";\nimport { Animation , ProgressBar } from \"@hai/ui-react\";\n\nconst SubscriptionSelect = (props) => {\n const [options, setOptions] = useState(null);\n const [loading, setLoading] = useState(null);\n\n useEffect(() => {\n setLoading(true);\n axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + `/SrtHub/subscriptions`)\n .then((response) => {\n let subs = response.data.map((s) => {\n return {\n label: `${s.subscriptionName} (${s.subscriptionId})`,\n value: s.subscriptionId,\n };\n });\n subs.unshift({ label: \"\", value: null });\n setOptions(subs);\n setLoading(false);\n })\n .catch((error) => {\n setLoading(false);\n });\n }, []);\n\n const customStyles = {\n option: (provided, state) => ({\n ...provided,\n borderBottom: \"1px dotted red\",\n color: \"red\",\n background: \"white\",\n }),\n };\n\n return (\n <>\n {loading && }\n {!loading && (\n props.onChange(sub)}\n >\n )}\n \n );\n};\n\nSubscriptionSelect.propTypes = {\n onChange: PropTypes.func.isRequired,\n};\n\nexport default SubscriptionSelect;\n","import React from \"react\";\nimport {\n Button,\n Dialog,\n FormControl,\n FormGroup,\n FormLabel,\n List,\n ListHeader,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Notification,\n Switch,\n TableRow,\n ProgressBar } from \"@hai/ui-react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCheckCircle,\n faMinusCircle,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { Col, Collapse, Row } from \"reactstrap\";\nimport { useState } from \"react\";\nimport cogoToast from \"cogo-toast\";\nimport {\n enableBySubHttp,\n disableBySubHttp,\n disableGloballyHttp,\n enableGloballyHttp,\n} from \"./FeatureFlagService\";\nimport FeatureFlagSubRow from \"./FeatureFlagSubRow\";\nimport SubscriptionSelect from \"../subscriptions/SubscriptionSelect\";\n\nconst FeatureFlagTableRow = (props) => {\n const ff = props.featureflag;\n const index = props.index;\n\n const [collapse, setCollapse] = useState(false);\n const toggleCollapse = () => setCollapse(!collapse);\n\n //Dialogs\n const [showGlobalDialog, setShowGlobalDialog] = useState(false);\n const [showSubDialog, setShowSubDialog] = useState(false);\n const [dialogTitle, setDialogTitle] = useState(\"\");\n const [dialogGlobalTitle, setDialogGlobalTitle] = useState(\"\");\n\n //add sub modal\n const [showAddSubModal, setShowAddSubModal] = useState(false);\n const [addSubModalTitle, setAddSubModalTitle] = useState(\"\");\n const [checkedValue, setCheckedValue] = useState(false);\n const [showNotification, setShowNotification] = useState(false);\n const [subId, setSubId] = useState(null);\n\n //clicked item\n const [selectedSub, setSelectedSub] = useState(null);\n const [selectedFF, setSelectedFF] = useState(null);\n\n const getFeatureFlags = props.getFeatureFlags;\n\n const enableGlobally = () => {\n enableGloballyHttp(selectedFF.id, (response) => {\n cogoToast.success(selectedFF.id + \" enabled globally.\", {\n position: \"top-right\",\n });\n getFeatureFlags();\n });\n };\n\n const disableGlobally = () => {\n disableGloballyHttp(selectedFF.id, (response) => {\n cogoToast.success(selectedFF.id + \" disabled globally.\", {\n position: \"top-right\",\n });\n getFeatureFlags();\n });\n };\n\n const enableBySub = (ffId, subId) => {\n enableBySubHttp(ffId, subId, (response) => {\n setShowNotification(true);\n getFeatureFlags();\n });\n };\n\n const disableBySub = (ffId, subId) => {\n disableBySubHttp(ffId, subId, (response) => {\n setShowNotification(true);\n getFeatureFlags();\n });\n };\n\n const openSubDialog = (sub, ff) => {\n setSelectedFF(ff);\n setSelectedSub(sub);\n if (sub.flag) {\n setDialogTitle(\"Are you sure you want to disable the feature flag?\");\n } else {\n setDialogTitle(\"Are you sure you want to enable the feature flag?\");\n }\n setShowSubDialog(true);\n };\n\n const openGlobalDialog = (ff) => {\n setSelectedFF(ff);\n if (ff.flag) {\n setDialogGlobalTitle(\n \"Are you sure you want to disable globally the feature flag?\"\n );\n } else {\n setDialogGlobalTitle(\n \"Are you sure you want to enable globally the feature flag?\"\n );\n }\n setShowGlobalDialog(true);\n };\n\n const enableOrDisableGlobally = () => {\n if (selectedFF.flag) {\n disableGlobally();\n } else {\n enableGlobally();\n }\n setShowGlobalDialog(false);\n };\n const enableOrDisablebySub = () => {\n if (selectedSub.flag) {\n disableBySub(selectedFF.id, selectedSub.id);\n } else {\n enableBySub(selectedFF.id, selectedSub.id);\n }\n setShowSubDialog(false);\n };\n\n const showAddSub = (feature) => {\n setAddSubModalTitle(\"Add \" + feature.id + \" for Subscription\");\n setSelectedFF(feature);\n setSubId(null);\n setSelectedSub(null);\n setCheckedValue(false);\n setShowAddSubModal(true);\n };\n const hideAddSub = () => {\n setAddSubModalTitle(\"\");\n setSelectedFF(\"\");\n setSelectedSub(null);\n setSubId(null);\n setCheckedValue(false);\n setShowAddSubModal(false);\n };\n\n const addSubFlag = () => {\n setSelectedSub({ id: subId, flag: checkedValue });\n if(subId) {\n\n if (checkedValue) {\n enableBySub(selectedFF.id, subId);\n } else {\n disableBySub(selectedFF.id, subId);\n }\n }\n hideAddSub();\n };\n\n return (\n
    \n \n
    \n
    {ff.id}
    \n
    {ff.description}
    \n
    \n \n
    \n
    \n \n
    \n
    {ff.organizations ? ff.organizations.length : 0}
    \n \n \n \n \n \n
    \n \n \n
    \n
    Sub Id
    \n
    Sub Name
    \n
    Flag
    \n
    \n \n {ff.subscriptions\n ? ff.subscriptions.map((sub, sub_index) => {\n return (\n \n );\n })\n : null}\n
    \n
    \n \n\n enableOrDisablebySub(),\n },\n { label: \"No\", onClick: () => setShowSubDialog(false) },\n ]}\n />\n\n enableOrDisableGlobally(),\n },\n { label: \"No\", onClick: () => setShowGlobalDialog(false) },\n ]}\n />\n\n hideAddSub()} size=\"xl\">\n \n {addSubModalTitle}\n \n \n \n \n \n Subscription Id\n setSubId(sub.value)}\n placeholder=\"Select Subscription\"\n >\n \n \n Flag\n setCheckedValue(!checkedValue)}\n checked={checkedValue}\n />\n \n \n \n \n \n \n \n \n \n\n setShowNotification(false)}\n />\n \n );\n};\n\nexport default FeatureFlagTableRow;\n","import React from \"react\";\nimport { Col, Row, Spinner } from \"reactstrap\";\nimport { FormControl, List, ListHeader, Animation , ProgressBar } from \"@hai/ui-react\";\nimport FeatureFlagTableRow from \"./FeatureFlagTableRow\";\nimport axios from \"../../../infra/axios\";\n\nclass FeatureFlagTable extends React.Component {\n state = {\n allFeaturesFlags: [],\n featureflags: [],\n loading: true,\n subNames: new Map(),\n };\n\n async getFeatureFlags() {\n await axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + \"/Support/features\")\n .then((response) => {\n var ff = response.data\n .sort((a, b) => a.id.localeCompare(b.id))\n .filter((a) => a.id.length < 36);\n var hublet = response.data\n .sort((a, b) => a.id.localeCompare(b.id))\n .filter((a) => a.id.length >= 36);\n this.setState({\n allFeaturesFlags: ff.concat(hublet),\n featureflags: ff.concat(hublet),\n loading: false,\n });\n });\n }\n\n filterFF(value) {\n if (value == null || value === \"\") {\n this.setState({ featureflags: this.state.allFeaturesFlags });\n } else {\n if (value.length >= 3) {\n let filtered = this.state.featureflags.filter((c) => {\n let valueUp = value.toUpperCase();\n if (c.id?.toUpperCase().includes(valueUp)) return true;\n if (c.description?.toUpperCase().includes(valueUp)) return true;\n });\n this.setState({ featureflags: filtered });\n }\n }\n }\n\n componentDidMount() {\n this.getFeatureFlags();\n }\n\n render() {\n if (this.state.loading) {\n return (\n \n \n {\" \"}\n {this.state.loading && (\n \n )}\n \n \n );\n } else {\n return (\n
    \n this.filterFF(e.target.value)}\n >\n
    \n \n \n
    \n
    Feature Flag
    \n
    Description
    \n
    Global Flag
    \n
    Subs
    \n
    Orgs
    \n
    \n \n
    \n {this.state.featureflags.map((ff, index) => {\n return (\n \n );\n })}\n
    \n
    \n
    \n );\n }\n }\n}\n\nexport default FeatureFlagTable;\n","import React from \"react\";\nimport { Button, Header , ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col, Container, CustomInput } from \"reactstrap\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport FeatureFlagTable from \"./FeatureFlagTable\";\n\nclass FeatuerFlag extends React.Component {\n constructor(props) {\n super(props);\n console.log(\"subs env\", process.env.REACT_APP_HUB_API_BASE_URL);\n }\n\n state = {\n featureflags: [],\n };\n\n render() {\n if (!sessionStorage.getItem(\"user.authState\")) {\n return
    auth required...
    ;\n } else {\n return (\n \n \n

    \n To view Subscription or Organization overrides, please click on the\n numbers.\n

    \n

    To change a flag, please click on the status icon.

    \n
    \n\n \n
    \n );\n }\n }\n}\n\nexport default FeatuerFlag;\n","import {\n Button,\n FormControl,\n List,\n ListHeader,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Spinner,\n Animation,\n TableRow,\n Notification,\n Dialog,\n OverlayTrigger,\n SelectOption,\n FormLabel,\n ProgressBar, \n Header} from \"@hai/ui-react\";\nimport cogoToast from \"cogo-toast\";\nimport React, { useEffect, useRef } from \"react\";\nimport { useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport axios from \"../../../infra/axios\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCheckCircle,\n faEdit,\n faMinusCircle,\n faTrash,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { UserContext } from \"../../common/userContext\";\nimport Row from \"reactstrap/lib/Row\";\nimport Col from \"reactstrap/lib/Col\";\n\nconst Users = (props) => {\n const [allUsers, setAllUsers] = useState(null);\n const [filteredUsers, setfilteredUsers] = useState(null);\n const [loadingUsers, setLoadingUsers] = useState(false);\n const [clickedUser, setClickedUser] = useState(null);\n const [showDeleteUser, setshowDeleteUser] = useState(false);\n const [showUserStatusChangeConfirm, setShowUserStatusChangeConfirm] =\n useState(false);\n const [\n showUserStatusChangeNotification,\n setShowUserStatusChangeNotification,\n ] = useState(false);\n const [userTypeFilter, setUserTypeFilter] = useState(\"all\");\n const [userFilter, setUserFilter] = useState(\"\");\n const [userRoleFilter, setUserRoleFilter] = useState(\"\");\n\n const firstTimeRender = useRef(true);\n\n const [roles] = useState([\n \"SYS_ADMIN\",\n \"HUB_ADMIN\",\n \"HUB_OPERATOR\",\n \"HUB_READONLY\",\n \"CONNECT_ADMIN\",\n \"CONNECT_OPERATOR\",\n \"CONNECT_READONLY\",\n ]);\n\n const navigate = useNavigate();\n\n useEffect(() => {\n (async function () {\n await getAllUsers();\n })();\n }, []);\n\n useEffect(() => {\n firstTimeRender.current = false;\n }, []);\n\n useEffect(() => {\n if (!firstTimeRender.current) {\n filterUsers();\n }\n }, [userTypeFilter, userFilter, userRoleFilter]);\n\n const goToEditPage = (id) => {\n navigate(`/system/user/edit/${id}`);\n };\n\n const openDeleteDialog = (user) => {\n setClickedUser(user);\n setshowDeleteUser(true);\n };\n\n const deleteUser = () => {\n axios\n .delete(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL + `/User/${clickedUser.id}`\n )\n .then((response) => {\n cogoToast.success(\"User deleted\", { position: \"top-right\" });\n setshowDeleteUser(false);\n });\n };\n\n const getAllUsers = async () => {\n setLoadingUsers(true);\n await axios\n .get(process.env.REACT_APP_JELLYFISH_API_BASE_URL + \"/User\", {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n })\n .then((response) => {\n setAllUsers(response.data);\n setfilteredUsers(response.data);\n setLoadingUsers(false);\n })\n .catch((err) => setLoadingUsers(false));\n };\n\n const filterUsers = async () => {\n let filteredData = allUsers;\n if (userFilter !== \"\") {\n filteredData = allUsers?.filter(filterByName);\n }\n if (userTypeFilter !== \"all\") {\n filteredData = filteredData?.filter(\n (user) => user.type === userTypeFilter\n );\n }\n if (userRoleFilter !== null && userRoleFilter?.length > 0) {\n filteredData = filteredData?.filter((user) =>\n user.roles.map((r) => r.role).includes(userRoleFilter)\n );\n }\n setfilteredUsers(filteredData);\n };\n\n const filterByName = (user) => {\n let valueUp = userFilter.toUpperCase();\n if (user.displayName?.toUpperCase().includes(valueUp)) return true;\n if (user.email?.toUpperCase().includes(valueUp)) return true;\n if (user.appId?.toUpperCase().includes(valueUp)) return true;\n //return false;\n };\n\n const updateUserStatus = async () => {\n await axios\n .patch(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n \"/User/\" +\n clickedUser?.id +\n \"/\" +\n (clickedUser?.status == \"Enabled\" ? \"disable\" : \"enable\")\n )\n .then((response) => {\n getAllUsers();\n setShowUserStatusChangeNotification(true);\n setShowUserStatusChangeConfirm(false);\n setClickedUser(null);\n });\n };\n\n return (\n
    \n
    \n\n \n {(user) => {\n if (user.roles?.map((r) => r.role).some((r) => r === \"SYS_ADMIN\")) {\n return (\n <>\n \n \n Filter by name\n {\n setUserFilter(e.target.value);\n filterUsers();\n }}\n />\n \n\n \n Filter by type\n {\n setUserTypeFilter(e.target.value);\n await filterUsers();\n }}\n >\n All\n User\n App\n \n \n\n \n Filter by role\n {\n setUserRoleFilter(e.target.value);\n filterUsers();\n }}\n >\n All\n {roles.map((r) => (\n {r}\n ))}\n \n \n \n\n
    \n \n \n
    \n
    Display name
    \n
    Email
    \n
    Type
    \n
    Roles
    \n
    Status
    \n
    Actions
    \n \n {loadingUsers && (\n \n )}\n {filteredUsers &&\n filteredUsers\n .sort((a, b) => (a.displayName > b.displayName ? 1 : -1))\n .map((u, index) => {\n return (\n \n
    \n
    {u.displayName}\n {u.appId && ({u.appId})}\n
    \n
    {u.email}
    \n
    \n {u.type === \"service_principal\"\n ? \"Service Principal\"\n : \"User\"}\n
    \n
    \n \n {u.roles?.map((r) => (\n
  • {r.role}
  • \n ))}\n \n }\n >\n \n \n
    \n
    \n {\n setClickedUser(u);\n setShowUserStatusChangeConfirm(true);\n }}\n />\n
    \n
    \n goToEditPage(u.id)}\n title=\"Edit\"\n />\n
    \n
    \n openDeleteDialog(u)}\n title=\"Delete\"\n />\n
    \n \n );\n })}\n
    \n\n \n \n \n Confirm\n \n \n Please confirm the following action:\n
    \n
      \n
    • \n {clickedUser?.status == \"Enabled\"\n ? \"Disable\"\n : \"Enable\"}{\" \"}\n - {clickedUser?.displayName}\n
    • \n
    \n
    \n \n updateUserStatus()}\n >\n Confirm\n \n {\n setClickedUser(null);\n setShowUserStatusChangeConfirm(false);\n }}\n >\n Cancel\n \n \n
    \n\n {\n setClickedUser(null);\n setshowDeleteUser(false);\n }}\n >\n \n Confirmation\n \n \n

    The following user(s) will be removed:

    \n
      \n
    • \n {clickedUser?.displayName} {clickedUser?.appId} (\n {clickedUser?.email})\n
    • \n
    \n
    \n \n \n {\n setClickedUser(null);\n setshowDeleteUser(false);\n }}\n >\n Cancel\n \n \n \n \n );\n } else {\n return

    You don't have permission on this page

    ;\n }\n }}\n
    \n
    \n );\n};\n\nexport default Users;\n","import React, { Component } from \"react\";\nimport { Fragment } from \"react\";\nimport {\n List,\n ListHeader,\n TableRow,\n Modal,\n ModalBody,\n ModalHeader,\n ModalTitle,\n Button } from \"@hai/ui-react\";\nimport moment from \"moment\";\nimport { faFile } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport ReactJson from \"react-json-view\";\n\nclass AuditLogTable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n logs: this.props.logs,\n logDetail: null,\n logDetailShow: false,\n logFilter: this.props.logFilter,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState({ logs: nextProps.logs });\n }\n\n showLogDetail(log) {\n console.log(log);\n this.setState((prev) => {\n prev.logDetail = log;\n prev.logDetailShow = true;\n return prev;\n });\n }\n\n hideLogDetail() {\n this.setState((prev) => {\n prev.logDetail = null;\n prev.logDetailShow = false;\n return prev;\n });\n }\n\n render() {\n return (\n
    \n
    \n \n \n
    \n
    App
    \n
    Event Type
    \n
    Date
    \n
    User
    \n
    Result
    \n \n {this.state.logs.map((log, index) => {\n return (\n \n \n
    \n
    {log.action.appModule}
    \n
    {log.eventType}
    \n
    \n {moment(log.startDate).format(\"YYYY-MM-DD HH:mm:ss\")}\n
    \n
    \n {log.action.userName\n ? log.action.userName\n : log.action.appId}\n
    \n
    \n {log.action.ResponseStatusCode}-\n {log.action.ResponseStatus}\n
    \n
    \n {\n this.showLogDetail(log);\n }}\n />\n
    \n
    \n \n
    \n );\n })}\n
    \n
    \n this.hideLogDetail()}\n >\n \n Event Log Entry\n this.hideLogDetail()}\n >\n Close\n \n \n \n \n \n \n
    \n );\n }\n}\n\nexport default AuditLogTable;\n","import {\n Button,\n FormLabel,\n Header,\n LabelValue,\n List,\n ListHeader,\n Switch,\n TableRow } from \"@hai/ui-react\";\nimport cogoToast from \"cogo-toast\";\nimport React from \"react\";\nimport { useState } from \"react\";\nimport { useEffect } from \"react\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { Col, Row } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport AuditLogTable from \"../audit-log/AuditLogTable\";\nimport \"./useredit.scss\";\n\nconst UserEdit = (props) => {\n let { idParam } = useParams();\n const [user, setUser] = useState(null);\n const [allRoles, setAllRoles] = useState(null);\n const [sendingUpdate, setSendingUpdate] = useState(false);\n const [userRoles, setUserRoles] = useState([]);\n const [logs, setLogs] = useState(null);\n var params = useParams();\n\n useEffect(() => {\n (async function () {\n await getUserById(idParam);\n await getAllRoles();\n //await getUserAuditLogs(userId);\n })();\n }, []);\n\n const getUserById = async (id) => {\n await axios\n .get(process.env.REACT_APP_JELLYFISH_API_BASE_URL + `/User/${id}`, {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n })\n .then((response) => {\n setUser(response.data);\n if (response.data.email) {\n getUserAuditLogs(response.data.email);\n } else {\n getAppAuditLogs(response.data.appId);\n }\n });\n };\n\n const getAllRoles = async () => {\n await axios\n .get(process.env.REACT_APP_JELLYFISH_API_BASE_URL + `/roles`, {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n })\n .then((response) => setAllRoles(response.data));\n };\n\n const getUserAuditLogs = async (email) => {\n await axios\n .get(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/AuditLog/events/users/` +\n email,\n {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n }\n )\n .then((response) => setLogs(response.data));\n };\n\n const getAppAuditLogs = async (id) => {\n await axios\n .get(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/AuditLog/events/apps/` +\n id,\n {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n }\n )\n .then((response) => setLogs(response.data));\n };\n\n const addOrRemoveRoles = () => {\n let body = {\n rolesToAdd: userRoles.filter((r) => r.status == true).map((r) => r.role),\n rolesToRemove: userRoles\n .filter((r) => r.status == false)\n .map((r) => r.role),\n };\n setSendingUpdate(true);\n axios\n .put(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/User/${idParam}/roleAssignment/roles`,\n body\n )\n .then((response) => {\n cogoToast.success(\"User roles updated\", { position: \"top-right\" });\n setSendingUpdate(false);\n })\n .catch((err) => setSendingUpdate(false));\n };\n\n const changeUserRole = (role) => {\n let newRoles = userRoles.map((r) => {\n if (r.role === role) {\n return { role: role, status: !r.status };\n } else {\n return r;\n }\n });\n setUserRoles(newRoles);\n };\n\n const navigate = useNavigate();\n\n return (\n <>\n
    \n {user && (\n
    \n \n \n Name\n \n {user.displayName ? user.displayName : \"Service Principal\"}\n \n \n\n \n Type\n {user.type}\n \n\n \n Email\n {user.email}\n \n\n {user.type === \"service_principal\" && (\n \n App Id\n {user.appId}\n \n )}\n \n
    \n \n {userRoles.length > 0 && (\n addOrRemoveRoles()}\n >\n Update\n \n )}\n \n \n
    \n Roles\n \n \n
    Role
    \n
    Status
    \n \n {allRoles &&\n user &&\n allRoles.map((role, index) => {\n let userHasRole = user.roles?.map((r) => r.role).includes(role);\n if (userRoles.length < allRoles.length) {\n userRoles.push({ role: role, status: userHasRole });\n }\n return (\n \n
    {role}
    \n
    \n changeUserRole(role)}\n />\n
    \n \n );\n })}\n
    \n
    \n )}\n \n
    \n Audit Logs\n
    \n {logs && }\n \n );\n};\nexport default UserEdit;\n","import {\n faCheckCircle,\n faCog,\n faMinusCircle,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { List, ListHeader, Spinner, TableRow , ProgressBar } from \"@hai/ui-react\";\nimport axios from \"axios\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nconst HubUserSubscriptions = (props) => {\n const [user, setUser] = useState(null);\n const [loadingSubs, setLoadingSubs] = useState(false);\n\n useEffect(() => {\n getUserById();\n }, []);\n\n const getUserById = async () => {\n setLoadingSubs(true);\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Support/hub/users/\" +\n props.userId\n )\n .then((response) => {\n setUser(response.data);\n setLoadingSubs(false);\n })\n .catch((error) => setLoadingSubs(false));\n };\n\n let navigate = useNavigate();\n const goToSubscriptionPage = (orgId, subId) => {\n navigate(`/hub/organizations/${orgId}/subscriptions/${subId}`);\n };\n\n return (\n \n \n Subscriptions\n

    \n \n \n
    SRTHub Sub Id
    \n
    Azure Sub Id (Sub Name)
    \n
    \"Status
    \n
    \n \n {loadingSubs && }\n {user &&\n user.subscriptions?.map((sub, index) => {\n return (\n \n
    \n
    {sub.subscriptionId}
    \n
    {sub.subscriptionName}
    \n
    \n {sub.isDisabled != null ? (\n \n ) : (\n \"Not found\"\n )}\n
    \n
    \n \n goToSubscriptionPage(\n sub.organizationId,\n sub.subscriptionId\n )\n }\n />\n
    \n \n );\n })}\n
    \n \n );\n};\n\nexport default HubUserSubscriptions;\n","import {\n faCheckCircle,\n faChevronCircleDown,\n faChevronCircleRight,\n faMinusCircle,\n faPlaneArrival,\n faRedo,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Dialog, TableRow } from \"@hai/ui-react\";\nimport axios from \"axios\";\nimport cogoToast from \"cogo-toast\";\nimport React, { useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport Collapse from \"reactstrap/lib/Collapse\";\nimport HubUserSubscriptions from \"./HubUserSubscriptions\";\nimport PropTypes from \"prop-types\";\nimport Row from \"reactstrap/lib/Row\";\nimport Col from \"reactstrap/lib/Col\";\n\nconst HubUsersRow = (props) => {\n const [collapseSubs, setCollapseSubs] = useState(false);\n const [user, setUser] = useState(props.user);\n const [isUpdating, setIsUpdating] = useState(false);\n const [showDisableModal, setShowDisableModal] = useState(false);\n\n let navigate = useNavigate();\n const goToContractPage = (orgId) => {\n axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Provisions/by-organizations/\" +\n orgId\n )\n .then((response) => {\n if (response?.data[0]?.contractId) {\n navigate(\"/hub/contracts/\" + response.data[0].contractId);\n } else {\n cogoToast.error(\"User organization is not linked to any contract\", {\n position: \"top-right\",\n });\n }\n })\n .catch((error) =>\n cogoToast.error(\"Contract not found\", { position: \"top-right\" })\n );\n };\n\n const enableOrDisableUser = () => {\n setIsUpdating(true);\n if (user.isEnabled) {\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/hub/users/${user.id}/disable`\n )\n .then((response) => {\n cogoToast.success(\"User disabled\", { position: \"top-right\" });\n let tempUser = { ...user };\n tempUser.isEnabled = false;\n setUser(tempUser);\n setIsUpdating(false);\n });\n } else {\n axios\n .put(\n process.env.REACT_APP_HUB_API_BASE_URL +\n `/Support/hub/users/${user.id}/enable`\n )\n .then((response) => {\n cogoToast.success(\"User enabled\", { position: \"top-right\" });\n let tempUser = { ...user };\n tempUser.isEnabled = true;\n setUser(tempUser);\n setIsUpdating(false);\n });\n }\n setShowDisableModal(false);\n };\n\n return (\n <>\n \n
    \n
    {props.user.userName}
    \n
    {props.user.email}
    \n
    {props.user.isApplication ? \"Application\" : \"User\"}
    \n
    \n {\" \"}\n {isUpdating ? (\n \n ) : (\n setShowDisableModal(true)}\n >\n )}\n
    \n
    \n setCollapseSubs(!collapseSubs)}\n title=\"Expand subs\"\n />\n
    \n
    \n goToContractPage(props.user.organizationId)}\n />\n
    \n \n\n \n {collapseSubs && (\n \n )}\n \n\n \n \n Are you sure you want to {user.isEnabled ? \"disable\" : \"enable\"}{\" \"}\n the user below?\n
    \n
    \n Name: {user.userName}
    \n Email: {user.email}\n \n \n }\n title={\"Confirm\"}\n show={showDisableModal}\n buttons={[\n { label: \"Yes\", primary: true, onClick: () => enableOrDisableUser() },\n { label: \"No\", onClick: () => setShowDisableModal(false) },\n ]}\n >\n \n );\n};\n\nHubUsersRow.propTypes = {\n user: PropTypes.object.isRequired,\n index: PropTypes.number,\n};\nexport default HubUsersRow;\n","import {\n FormControl,\n Header,\n List,\n ListHeader,\n ProgressBar,\n Spinner, } from \"@hai/ui-react\";\nimport axios from \"axios\";\nimport React, { useEffect, useState } from \"react\";\nimport { UserContext } from \"../../common/userContext\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport HubUsersRow from \"./HubUsersRow\";\n\nconst HubUsers = (props) => {\n const [allUsers, setAllUsers] = useState(null);\n const [filteredUsers, setFilteredUsers] = useState(null);\n const [loadingUsers, setLoadingUsers] = useState(false);\n\n useEffect(() => {\n getAllUsers();\n }, []);\n\n const getAllUsers = async () => {\n setLoadingUsers(true);\n await axios\n .get(process.env.REACT_APP_HUB_API_BASE_URL + \"/Support/hub/users\", {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n })\n .then((response) => {\n setAllUsers(response.data);\n setFilteredUsers(response.data);\n setLoadingUsers(false);\n })\n .catch((err) => setLoadingUsers(false));\n };\n\n const filterUsers = (value) => {\n if (value == null || value === \"\") {\n setFilteredUsers(allUsers);\n } else {\n let filtered = allUsers?.filter((user) => {\n let valueUp = value.toUpperCase();\n if (user.userName?.toUpperCase().includes(valueUp)) return true;\n if (user.email?.toUpperCase().includes(valueUp)) return true;\n if (user.id?.toUpperCase().includes(valueUp)) return true;\n });\n setFilteredUsers(filtered);\n }\n };\n\n return (\n <>\n {/* */}\n
    \n
    \n \n {(user) => {\n if (\n user.roles\n ?.map((r) => r.role)\n .some(\n (r) =>\n r === \"SYS_ADMIN\" ||\n r === \"HUB_ADMIN\" ||\n r === \"HUB_READONLY\" ||\n r === \"HUB_OPERATOR\"\n )\n ) {\n return (\n <>\n filterUsers(e.target.value)}\n style={{ maxWidth: \"300px\" }}\n />\n
    \n \n \n
    \n
    Display name
    \n
    Email
    \n
    Type
    \n
    Status
    \n
    \n \n {loadingUsers && }\n {filteredUsers &&\n filteredUsers\n .sort((a, b) => (a.userName > b.userName ? 1 : -1))\n .map((u, index) => {\n return (\n \n );\n })}\n
    \n \n );\n } else {\n return

    You don't have permission on this page

    ;\n }\n }}\n
    \n \n );\n};\n\nexport default HubUsers;\n","import {\n Header,\n FormGroup,\n FormControl,\n FormLabel,\n Button,\n SelectOption,\n ProgressBar } from \"@hai/ui-react\";\nimport {Col, Row} from 'reactstrap';\nimport React, { Component } from \"react\";\nimport AuditLogTable from \"./AuditLogTable\";\nimport { Fragment } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport moment from \"moment\";\n\nclass AuditLog extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n logs: null,\n logFilter: () => true,\n app: \"All\",\n from: moment().add(-1, \"hour\"),\n to: moment(),\n logType: \"all\",\n };\n }\n\n setLogFilters() {\n this.loadAuditLog();\n this.setState((prev) => {\n prev.logFilter = (log) =>\n (prev.logType == \"user\"\n ? log.action.UserName != null\n : prev.logType == \"app\"\n ? log.action.UserName == null\n : true) &&\n (prev.app == \"All\" ? true : log.action.appModule == prev.app);\n return prev;\n });\n }\n\n clearLogFilters() {\n this.setState((prev) => {\n prev.logFilter = () => true;\n prev.app = \"All\";\n prev.from = moment().add(-1, \"hour\");\n prev.to = moment();\n prev.logType = \"all\";\n return prev;\n });\n }\n\n setLogType(type) {\n this.setState((prev) => {\n prev.logType = type;\n return prev;\n });\n }\n\n setApp(app) {\n this.setState((prev) => {\n prev.app = app;\n return prev;\n });\n }\n\n setFrom(date) {\n this.setState((prev) => {\n prev.from = moment(date);\n return prev;\n });\n }\n\n setTo(date) {\n this.setState((prev) => {\n prev.to = moment(date);\n return prev;\n });\n }\n\n componentDidMount() {\n this.loadAuditLog();\n }\n\n async loadAuditLog() {\n await axios\n .get(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n \"/AuditLog/events?from=\" +\n this.state.from.format(\"YYYY-MM-DD\" + \"T\" + \"HH:mm:ssZ\") +\n \"&to=\" +\n this.state.to.format(\"YYYY-MM-DD\" + \"T\" + \"HH:mm:ssZ\")\n )\n .then((response) => {\n this.setState((prev) => {\n prev.logs = response.data;\n prev.loading = false;\n return prev;\n });\n });\n }\n\n render() {\n if (this.state.loading) {\n return (\n \n \n );\n } else {\n return (\n \n \n
    \n \n \n Log Type\n {\n console.log(e.target.value);\n this.setLogType(e.target.value);\n }}\n >\n All\n User\n App\n \n \n \n App\n \n {\n this.setApp(e.target.value);\n }}\n defaultValue={this.state.app}\n >\n All\n Connect\n Hub\n Jellyfish\n \n \n \n \n \n From\n this.setFrom(e.target.value)}\n />\n \n \n \n \n To\n this.setTo(e.target.value)}\n />\n \n \n \n \n \n this.setLogFilters()}\n variant=\"primary\"\n >\n Apply\n \n this.clearLogFilters()}\n style={{ display: \"inline\" }}\n >\n Reset\n \n \n \n \n
    \n
    \n \n
    \n );\n }\n }\n}\n\nexport default AuditLog;\n","import { Animation, Button, Header, IconCard , ProgressBar } from \"@hai/ui-react\";\nimport React, { Component, useEffect, useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport HubRouteDiagram from \"./routeDiagram\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport { Row } from \"reactstrap\";\nimport Col from \"reactstrap/lib/Col\";\nimport { useNavigate, useParams } from \"react-router-dom\";\n\nconst HubRouteDetail = (props) => {\n let navigate = useNavigate();\n const params = useParams();\n const [routeId, setRouteId] = useState(props.routeId ?? params.routeId)\n const [subscriptionId, setSubscriptionId] = useState(props.subscriptionId ?? params.subscriptionId)\n const [route, setRoute] = useState(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n refreshRouteDetail();\n }, []);\n\n const backToRoutes = () => {\n navigate(-1);\n }\n\n const refreshRouteDetail = async () => {\n await axios\n .get(\n process.env.REACT_APP_HUB_API_BASE_URL +\n \"/Support/subscriptions/\" +\n subscriptionId +\n \"/routes/\" +\n routeId\n )\n .then((response) => {\n setRoute(response.data);\n setLoading(false);\n });\n }\n\n\n if (loading) {\n return (\n
    \n \n
    \n );\n } else {\n return (\n <>\n \n \n \n \n \n \n Route ID: {route.id}\n \n \n\n
    \n\n \n \n );\n }\n}\n\nexport default HubRouteDetail;\n","import { Button, NotFound , ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport SharkNotFound from \"../../../static/404_shark.png\";\n\nclass NotFound_Shark extends Component {\n render() {\n return (\n (window.location = \"/\")}>\n GO BACK TO HOME\n \n }\n />\n );\n }\n}\n\nexport default NotFound_Shark;\n","import {\n Button,\n LabelValue,\n ModalHeader,\n FormGroup,\n FormLabel,\n ModalBody,\n ModalFooter,\n Form,\n Modal,\n ProgressBar } from \"@hai/ui-react\";\nimport React from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport moment from \"moment\";\n\nconst SecretModal = (props) => {\n return (\n \n \n \n
    \n \n Application Id\n {props.sp?.applicationId}\n \n\n \n Secret Id\n {props.secret?.secretId}\n \n\n \n Created Date\n \n {moment(props.secret?.startDate).format(\"MM/DD/YYYY HH:MM\")}\n \n \n\n \n Expire Date\n \n {moment(props.secret?.expireDate).format(\"MM/DD/YYYY HH:MM\")}\n \n \n\n \n Secret Value\n {props.secret?.secretValue}\n \n
    \n
    \n \n \n \n
    \n );\n};\n\nSecretModal.propTypes = {\n show: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n secret: PropTypes.object.isRequired,\n};\n\nexport default SecretModal;\n","import {\n faExclamationTriangle,\n faRedo,\n faTrash,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n TableRow,\n Notification,\n Dialog } from \"@hai/ui-react\";\nimport axios from \"axios\";\nimport moment from \"moment\";\nimport React, { useState } from \"react\";\n\nconst SecretsRow = (props) => {\n const [secret, setSecret] = useState(props.secret);\n const [showRenewDialog, setShowRenewDialog] = useState(false);\n const [showDeleteSecret, setShowDeleteSecret] = useState(false);\n const [showNotification, setShowNotification] = useState(false);\n const [notificationMsg, setNotificationMsg] = useState(\"\");\n const [showSecretModal, setShowSecretModal] = useState(false);\n const [loading, setLoading] = useState(false);\n\n const deleteSecret = async () => {\n setLoading(true);\n await axios\n .delete(\n `${process.env.REACT_APP_JELLYFISH_API_BASE_URL}/azure-resource/service-principals/${props.spId}/secrets/${secret.secretId}`\n )\n .then((res) => {\n setNotificationMsg(\"Secret deleted.\");\n setShowDeleteSecret(false);\n setShowNotification(true);\n setLoading(false);\n props.getSecrets();\n })\n .catch((e) => setLoading(false));\n };\n\n const renewSecret = async () => {\n setLoading(true);\n await axios\n .put(\n `${process.env.REACT_APP_JELLYFISH_API_BASE_URL}/azure-resource/service-principals/${props.spId}/secrets/${secret.secretId}/renew`\n )\n .then((res) => {\n setNotificationMsg(\"Secret renewed.\");\n setShowNotification(true);\n setSecret(res.data);\n setLoading(false);\n setShowRenewDialog(false);\n // props.getSecrets();\n })\n .catch((e) => setLoading(false));\n };\n\n const url = `https://portal.azure.com/#@haivision.com/asset/Microsoft_Azure_KeyVault/Secret/https://${secret.keyVaultId.substring(secret.keyVaultId?.lastIndexOf(\"/\") + 1, secret.keyVaultId?.length)}.vault.azure.net/secrets/${secret.keyVaultSecretName}`;\n const encodedUrl = escape(encodeURIComponent(url));\n console.log({url: url, encoded: encodedUrl});\n\n return (\n <>\n \n
    \n
    {secret.secretId}
    \n
    {moment(secret.startDate).format(\"MM/DD/YYYY\")}
    \n
    \n {moment(secret.expireDate).format(\"MM/DD/YYYY\")}{\" \"}\n {\"(in \" +\n moment\n .duration(moment(secret.expireDate).diff(moment.now()))\n .asDays()\n .toFixed() +\n \" days)\"}\n
    \n
    \n {secret.renewDate\n ? moment(secret.renewDate).format(\"MM/DD/YYYY\")\n : \"\"}\n
    \n
    {secret.secretValue}
    \n
    \n {secret.secretType === \"SP\" ? \"Service Principal\" : \"Application\"}\n
    \n \n {moment\n .duration(moment(secret.expireDate).diff(moment.now()))\n .asDays() < 14 && (\n <>\n \n  \n \n )}\n setShowRenewDialog(true)}\n title=\"Renew\"\n />\n \n
    \n setShowDeleteSecret(true)}\n title=\"Delete\"\n />\n
    \n
    {\n \n }\n
    \n \n\n setShowRenewDialog(false)}\n buttons={[\n {\n disabled: loading,\n label: \"Yes\",\n primary: true,\n onClick: () => renewSecret(),\n },\n { label: \"No\", onClick: () => setShowRenewDialog(false) },\n ]}\n >\n {\n setShowDeleteSecret(false);\n }}\n >\n \n Confirmation\n \n \n

    The following Secret will be removed:

    \n
      \n
    • {secret.secretId}
    • \n
    \n
    \n \n deleteSecret()}\n >\n Confirm\n \n {\n setShowDeleteSecret(false);\n }}\n >\n Cancel\n \n \n \n\n \n \n );\n};\n\nexport default SecretsRow;\n","import { List, ListHeader , ProgressBar } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport SecretsRow from \"./SecretsRow\";\nimport PropTypes from \"prop-types\";\n\nconst SecretsTable = (props) => {\n const [secrets, setSecrets] = useState(props.secrets);\n\n return (\n \n \n \n
    \n
    Secret Id
    \n
    Start Date
    \n
    Expiration Date
    \n
    Renewed Date
    \n
    Secret Value
    \n
    Type
    \n
    \n \n {secrets &&\n secrets.map((secret, index) => (\n \n ))}\n
    \n \n );\n};\n\nSecretsTable.propTypes = {\n secrets: PropTypes.array.isRequired,\n spId: PropTypes.string.isRequired,\n};\n\nexport default SecretsTable;\n","import {\n faChevronCircleDown,\n faChevronCircleRight,\n faExclamationTriangle,\n faPlusCircle,\n faTrash,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { TableRow, Animation, Dialog , Spinner } from \"@hai/ui-react\";\nimport axios from \"axios\";\nimport cogoToast from \"cogo-toast\";\nimport moment from \"moment\";\nimport React, { useState } from \"react\";\nimport Collapse from \"reactstrap/lib/Collapse\";\nimport SecretModal from \"./SecretModal\";\nimport SecretsTable from \"./SecretsTable\";\n\nconst ServicePrincipalRow = (props) => {\n const [showDeleteSP, setShowDeleteSP] = useState(false);\n const [sp, setSp] = useState(props.sp);\n const [collapseSecrets, setCollapseSecrets] = useState(true);\n const [showCreateNewSecret, setShowCreateNewSecret] = useState(false);\n const [createdSecret, setCreatedSecret] = useState(null);\n const [showSecretModal, setShowSecretModal] = useState(false);\n const [loading, setLoading] = useState(false);\n const [loadingSecrets, setLoadingSecrets] = useState(false);\n\n const deleteSP = async () => {\n setLoading(true);\n await axios\n .delete(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL + `/azure-resource/service-principals/${sp.applicationId}`\n )\n .then((response) => {\n cogoToast.success(\"Service principal deleted\", {\n position: \"top-right\",\n });\n setShowDeleteSP(false);\n setLoading(false);\n props.loadSps();\n })\n .catch((e) => setLoading(false));\n };\n\n const createNewSecret = async () => {\n setLoading(true);\n await axios\n .post(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/azure-resource/service-principals/${sp.applicationId}/secrets`\n )\n .then((response) => {\n cogoToast.success(\"Secret created\", { position: \"top-right\" });\n setShowCreateNewSecret(false);\n setCreatedSecret(response.data);\n setShowSecretModal(true);\n setLoading(false);\n getSecrets();\n })\n .catch((e) => setLoading(false));\n };\n\n const getSecrets = async () => {\n setLoadingSecrets(true);\n await axios\n .get(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL +\n `/azure-resource/service-principals/${sp.applicationId}/secrets`\n )\n .then((res) => {\n var tmp = sp;\n tmp.secrets = res.data;\n setSp(tmp);\n setLoadingSecrets(false);\n })\n .catch((e) => setLoadingSecrets(false));\n };\n\n return (\n <>\n \n
    \n
    {sp.name}
    \n
    {sp.applicationId}
    \n
    {sp.tenantId}
    \n
    {moment(sp.createdDate ?? sp._last_modified_date).format(\"MM/DD/YYYY HH:mm\")}
    \n setCollapseSecrets(!collapseSecrets)}\n >\n {sp.secrets ? sp.secrets.length : 0} \n \n  \n {sp.secrets?.some(\n (s) =>\n moment\n .duration(moment(s.expireDate).diff(moment.now()))\n .asDays() < 14\n ) && (\n \n )}\n \n\n {/* NEW SECRET FOR THIS SP */}\n
    \n setShowCreateNewSecret(true)}\n title=\"Add secret\"\n />\n
    \n\n {/* DELETE SP */}\n
    \n setShowDeleteSP(true)}\n title=\"Delete\"\n />\n
    \n \n\n \n {!collapseSecrets && (\n <>\n {loadingSecrets && }\n {!loadingSecrets && (\n \n )}\n \n )}\n \n\n \n

    Are you sure you want to delete this Application?

    \n

    The following app and service principal will be removed:

    \n
      \n
    • \n {sp.name} ({sp.applicationId})\n
    • \n
    \n {loading && }\n \n }\n show={showDeleteSP}\n buttons={[\n {\n disabled: loading,\n label: \"Yes\",\n primary: true,\n onClick: () => deleteSP(),\n },\n { label: \"No\", onClick: () => setShowDeleteSP(false) },\n ]}\n >\n\n \n

    {`Are you sure you want to create a new secret for ${sp.name}?`}

    \n {loading && }\n \n }\n show={showCreateNewSecret}\n buttons={[\n {\n disabled: loading,\n label: \"Yes\",\n primary: true,\n onClick: () => createNewSecret(),\n },\n { label: \"No\", onClick: () => setShowCreateNewSecret(false) },\n ]}\n >\n\n {showSecretModal && (\n {\n setCreatedSecret(null);\n setShowSecretModal(false);\n }}\n >\n )}\n \n );\n};\n\nexport default ServicePrincipalRow;\n","import {\n Button,\n FormControl,\n List,\n ListHeader,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n Pagination,\n Notification,\n FormLabel,\n FormGroup,\n Form,\n ProgressBar,\n Header, Spinner\n} from \"@hai/ui-react\";\nimport cogoToast from \"cogo-toast\";\nimport React, { useEffect, useRef } from \"react\";\nimport { useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport { useParams } from \"react-router-dom\";\nimport { UserContext } from \"../../common/userContext\";\nimport Row from \"reactstrap/lib/Row\";\nimport Col from \"reactstrap/lib/Col\";\nimport ServicePrincipalRow from \"./ServicePrincipalRow\";\nimport Select from \"react-select\";\nimport SecretModal from \"./SecretModal\";\n\nconst ServicePrincipal = (props) => {\n const params = useParams();\n const [allSPs, setAllSPs] = useState(null);\n const [filteredSPs, setfilteredSPs] = useState(null);\n const [loadingSPs, setLoadingSPs] = useState(false);\n const [\n showUserStatusChangeNotification,\n setShowUserStatusChangeNotification,\n ] = useState(false);\n\n const [columnFilters, setColumnFilters] = useState([])\n const [showNewSPModal, setShowNewSPModal] = useState(false);\n const [notificationMsg, setNotificationMsg] = useState(\"Updated\");\n const [showSecretModal, setShowSecretModal] = useState(false);\n const [createdSP, setCreatedSP] = useState(null);\n const [loading, setLoading] = useState(false);\n const [spForm, setSpForm] = useState({\n tenantId: \"\",\n moduleId: \"\",\n name: \"\",\n });\n\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 12\n });\n\n const firstTimeRender = useRef(true);\n\n useEffect(() => {\n (async function () {\n await getAllServicePrincipal(1, 12);\n })();\n }, []);\n\n useEffect(() => {\n firstTimeRender.current = false;\n }, []);\n\n\n const getAllServicePrincipal = async (page, pageSize) => {\n setLoadingSPs(true);\n await axios\n .get(process.env.REACT_APP_JELLYFISH_API_BASE_URL + `/azure-resource/service-principals?pageNumber=${page}&pageSize=${pageSize}&columnFilters=${JSON.stringify(columnFilters)}`, {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n })\n .then((response) => {\n setAllSPs(response.data);\n setfilteredSPs(response.data);\n setLoadingSPs(false);\n })\n .catch((err) => setLoadingSPs(false));\n };\n\n const createNewServicePrincipal = () => {\n if (validateForm()) {\n setLoading(true);\n axios\n .post(process.env.REACT_APP_JELLYFISH_API_BASE_URL + \"/azure-resource/service-principals\", spForm)\n .then((res) => {\n setShowNewSPModal(false);\n setNotificationMsg(\"Service Principal created!\");\n setShowUserStatusChangeNotification(true);\n setCreatedSP(res.data);\n setShowSecretModal(true);\n setLoading(false);\n })\n .catch((e) => setLoading(false));\n }\n };\n\n const validateForm = () => {\n let valid = true;\n if (!spForm?.tenantId) valid = false;\n if (!spForm?.name) valid = false;\n\n if (!valid) {\n cogoToast.warn(\"Please fill the required fields\", {\n position: \"top-right\",\n });\n }\n return valid;\n };\n\n const handleChange = (event) => {\n const target = event.target;\n const value = target.type === \"checkbox\" ? target.checked : target.value;\n const name = target.name;\n var temp = spForm;\n temp[name] = value;\n setSpForm(temp);\n };\n\n const customStyles = {\n option: (provided, state) => ({\n ...provided,\n borderBottom: \"1px dotted red\",\n color: \"red\",\n background: \"white\",\n }),\n };\n\n return (\n
    \n \n {(user) => {\n if (user.roles?.map((r) => r.role).some((r) => r === \"SYS_ADMIN\")) {\n return (\n <>\n \n setShowNewSPModal(true)}\n >\n Create new\n \n
    \n\n \n \n Filter by name\n {\n let tempSet = columnFilters.filter(f => f.id !== \"name\");\n if (e.target.value !== \"\") {\n tempSet.push({\n id: 'name',\n Value: e.target.value,\n Comparator: 'Contains'\n });\n setColumnFilters(tempSet);\n } else {\n setColumnFilters(tempSet);\n }\n }\n }\n />\n \n\n \n Filter by tenant\n {\n let tempSet = columnFilters.filter(f => f.id !== \"tenantId\");\n if (e.target.value !== \"\") {\n tempSet.push({\n id: 'tenantId',\n Value: e.target.value,\n Comparator: 'Contains'\n });\n setColumnFilters(tempSet);\n } else {\n setColumnFilters(tempSet);\n }\n }\n }\n >\n \n\n \n Filter by App Id\n {\n let tempSet = columnFilters.filter(f => f.id !== \"applicationId\");\n if (e.target.value !== \"\") {\n tempSet.push({\n id: 'applicationId',\n Value: e.target.value,\n Comparator: 'Contains'\n });\n setColumnFilters(tempSet);\n } else {\n setColumnFilters(tempSet);\n }\n }}\n >\n \n\n \n \n \n \n\n
    \n \n \n
    \n
    Application Name
    \n
    Application Id
    \n
    Tenant Id
    \n
    Created Date
    \n
    Secrets
    \n
    \n \n\n {loadingSPs && (\n \n )}\n {/* .sort((a, b) => (a.name > b.name ? 1 : -1)) */}\n {filteredSPs &&\n filteredSPs.data?.map((sp, index) => (\n \n ))}\n
    \n {\n if (allSPs.hasNextPage || newPage <= allSPs?.totalPages) {\n setPageData({ currentPage: newPage, pageSize: pageData.pageSize });\n getAllServicePrincipal(newPage, pageData.pageSize);\n\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n />\n\n \n\n setShowNewSPModal(false)}\n >\n \n

    New Service Principal

    \n
    \n \n \n \n Tenant Id\n \n \n\n \n Name\n \n \n \n \n \n createNewServicePrincipal()}\n >\n Create\n \n {loading && }\n \n \n\n {showSecretModal && (\n {\n setCreatedSP(null);\n setShowSecretModal(false);\n getAllServicePrincipal();\n }}\n >\n )}\n \n );\n } else {\n return

    You don't have permission on this page

    ;\n }\n }}\n
    \n
    \n );\n};\n\nexport default ServicePrincipal;\n","import { NotFound , ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport SharkNotFound from \"../../../static/404_shark.png\";\n\nclass NotAuthorized_Shark extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default NotAuthorized_Shark;\n","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {SelectOption,\n FormLabel,\n FormControl,\n Button,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalFooter,\n FormGroup,\n } from \"@hai/ui-react\";\nimport { Row, Col, ModalBody } from \"reactstrap\";\n\nclass HaivisionProductAdd extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showProductAdd: false,\n newProduct: {\n productTypeId: \"\",\n sku: \"\",\n description: \"\",\n },\n productTypes: null,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.showProductAdd = nextProps.show;\n prev.productTypes = nextProps.productTypes;\n if (prev.productTypes.length > 0) {\n prev.productTypes = prev.productTypes.filter((x) => x.name !== \"All\");\n prev.newProduct.productTypeId = prev.productTypes[0].id;\n }\n return prev;\n });\n }\n\n submitProductAdd() {\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products\",\n this.state.newProduct\n )\n .then((response) => {\n this.props.handleAddProduct();\n this.props.getProducts();\n this.setState((prev) => {\n prev.newProduct = {\n productTypeId: \"\",\n sku: \"\",\n description: \"\",\n };\n return prev;\n });\n });\n }\n\n render() {\n return (\n \n \n Add Product\n \n \n \n Product Sku\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProduct.sku = text;\n return prev;\n });\n }}\n />\n Product Type\n {\n const text = e.target.value;\n var productType = this.state.productTypes.find(\n (x) => x.name === text\n );\n this.setState((prev) => {\n prev.newProduct.productTypeId = productType.id;\n return prev;\n });\n }}\n >\n {this.state.productTypes &&\n this.state.productTypes.map((t) => {\n return {t.name};\n })}\n \n Product Description\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProduct.description = text;\n return prev;\n });\n }}\n />\n \n \n \n \n \n \n \n );\n }\n}\n\nexport default HaivisionProductAdd;\n","import {\n Modal,\n ModalBody,\n ModalHeader,\n Button,\n ModalFooter,\n ModalTitle,\n ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\n\nclass HaivisionProductDelete extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n product: this.props.product,\n show: this.props.show,\n };\n }\n\n componentDidMount() {}\n\n componentWillReceiveProps(nextprops) {\n this.setState((prev) => {\n prev.loading = false;\n prev.product = nextprops.product;\n prev.show = nextprops.show;\n return prev;\n });\n }\n\n handleConfirmDelete() {\n axios\n .patch(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/\" +\n this.state.product.id + '/disable'\n )\n .then((reponse) => {\n this.handleHide();\n this.props.refresh();\n });\n }\n\n handleHide() {\n this.setState({ loading: true, product: this.props.product, show: false });\n this.props.onHide();\n }\n\n render() {\n if (!this.state.product) {\n return <>;\n } else {\n return (\n
    \n this.handleHide()}\n size=\"lg\"\n >\n \n Confirm\n \n \n You are about to delete Product for {this.state.product.sku}{\" \"}\n
    \n Are you sure?\n
    \n \n this.handleConfirmDelete()}\n >\n Confirm\n \n \n \n \n
    \n );\n }\n }\n}\n\nexport default HaivisionProductDelete;\n","import {\n Animation,\n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n Button,\n SelectOption,\n Spinner,\n ModalTitle,\n ProgressBar\n} from \"@hai/ui-react\";\nimport axios from \"../../../infra/axios\";\nimport React, { Component } from \"react\";\n\nclass HaivisionSetProductDefaultValueByProductType extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: props.show,\n loading: false,\n productTypeList: props.productTypeList,\n versionList: null,\n productList: props.productList,\n productOptionDatas: [],\n selectedProductType: null,\n selectedVersion: null,\n selectedProductOptionData: null,\n changeGeneratdLicenses: false,\n showOption: false,\n defaultValue: \"\",\n newDefaultLicenseOption: [],\n };\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.show = nextProps.show;\n prev.selectedProductType = prev.productTypeList[0];\n return prev;\n });\n this.setMaxVersion(this.state.productTypeList[0].id);\n }\n\n // getProductTypes = () => {\n // this.setState((prev) => {\n // prev.loading = true;\n // return prev;\n // });\n // const requestProducts = axios.get(\n // process.env.REACT_APP_LIC_API_BASE_URL + \"/Products\"\n // );\n // const requestProductTypes = axios.get(\n // process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductTypes\"\n // );\n // axios.all([requestProducts, requestProductTypes]).then(\n // axios.spread((...responses) => {\n // this.setState(\n // (prev) => {\n // prev.productList = responses[0].data;\n // prev.productTypeList = responses[1].data;\n // prev.selectedProductType = prev.productTypeList[0];\n // prev.loading = false;\n // return prev;\n // },\n // () => {\n // this.setMaxVersion(this.state.productTypeList[0].id);\n // }\n // );\n // })\n // );\n // };\n\n composeSubmitData() {\n var products = this.state.productList.filter(\n (x) => x.productTypeId == this.state.selectedProductType.id\n );\n\n products.forEach((product) => {\n var productDefaultOptions = product.productDefaultOptions.find(\n (x) =>\n x.productLicenseOptionId ===\n this.state.selectedProductOptionData.id &&\n x.productVersionId === this.state.selectedVersion.id\n );\n if (productDefaultOptions != null && productDefaultOptions != undefined) {\n this.state.newDefaultLicenseOption.push({\n item: this.state.selectedProductOptionData.licenseSectionItem,\n defaultValue: this.state.defaultValue,\n ProductVersionId: this.state.selectedVersion.id,\n productLicenseOptionId: this.state.selectedProductOptionData.id,\n id: productDefaultOptions.id,\n });\n }\n });\n }\n\n submit() {\n this.composeSubmitData();\n\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductDefaultOptions/bulkUpdateProductDefaultOptions\",\n this.state.newDefaultLicenseOption\n )\n .then((reponse) => {\n this.clearData();\n this.props.handleAddProduct();\n });\n }\n\n clearData() {\n this.setState((prev) => {\n prev.show = false;\n prev.productTypeList = null;\n prev.versionList = null;\n prev.productList = null;\n prev.productOptionDatas = [];\n prev.selectedProductType = null;\n prev.selectedProductOptionData = null;\n prev.selectedVersion = null;\n prev.showOption = false;\n prev.defaultValue = \"\";\n prev.newDefaultLicenseOption = [];\n return prev;\n });\n }\n\n setProductOptionDatas(productOptionDatas) {\n this.setState(\n (prev) => {\n prev.productOptionDatas = productOptionDatas || [];\n return prev;\n },\n () => {\n this.setSelectProductOptionData(this.state.productOptionDatas[0]);\n }\n );\n }\n\n setSelectProductOptionData(productOptionData) {\n this.setState((prev) => {\n prev.selectedProductOptionData = productOptionData;\n return prev;\n });\n }\n\n onChangeProductType(e) {\n var productTypeId = e.target.key;\n this.setState(\n (prev) => {\n prev.selectedProductType = productTypeId;\n return prev;\n },\n () => {\n this.setMaxVersion(productTypeId);\n }\n );\n }\n\n setMaxVersion(productTypeId) {\n if (productTypeId === undefined || productTypeId === \"\") {\n return;\n }\n var productType = this.state.productTypeList.find(\n (x) => x.id === productTypeId\n );\n var versionList = productType.productVersions.sort((version1, version2) => {\n if (version1.majorVersion === version2.majorVersion) {\n if (version1.minorVersion === version2.minorVersion) {\n if (version1.patchVersion === version2.patchVersion) {\n // two same version, impossible\n } else if (version1.patchVersion > version2.patchVersion) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.minorVersion > version2.minorVersion) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.majorVersion > version2.majorVersion) {\n return -1;\n } else {\n return 1;\n }\n });\n this.setState(\n (prev) => {\n prev.versionList = versionList;\n prev.selectedVersion = versionList[0];\n prev.productOptionDatas = versionList[0].productLicenseOptions || [];\n prev.selectedProductOption = versionList[0].productLicenseOptions[0];\n return prev;\n },\n () => {\n this.onSelectOption(this.state.selectedProductOption.description);\n }\n );\n }\n\n submitProductLicenseOptionUpdate() {\n if (this.state.formError !== \"\") {\n return;\n }\n\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/\" +\n this.state.newDefaultLicenseOption.productId +\n \"/ProductDefaultOptions/\" +\n this.state.newDefaultLicenseOption.productLicenseOptionId,\n this.state.newDefaultLicenseOption\n )\n .then((response) => {\n this.props.getProduct();\n this.setState((prev) => {\n prev.newProduceLicenseOption = {\n licenseSection: \"\",\n licenseSectionItem: \"\",\n description: \"\",\n valueName: \"\",\n defaultValue: \"\",\n availableValues: \"\",\n };\n\n prev.newDefaultLicenseOption = {\n item: \"\",\n defaultValue: \"\",\n productId: \"\",\n productLicenseOptionId: \"\",\n };\n prev.formError = \"\";\n return prev;\n });\n });\n }\n\n isShowOption(availableValues) {\n if (\n availableValues.substring(0, 1) === \"^\" &&\n availableValues.substring(availableValues.length - 1) === \"$\"\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n onSelectOption(desc) {\n if (\n desc === undefined ||\n desc === null ||\n this.state.productOptionDatas === undefined ||\n this.state.productOptionDatas === null\n ) {\n return;\n }\n\n var selectedProductOption = Array.isArray(this.state.productOptionDatas)\n ? this.state.productOptionDatas.find(\n (x) => x.description.toLowerCase() === desc.toLowerCase()\n )\n : null;\n\n if (selectedProductOption === null) {\n return;\n }\n\n var showOption = this.isShowOption(selectedProductOption?.availableValues);\n\n this.setState((prev) => {\n prev.selectedProductOptionData = selectedProductOption;\n prev.showOption = showOption;\n return prev;\n });\n }\n\n showValueComponent = () => {\n return (\n
    \n {!this.state.showOption && (\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.defaultValue.value = text;\n return prev;\n });\n }}\n >\n )}\n {this.state.showOption && (\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.defaultValue = text;\n return prev;\n });\n }}\n >\n {this.state.selectedProductOptionData.availableValues\n .split(\";\")\n .map((o) => {\n var value = o.split(\"!\")[0];\n return {value};\n })}\n \n )}\n
    \n );\n };\n\n render() {\n if (this.state.show && this.state.loading) {\n return (\n \n \n Set Product default value by product type\n \n \n \n \n \n );\n } else {\n return (\n \n \n Set Product default value by product type\n \n \n \n Product Type\n {\n var text = e.target.value;\n this.setState(\n (prev) => {\n prev.selectedProductType =\n this.state.productTypeList.find((x) => x.name === text);\n return prev;\n },\n () => {\n this.setMaxVersion(this.state.selectedProductType.id);\n }\n );\n }}\n >\n {this.state.productTypeList &&\n this.state.productTypeList.map((p) => {\n return {p.name};\n })}\n \n Product Version\n {\n var text = e.target.value;\n var selectedVersionTmp = this.state.versionList.find(\n (x) =>\n text ===\n x.majorVersion +\n \".\" +\n x.minorVersion +\n \".\" +\n x.patchVersion\n );\n this.setState(\n (prev) => {\n prev.selectedVersion = selectedVersionTmp;\n return prev;\n },\n () => {\n this.setProductOptionDatas(\n this.state.selectedVersion.productLicenseOptions\n );\n }\n );\n }}\n >\n {this.state.versionList &&\n this.state.versionList.map((p) => {\n return (\n \n {p.majorVersion +\n \".\" +\n p.minorVersion +\n \".\" +\n p.patchVersion}\n \n );\n })}\n \n Product option data\n {\n var text = e.target.value;\n this.onSelectOption(text);\n }}\n >\n {this.state.productOptionDatas &&\n this.state.productOptionDatas?.length > 0 &&\n this.state.productOptionDatas.map((p) => {\n return {p.description};\n })}\n \n {this.showValueComponent()}\n \n \n \n \n \n \n \n );\n }\n }\n}\n\nexport default HaivisionSetProductDefaultValueByProductType;\n","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n OverlayTrigger,\n List,\n ListHeader,\n TableRow,\n SelectOption,\n Icon,\n FormLabel,\n FormControl,\n Button,\n ProgressBar,\n Header,\n Pagination\n} from \"@hai/ui-react\";\nimport { Row, Col, ModalBody } from \"reactstrap\";\nimport HaivisionProductAdd from \"./haivision-product-add\";\nimport HaivisionLicenseDelete from \"./Haivision-product-delete\";\nimport HaivisionSetProductDefaultValueByProductType from \"./haivision-set-product-default-value-by-productType-and-version\";\nimport { useParams } from \"react-router-dom\";\nimport cogoToast from \"cogo-toast\";\n\nfunction withParams(Component) {\n return props => ;\n}\n\n\nclass HaivisionProduct extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n products: null,\n filteredProducts: [],\n productTypes: null,\n showProductAdd: false,\n showDelete: false,\n showSetProductDefaultValyeByProductType: false,\n deleteProduct: null,\n filterParams: [],\n pageData: {\n currentPage: this.params?.pageNum ? parseInt(this.params?.pageNum) : 1,\n pageSize: 12\n }\n };\n this.GetProducts = this.GetProducts.bind(this);\n this.handleAddProduct = this.handleAddProduct.bind(this);\n this.handleDisable = this.handleDisable.bind(this);\n this.handleSetProductDefaultValueByType =\n this.handleSetProductDefaultValueByType.bind(this);\n }\n\n componentDidMount() {\n this.GetProducts(1, 12);\n }\n\n GetProducts(page = 1, pageSize = 12) {\n const requestProducts = this.getPaginatedProducts(page, pageSize)\n const requestProductTypes = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductTypes\"\n );\n axios.all([requestProducts, requestProductTypes]).then(\n axios.spread((...responses) => {\n this.setState((prev) => {\n prev.filteredProducts = responses[0].data;\n prev.productTypes = responses[1].data;\n prev.productTypes.unshift({ id: \"All\", name: \"All\" });\n prev.loading = false;\n\n return prev;\n });\n })\n );\n }\n\n getPaginatedProducts(page, pageSize) {\n this.setState({ loading: true })\n return axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL + `/Products/all?PageNumber=${page}&PageSize=${pageSize}&ColumnFilters=${JSON.stringify(this.state.filterParams)}`\n );\n }\n\n handleDisable(product) {\n this.setState((prev) => {\n prev.showDelete = !prev.showDelete;\n prev.deleteProduct = prev.deleteProduct == null ? product : null;\n return prev;\n });\n }\n\n handleDetails(id) {\n window.location = window.location + \"/\" + id;\n }\n\n handleAddProduct() {\n this.setState((prev) => {\n prev.showProductAdd = !prev.showProductAdd;\n return prev;\n });\n }\n\n handleSetProductDefaultValueByType() {\n this.setState((prev) => {\n prev.showSetProductDefaultValyeByProductType =\n !prev.showSetProductDefaultValyeByProductType;\n return prev;\n });\n }\n\n render() {\n return (\n
    \n
    \n
    \n
    \n
    \n \n \n Filter by Sku\n {\n let tempSet = this.state.filterParams.filter(f => f.id !== \"sku\");\n if (e.target.value !== \"\") {\n tempSet.push({\n id: 'sku',\n Value: e.target.value,\n Comparator: 'Contains'\n });\n this.setState({ filterParams: tempSet });\n } else {\n this.setState({ filterParams: tempSet });\n }\n }\n }\n />\n \n \n Filter by Product Type\n {\n let tempSet = this.state.filterParams.filter(f => f.id !== \"productType.name\");;\n if (e.target.value !== \"All\") {\n tempSet.push({\n id: 'productType.name',\n Value: e.target.value,\n Comparator: 'Equal'\n });\n this.setState({ filterParams: tempSet });\n } else {\n this.setState({ filterParams: tempSet });\n }\n }\n }\n >\n {this.state.productTypes &&\n this.state.productTypes.map((t) => {\n return {t.name};\n })}\n \n \n\n \n \n \n \n
    \n \n \n \n \n \n this.handleSetProductDefaultValueByType()}\n style={{ width: \"100%\" }}\n >\n Set Product Default Value By Product Type\n \n \n \n
    \n \n \n
    \n
    SKU
    \n
    Product Type
    \n
    Description
    \n
    Actions
    \n \n {this.state.loading &&
    \n
    \n }\n\n {this.state.filteredProducts.data &&\n this.state.filteredProducts?.data?.map((p) => {\n return (\n
    \n \n
    \n
    {p.sku}
    \n
    {p.productType?.name}
    \n {\n \n
    \n {p.description.length > 200\n ? p.description.substring(0, 200) + \"...\"\n : p.description}\n
    \n \n }\n
    \n this.handleDetails(p.id)}\n >\n \n \n this.handleDisable(p)}\n style={{ cursor: \"pointer\", paddingRight: \"10px\" }}\n >\n \n \n
    \n \n
    \n );\n })}\n
    \n\n {\n if (this.state.filteredProducts.hasNextPage || newPage <= this.state.filteredProducts?.totalPages) {\n this.setState({ ...this.state, pageData: { currentPage: newPage, pageSize: this.state.pageData.pageSize }, loading: true });\n this.getPaginatedProducts(newPage, this.state.pageData.pageSize).then(a => {\n this.setState({\n filteredProducts: a.data,\n loading: false\n })\n });\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n />\n\n {this.state.productTypes && (<>\n \n \n\n \n )}\n
    \n
    \n )\n\n }\n}\nexport default withParams(HaivisionProduct);\n","import {\n Animation,\n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n Button,\n SelectOption,\n Spinner,\n ModalTitle,\n ProgressBar } from \"@hai/ui-react\";\nimport axios from \"../../../infra/axios\";\nimport React, { Component, Fragment } from \"react\";\n\nclass HaivisionLicenseAdd extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n products: null,\n show: this.props.show,\n productTypeList: null,\n productList: null,\n versionList: null,\n licenseOptions: [],\n isMx: true,\n isVm: false,\n isAzure: false,\n isCommand360:false,\n newLicense: {\n sku: \"\",\n serialNumber: \"\",\n productVersionNumber: \"\",\n macAddresses: [\n {\n value: \"\",\n },\n ],\n licenseOptionDatas: [],\n },\n existLicense:null,\n showCommand360ConfirmModel:false,\n };\n }\n componentDidMount() {\n this.getProducts();\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.show = nextProps.show;\n return prev;\n });\n }\n\n getProducts = () => {\n const requestProducts = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products\"\n );\n const requestProductTypes = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductTypes\"\n );\n axios.all([requestProducts, requestProductTypes]).then(\n axios.spread((...responses) => {\n this.setState((prev) => {\n responses[0].data.unshift({name: '--Select--', value:'--Select--', id: '--Select--', productType:{ name: undefined}});\n prev.products = responses[0].data;\n responses[1].data.unshift({name: '--Select--', value:'--Select--', id: '--Select--'});\n prev.productTypeList = responses[1].data;\n if (prev.productTypeList.length > 0) {\n prev.productList = this.setProductList(\n prev.productTypeList[0].name\n );\n }\n if (prev.productList?.length > 0) {\n prev.selectedSku = prev.productList[0];\n }\n if (prev.versionList?.length > 0) {\n prev.selectedVersion = prev.versionList[0];\n }\n\n prev.loading = false;\n return prev;\n });\n })\n );\n };\n\n setProductTypeList() {\n this.setState((prev) => {\n prev.productTypeList = Array.from(\n new Set(\n prev.products.map((p) => {\n return p.productType.name;\n })\n )\n );\n \n // if (prev.productTypeList) {\n // prev.productTypeList.unshift(\"--Select--\");\n // }\n\n if (prev.productTypeList?.length > 0) {\n prev.selectedProductType = prev.productTypeList[0].name;\n }\n if (prev.productList?.length > 0) {\n prev.selectedSku = prev.productList[0];\n }\n if (prev.versionList?.length > 0) {\n prev.selectedVersion = prev.versionList[0];\n }\n\n return prev;\n });\n }\n\n setProductList = (productType) => {\n this.setState((prev) => {\n prev.productList = Array.from(\n new Set(\n prev.products\n .filter((x) => x.productType.name === productType)\n .map((p) => {\n return p.sku;\n })\n )\n );\n \n \n prev.productList.unshift(\"--Select--\");\n\n prev.selectedProductType = productType;\n prev.isMx = (productType.includes(\"MX\") || productType.includes(\"MFXE\")) ? true : false;\n prev.isCommand360 = (productType.includes(\"Command360\")) ? true : false;\n if (prev.productList?.length > 0) {\n prev.selectedSku = prev.productList[0];\n }\n if (prev.versionList?.length > 0) {\n prev.selectedVersion = prev.versionList[0];\n }\n return prev;\n });\n }\n\n setProductVersionList(productSku) {\n this.setState((prev) => {\n prev.versionList = Array.from(\n new Set(\n prev.products\n .filter((x) => x.sku === productSku)\n .map((p) => {\n return p.productType.productVersions\n .sort((version1, version2) => {\n if (version1.majorVersion === version2.majorVersion) {\n if (version1.minorVersion === version2.minorVersion) {\n if (version1.patchVersion === version2.patchVersion) {\n // two same version, impossible\n } else if (\n version1.patchVersion > version2.patchVersion\n ) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.minorVersion > version2.minorVersion) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.majorVersion > version2.majorVersion) {\n return -1;\n } else {\n return 1;\n }\n })\n .filter((x)=> x.active === true)\n .map((v) => {\n return (\n v.majorVersion + \".\" + v.minorVersion + \".\" + v.patchVersion\n );\n })\n })\n )\n )[0];\n\n if (prev.versionList) {\n prev.versionList.unshift(\"--Select--\");\n }\n\n prev.selectedSku = productSku;\n if (prev.versionList?.length > 0) {\n prev.selectedVersion = prev.versionList[0];\n }\n\n return prev;\n });\n }\n\n setSelectToFirst() {\n if (this.state.productTypeList.length > 0) {\n this.setState((prev) => {\n prev.selectedProductType = prev.productTypeList[0].name;\n });\n }\n\n if (this.state.versionList.length > 0) {\n this.setState((prev) => {\n prev.selectedSku = prev.productList[0];\n });\n }\n\n if (this.state.productTypeList.length > 0) {\n this.setState((prev) => {\n prev.selectedVersion = prev.versionList[0];\n });\n }\n /*this.setState((prev) => {\n if (prev.productTypeList.length > 0) {\n prev.selectedProductType = prev.productTypeList[0].name;\n }\n if (prev.versionList.length > 0) {\n prev.selectedSku = prev.productList[0];\n }\n if (prev.productTypeList.length > 0) {\n prev.selectedVersion = prev.versionList[0];\n }\n });*/\n }\n\n setLicenseOptions(productSku, versionNumber) {\n this.setState((prev) => {\n var product = prev.products.filter((x) => x.sku === productSku)[0];\n var version = product.productType.productVersions.filter(\n (x) =>\n x.majorVersion + \".\" + x.minorVersion + \".\" + x.patchVersion ===\n versionNumber\n )[0];\n prev.licenseOptions = [];\n\n product.productDefaultOptions.forEach((opdef) => {\n var option = version?.productLicenseOptions?.find(\n (op) => op.id === opdef.productLicenseOptionId\n );\n if (option !== null && option !== undefined) {\n prev.licenseOptions.push({\n productLicenseOption: option,\n selectedValue: opdef.defaultValue\n });\n this.setVmAndAzure(option.licenseSectionItem, opdef.defaultValue);\n }\n });\n prev.selectedVersion = versionNumber;\n return prev;\n });\n }\n\n getDefaultValueFromAvailables(availableValues) {\n var defaultValue = \"\";\n if (availableValues && !availableValues.startsWith(\"^\")) {\n var availables = availableValues.split(\";\")[0];\n defaultValue = availables.length > 0 ? availables.split(\"!\")[0] : \"\";\n }\n\n return defaultValue;\n }\n\n setLicenseOptionDatas = (request) => {\n if (\n this.state.licenseOptions == null ||\n this.state.licenseOptions === undefined\n ) {\n return;\n }\n\n var licensesOptionDatatmp = [];\n\n this.state.licenseOptions.forEach((opt) => {\n if (\n !licensesOptionDatatmp.includes(\n opt.productLicenseOption.licenseSectionItem\n )\n ) {\n licensesOptionDatatmp.push({\n Item: opt.productLicenseOption.licenseSectionItem,\n Value: opt.selectedValue,\n });\n }\n });\n\n this.setState((prev) => {\n prev.newLicense.licenseOptionDatas = licensesOptionDatatmp;\n }, request);\n };\n\n handleSubmitModal() {\n var bMissingExpdate = false;\n var options = this.state.licenseOptions;\n for (var opt of options) {\n if (\n opt.productLicenseOption.licenseSectionItem === \"expdate\" &&\n (opt.selectedValue.trim() === \"\" ||\n opt.selectedValue.trim() === \"0000-00-00\")\n ) {\n bMissingExpdate = true;\n }\n }\n if (bMissingExpdate) {\n alert(\"Please enter expdate\");\n return;\n }\n\n if(this.state.isCommand360) {\n //check sn is exist or not\n this.getCommand360License();\n }\n else{ \n this.setLicenseOptionDatas(this.handleNewLicense); \n }\n \n }\n\n\n getCommand360License(){\n\n\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/serialNumber/\" +\n this.state.newLicense.serialNumber\n )\n .then((response) => {\n var license = null;\n if(response.data.length <= 0)\n {\n license = null;\n this.setState((prev) => {\n prev.existLicense = null;\n return prev;\n }, ()=> {this.setLicenseOptionDatas(this.handleNewLicense)});\n }\n else{\n license = response.data[0];\n this.setState((prev) => {\n prev.existLicense = license;\n return prev;\n }, () => {this.handleShowsCommand360ConfirmModel()});\n }\n \n });\n }\n\n handleConfirmDelete() {\n axios\n .delete(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n this.state.existLicense.id\n )\n .then((reponse) => {\n this.setState((prev) => {\n prev.existLicense = null;\n return prev;\n }, () => {this.setLicenseOptionDatas(this.handleNewLicense)});\n });\n }\n\n getExistLicenseInfo(){\n if(this.state.existLicense === null || this.state.existLicense === undefined){\n return '';\n }\n\n var message = `License with serial number ${this.state.newLicense.serialNumber} is existing,\n ${this.state.existLicense.licenseOptionDatas.map((option) => {return `${option.item}:[${option.value}]`}).join(' ')}\n Do you want to replace it?`\n\n return message;\n }\n\n handleConfirmUpdate(){\n this.handleConfirmDelete();\n }\n\n handleShowsCommand360ConfirmModel(){\n this.setState((prev) => {\n prev.showCommand360ConfirmModel = !prev.showCommand360ConfirmModel;\n return prev;\n });\n }\n\n showUpdateCommand360LicenseModel(){\n return (\n
    \n this.handleShowsCommand360ConfirmModel()}\n size=\"lg\"\n >\n \n Warning\n \n \n {this.getExistLicenseInfo()}\n \n \n this.handleConfirmUpdate()}\n >\n Confirm\n \n \n \n \n
    \n ); \n }\n\n handleNewLicense() {\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Licenses\",\n this.state.newLicense\n )\n .then((reponse) => {\n this.handleHideModal();\n this.props.refresh();\n });\n }\n\n setVmAndAzure(item, value) {\n if (\n item === null ||\n item === undefined ||\n value === null ||\n value === undefined\n ) {\n return;\n }\n if (item.toLowerCase() === \"vmware\") {\n this.setState((prev) => {\n prev.isVm = value.toLowerCase() === \"on\" ? true : false;\n return prev;\n });\n }\n if (item.toLowerCase() === \"licensetype\") {\n this.setState((prev) => {\n prev.isAzure = value.toLowerCase() === \"azure byol\" ? true : false;\n return prev;\n });\n }\n }\n\n handleLicenseOptionValue(id, e) {\n var tmp = this.state.licenseOptions;\n var loIndex = tmp.findIndex((x) => x.productLicenseOption.id === id);\n if (loIndex == null || loIndex == -1 || e.target == null) {\n return;\n }\n tmp[loIndex].selectedValue = e.target.value.trim();\n this.setState((pre) => {\n pre.licenseOptions.productLicenseOption = tmp;\n return pre;\n });\n\n this.setVmAndAzure(tmp.licenseSectionItem, e.target.value.trim());\n }\n\n\n handleHideModal() {\n this.setState(\n {\n loading: false,\n products: null,\n show: false,\n productTypeList: null,\n productList: null,\n versionList: null,\n licenseOptions: [],\n selectedProductType: \"\",\n selectedSku: \"\",\n selectedVersion: \"\",\n isMx: true,\n isVm: false,\n isAzure: false,\n isCommand360:false,\n newLicense: {\n sku: \"\",\n serialNumber: \"\",\n productVersionNumber: \"\",\n resourceId: \"\",\n instanceUuid: \"\",\n cpuId: \"\",\n licenseRequestNumber: \"\",\n macAddresses: [\n {\n value: \"\",\n },\n ],\n productType: \"\",\n licenseOptionDatas: [],\n existLicense:null,\n showCommand360ConfirmModel:false,\n },\n },\n () => {\n this.props.onHide();\n }\n );\n }\n\n showCommand360LicenseItem = () => {\n return (\n
    \n \n Serial Number\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newLicense.serialNumber = text;\n return prev;\n });\n }}\n >\n \n \n Mac Address\n {\n var text = e.target.value.trim();\n\n this.setState((prev) => {\n prev.newLicense.macAddresses[0].value = text;\n return prev;\n });\n }}\n >\n \n
    \n );\n }\n\n showServerLicenseItem() {\n return (\n
    \n {!this.state.isVm && (\n \n Serial Number\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newLicense.serialNumber = text;\n return prev;\n });\n }}\n >\n \n )}\n {this.state.isAzure && (\n
    \n \n License Request Number\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newLicense.licenseRequestNumber = text;\n return prev;\n });\n }}\n >\n \n\n \n Resource ID\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newLicense.resourceId = text;\n return prev;\n });\n }}\n >\n \n
    \n )}\n {this.state.isVm && (\n
    \n \n Instance UUID\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newLicense.instanceUuid = text;\n return prev;\n });\n }}\n >\n \n \n CPU ID\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newLicense.cpuId = text;\n return prev;\n });\n }}\n >\n \n
    \n )}\n \n Mac Address\n {\n var text = e.target.value.trim();\n\n this.setState((prev) => {\n prev.newLicense.macAddresses[0].value = text;\n return prev;\n });\n }}\n >\n \n
    \n );\n }\n\n render() {\n \n return (\n
    \n \n \n New Haivision License\n \n \n {this.state.show && this.state.loading &&\n \n } \n {this.state.show && !this.state.loading && \n \n Product Type\n { \n var text = e.target.value; \n this.setProductList(text);\n }}\n >\n {this.state.productTypeList &&\n this.state.productTypeList.map((x) => {\n return {x.name};\n })}\n \n \n\n \n SKU\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newLicense.sku = text.trim();\n return prev;\n });\n this.setProductVersionList(text);\n }}\n >\n {this.state.productList &&\n this.state.productList.map((p) => {\n return {p};\n })}\n \n \n\n \n Version\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newLicense.productVersionNumber = text;\n return prev;\n });\n this.setLicenseOptions(this.state.newLicense.sku, text);\n }}\n >\n {this.state.versionList &&\n this.state.versionList.map((p) => {\n return {p};\n })}\n \n \n {!this.state.isMx && !this.state.isCommand360 && this.showServerLicenseItem()}\n {this.state.isCommand360 && this.showCommand360LicenseItem()}\n {this.state.isMx && (\n
    \n \n Serial Number (12 digit)\n {\n var text = e.target.value.trim();\n if (!text.startsWith(\"HAI-\")) {\n text = \"HAI-\" + text;\n }\n this.setState((prev) => {\n prev.newLicense.serialNumber = text;\n return prev;\n });\n }}\n >\n \n \n \n Mac Address (Seperate by comma for multiple Mac)\n \n {\n var text = e.target.value.trim();\n var macs = [\n new Set(\n text.split(\",\").map((m) => {\n return m;\n })\n ),\n ];\n\n this.setState((prev) => {\n prev.newLicense.macAddresses = [...macs[0]].map(\n (m) => {\n return { value: m };\n }\n );\n return prev;\n });\n }}\n >\n \n
    \n )}\n\n
    \n {\n this.state.isCommand360 && \n this.state.licenseOptions &&\n this.state.licenseOptions.map((opt) => {\n return (\n
    \n \n \n {opt.productLicenseOption.description}\n \n {opt.productLicenseOption.licenseSectionItem ===\n \"accesskey\" && (\n
    \n {\n this.handleLicenseOptionValue(\n opt.productLicenseOption.id,\n e\n );\n }}\n >\n
    \n )}\n {opt.productLicenseOption.licenseSectionItem !==\n \"accesskey\" && \n
    \n {\n this.handleLicenseOptionValue(\n opt.productLicenseOption.id,\n e\n );\n }}\n >\n {opt.productLicenseOption.availableValues\n .split(\";\")\n .map((o) => {\n var itemValue = o.split(\"!\")[0];\n return {itemValue};\n })\n }\n \n
    \n }\n
    \n
    \n );\n })}\n {\n !this.state.isCommand360 && \n this.state.licenseOptions &&\n this.state.licenseOptions.map((opt) => {\n return (\n
    \n \n \n {opt.productLicenseOption.description}\n \n {(opt.productLicenseOption.licenseSectionItem ===\n \"expdate\" ||\n opt.productLicenseOption.licenseSectionItem ===\n \"expiration_date\") && (\n
    \n {opt.productLicenseOption.licenseSectionItem ===\n \"expdate\" && (\n \n {\n \"Note: Trial permission can only request hardware licenses with expire date of 30 days\"\n }\n \n )}\n {\n this.handleLicenseOptionValue(\n opt.productLicenseOption.id,\n e\n );\n }}\n >\n
    \n )}\n {opt.productLicenseOption.licenseSectionItem !==\n \"expdate\" &&\n opt.productLicenseOption.licenseSectionItem !==\n \"expiration_date\" && (\n \n \n \n )}\n
    \n
    \n );\n })}\n
    }\n
    \n \n this.handleSubmitModal()}\n disabled={this.state.loading}\n >\n Create\n \n this.handleHideModal()}\n >\n Cancel\n \n \n \n {this.state.showCommand360ConfirmModel && this.showUpdateCommand360LicenseModel()}\n
    \n );\n }\n }\n\n\nexport default HaivisionLicenseAdd;\n","import {\n Modal,\n ModalBody,\n ModalHeader,\n Button,\n ModalFooter,\n ModalTitle,\n ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\n\nclass HaivisionLicenseDelete extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n license: this.props.license,\n show: this.props.show,\n };\n }\n\n componentDidMount() {}\n\n componentWillReceiveProps(nextprops) {\n this.setState((prev) => {\n prev.loading = false;\n prev.license = nextprops.license;\n prev.show = nextprops.show;\n return prev;\n });\n }\n\n handleConfirmDelete() {\n axios\n .delete(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n this.state.license.id\n )\n .then((reponse) => {\n this.handleHide();\n this.props.refresh();\n });\n }\n\n handleHide() {\n this.setState({ loading: true, license: this.props.license, show: false });\n window.location = \"license/licenses\";\n this.props.onHide();\n }\n\n render() {\n if (!this.state.license) {\n return <>;\n } else {\n return (\n
    \n this.handleHide()}\n size=\"lg\"\n >\n \n Confirm\n \n \n You are about to delete License for{\" \"}\n {this.state.license.serialNumber}
    \n Are you sure?\n
    \n \n this.handleConfirmDelete()}\n >\n Confirm\n \n \n \n \n
    \n );\n }\n }\n}\n\nexport default HaivisionLicenseDelete;\n","import React, { Component, Fragment } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n FormControl,\n FormLabel,\n Button,\n Pagination,\n List,\n ListHeader,\n TableRow,\n OverlayTrigger,\n Icon,\n SelectOption,\n ProgressBar,\n Header\n} from \"@hai/ui-react\";\nimport { Col, Row } from \"reactstrap\";\nimport HaivisionLicenseAdd from \"./haivision-license-add\";\nimport HaivisionLicenseDelete from \"./haivision-license-delete\";\nimport { useParams } from \"react-router-dom\";\nimport cogoToast from \"cogo-toast\";\n\n\nfunction withParams(Component) {\n return props => ;\n}\n\n\nclass HaivisionLicense extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n licenses: null,\n productTypes: null,\n showAdd: false,\n showDelete: false,\n deleteLicense: null,\n isLoadingLs: [],\n filterType: 'Serial Number',\n filterParam: null,\n filterParams: [],\n pageData: {\n currentPage: this.params?.pageNum ? parseInt(this.params?.pageNum) : 1,\n pageSize: 12\n },\n totalPages: 1\n };\n this.GetLicenses = this.GetLicenses.bind(this);\n this.handleCreateShow = this.handleCreateShow.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n }\n\n componentDidMount() {\n this.GetLicenses();\n }\n\n async GetLicenses() {\n this.setState((prev) => {\n prev.loading = true;\n return prev;\n });\n\n const requestProducts = this.getLicensesPaginated(1, 12);\n const requestProductTypes = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductTypes\"\n );\n axios.all([requestProducts, requestProductTypes]).then(\n axios.spread((...responses) => {\n this.setState((prev) => {\n prev.licenses = responses[0].data?.data;\n prev.totalPages = responses[0].data?.totalPages;\n prev.productTypes = responses[1].data;\n prev.productTypes.unshift({ id: \"All\", name: \"All\" });\n prev.loading = false;\n return prev;\n });\n })\n );\n }\n\n getLicensesPaginated = (page, pageSize) => {\n const OrderBy = JSON.stringify([{'Id':'LastModifiedDate', 'Desc':true}]);\n return axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL + `/Licenses/all?pageNumber=${page}&pageSize=${pageSize}&columnFilters=${JSON.stringify(this.state.filterParams)}&OrderBy=${OrderBy}`\n );\n }\n\n searchBySn = () => {\n this.setState({\n loading: true\n })\n const requestVersion = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/SerialNumber/\" +\n this.state.filterParam\n ).then(response=>{\n let totalPageTmp = Math.ceil(response.data?.length / this.state.pageData.pageSize);\n if(totalPageTmp <= 0){\n totalPageTmp = 1;\n }\n this.setState({\n licenses: response.data,\n totalPages : totalPageTmp,\n loading: false,\n pageData: { currentPage: 1, pageSize: this.state.pageData.pageSize }\n })\n })\n }\n\n searchByMacAddress = () => {\n this.setState({\n loading: true\n })\n const requestVersion = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/macAddress/\" +\n this.state.filterParam\n ).then(response=>{\n let totalPageTmp = Math.ceil(response.data?.length / this.state.pageData.pageSize);\n if(totalPageTmp <= 0){\n totalPageTmp = 1;\n }\n this.setState({\n licenses: response.data,\n totalPages : totalPageTmp,\n loading: false,\n pageData: { currentPage: 1, pageSize: this.state.pageData.pageSize }\n })\n }) \n }\n\n searchByFilter = () => {\n\n if(this.state.filterParam === \"\" || this.state.filterParam == undefined){\n this.GetLicenses();\n return;\n }\n\n if(this.state.filterType === \"Serial Number\"){\n this.searchBySn();\n }\n else{\n this.searchByMacAddress();\n }\n }\n\n setIsloadingLs(key, value) {\n this.setState((prev) => {\n prev.isLoadingLs[key] = value;\n return prev;\n });\n }\n\n handleCreateShow() {\n this.setState((prev) => {\n prev.showAdd = !prev.showAdd;\n return prev;\n });\n }\n\n handleDownload(lic) {\n this.setIsloadingLs(lic.id, true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseText/Licenses/\" +\n lic.id\n )\n .then((response) => {\n const yourDate = new Date();\n var datastr = yourDate.toISOString().split(\"T\")[0];\n var fileName = lic.serialNumber + \"_\" + datastr + \".lic\";\n\n const type = response.headers[\"content-type\"];\n const blob = new Blob([response.data], {\n type: type,\n encoding: \"UTF-8\",\n });\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n this.setIsloadingLs(lic.id, false);\n });\n }\n\n handleMergeDownload(lic){\n this.setIsloadingLs(lic.id, true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseText/SerialNumber/\" +\n lic.serialNumber + '/merge'\n )\n .then((response) => {\n const yourDate = new Date();\n var datastr = yourDate.toISOString().split(\"T\")[0];\n var fileName = lic.serialNumber + \"_\" + datastr + \"_merge.lic\";\n\n const type = response.headers[\"content-type\"];\n const blob = new Blob([response.data], {\n type: type,\n encoding: \"UTF-8\",\n });\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n this.setIsloadingLs(lic.id, false);\n });\n }\n\n handleDetail(lic) {\n window.location = window.location + \"/\" + lic.id;\n }\n\n handleDelete(lic) {\n this.setState((prev) => {\n prev.showDelete = !prev.showDelete;\n prev.deleteLicense = prev.deleteLicense == null ? lic : null;\n return prev;\n });\n }\n\n render() {\n var SearchValueArray = ['Serial Number', 'Mac Addresse'];\n return (\n \n
    \n
    \n
    \n {this.state.loading && }\n {!this.state.loading &&
    \n \n \n Filter by\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.filterType = text;\n return prev;\n });\n }}\n >\n {SearchValueArray.map((p) => {\n return {p};\n })}\n \n \n \n {\n var text = e.target.value?.trim();\n this.setState({ filterParam: text });\n }\n }\n />\n \n {/* \n Filter by Product Type\n {\n let tempSet = this.state.filterParams.filter(f => f.id !== \"product.productType.name\");;\n if (e.target.value !== \"All\") {\n tempSet.push({\n id: 'product.productType.name',\n Value: e.target.value,\n Comparator: 'Equal'\n });\n this.setState({ filterParams: tempSet });\n } else {\n this.setState({ filterParams: tempSet });\n }\n }\n }\n >\n {this.state.productTypes &&\n this.state.productTypes.map((t) => {\n return {t.name};\n })}\n \n \n */}\n \n \n \n \n \n \n \n\n
    \n \n \n \n
    SKU
    \n
    Serial Number
    \n
    Mac Address
    \n
    Instance UUID
    \n
    CPU ID
    \n
    Resource ID
    \n
    License Request Number
    \n
    Actions
    \n \n {this.state.licenses &&\n this.state.licenses.map((lic) => {\n return (\n
    \n \n
    {lic.sku}
    \n
    {lic.serialNumber}
    \n
    \n {lic.macAddresses?.map((m) => {\n return

    {m.value}

    ;\n })}\n
    \n
    {lic.instanceUuid}
    \n
    {lic.cpuId}
    \n
    {lic.resourceId}
    \n
    {lic.licenseRequestNumber}
    \n
    \n {this.state.isLoadingLs[lic.id] && (\n
    \n \n
    \n )}\n {!this.state.isLoadingLs[lic.id] && (\n
    \n this.handleMergeDownload(lic)}\n >\n \n \n\n this.handleDownload(lic)}\n >\n \n \n this.handleDetail(lic)}\n >\n \n \n this.handleDelete(lic)}\n style={{\n cursor: \"pointer\",\n paddingRight: \"15px\",\n }}\n >\n \n \n
    \n )}\n
    \n \n
    \n );\n })}\n
    \n {this.state.showAdd &&\n \n }\n {\n this.state.showDelete &&\n \n }\n\n \n {\n if (newPage <= this.state.totalPages) {\n this.setState({ ...this.state, pageData: { currentPage: newPage, pageSize: this.state.pageData.pageSize }, loading: true });\n this.getLicensesPaginated(newPage, this.state.pageData.pageSize).then(a => {\n this.setState({\n totalPages: a.data?.totalPages,\n licenses: a.data?.data,\n loading: false\n })\n });\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n }}\n />\n \n
    }\n\n );\n }\n}\n\nexport default withParams(HaivisionLicense);\n","import React, { Component, Fragment, useEffect, useState } from \"react\";\nimport axios from \"../../../infra/axios\";\n\nimport {\n\n FormGroup,\n FormControl,\n FormLabel,\n Button,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n SelectOption,\n ModalTitle,\n ProgressBar, \n Header} from \"@hai/ui-react\";\n\nexport default function HaivisionCommand360License () {\n\n let newlicense = {\n sku: '',\n serialNumber: '',\n productVersionNumber: '',\n macAddresses: [],\n licenseOptionDatas: [],\n };\n\n const [loading, setLoading] = useState(true);\n\n\n const [product, setProduct] = useState(null);\n const [existLicense, setExistLicense] = useState(null);\n const [showCommand360ConfirmModel, setShowCommand360ConfirmModel] = useState(false);\n const [licenseText, setLicenseText] = useState(\"\");\n const [macAddressString, setMacAddressString] = useState(\"\");\n const [serialNumber, SetSerialNumber] = useState('');\n const [macAddresses, SetMacAddresses] = useState([]);\n const [replaceMsg, SetReplaceMsg] = useState('');\n\n useEffect(() => {\n getCommand360ProductType();\n\n }, []);\n\n\nconst getCommand360ProductType = () => {\n\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductType/Command360\"\n )\n .then((response) => {\n if(response.data){\n const product = response.data.filter(x=>x.sku === \"C360-Standard-NoDevice\" || x.sku === \"Command360\")[0];\n setProduct(product);\n newlicense.sku = product.sku;\n newlicense.productVersionNumber = product.productType.productVersions[0].majorVersion + \".\" + product.productType.productVersions[0].minorVersion;\n }\n setLoading(false);\n }); \n };\n\n const setNewLicense = () =>{\n var optionTmp = [];\n product.productType.productVersions[0].productLicenseOptions.forEach((opt) =>{\n optionTmp.push({item : opt.licenseSectionItem, value: opt.selectedValue});\n });\n \n newlicense.sku = product.sku;\n newlicense.licenseOptionDatas = optionTmp;\n newlicense.macAddresses = macAddresses;\n newlicense.serialNumber = serialNumber;\n newlicense.productVersionNumber = product.productType.productVersions[0].majorVersion + \".\" + product.productType.productVersions[0].minorVersion;\n }\n\n async function handleSubmitModal(){\n var warningMessage = 'Please input the value of ';\n var warningOption = '';\n if(serialNumber === ''){\n warningOption += 'Serial Number,'\n }\n product.productType.productVersions[0].productLicenseOptions.forEach((opt) => {\n if(opt.selectedValue === undefined || opt.selectedValue === null || opt.selectedValue === \"\"){\n warningOption += `${opt.description} ,`;\n }\n });\n\n if(warningOption !== '')\n {\n warningMessage += warningOption.replace(/,+$/, '') + '!';\n alert(warningMessage);\n return;\n }\n\n setExistLicense(null);\n\n setNewLicense();\n\n var result = await getCommand360License();\n var license = null;\n if(result=== undefined || result === null || result.length <= 0)\n {\n setExistLicense(null);\n handleNewLicense();\n }\n else{\n license = result[0];\n setExistLicense(license);\n SetReplaceMsg('');\n getExistLicenseInfo(license);\n setShowCommand360ConfirmModel(true);\n } \n }\n\n const getCommand360License = async() => {\n var response = await axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/serialNumber/\" +\n newlicense.serialNumber\n );\n\n return response.data;\n }\n\n const handleConfirmDelete = () => {\n setShowCommand360ConfirmModel(false);\n axios\n .delete(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n existLicense.id\n )\n .then((reponse) => {\n handleNewLicense();\n });\n }\n\n const getExistLicenseInfo = (license) => {\n if(license === null || license === undefined){\n return '';\n }\n \n var message = `License with serial number ${license.serialNumber} is existing,\n ${license.licenseOptionDatas.map((option) => {return `${option.item}:[${option.value}]`}).join(' ')}\n Do you want to replace it?`\n \n SetReplaceMsg(message);\n }\n\n const handleNewLicense = () => {\n setLoading(true);\n setLicenseText('');\n setNewLicense();\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Licenses\",\n newlicense\n )\n .then((reponse) => {\n handleDownloadLicense(reponse.data?.id);\n })\n .catch((ex) => {\n setLoading(false);\n });\n }\n\n const handleDownloadLicense = (id) => {\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseText/Licenses/\" +\n id\n )\n .then((response) => {\n setLicenseText(response.data);\n copyContent(response.data);\n setLoading(false);\n });\n }\n\n const copyContent = async(data) => {\n try {\n navigator.permissions.query({ name: \"clipboard-write\" }).then((result) => {\n if (result.state === \"granted\" || result.state === \"prompt\") {\n console.log(\"Write access granted!\");\n }\n });\n\n await navigator.clipboard.writeText(data);\n } catch (err) {\n alert('Failed to copy: ', err);\n }\n }\n\n const showUpdateCommand360LicenseModel = () => {\n return (\n
    \n setShowCommand360ConfirmModel(false)}\n size=\"lg\"\n >\n \n Warning\n \n \n {replaceMsg}\n \n \n handleConfirmDelete()}\n >\n Confirm\n \n \n \n \n
    \n ); \n }\n\n\n return (\n \n
    \n
    \n
    \n { loading && }\n {!loading && \n
    \n \n Serial Number\n {\n var text = e.target.value.trim();\n SetSerialNumber(text);\n }}\n >\n \n \n Mac Address\n {\n var text = e.target.value.trim();\n var obj = [];\n text.split(',').forEach((item)=>{\n obj.push({value : item});\n });\n //setNewLicense({...newlicense, macAddresses: obj});\n SetMacAddresses(obj);\n setMacAddressString(text);\n }}\n >\n \n {\n product.productType.productVersions[0].productLicenseOptions &&\n product.productType.productVersions[0].productLicenseOptions.map((opt) => {\n return (\n
    \n \n \n {opt.description}\n \n {opt.licenseSectionItem ===\n \"accesskey\" && (\n
    \n {\n var loIndex = product.productType.productVersions[0].productLicenseOptions.findIndex((x) => x.id === opt.id);\n if (loIndex == null || loIndex === -1 || e.target == null) {\n return;\n }\n product.productType.productVersions[0].productLicenseOptions[loIndex].selectedValue = e.target.value.trim();\n }}\n >\n
    \n )}\n {opt.licenseSectionItem !==\n \"accesskey\" && \n
    \n {\n var loIndex = product.productType.productVersions[0].productLicenseOptions.findIndex((x) => x.id === opt.id);\n if (loIndex == null || loIndex === -1 || e.target == null) {\n return;\n }\n product.productType.productVersions[0].productLicenseOptions[loIndex].selectedValue = e.target.value.trim();\n }}\n >\n {opt.availableValues\n .split(\";\")\n .map((o) => {\n var itemValue = o.split(\"!\")[0];\n return {itemValue};\n })\n }\n \n
    \n }\n
    \n \n
    \n );\n })\n } \n \n License Text (Copy to clipboard automatically)\n \n \n\n \n handleSubmitModal()}\n disabled={loading}\n >\n Create\n \n \n
    \n }\n {showCommand360ConfirmModel && showUpdateCommand360LicenseModel()}\n );\n \n}\n\n\n","\n export const sortByVersionDesc = (arrayToSort) => {\n arrayToSort.sort((version1, version2) => {\n if (version1.majorVersion === version2.majorVersion) {\n if (version1.minorVersion === version2.minorVersion) {\n if (version1.patchVersion === version2.patchVersion) {\n // two same version, impossible\n } else if (version1.patchVersion > version2.patchVersion) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.minorVersion > version2.minorVersion) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.majorVersion > version2.majorVersion) {\n return -1;\n } else {\n return 1;\n }\n });\n }","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n OverlayTrigger,\n List,\n ListHeader,\n TableRow,\n Animation,\n Icon,\n FormLabel,\n FormControl,\n Button,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalFooter,\n FormGroup,\n SelectOption,\n ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col, ModalBody } from \"reactstrap\";\n\nclass MakitoDefaultProductLicenseOptionUpdate extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showProductLicenseOptionUpdate: false,\n newProduceLicenseOption: this.props.productLicenseOption,\n newDefaultLicenseOption: {\n item: this.props.productLicenseOption?.licenseSectionItem,\n defaultValue: this.props.selectedDefaultLicenseOption?.defaultValue,\n productId: this.props.productId,\n productLicenseOptionId: this.props.productLicenseOption?.id,\n },\n formError: \"\",\n };\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.showProductLicenseOptionUpdate = nextProps.show;\n prev.newProduceLicenseOption = nextProps.productLicenseOption;\n prev.newDefaultLicenseOption.item =\n prev.newProduceLicenseOption?.licenseSectionItem;\n prev.newDefaultLicenseOption.productId = nextProps.productId;\n prev.newDefaultLicenseOption.productLicenseOptionId =\n prev.newProduceLicenseOption?.id;\n if (\n nextProps.selectedDefaultLicenseOption &&\n nextProps.selectedDefaultLicenseOption.defaultValue\n ) {\n prev.newDefaultLicenseOption.defaultValue =\n nextProps.selectedDefaultLicenseOption.defaultValue;\n } else {\n if (\n nextProps.productLicenseOption?.availableValues &&\n !nextProps.productLicenseOption?.availableValues.startsWith(\"^\")\n ) {\n var availables =\n nextProps.productLicenseOption?.availableValues.split(\";\")[0];\n prev.newDefaultLicenseOption.defaultValue =\n availables.length > 0 ? availables.split(\"!\")[0] : \"\";\n }\n }\n\n return prev;\n });\n }\n\n submitProductLicenseOptionUpdate() {\n //check data\n //this.validateForm();\n\n if (this.state.formError !== \"\") {\n return;\n }\n\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/\" +\n this.state.newDefaultLicenseOption.productId +\n \"/ProductDefaultOptions/\" +\n this.state.newDefaultLicenseOption.productLicenseOptionId,\n this.state.newDefaultLicenseOption\n )\n .then((response) => {\n this.props.handleProductLicenseOptionUpdate();\n this.props.getProduct();\n this.setState((prev) => {\n prev.newProduceLicenseOption = {\n licenseSection: \"\",\n licenseSectionItem: \"\",\n description: \"\",\n valueName: \"\",\n defaultValue: \"\",\n availableValues: \"\",\n };\n\n prev.newDefaultLicenseOption = {\n item: \"\",\n defaultValue: \"\",\n productId: \"\",\n productLicenseOptionId: \"\",\n };\n prev.formError = \"\";\n return prev;\n });\n });\n }\n\n async validateForm() {\n if (this.state.newProduceLicenseOption.availableValues.startsWith(\"^\")) {\n const regex = new RegExp(\n this.state.newProduceLicenseOption.availableValues\n );\n if (!regex.test(this.state.formControlValue)) {\n this.setState({ formError: \"invalid value\" });\n alert(\"Default value is invalid\");\n } else {\n this.setState({ formError: \"\" });\n }\n }\n }\n\n getValueSection() {\n const availableValues = this.state.newProduceLicenseOption.availableValues;\n if (availableValues.startsWith(\"^\")) {\n return (\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n //prev.newProduceLicenseOption.defaultValue = text;\n prev.newDefaultLicenseOption.defaultValue = text;\n return prev;\n });\n }}\n invalid={!!this.state.formError}\n >\n );\n } else {\n return (\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newDefaultLicenseOption.defaultValue = text;\n return prev;\n });\n }}\n >\n {availableValues &&\n availableValues.split(\";\").map((o) => {\n var value = o.split(\"!\")[0];\n return {value};\n })}\n \n );\n }\n }\n\n render() {\n return (\n <>\n {this.state.newProduceLicenseOption && (\n \n \n Update Default Licnese Option\n \n \n \n License Section\n \n License Section Item\n \n Description\n \n Display Name\n \n Available Values\n \n Default Value\n {this.getValueSection()}\n \n \n \n this.submitProductLicenseOptionUpdate()}\n >\n Submit\n \n this.props.handleProductLicenseOptionUpdate()}\n >\n Cancel\n \n \n \n )}\n \n );\n }\n}\n\nexport default MakitoDefaultProductLicenseOptionUpdate;\n","import React, { Component, useEffect, useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n Header,\n Icon,\n List,\n ListHeader,\n TableRow,\n Button,\n FormGroup,\n FormControl,\n FormLabel,\n OverlayTrigger,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalBody,\n ModalFooter,\n SelectOption,\n ProgressBar } from \"@hai/ui-react\";\nimport { Fragment } from \"react\";\nimport * as sortHelper from '../sortHelper';\n\nimport MakitoDefaultProductLicenseOptionUpdate from \"./haivision-default-product-license-option-update\";\nimport { useParams } from \"react-router-dom\";\n\nconst HaivisionProductDetail = (props) => {\n let {productIdParam} = useParams();\n const [productId, setProductId] = useState(props.productId || productIdParam);\n const [loading, setLoading] = useState(true);\n const [product, setProduct] = useState(null);\n const [selectedVersion, setSelectedVersion] = useState(null);\n const [showNoVersionWarnning, setshowNoVersionWarnning] = useState(false);\n const [showProductVersionAdd, setShowProductVersionAdd] = useState(false);\n const [showProductLicenseOptionAdd, setShowProductLicenseOptionAdd] = useState(false);\n const [showProductLicenseOptionUpdate, setShowProductLicenseOptionUpdate] = useState(false);\n const [selectedDefaultLicenseOption, setSelectedDefaultLicenseOption] = useState(null);\n const [updateProductLicenseOption, setUpdateProductLicenseOption] = useState(null);\n\n useEffect(() =>{\n getProduct();\n },[]);\n\n const getProduct = () => {\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/\" +\n productId\n )\n .then((response) => {\n response.data.productType.productVersions = response.data.productType.productVersions.filter((x)=> {return x.active});\n setProduct(sortByVersionDesc(response.data)); // check if sort worked.\n setSelectedVersion(response.data.productType.productVersions[0]);\n setshowNoVersionWarnning(response.data.productType.productVersions.length === 0);\n setLoading(false);\n });\n }\n\n const sortByVersionDesc = (product) => {\n if (product?.productType?.productVersions?.length >= 1) {\n sortHelper.sortByVersionDesc(product.productType.productVersions);\n }\n return product;\n };\n\n const handleProductLicenseOptionUpdate = (opt) => {\n setShowProductLicenseOptionUpdate(!showProductLicenseOptionUpdate);\n setUpdateProductLicenseOption(opt);\n setSelectedDefaultLicenseOption(product?.productDefaultOptions.find(\n (x) => x.productLicenseOptionId === opt?.id));\n }\n\n const handleDelete = (id) => {\n let defaultLicenseOption = product?.productDefaultOptions.find(\n (x) => x.productLicenseOptionId == id\n );\n axios\n .delete(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductDefaultOptions/\" +\n defaultLicenseOption.id\n )\n .then((response) => {\n getProduct();\n });\n }\n\n const getDefaultLicenseOptionDate = (opt) => {\n let defaultLicenseOption = product?.productDefaultOptions.find(\n (x) => x.productLicenseOptionId == opt.id\n );\n return defaultLicenseOption == null\n ? \"\"\n : defaultLicenseOption.defaultValue;\n }\n\n if (loading) {\n return ;\n } else {\n return (\n
    \n
    \n
    \n (window.location = \"license/products \")}\n >\n Back\n \n
    \n
    \n
    \n \n Current Version\n {\n var text = e.target.value;\n setSelectedVersion(product.productType.productVersions.filter(\n (x) =>\n x.majorVersion +\n \".\" +\n x.minorVersion +\n \".\" +\n x.patchVersion ===\n text\n )[0]);\n }}\n >\n {product.productType.productVersions &&\n product?.productType?.productVersions.map(\n (ver) => {\n return (\n \n {\" \"}\n {ver.majorVersion}.{ver.minorVersion}.\n {ver.patchVersion}\n \n );\n }\n )}\n \n \n
    \n
    \n \n \n
    Section
    \n
    Item
    \n
    Value Name
    \n
    Available Values
    \n
    Default Value
    \n
    Description
    \n
    Actions
    \n \n {product &&\n selectedVersion?.productLicenseOptions?.map((opt) => {\n if(opt.active){\n return (\n \n \n
    {opt.licenseSection}
    \n
    {opt.licenseSectionItem}
    \n
    {opt.valueName}
    \n
    {opt.availableValues}
    \n {getDefaultLicenseOptionDate(opt)}\n
    {opt.description}
    \n
    \n handleProductLicenseOptionUpdate(opt)\n }\n >\n \n \n handleDelete(opt.id)}\n style={{ cursor: \"pointer\", paddingRight: \"10px\" }}\n >\n \n \n
    \n \n
    \n );\n }\n })}\n
    \n\n \n \n \n \n No Product Version Found\n \n {\n setshowNoVersionWarnning(false);\n }}\n >\n Close\n \n \n \n \n
    \n );\n }\n}\n\nexport default HaivisionProductDetail;\n","import React, { Component } from \"react\";\nimport {\n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Button,\n SelectOption,\n Spinner,\n Animation,\n ProgressBar } from \"@hai/ui-react\";\nimport axios from \"../../../infra/axios\";\n\nclass HaivisionLicenseOptionDetailModal extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n show: this.props.show,\n license: this.props.license,\n productLicenseOptions: null,\n selectedProductOption: null,\n selectedLicenseOption: null,\n showOption: false,\n };\n }\n\n componentDidMount() {}\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.show = nextProps.show;\n prev.license = nextProps.license;\n return prev;\n });\n this.getProductLicenseOptions();\n }\n\n getProductLicenseOptions = () => {\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductVersions/\" +\n this.state.license.productVersionId +\n \"/ProductLicenseOptions\"\n )\n .then((response) => {\n \n if(response.data.length > 0){\n this.setState((prev) => {\n prev.productLicenseOptions = response.data;\n prev.selectedProductOption = response.data[0];\n prev.selectedLicenseOption = prev.license.licenseOptionDatas.filter(\n (x) => x.item === prev.selectedProductOption.licenseSectionItem\n )[0];\n \n if (prev.selectedLicenseOption == null) {\n prev.selectedLicenseOption = {\n item: prev.selectedProductOption.licenseSectionItem,\n value: prev.selectedProductOption.value,\n };\n }\n \n prev.showOption = this.isShowOption(\n prev.selectedProductOption.availableValues\n );\n \n prev.loading = false;\n return prev;\n }); \n }\n else{\n this.setState({\n loading :false\n });\n // alert('Can not get ProductLicenseOptions, maybe the product or version has been deleted!');\n }\n \n });\n }\n\n isShowOption(availableValues) {\n if (\n availableValues.substring(0, 1) === \"^\" &&\n availableValues.substring(availableValues.length - 1) === \"$\"\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n handleSubmit() {\n if (this.state.selectedLicenseOption.id == null) {\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n this.state.license.id +\n \"/LicenseOptionDatas\",\n this.state.selectedLicenseOption\n )\n .then((response) => {\n this.props.onClose();\n });\n } else {\n axios\n .put(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n this.state.license.id +\n \"/LicenseOptionDatas/\" +\n this.state.selectedLicenseOption.id,\n this.state.selectedLicenseOption\n )\n .then((response) => {\n this.handleClose();\n });\n }\n }\n\n handleClose() {\n this.props.onClose();\n }\n\n onSelectOption(e) {\n var text = e.target.value;\n var tmpSelectedProductOption = this.state.productLicenseOptions.filter(\n (x) => x.description.toLowerCase() === text.toLowerCase()\n )[0];\n var tmpSelectedLicenseOption = this.state.license.licenseOptionDatas.filter(\n (x) =>\n x.item.toLowerCase() ===\n tmpSelectedProductOption.licenseSectionItem.toLowerCase()\n )[0];\n\n if (tmpSelectedLicenseOption == null) {\n if (\n tmpSelectedProductOption?.availableValues &&\n !tmpSelectedProductOption?.availableValues.startsWith(\"^\")\n ) {\n var availables =\n tmpSelectedProductOption?.availableValues.split(\";\")[0];\n tmpSelectedLicenseOption = {\n item: tmpSelectedProductOption.licenseSectionItem,\n value: availables.length > 0 ? availables.split(\"!\")[0] : \"\",\n };\n } else {\n tmpSelectedLicenseOption = {\n item: tmpSelectedProductOption.licenseSectionItem,\n value: \"\",\n };\n }\n }\n\n var showOption = this.isShowOption(\n tmpSelectedProductOption.availableValues\n );\n\n this.setState((prev) => {\n prev.selectedProductOption = tmpSelectedProductOption;\n prev.selectedLicenseOption = tmpSelectedLicenseOption;\n prev.showOption = showOption;\n return prev;\n });\n }\n\n showValueComponent = () => {\n return (\n
    \n {!this.state.showOption && (\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.selectedLicenseOption.value = text;\n return prev;\n });\n }}\n >\n )}\n {this.state.showOption && (\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.selectedLicenseOption.value = text;\n return prev;\n });\n }}\n >\n {this.state.productLicenseOptions\n .filter(\n (x) =>\n x.description === this.state.selectedProductOption.description\n )[0]\n .availableValues.split(\";\")\n .map((o) => {\n var value = o.split(\"!\")[0];\n return {value};\n })}\n \n )}\n
    \n );\n };\n\n render() {\n return (\n
    \n \n \n Add/Update License Option\n \n \n {this.state.loading && }\n {!this.state.loading && (\n <>\n \n License Option\n this.onSelectOption(e)}\n >\n {this.state.productLicenseOptions?.map((p) => {\n return (\n \n {p.description}\n \n );\n })}\n \n License Option Value\n {this.showValueComponent()}\n {/*this.state.selectedProductOption.availableValues.substring(\n 0,\n 1\n ) === \"^\" &&\n this.state.selectedProductOption.availableValues.substring(\n this.state.selectedProductOption.availableValues.length - 1\n ) === \"$\" ? (\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.selectedLicenseOption.value = text;\n return prev;\n });\n }}\n >\n ) : (\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.selectedLicenseOption.value = text;\n return prev;\n });\n }}\n >\n {this.state.productLicenseOptions\n .filter(\n (x) =>\n x.description ===\n this.state.selectedProductOption.description\n )[0]\n .availableValues.split(\";\")\n .map((o) => {\n var value = o.split(\"!\")[0];\n return {value};\n })}\n \n )*/}\n {!this.state.selectedLicenseOption?.id && (\n \n * this value will be added to current license\n \n )}\n \n \n )}\n \n \n {\" \"}\n \n \n \n
    \n );\n }\n}\n\nexport default HaivisionLicenseOptionDetailModal;\n","import React, { Component } from \"react\";\nimport {\n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Button,\n SelectOption,\n Spinner,\n Animation,\n ProgressBar } from \"@hai/ui-react\";\nimport axios from \"../../../infra/axios\";\nimport * as sortHelper from '../sortHelper';\n\nclass HaivisionLicenseOptionUpgradeModal extends Component {\n constructor(props) {\n super(props);\n this.state = {\n show: this.props.show,\n license: this.props.license,\n versions: null,\n selectedVersion:null,\n };\n\n this.getProduct(this.state.license.productId);\n }\n\n getProduct = (productId) => {\n //setLoading(true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/\" +\n productId\n )\n .then((response) => {\n //setLicense(response.data);\n var versions = this.sortByVersionDesc(\n response.data?.productType?.productVersions\n ).filter((x)=>x.active === true);\n var selectedVersion =\n versions.length >= 1 ? versions[0] : null;\n\n this.setState((prev) => {\n prev.versions = versions;\n prev.selectedVersion = selectedVersion;\n return prev;\n });\n \n //setLoading(false); \n });\n }\n\n componentDidMount() {}\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.show = nextProps.show;\n prev.license = nextProps.license;\n if(prev.license.productId !== nextProps.license.productId){\n this.getProduct(nextProps.license.productId);\n }\n return prev;\n });\n }\n\n sortByVersionDesc = (productVersions) => {\n if (productVersions?.length >= 1) {\n sortHelper.sortByVersionDesc(productVersions);\n }\n return productVersions;\n };\n\n handleSubmit() {\n this.setState((prev) => {\n prev.loading = true;\n return prev;\n });\n\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n this.state.license.id +\n \"/Upgrade/\" +\n this.state.selectedVersion.id\n )\n .then((response) => {\n this.handleClose();\n });\n }\n\n handleClose() {\n this.props.onHide();\n this.props.refresh();\n }\n\n render() {\n return (\n
    \n \n \n Upgrade A License\n \n \n {this.state.license && (\n <>\n \n Current Version\n \n Upgrade To Version\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.selectedVersion = prev.versions.filter(\n (x) =>\n x.majorVersion +\n \".\" +\n x.minorVersion +\n \".\" +\n x.patchVersion ===\n text\n )[0];\n return prev;\n });\n }}\n >\n {this.state.versions &&\n this.state.versions.map((ver) => {\n return (\n \n {\" \"}\n {ver.majorVersion}.{ver.minorVersion}.\n {ver.patchVersion}\n \n );\n })}\n \n \n \n )}\n \n \n {\" \"}\n \n \n \n
    \n );\n }\n}\n\nexport default HaivisionLicenseOptionUpgradeModal;\n","import {\n Animation,\n Button,\n Icon,\n List,\n ListHeader,\n TableRow,\n FormGroup,\n FormLabel,\n FormControl, \n Spinner,\n Header} from \"@hai/ui-react\";\nimport { Table, Row, Col } from \"react-bootstrap\";\nimport React, { Component, Fragment, useEffect, useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport HaivisionLicenseOptionDetailModal from \"./haivision-license-option-detail-modal\";\nimport HaivisionLicenseDelete from \"./haivision-license-delete\";\nimport HaivisionLicenseOptionUpgradeModal from \"./haivision-license-upgrade\";\nimport { useParams } from \"react-router-dom\";\n\nconst HaivisionLicenseDetail = (props) => {\n let params = useParams();\n const [loading, setLoading] = useState(true);\n const [license, setLicense] = useState(null);\n const [isVm, setIsVm] = useState(false);\n const [isAzure, setIsAzure] = useState(false);\n const [licenseId, setLicenseId] = useState(props.licenseId ?? params?.licenseId);\n const [selectLicenseOptionData, setSelectLicenseOptionData] = useState(null);\n const [showOptionDetailModal, setShowOptionDetailModal] = useState(false);\n const [showDelete, setShowDelete] = useState(false);\n const [showUpgrade, setShowUpgrade] = useState(false);\n const [deleteLicense, setDeleteLicense] = useState(null);\n const [IsLoadingLs, setIsLoadingLs] = useState(false);\n\n useEffect(() => {\n getLicense();\n }, []);\n\n const getLicense = () => {\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n licenseId\n )\n .then((response) => {\n setLicense(response.data);\n setLoading(false);\n \n response.data.licenseOptionDatas.forEach((op) => {\n setVmAndAzure(op.item, op.value);\n });\n });\n }\n\n const setVmAndAzure = (item, value) => {\n if (\n item === null ||\n item === undefined ||\n value === null ||\n value === undefined\n ) {\n return;\n }\n if (item.toLowerCase() === \"vmware\") {\n setIsVm(value.toLowerCase() === \"on\" ? true : false);\n }\n\n if (item.toLowerCase() === \"licensetype\") {\n setIsAzure(value.toLowerCase() === \"azure byol\" ? true : false)\n }\n }\n\n const handleAddLicenseOption = () => {\n handleLiceseOptionDetailModal();\n }\n\n const handleUpgradeLicense = () => {\n setShowUpgrade(!showUpgrade);\n }\n\n const handleLiceseOptionDetailModal = () => {\n setShowOptionDetailModal(!showOptionDetailModal);\n getLicense();\n }\n\n const handleDeleteLicenseOptionData = (opt) => {\n axios\n .delete(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Licenses/\" +\n license.id +\n \"/LicenseOptionDatas/\" +\n opt.id\n )\n .then((response) => {\n getLicense();\n });\n }\n\n const handleDownloadLicense = () => {\n setIsLoadingLs(true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseText/Licenses/\" +\n license.id\n )\n .then((response) => {\n const yourDate = new Date();\n var datastr = yourDate.toISOString().split(\"T\")[0];\n var fileName = license.serialNumber + \"_\" + datastr + \".lic\";\n\n const type = response.headers[\"content-type\"];\n const blob = new Blob([response.data], {\n type: type,\n encoding: \"UTF-8\",\n });\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n setIsLoadingLs(false);\n });\n }\n\n const handleDeleteLicense = () => {\n setShowDelete(!showDelete);\n setDeleteLicense(deleteLicense == null ? license : null)\n }\n\n const getMacAddres = (license) => {\n if(license.macAddresses == null || license.macAddresses[0] == null){\n return \"\";\n }\n\n return license.macAddresses[0].value;\n }\n\n const showFeatures = () => {\n return (\n \n \n {!isVm && (\n \n \n Serial Number\n \n \n \n )}\n \n \n Mac Address\n x.value)\n .join(\",\")}\n disabled={true}\n />\n \n \n \n {isVm && (\n \n \n \n Instance UUID\n \n \n \n \n \n CPU ID\n \n \n \n \n )}\n {isAzure && (\n \n \n \n Resource ID\n \n \n \n \n \n License Request Number\n \n \n \n \n )}\n \n );\n };\n\n if (loading) {\n return ;\n } else {\n return (\n
    \n
    \n \n
    \n

    {license.sku}

    \n {\" \"}\n (window.location = \"license/licenses\")}\n >\n Back\n \n {IsLoadingLs && }\n {!IsLoadingLs && (\n
    \n handleAddLicenseOption()}\n >\n \n Update License Options\n \n handleUpgradeLicense()}\n >\n \n Upgrade License\n \n handleDownloadLicense()}\n >\n \n Download License\n \n handleDeleteLicense()}\n >\n \n Delete License\n \n
    \n )}\n \n
    \n {showFeatures()}\n
    \n
    \n \n \n
    \n
    License Option
    \n
    Value
    \n \n {license.licenseOptionDatas &&\n license.licenseOptionDatas.map((opt) => {\n return (\n \n \n
    \n
    {opt.productLicenseOption.description}
    \n
    {opt.value}
    \n {/*
    \n \n this.handleDeleteLicenseOptionData(opt)\n }\n >\n \n Delete Option\n \n
    */}\n \n
    \n );\n })}\n
    \n
    \n \n \n \n \n );\n }\n }\n\nexport default HaivisionLicenseDetail;\n","import {\n Animation,\n List,\n ListHeader,\n TableRow,\n OverlayTrigger,\n Icon,\n ProgressBar, \n Spinner,\n Notification} from \"@hai/ui-react\";\nimport React, { Component, Fragment } from \"react\";\nimport { Collapse } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport moment from \"moment\";\n\nclass HaivisionLicenseRequestItem extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n licenseRequestItems: null,\n licenseRequestId: this.props.licenseRequestId,\n licenseActionRunning: false,\n showErrorNotification: false\n };\n }\n\n componentDidMount() {\n this.getLicenseRequestItems();\n }\n\n getProductBySku(sku) {\n return axios\n .get(process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/sku/\" + sku)\n .then((response) => {\n return response.data;\n });\n }\n\n getGetProductOptionDataWithDefaultValue(sku, version) {\n if (sku) {\n return axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/options/Sku/\" +\n sku +\n \"/version/\" +\n version\n )\n .then((response) => {\n return response.data;\n });\n } else {\n this.setState({showErrorNotification: true});\n return null;\n }\n }\n\n getLicenseRequestItems() {\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseRequests/\" +\n this.state.licenseRequestId +\n \"/LicenseRequestItems\"\n )\n .then((response) => {\n this.setState((prev) => {\n prev.licenseRequestItems = response.data;\n prev.loading = false;\n return prev;\n });\n });\n }\n\n handleActionSpinner() {\n this.setState((prev) => {\n prev.licenseActionRunning = !prev.licenseActionRunning;\n return prev;\n });\n }\n\n hideCopyNotification() {\n this.setState((prev) => {\n prev.showErrorNotification = false;\n prev.licenseActionRunning = !prev.licenseActionRunning;\n return prev;\n });\n }\n\n async handleCreateAndGetLicenseText(item) {\n this.handleActionSpinner();\n var options = await this.getGetProductOptionDataWithDefaultValue(\n item.licensedProductSku,\n item.requestedVersion\n );\n\n if (!options || (options != null && options.length <= 0)) {\n return;\n }\n\n var sn = item.serialNumber.indexOf(\"HAI-\") >= 0 ? item.serialNumber : \"HAI-\" + item.serialNumber;\n\n var newLicense = {\n sku: item.licensedProductSku,\n serialNumber:\n item.recordTypeName.indexOf(\"Makito\") == -1\n ? \"\"\n : sn,\n instanceUuid: item.instanceUuid,\n cpuId: item.cpuId,\n licenseRequestNumber: item.name,\n productVersionNumber: item.requestedVersion,\n macAddresses: Array.from(\n new Set(\n item.serverMacAddresses.split(\";\").map((m) => {\n return { value: m };\n })\n )\n ),\n licenseOptionDatas: [],\n\n productType: options.productTypeName,\n };\n options.map((o) => {\n if (o.licenseSectionItem == \"expdate\") {\n newLicense.licenseOptionDatas.push({\n item: \"expdate\",\n value: moment(item.expirationDate).format(\"YYYY-MM-DD\"),\n });\n } else if (o.licenseSectionItem == \"expiration_date\") {\n newLicense.licenseOptionDatas.push({\n item: \"expiration_date\",\n value: moment(item.expirationDate).format(\"YYYYMMDD\"),\n });\n } else {\n newLicense.licenseOptionDatas.push({\n item: o.licenseSectionItem,\n value: o.defaultValue,\n });\n }\n });\n\n var response = await this.PostCreateAndGetLicenseText(newLicense);\n this.handleActionSpinner();\n return response;\n }\n\n async PostCreateAndGetLicenseText(licenseDto) {\n return axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseText/createAndGetLicenseText\",\n licenseDto\n )\n .then((response) => {\n return response;\n })\n .finally(() => {});\n }\n\n async handleCreateAndDownload(item) {\n var response = await this.handleCreateAndGetLicenseText(item);\n this.handleWiiteFileToLocal(response, item);\n }\n\n handleWiiteFileToLocal(response, item) {\n this.handleActionSpinner();\n const yourDate = new Date();\n var datastr = yourDate.toISOString().split(\"T\")[0];\n console.log(item);\n var fileName =\n item.licensedProductSku +\n \"_\" +\n item.serialNumber +\n \"_\" +\n item.serverMacAddresses +\n \"_\" +\n datastr +\n \".lic\";\n\n const type = response.headers[\"content-type\"];\n const blob = new Blob([response.data], {\n type: type,\n encoding: \"UTF-8\",\n });\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n this.handleActionSpinner();\n }\n\n handleDownload(item) {\n this.handleActionSpinner();\n var licenseUrl = \"\";\n if (item.recordTypeName.indexOf(\"makito\") != -1) {\n licenseUrl =\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseText/MacAddress/\" +\n item.macAddresses +\n \"/merge?instanceUuid=\" +\n item.instanceUuid;\n } else {\n licenseUrl =\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseText/SerialNumber/HAI-\" +\n item.serialNumber +\n \"/merge\";\n }\n axios\n .get(licenseUrl)\n .then((response) => {\n const yourDate = new Date();\n var datastr = yourDate.toISOString().split(\"T\")[0];\n console.log(item);\n var fileName =\n item.licensedProductSku +\n \"_\" +\n item.serialNumber +\n \"_\" +\n item.serverMacAddresses +\n \"_\" +\n datastr +\n \".lic\";\n\n const type = response.headers[\"content-type\"];\n const blob = new Blob([response.data], {\n type: type,\n encoding: \"UTF-8\",\n });\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n })\n .finally(() => {\n this.handleActionSpinner();\n });\n }\n\n getFileName(item) {\n\n var fileName = \"\";\n var todayDate = new Date().toISOString().slice(0, 10);\n if (item.recordTypeName.indexOf(\"Makito\") == -1)\n {\n fileName = item.licensedProductSku + \"-\" + item.requestedVersion.replaceAll(\".\", \"-\") + \"-\" + item.serverMacAddresses + \"-\" + item.name + \"-\" + todayDate.replaceAll(\"-\", \"\") + \".lic\";\n }\n else\n {\n fileName = item.serialNumber + \"-\" + item.licensedProductSku + \"-\" + item.name + \"-\" + todayDate.replaceAll(\"-\", \"\") + \".lic\";\n }\n return fileName;\n }\n\n async handleUpload(item) {\n var response = await this.handleCreateAndGetLicenseText(item);\n if (response) {\n var licenseText = response.data;\n this.handleActionSpinner();\n var fileName = this.getFileName(item);\n var uploadUrl =\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/LicenseRequestItems/\" +\n item.id +\n \"/License/Upload?serialNumber=\" +\n \"&filename=\" +\n fileName;\n axios.post(uploadUrl, JSON.stringify(licenseText)).then((response) => {\n this.handleActionSpinner();\n });\n }\n }\n\n render() {\n return (\n \n \n \n {this.state.loading && }\n {!this.state.loading && (\n \n \n
    \n
    Name
    \n
    Sku
    \n
    Type
    \n
    Version
    \n
    Serial Number
    \n
    Mac Address
    \n
    UUID
    \n
    CPU Id
    \n
    Expiration Date
    \n
    Is Version Updrade?
    \n
    Actions
    \n \n {this.state.licenseRequestItems &&\n this.state.licenseRequestItems.map((i) => {\n return (\n \n
    \n
    {i.name}
    \n
    {i.licensedProductSku}
    \n
    {i.recordTypeName}
    \n
    {i.requestedVersion}
    \n
    {i.serialNumber}
    \n
    {i.serverMacAddresses}
    \n
    {i.instanceUuid}
    \n
    {i.cpuId}
    \n
    {i.expirationDate}
    \n
    {i.versionUpgrade}
    \n
    \n {this.state.licenseActionRunning && (\n \n )}\n {!this.state.licenseActionRunning && (\n <>\n {/* this.handleCreate(i)}\n >\n \n */}\n this.handleUpload(i)}\n >\n \n \n \n\n this.handleCreateAndDownload(i)}\n >\n \n \n \n )}\n
    \n \n );\n })}\n
    \n )}\n \n
    \n this.hideCopyNotification()}\n description={\"No SKU for this Item.\"}\n variant=\"Error\"\n >\n
    \n );\n }\n}\n\nexport default HaivisionLicenseRequestItem;\n","import {\n Animation,\n Button,\n FormLabel,\n FormControl,\n List,\n ListHeader,\n TableRow,\n Icon,\n OverlayTrigger,\n FormGroup,\n ProgressBar, \n Header,\n SelectOption} from \"@hai/ui-react\";\nimport React, { Component, Fragment } from \"react\";\nimport JellyHeader from \"../../common/Utils/JellyHeader\";\nimport axios from \"../../../infra/axios\";\nimport { Row, Col, Collapse } from \"reactstrap\";\nimport LicenseRequestItem from \"./haivision-license-request-Item\";\n\nclass HaivisionLicenseRequest extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n licenseRequests: null,\n filteredLicenseRequest: null,\n showAssetIdList: [],\n };\n this.handleViewAssets = this.handleViewAssets.bind(this);\n }\n\n componentDidMount() {\n this.getLicenseRequests();\n }\n\n async getLicenseRequests() {\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/LicenseRequests?status=New\"\n )\n .then((response) => {\n this.setState((prev) => {\n prev.licenseRequests = response.data;\n prev.filteredLicenseRequest = prev.licenseRequests.filter(\n (x) => x.status.indexOf(\"Closed\") == -1\n );\n prev.loading = false;\n return prev;\n });\n });\n }\n\n filterLicenseRequest(value) {\n if (value == \"\") {\n this.setState((prev) => {\n prev.filteredLicenseRequest = prev.licenseRequests;\n return prev;\n });\n } else {\n if (value.length >= 2) {\n let filtered = this.state.licenseRequests.filter((c) => {\n let valueUp = value.toUpperCase();\n if (c.name?.toUpperCase().includes(valueUp)) return true;\n });\n this.setState((prev) => {\n prev.filteredLicenseRequest = filtered;\n return prev;\n });\n }\n }\n }\n\n filterLicenseRequestByStatus(value) {\n if (value == \"\") {\n this.setState((prev) => {\n prev.filteredLicenseRequest = prev.licenseRequests;\n return prev;\n });\n } else {\n if (value.length >= 2) {\n let filtered = this.state.licenseRequests.filter((c) => {\n let valueUp = value.toUpperCase();\n if (c.status?.toUpperCase().includes(valueUp)) return true;\n });\n this.setState((prev) => {\n prev.filteredLicenseRequest = filtered;\n return prev;\n });\n }\n }\n }\n\n handleViewAssets(l) {\n this.setState((prev) => {\n if (prev.showAssetIdList.indexOf(l.id) != -1) {\n prev.showAssetIdList.splice(prev.showAssetIdList.indexOf(l.id), 1);\n } else {\n prev.showAssetIdList.push(l.id);\n }\n\n return prev;\n });\n }\n\n render() {\n return (\n
    \n
    \n
    \n \n \n Search Request Number\n this.filterLicenseRequest(e.target.value)}\n \n />\n \n \n Status\n \n this.filterLicenseRequestByStatus(e.target.value)\n }\n >\n New\n In Progress\n Closed\n \n \n \n
    \n {/* */}\n
    \n \n \n
    \n
    Request Number
    \n
    Partner Account
    \n
    End User Account
    \n
    Status
    \n
    Assets
    \n
    Actions
    \n \n {this.state.filteredLicenseRequest &&\n this.state.filteredLicenseRequest.map((l) => {\n return (\n \n \n
    \n
    \n \n {l.name}\n \n
    \n
    {l.partnerAccountName}
    \n
    {l.endUserAccountName}
    \n
    {l.status}
    \n
    \n {\" \"}\n this.handleViewAssets(l)}\n >\n \n \n
    \n
    \n \n\n \n {this.state.showAssetIdList.indexOf(l.id) != -1 && (\n \n )}\n \n
    \n );\n })}\n
    \n {this.state.loading && }\n
    \n );\n }\n}\n\nexport default HaivisionLicenseRequest;\n","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n FormLabel,\n FormControl,\n Button,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalFooter,\n FormGroup,\n Dialog,\n Notification } from \"@hai/ui-react\";\nimport { Row, Col, ModalBody } from \"reactstrap\";\n\nclass HaivisionProductTypeAdd extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showNotice:false,\n showWarningdlg: false,\n showProductTypeAdd: false,\n selectedProductType : props.selectedProductType,\n title : props.selectedProductType === null?'Add Product Type':'Update Product Type',\n newProductType: {\n name: props.selectedProductType === null?'':props.selectedProductType.name,\n salesforceLibraryName: props.selectedProductType=== null?'':props.selectedProductType.salesforceLibraryName,\n salesforceLibrarySubfolder: props.selectedProductType=== null?'':props.selectedProductType.salesforceLibrarySubfolder,\n active: 'true',\n },\n };\n }\n\n\n componentWillReceiveProps(nextProps) {\n if(nextProps.selectedProductType !== this.props.selectedProductType)\n {\n this.setState((prev) => {\n prev.selectedProductType = nextProps.selectedProductType;\n prev.newProductType.name = nextProps.selectedProductType===null?'':nextProps.selectedProductType.name;\n prev.newProductType.salesforceLibraryName = nextProps.selectedProductType===null?'':nextProps.selectedProductType.salesforceLibraryName;\n prev.newProductType.salesforceLibrarySubfolder = nextProps.selectedProductType===null?'':nextProps.selectedProductType.salesforceLibrarySubfolder;\n prev.title = nextProps.selectedProductType===null?'Add Product Type':'Update Product Type';\n return prev;\n });\n }\n\n this.setState((prev) => {\n prev.showProductTypeAdd = nextProps.show;\n return prev;\n });\n }\n\n onHideHaivisionProductTypeAdd(){\n this.setState((prev) => {\n prev.selectedProductType = this.props.selectedProductType;\n prev.newProductType.name = this.props.selectedProductType===null?'':this.props.selectedProductType.name;\n prev.newProductType.salesforceLibraryName = this.props.selectedProductType===null?'':this.props.selectedProductType.salesforceLibraryName;\n prev.newProductType.salesforceLibrarySubfolder = this.props.selectedProductType===null?'':this.props.selectedProductType.salesforceLibrarySubfolder;\n prev.title = this.props.selectedProductType===null?'Add Product Type':'Update Product Type';\n prev.showNotice = false;\n prev.showWarningdlg = false;\n prev.showProductTypeAdd = false;\n return prev;\n });\n\n this.props.handleAddProductType();\n }\n\n SetShowWarningdlg (isShow) {\n this.setState((prev) => {\n prev.showWarningdlg = isShow;\n return prev;\n }); \n }\n\n SetShowNotice (isShow) {\n this.setState((prev) => {\n prev.showNotice = isShow;\n return prev;\n });\n }\n\n handleCloseNotice(){\n this.SetShowNotice(false);\n }\n\n onCancelDlg(){\n this.SetShowWarningdlg(false);\n }\n\n onConfirmDlg(){\n this.handleUpdate(); \n }\n\n handleUpdate(){\n var updateDto = {\n salesforceLibraryName:this.state.newProductType.salesforceLibraryName,\n salesforceLibrarySubfolder:this.state.newProductType.salesforceLibrarySubfolder, \n }\n axios\n .put(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductTypes/\" + \n this.state.selectedProductType.id, updateDto\n )\n .then((response) => {\n this.SetShowNotice(true);\n this.props.handleAddProductType();\n this.props.getProductTypes();\n this.setState((prev) => {\n prev.newProductType = {\n name: \"\",\n salesforceLibraryName:'',\n salesforceLibrarySubfolder:'',\n active: \"true\",\n };\n return prev;\n });\n }); \n }\n\n submitProductTypeAdd() {\n if(this.state.selectedProductType===null){\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductTypes\",\n this.state.newProductType\n )\n .then((response) => {\n this.props.handleAddProductType();\n this.props.getProductTypes();\n this.setState((prev) => {\n prev.newProductType = {\n name: \"\",\n salesforceLibraryName:'',\n salesforceLibrarySubfolder:'',\n active: \"true\",\n };\n return prev;\n });\n });\n }\n else{\n this.SetShowWarningdlg(true);\n }\n }\n\n render() {\n return (\n
    \n \n \n {this.state.title}\n \n \n \n Product Type\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductType.name = text;\n return prev;\n });\n }}\n />\n \n \n Salesforce Library Name\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductType.salesforceLibraryName = text;\n return prev;\n });\n }}\n />\n \n \n Salesforce Library Subfolder\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductType.salesforceLibrarySubfolder = text;\n return prev;\n });\n }}\n />\n \n \n \n \n \n \n \n this.SetShowWarningdlg(false)}\n show={this.state.showWarningdlg}\n buttons={[\n { label: 'CANCEL',onClick: () => this.onCancelDlg() },\n { label: 'YES', variant: 'danger' ,onClick: () => this.onConfirmDlg()},\n ]}\n />\n this.handleCloseNotice()}\n message={'Update Successful.'}\n variant=\"Success\"\n />\n
    \n );\n }\n}\n\nexport default HaivisionProductTypeAdd;\n","import React, { Component, Fragment } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n OverlayTrigger,\n List,\n ListHeader,\n TableRow,\n Animation,\n Icon,\n Button,\n ProgressBar,\n Header,\n Pagination\n} from \"@hai/ui-react\";\nimport HaivisionProductTypeAdd from \"./haivision-producttype-add\";\nimport { useParams } from \"react-router-dom\";\nimport cogoToast from \"cogo-toast\";\n\nfunction withParams(Component) {\n return props => ;\n}\n\nclass HaivisionProductType extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n productTypes: null,\n showProductTypeAdd: false,\n selectedProductType:null,\n };\n\n this.GetProductTypes = this.GetProductTypes.bind(this);\n this.handleAddProductType = this.handleAddProductType.bind(this);\n this.handleUpdateProductType = this.handleUpdateProductType.bind(this);\n this.handleHideProductType = this.handleHideProductType.bind(this);\n }\n\n componentDidMount() {\n this.GetProductTypes();\n }\n\n GetProductTypes() {\n this.setState({ loading: true })\n axios\n .get(process.env.REACT_APP_LIC_API_BASE_URL + `/Products/ProductTypes`, {\n headers: {\n 'Cache-Control': 'max-stale=30',\n }\n })\n .then((response) => {\n this.setState((prev) => {\n prev.productTypes = response.data;\n prev.loading = false;\n return prev;\n });\n });\n }\n\n handleDetails(id) {\n window.location = window.location + \"/\" + id;\n }\n \n handleUpdateProductType(id){\n if(this.state.productTypes === null || this.state.productTypes === undefined){\n return;\n }\n var selected = this.state.productTypes.filter(x=>x.id === id)[0];\n this.setState((prev) => {\n prev.showProductTypeAdd = !prev.showProductTypeAdd;\n prev.selectedProductType = selected;\n return prev;\n });\n }\n\n handleAddProductType() {\n this.setState((prev) => {\n prev.showProductTypeAdd = !prev.showProductTypeAdd;\n prev.selectedProductType = null;\n return prev;\n });\n }\n\n handleHideProductType (){\n this.setState((prev) => {\n prev.showProductTypeAdd = false;\n prev.selectedProductType = null;\n return prev;\n }); \n }\n\n render() {\n if (this.state.loading) {\n return (\n \n
    \n
    \n
    \n \n );\n } else {\n return (\n
    \n
    \n
    \n
    \n
    \n this.handleAddProductType()}\n >\n Add Product Type\n \n
    \n
    \n \n \n
    \n
    Product Type
    \n
    Actions
    \n \n {this.state.productTypes &&\n this.state.productTypes.map((p) => {\n return (\n
    \n \n
    \n
    {p.name}
    \n
    \n this.handleDetails(p.id)}\n >\n \n \n
    \n \n
    \n );\n })}\n
    \n \n\n {/* {\n if (this.state.productTypes.hasNextPage || newPage <= this.state.productTypes?.totalPages) {\n this.setState({ ...this.state, pageData: { currentPage: newPage, pageSize: this.state.pageData.pageSize } });\n this.GetProductTypes(newPage, this.state.pageData.pageSize);\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n /> */}\n
    \n );\n }\n }\n}\n\nexport default withParams(HaivisionProductType);\n","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n Header,\n List,\n ListHeader,\n TableRow,\n Animation,\n SelectOption,\n FormLabel,\n FormControl,\n Button,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalFooter,\n FormGroup,\n ProgressBar } from \"@hai/ui-react\";\n import moment from \"moment\";\nimport { Row, Col, ModalBody } from \"reactstrap\";\n\nclass HaivisionProductTypeVersionAdd extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showProductVersionAdd: false,\n dlgTitle : this.props.isUpdateVersion === true?'Update Product Version':'Add Product Version',\n isUpdateVersion : this.props.isUpdateVersion,\n selectedVersion: this.props.isUpdateVersion === true?this.props.selectedVersion : null,\n productTypeId: this.props.productTypeId,\n newProductVersion: {\n majorVersion: this.props.isUpdateVersion === true?this.props.selectedVersion?.majorVersion : \"\",\n minorVersion: this.props.isUpdateVersion === true?this.props.selectedVersion?.minorVersion :\"\",\n patchVersion: this.props.isUpdateVersion === true?this.props.selectedVersion?.patchVersion :\"\",\n publishedDate:this.props.isUpdateVersion === true?this.props.selectedVersion?.publishedDate :\"\",\n releaseType:this.props.isUpdateVersion === true?this.props.selectedVersion?.releaseType :\"\",\n imageLink:this.props.isUpdateVersion === true?this.props.selectedVersion?.imageLink :\"\",\n imageType: this.props.isUpdateVersion === true ? this.props.selectedVersion?.imageType :\"HAI\",\n md5:this.props.isUpdateVersion === true?this.props.selectedVersion?.md5 :\"\",\n sha1:this.props.isUpdateVersion === true?this.props.selectedVersion?.sha1 :\"\",\n sha2:this.props.isUpdateVersion === true?this.props.selectedVersion?.sha2 :\"\",\n versionDescription:this.props.isUpdateVersion === true?this.props.selectedVersion?.versionDescription : \"\",\n productTypeId: this.props.productTypeId,\n },\n }; \n }\n\n componentWillReceiveProps(nextProps) {\n if(this.state.isUpdateVersion !== nextProps.isUpdateVersion || this.state.selectedVersion !== nextProps.selectedVersion || this.state.showProductVersionAdd !== nextProps.show){\n\n var publishDateStr = '';\n if(nextProps.isUpdateVersion === true && nextProps.selectedVersion?.publishedDate !== null && nextProps.selectedVersion?.publishedDate !== ''){\n publishDateStr = moment(nextProps.selectedVersion.publishedDate).utc().format(\"YYYY-MM-DD\");\n }\n this.setState((prev) => {\n prev.showProductVersionAdd = nextProps.show;\n prev.dlgTitle = nextProps.isUpdateVersion === true?'Update Product Version':'Add Product Version';\n prev.productTypeId = nextProps.productTypeId;\n prev.newProductVersion.productTypeId = nextProps.productTypeId;\n prev.newProductVersion.majorVersion = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.majorVersion : \"\";\n prev.newProductVersion.minorVersion = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.minorVersion : \"\";\n prev.newProductVersion.patchVersion = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.patchVersion : \"\";\n prev.newProductVersion.publishedDate = publishDateStr;\n prev.newProductVersion.releaseType = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.releaseType :\"\";\n prev.newProductVersion.imageLink = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.imageLink : \"\";\n prev.newProductVersion.imageType = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.imageType : \"Firmware Update\";\n prev.newProductVersion.md5 = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.md5 : \"\";\n prev.newProductVersion.sha1 = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.sha1 : \"\";\n prev.newProductVersion.sha2 = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.sha2 : \"\";\n prev.newProductVersion.versionDescription = nextProps.isUpdateVersion === true?nextProps.selectedVersion?.versionDescription : \"\";\n prev.isUpdateVersion = nextProps.isUpdateVersion;\n prev.selectedVersion = nextProps.selectedVersion;\n return prev;\n });\n }\n }\n\n submitProductVersion (){\n if(this.state.isUpdateVersion){\n this.submitProductVersionUpdate();\n }\n else{\n this.submitProductVersionAdd();\n }\n }\n\n submitProductVersionAdd() {\n\n if(this.state.newProductVersion.publishedDate !== '' && this.state.newProductVersion.publishedDate !== undefined && !this.isValidDate(this.state.newProductVersion.publishedDate)){\n alert('The format of Published Date should be yyyy-mm-dd!');\n return;\n } \n\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductVersions\",\n this.state.newProductVersion\n )\n .then((response) => {\n this.props.handleProductVersionAdd();\n this.props.getVersion();\n this.setState((prev) => {\n prev.newProductVersion = {\n majorVersion: \"\",\n minorVersion: \"\",\n patchVersion: \"\",\n publishedDate:\"\",\n versionDescription: \"\",\n releaseType:\"\",\n productTypeId: \"\",\n };\n return prev;\n });\n });\n }\n\n isValidDate(dateString) {\n const regEx = new RegExp(/^\\d{4}-\\d{2}-\\d{2}$/);\n return regEx.test(dateString);\n }\n\n submitProductVersionUpdate() {\n if(this.state.newProductVersion.publishedDate !== '' && this.state.newProductVersion.publishedDate !== undefined && !this.isValidDate(this.state.newProductVersion.publishedDate)){\n alert('The format of Published Date should be yyyy-mm-dd!');\n return;\n } \n\n axios\n .put(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductVersions/\" + this.state.selectedVersion.id,\n this.state.newProductVersion\n )\n .then((response) => {\n this.props.handleProductVersionAdd();\n this.props.getUpdatedVersion();\n this.setState((prev) => {\n prev.newProductVersion = {\n majorVersion: \"\",\n minorVersion: \"\",\n patchVersion: \"\",\n publishedDate:\"\",\n versionDescription: \"\",\n releaseType:\"\",\n productTypeId: \"\",\n };\n return prev;\n });\n });\n }\n\n render() {\n var ReleaseTypes = [\"Dev\", \"QA\", \"Beta\", \"GA\"];\n return (\n \n \n {this.state.dlgTitle}\n \n \n \n \n \n Major Version\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductVersion.majorVersion = text;\n return prev;\n });\n }}\n />\n \n \n \n \n \n \n Minor Version\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductVersion.minorVersion = text;\n return prev;\n });\n }}\n />\n \n \n \n \n \n \n Patch Version\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductVersion.patchVersion = text;\n return prev;\n });\n }}\n />\n \n \n \n \n \n \n Published Date (Format : yyyy-mm-dd)\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductVersion.publishedDate = text;\n return prev;\n });\n }}\n />\n \n \n \n \n \n Release Type\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductVersion.releaseType = text;\n return prev;\n });\n }}\n > \n {ReleaseTypes.map((p) => {\n return {p};\n })}\n \n \n \n \n \n \n Version Description\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProductVersion.versionDescription = text;\n return prev;\n });\n }}\n />\n \n \n \n \n \n this.submitProductVersion()}\n >\n Submit\n \n \n \n \n );\n }\n}\n\nexport default HaivisionProductTypeVersionAdd;\n","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n OverlayTrigger,\n List,\n ListHeader,\n TableRow,\n Animation,\n Icon,\n FormLabel,\n FormControl,\n Button,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalFooter,\n FormGroup,\n ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col, ModalBody } from \"reactstrap\";\n\nclass HaivisionProductLicenseOptionAdd extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showProductLicenseOptionAdd: false,\n selectedVersionId: this.props.selectedVersionId,\n newProduceLicenseOption: {\n licenseSection: \"\",\n licenseSectionItem: \"\",\n description: \"\",\n valueName: \"\",\n availableValues: \"\",\n },\n };\n }\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.showProductLicenseOptionAdd = nextProps.show;\n prev.selectedVersionId = nextProps.selectedVersionId;\n return prev;\n });\n }\n submitProductLicenseOptionAdd() {\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductVersions/\" +\n this.state.selectedVersionId +\n \"/ProductLicenseOptions\",\n this.state.newProduceLicenseOption\n )\n .then((response) => {\n this.props.handleProductLicenseOptionAdd();\n this.props.getVersion();\n this.setState((prev) => {\n prev.newProduceLicenseOption = {\n licenseSection: \"\",\n licenseSectionItem: \"\",\n description: \"\",\n valueName: \"\",\n defaultValue: \"\",\n availableValues: \"\",\n };\n return prev;\n });\n });\n }\n\n render() {\n return (\n \n \n Add Product License Option\n \n \n \n License Section\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.licenseSection = text;\n return prev;\n });\n }}\n />\n License Section Item\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.licenseSectionItem = text;\n return prev;\n });\n }}\n />\n Description\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.description = text;\n return prev;\n });\n }}\n />\n Display Name\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.valueName = text;\n return prev;\n });\n }}\n />\n Available Values\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.availableValues = text;\n return prev;\n });\n }}\n />\n \n \n \n this.submitProductLicenseOptionAdd()}\n >\n Submit\n \n \n \n \n );\n }\n}\n\nexport default HaivisionProductLicenseOptionAdd;\n","import React, { Component } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n OverlayTrigger,\n List,\n ListHeader,\n TableRow,\n Animation,\n Icon,\n FormLabel,\n FormControl,\n Button,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalFooter,\n FormGroup,\n ProgressBar } from \"@hai/ui-react\";\nimport { Row, Col, ModalBody } from \"reactstrap\";\n\nclass MakitoProductLicenseOptionUpdate extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showProductLicenseOptionUpdate: false,\n newProduceLicenseOption: this.props.productLicenseOption,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n this.setState((prev) => {\n prev.showProductLicenseOptionUpdate = nextProps.show;\n prev.newProduceLicenseOption = nextProps.productLicenseOption;\n return prev;\n });\n }\n\n submitProductLicenseOptionUpdate() {\n axios\n .put(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductVersions/ProductLicenseOptions/\" +\n this.state.newProduceLicenseOption.id,\n this.state.newProduceLicenseOption\n )\n .then((response) => {\n this.props.handleProductLicenseOptionUpdate();\n this.props.getVersion();\n this.setState((prev) => {\n prev.newProduceLicenseOption = {\n licenseSection: \"\",\n licenseSectionItem: \"\",\n description: \"\",\n valueName: \"\",\n defaultValue: \"\",\n availableValues: \"\",\n };\n return prev;\n });\n });\n }\n\n render() {\n return (\n <>\n {this.state.newProduceLicenseOption && (\n \n \n Update Product Licnese Option\n \n \n \n License Section\n {\n var text = e.target.value;\n this.setState((prev) => {\n prev.newProduceLicenseOption.licenseSection = text;\n return prev;\n });\n }}\n />\n License Section Item\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.licenseSectionItem = text;\n return prev;\n });\n }}\n />\n Description\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.description = text;\n return prev;\n });\n }}\n />\n Display Name\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.valueName = text;\n return prev;\n });\n }}\n />\n Available Values\n {\n var text = e.target.value.trim();\n this.setState((prev) => {\n prev.newProduceLicenseOption.availableValues = text;\n return prev;\n });\n }}\n />\n \n \n \n this.submitProductLicenseOptionUpdate()}\n >\n Submit\n \n this.props.handleProductLicenseOptionUpdate()}\n >\n Cancel\n \n \n \n )}\n \n );\n }\n}\n\nexport default MakitoProductLicenseOptionUpdate;\n","import React, {useState, useEffect} from 'react'\nimport { Header, \n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Button,\n SelectOption,\n ProgressBar,\n Dialog,\n Notification} from \"@hai/ui-react\";\n\nimport { Col, Row } from \"reactstrap\";\n\nimport axios from \"../../../infra/axios\";\nimport Select from \"react-select\";\n\nconst ProductVersionMetadata = (props) => {\n\n const [loading, setLoading] = useState(false);\n const [metaDataDto,SetMetaDataDto] = useState({\n productVersionId : props.metaData==null?null:props.metaData.productVersionId,\n blobUri : props.metaData==null?'':props.metaData.blobUri,\n imageLink : props.metaData==null?'':props.metaData.imageLink,\n imageType:props.metaData==null?'':props.metaData.imageType,\n md5 : props.metaData==null?'':props.metaData.md5,\n sha1 : props.metaData==null?'':props.metaData.sha1,\n sha2 : props.metaData==null?'':props.metaData.sha2,\n id : props.metaData==null?null:props.metaData.id,\n salesforceFileName :props.metaData==null?'':props.metaData.salesforceFileName,\n salesforceDownloadUrl:props.metaData==null?'':props.metaData.salesforceDownloadUrl\n });\n const [producVersionId, SetProducVersionId] = useState(props.productVersionId);\n const [showWarningdlg,SetShowWarningdlg] = useState(false);\n const [warningTitle, SetWarningTitle] = useState('Warning');\n const [warningContent, SetWarningContent] = useState(['This operation only update salesforce file name in Metadata, if you want to generate a new',\n 'file in salesforce download center, you need to click Create Salesforce Download link',\n 'but it will not remove the file with old salesforce file name.',\n 'Are you sure you want to update it?']);\n\n const [resultMessage,SetResultMessage] = useState('');\n\n useEffect( () => {\n SetMetaDataDto({\n productVersionId : props.metaData==null?null:props.metaData.productVersionId,\n blobUri : props.metaData==null?'':props.metaData.blobUri,\n imageLink : props.metaData==null?'':props.metaData.imageLink,\n imageType:props.metaData==null?'':props.metaData.imageType,\n md5 : props.metaData==null?'':props.metaData.md5,\n sha1 : props.metaData==null?'':props.metaData.sha1,\n sha2 : props.metaData==null?'':props.metaData.sha2, \n id : props.metaData==null?null:props.metaData.id, \n salesforceFileName :props.metaData==null?'':props.metaData.salesforceFileName,\n salesforceDownloadUrl:props.metaData==null?'':props.metaData.salesforceDownloadUrl\n \n });\n \n }, [props.metaData])\n\n useEffect( () => {\n SetProducVersionId(props.productVersionId);\n }, [props.productVersionId]);\n\n const [show, setShow] = useState(false)\n const handleClose = () => setShow(false)\n const handleShow = () => setShow(true)\n const titleStr = props.metaData==null?'Add Version Image':'Update Version Image'\n const buttonTitleStr = props.metaData==null?'Create':'Update'\n\n const onCancelDlg = () =>{\n SetShowWarningdlg(false);\n }\n \n const onConfirmDlg = () =>{\n handleUpdate(); \n }\n\n const handleHideModal = (isCancelled) =>{\n\n SetMetaDataDto({\n productVersionId : props.metaData==null?null:props.metaData.productVersionId,\n blobUri : props.metaData==null?'':props.metaData.blobUri,\n imageLink : props.metaData==null?'':props.metaData.imageLink,\n imageType:props.metaData==null?'':props.metaData.imageType,\n md5 : props.metaData==null?'':props.metaData.md5,\n sha1 : props.metaData==null?'':props.metaData.sha1,\n sha2 : props.metaData==null?'':props.metaData.sha2, \n id : props.metaData==null?null:props.metaData.id, \n salesforceFileName :props.metaData==null?'':props.metaData.salesforceFileName,\n salesforceDownloadUrl:props.metaData==null?'':props.metaData.salesforceDownloadUrl\n \n });\n\n setLoading(false);\n props.onHide();\n if(!isCancelled){\n props.getVersion();\n }\n \n }\n\n const handleUpdate = () => { \n axios\n .put(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductVersions/metadata/\" + metaDataDto.id,\n metaDataDto\n )\n .then((reponse) => {\n SetResultMessage('Update Metadata successful!');\n setShow(true);\n handleHideModal(false);\n }); \n }\n\n const handleCreate = () =>{\n if(metaDataDto.imageType === '' || metaDataDto.imageType === undefined || metaDataDto.imageType === null){\n alert('Please select a Image type!');\n return; \n }\n\n if(props.metaData === null){\n axios\n .post(\n process.env.REACT_APP_LIC_API_BASE_URL + \"/Products/ProductVersions/\" + producVersionId + '/metadata',\n metaDataDto\n )\n .then((reponse) => {\n SetResultMessage('Create Metadata successful!');\n setShow(true)\n handleHideModal(false);\n }); \n }\n else{\n if (metaDataDto.salesforceFileName !== props.metaData.salesforceFileName){\n SetShowWarningdlg(true);\n }else\n {\n handleUpdate();\n } \n }\n \n }\n\n\n var ImageTypes = [\"FIRMWARE\", \"WIN-MSI\", \"OVA\", \"ISO\", \"MAC-PKG\"];\n return (\n
    \n { loading && }\n {!loading && \n
    \n \n \n {titleStr}\n \n \n \n \n \n Image Type\n {\n SetMetaDataDto(prevState => ({\n ...prevState, imageType: e.target.value\n }))\n }}\n > \n {ImageTypes.map((p) => {\n return {p};\n })}\n \n \n {/*\n Image Link\n {\n SetMetaDataDto(prevState => ({\n ...prevState, imageLink: e.target.value\n }))\n }}\n />\n */}\n \n \n Md5\n {\n SetMetaDataDto(prevState => ({\n ...prevState, md5: e.target.value\n }))\n }}\n />\n \n \n \n \n \n Sha1\n {\n SetMetaDataDto(prevState => ({\n ...prevState, sha1: e.target.value\n }))\n }}\n />\n \n \n \n Sha2\n {\n SetMetaDataDto(prevState => ({\n ...prevState, sha2: e.target.value\n }))\n }}\n />\n \n \n \n {/*}\n \n \n \n Sha2\n {\n SetMetaDataDto(prevState => ({\n ...prevState, sha2: e.target.value\n }))\n }}\n />\n \n \n \n \n Blob URI\n {\n SetMetaDataDto(prevState => ({\n ...prevState, blobUri: e.target.value\n }))\n }}\n />\n \n \n \n \n \n \n Salesforce File Name\n {\n SetMetaDataDto(prevState => ({\n ...prevState, salesforceFileName: e.target.value\n }))\n }}\n />\n \n \n */}\n
    \n \n \n \n \n \n \n
    } \n SetShowWarningdlg(false)}\n show={showWarningdlg}\n buttons={[\n { label: 'CANCEL',onClick: () => onCancelDlg() },\n { label: 'YES', variant: 'danger' ,onClick: () => onConfirmDlg()},\n ]}\n />\n \n
    \n\n );\n}\n\nexport default ProductVersionMetadata;","import React, { useEffect, useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n Button,\n Modal,\n ModalBody,\n ModalHeader,\n ModalTitle,\n ProgressBar,\n} from \"@hai/ui-react\";\nimport { ModalFooter } from \"react-bootstrap\";\nimport { BlobServiceClient } from \"@azure/storage-blob\";\n\nconst ProductVersionImageFileUpload = (props) => {\n const [file, setFile] = useState(null);\n const [uploading, setUploading] = useState(false);\n const [productVersionImageId, SetProductVersionImageId] = useState();\n\n const [productTypeName, setProductTypeName] = useState();\n const [productVersion, setProductVersion] = useState();\n\n const [progressPercentage, setProgressPercentage] = useState(0);\n\n const onFileChange = (e) => {\n setFile(e.target.files[0]);\n };\n\n useEffect(() => {\n SetProductVersionImageId(props.productVersionImageId);\n setProductTypeName(props.productTypeName);\n setProductVersion(props.productVersion);\n }, [\n props.productVersionImageId,\n props.productTypeName,\n props.productVersion,\n ]);\n\n const onFileUpload = async () => {\n if (file && file?.name) {\n setUploading(true);\n \n var blobUri = await fileUploadToAzureBlob(file);\n await completeFileUploadInfo(blobUri);\n await handleHideModal();\n }\n };\n\n const handleHideModal = async () => {\n setFile(null);\n setUploading(false);\n props.getVersion();\n props.onHide();\n };\n\n const completeFileUploadInfo = async (blobUri) => {\n await axios.post(\n process.env.REACT_APP_METADATA_API_BASE_URL +\n `/ReleaseMetadata/ProductVersionImage/${productVersionImageId}/UploadInfo?blobUri=${blobUri}`\n );\n };\n\n const fileUploadToAzureBlob = async (file) => {\n var blobUri = productTypeName + \"/\" + productVersion + \"/\" + file.name;\n\n var resp = await axios.get(\n process.env.REACT_APP_METADATA_API_BASE_URL +\n `/ReleaseMetadata/GenerateUploadLink?blobUri=${blobUri}`\n );\n\n var blobUploadSasUrl = resp.data;\n\n var blobServiceClient = new BlobServiceClient(blobUploadSasUrl);\n\n var containerName = \"haivision-releases\";\n var containerClient = blobServiceClient.getContainerClient(containerName);\n\n var blobClient = containerClient.getBlockBlobClient(blobUri);\n\n const ONE_MB = 1_048_576;\n const options = {\n blobHTTPHeaders: {\n blobContentDisposition:\n 'attachment; filename=\"' +\n file.name +\n \"\\\"; filename*=UTF-8''\\\"\" +\n file.name +\n '\"',\n blobCacheControl: \"max-age=31536000\",\n },\n onProgress: (ev) => {\n setProgressPercentage((ev.loadedBytes / file.size) * 100);\n },\n maxSingleShotSize: 4 * ONE_MB,\n };\n\n // upload file\n await blobClient.uploadData(file, options);\n return blobClient.name;\n };\n\n return (\n \n \n Firmware Upload\n \n \n \n
    \n Please do not close this window during uploads.\n
    \n {uploading && (\n \n )}\n
    \n \n \n \n \n
    \n );\n};\n\nexport default ProductVersionImageFileUpload;\n","import React, { Component, useEffect, useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport {\n Header,\n Icon,\n List,\n ListHeader,\n TableRow,\n Button,\n FormGroup,\n SelectOption,\n FormControl,\n FormLabel,\n OverlayTrigger,\n Modal,\n ModalHeader,\n ModalTitle,\n ModalBody,\n ModalFooter,\n ProgressBar,\n Link,\n Dialog,\n Notification\n} from \"@hai/ui-react\";\nimport { Fragment } from \"react\";\nimport { Col, Row } from \"reactstrap\";\nimport HaivisionProductTypeVersionAdd from \"./haivision-producttype-version-add\";\nimport HaivisionProductLicenseOptionAdd from \"./haivision-product-license-option-add\";\nimport HaivisionProductLicenseOptionUpdate from \"./haivision-product-license-option-update\";\nimport ProductVersionMetadata from \"./haivision-product-version-metadata-add-update\";\nimport { useParams } from \"react-router-dom\";\nimport moment from \"moment\";\nimport ProductVersionImageFileUpload from \"./haivision-product-version-image-upload\";\nimport HaivisionProductTypeAdd from \"./haivision-producttype-add\";\n\nconst HaivisionProductTypeDetail = (props) => {\n let { productTypeIdParam } = useParams();\n const [productTypeId, setProductTypeId] = useState(\n props.productTypeId == null ? productTypeIdParam : props.productTypeId\n );\n const [productType, setProductType] = useState(\"\");\n const [versions, setVersions] = useState(null);\n const [selectedVersion, setSelectedVersion] = useState(null);\n const [loading, setLoading] = useState(true);\n const [showNoVersionWarnning, setShowNoVersionWarnning] = useState(false);\n const [showProductVersionAdd, setShowProductVersionAdd] = useState(false);\n const [showProductLicenseOptionAdd, setShowProductLicenseOptionAdd] =\n useState(false);\n const [showProductLicenseOptionUpdate, setShowProductLicenseOptionUpdate] =\n useState(false);\n const [updateProductLicenseOption, setUpdateProductLicenseOption] =\n useState(null);\n const [isUpdateVersion, setIsUpdateVersion] = useState(false);\n const [\n showProductVersionImageAddUpdate,\n SetShowProductVersionImageAddUpdate,\n ] = useState(false);\n const [showProductVersionImageUpload, SetShowProductVersionImageUpload] =\n useState(null);\n const [metadataDto, SetMetadataDto] = useState(null);\n const [showProductTypeAdd,SetShowProductTypeAdd] = useState(false);\n\n const [showWarningdlg,SetShowWarningdlg] = useState(false);\n const [warningTitle, SetWarningTitle] = useState('Warning');\n const [warningContent, SetWarningContent] = useState([]);\n\n const [showNotification, setShowNotification] = useState(false)\n const handleCloseNotification = () => setShowNotification(false)\n const [resultMessage, SetResultMessage] = useState('')\n\n const [showInputFileNameModal, SetShowInputFileNameModal] = useState(false);\n const [fileName, SetFileName] = useState('');\n const [selectedImage, SetSelectedImage] = useState(null);\n\n\n useEffect(() => {\n getVersion();\n }, []);\n\n const getVersion = () => {\n setLoading(true);\n const requestVersion = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/\" +\n productTypeId +\n \"/ProductVersions\"\n );\n const requestProductType = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductTypes/\" +\n productTypeId\n );\n axios.all([requestVersion, requestProductType]).then(\n axios.spread((...responses) => {\n let tempVersions = sortByVersionDesc(responses[0].data).filter(\n (x) => x.active\n );\n setVersions(tempVersions);\n setSelectedVersion(tempVersions?.[0]);\n setProductType(responses[1].data);\n setShowNoVersionWarnning(tempVersions.length === 0);\n setLoading(false);\n })\n );\n };\n\n const getUpdatedVersionById = () => {\n setLoading(true);\n const requestVersion = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductTypes/ProductVersions/\" +\n selectedVersion.id\n ).then(response=>{\n setSelectedVersion(response.data);\n setVersions(values => values.map((item) => item.id === selectedVersion.id ? response.data: item));\n setLoading(false);\n })\n };\n\n const getProductTypeById = () => {\n setLoading(true);\n const requestVersion = axios.get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductTypes/\" +\n productType.id\n ).then(response=>{\n setProductType(response.data); \n setLoading(false);\n })\n };\n\n const sortByVersionDesc = (productVersions) => {\n if (productVersions?.length >= 1) {\n productVersions.sort((version1, version2) => {\n if (version1.majorVersion === version2.majorVersion) {\n if (version1.minorVersion === version2.minorVersion) {\n if (version1.patchVersion === version2.patchVersion) {\n // two same version, impossible\n } else if (version1.patchVersion > version2.patchVersion) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.minorVersion > version2.minorVersion) {\n return -1;\n } else {\n return 1;\n }\n } else if (version1.majorVersion > version2.majorVersion) {\n return -1;\n } else {\n return 1;\n }\n });\n }\n return productVersions;\n };\n\n\n const handleProductVersionAdd = () => {\n setShowProductVersionAdd(!showProductVersionAdd);\n setIsUpdateVersion(false); \n };\n\n const handleProductVersionUpdate = () => {\n setShowProductVersionAdd(!showProductVersionAdd);\n setIsUpdateVersion(true);\n };\n\n const handleProductLicenseOptionAdd = () => {\n setShowProductLicenseOptionAdd(!showProductLicenseOptionAdd);\n };\n\n const handleProductLicenseOptionUpdate = (opt) => {\n setShowProductLicenseOptionUpdate(!showProductLicenseOptionUpdate);\n setUpdateProductLicenseOption(\n updateProductLicenseOption == null ? opt : null\n );\n };\n\n const handleDeleteProductOptionData = (id) => {\n axios\n .delete(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductVersions/ProductLicenseOptions/\" +\n id\n )\n .then((response) => {\n getUpdatedVersionById();\n });\n };\n\n const onHideProductVersionImageUpdate = () => {\n SetShowProductVersionImageAddUpdate(false);\n };\n\n const handleProductVersionImageAdd = () => {\n SetShowProductVersionImageAddUpdate(true);\n SetMetadataDto(null);\n };\n\n const handleProductVersionImageUpdate = (image) => {\n SetShowProductVersionImageAddUpdate(true);\n SetMetadataDto(image);\n };\n\n const handleSubmitCreateSFDownloadLink = (image, fileName) =>{\n if(image.blobUri === '' || image.blobUri === null){\n alert('Blob Uri should not be empty!');\n return; \n }\n\n if(fileName === '' || fileName === null){\n alert('Salesforce File Name should not be empty!');\n return; \n }\n\n setLoading(true);\n\n axios\n .post(\n process.env.REACT_APP_METADATA_API_BASE_URL + \"/ReleaseMetadata/CreateDownloadCenterFileLink?blobUri=\"+image.blobUri+\"&title=\"+fileName\n )\n .then((reponse) => {\n setLoading(false);\n SetResultMessage('Create Salesforce download link successful!');\n setShowNotification(true);\n getUpdatedVersionById();\n });\n }\n\n const handleCreateSFDownloadLink= (image) => {\n\n SetSelectedImage(image);\n SetShowInputFileNameModal(true);\n }; \n\n const handleUpdateProductType = () =>{\n SetShowProductTypeAdd(true);\n }\n\n const handleHideProductType = () => {\n SetShowProductTypeAdd(false);\n }\n\n const handleProductVersionImageUpload = (image) => {\n SetShowProductVersionImageUpload(true);\n SetMetadataDto(image);\n };\n const onHideProductVersionImageUpload = () => {\n SetShowProductVersionImageUpload(false);\n };\n\n const handleProductVersionImageDownload = (image) => {\n axios\n .get(\n process.env.REACT_APP_METADATA_API_BASE_URL +\n `/ReleaseMetadata/GenerateDownloadLink?blobUri=${image.blobUri}&withRedirect=false`\n )\n .then((response) => {\n let url = response.data;\n window.open(url, \"\").focus();\n });\n };\n\n const handleProductVersionImageDelete = (id) => {\n axios\n .delete(\n process.env.REACT_APP_LIC_API_BASE_URL +\n \"/Products/ProductVersions/metadata/\" +\n id\n )\n .then((response) => {\n getUpdatedVersionById();\n });\n };\n\n const getSfLinkContent = (salesforceFileName, salesforceDownloadUrl) =>{\n if((salesforceFileName === null || salesforceFileName === '') && salesforceDownloadUrl != null && salesforceDownloadUrl !== ''){\n return 'Salesforce Download Link'\n }\n else if(salesforceFileName !== null && salesforceFileName !== '' && salesforceDownloadUrl !== null && salesforceDownloadUrl !== ''){\n return 'Salesforce Download ' + salesforceFileName;\n } \n else if((salesforceFileName === null || salesforceFileName === '') && (salesforceDownloadUrl === null || salesforceDownloadUrl === '')){\n return '';\n } \n else if((salesforceFileName !== null && salesforceFileName !== '') && (salesforceDownloadUrl === null || salesforceDownloadUrl === '')){\n return '';\n } \n }\n\n const getImageLinkContent = (salesforceFileName, imageLink) =>{\n if((salesforceFileName === null || salesforceFileName === '') && imageLink != null && imageLink !== ''){\n return 'Image Link';\n }\n else if(salesforceFileName !== null && salesforceFileName !== '' && imageLink !== null && imageLink !== ''){\n return 'Image Link ' + salesforceFileName;\n } \n else if((salesforceFileName === null || salesforceFileName === '') && (imageLink === null || imageLink === '')){\n return '';\n } \n else if((salesforceFileName !== null && salesforceFileName !== '') && (imageLink === null || imageLink === '')){\n return '';\n }\n }\n\n const handleWarningDlgOk = () =>{\n //alert('new name' + fileName + ', old name : ' + selectedImage.salesforceFileName);\n SetWarningContent(['This operation will generate a new file in salesforce download center,',\n 'but it will not remove the file with old salesforce file name.',\n 'Are you sure you want to create it?']);\n SetShowInputFileNameModal(false);\n SetShowWarningdlg(true);\n }\n\n const handleInputFileNameClose = () =>{\n SetShowInputFileNameModal(false);\n SetFileName('');\n }\n\n function handleChange(event) {\n SetFileName(event.target.value);\n }\n\n const handleWarningDlgCancel = () =>{\n SetFileName('');\n SetShowWarningdlg(false);\n }\n\n const handleInputFileNameConfirm = () =>{\n handleSubmitCreateSFDownloadLink(selectedImage, fileName);\n SetShowWarningdlg(false);\n SetFileName(''); \n }\n \n const showAction = (opt) => {\n if (opt.active !== true) {\n return
    ;\n }\n\n return (\n
    \n handleProductLicenseOptionUpdate(opt)}\n >\n \n \n handleDeleteProductOptionData(opt.id)}\n style={{ cursor: \"pointer\", paddingRight: \"10px\" }}\n >\n \n \n
    \n );\n };\n\n if (loading) {\n return (\n \n );\n } else {\n return (\n
    \n
    \n
    \n

    Available License Options

    {\" \"}\n (window.location = \"license/producttypes\")}\n >\n Back\n \n
    \n
    \n
    \n \n Current Version\n {\n var text = e.target.value;\n setSelectedVersion(\n versions.filter(\n (x) =>\n x.majorVersion +\n \".\" +\n x.minorVersion +\n \".\" +\n x.patchVersion ===\n text\n )[0]\n );\n }}\n >\n {versions &&\n versions.map((ver) => {\n return (\n \n {\" \"}\n {ver.majorVersion}.{ver.minorVersion}.{ver.patchVersion}\n \n );\n })}\n \n \n
    \n
    \n
    \n {\" \"}\n \n \n handleProductVersionUpdate()}\n >\n Update Version\n \n handleProductLicenseOptionAdd()}\n >\n Add License Option\n \n handleProductVersionImageAdd()}\n >\n Add Version Image\n \n
    \n \n \n \n Salesforce Library Name\n \n \n \n \n \n Salesforce Library Subfolder\n \n \n \n \n \n Published Date (Format : yyyy-mm-dd)\n \n \n \n \n \n Release Type\n \n \n \n \n \n Description\n \n \n \n \n
    \n \n \n
    Image Type
    \n
    Image Link
    \n
    Md5
    \n
    Sha1
    \n
    Sha2
    \n
    Blob URI
    \n
    SF Download URL
    \n
    SF File Name
    \n
    Actions
    \n \n {selectedVersion &&\n selectedVersion?.productVersionImages?.map((img) => {\n return (\n
    \n \n
    {img.imageType}
    \n
    \n \n {getImageLinkContent(img.salesforceFileName,img.imageLink)}\n \n
    \n
    {img.md5}
    \n
    {img.sha1}
    \n
    {img.sha2}
    \n
    {img.blobUri}
    \n
    \n \n \n {getSfLinkContent(img.salesforceFileName, img.salesforceDownloadUrl)}\n \n \n
    \n
    {img.salesforceFileName}
    \n
    \n
    \n \n handleProductVersionImageUpload(img)}\n />\n \n \n \n handleProductVersionImageDownload(img)\n }\n />\n \n {/*\n handleProductVersionImageUpdate(img)}\n />\n */}\n \n handleCreateSFDownloadLink(img)}\n />\n \n \n \n handleProductVersionImageDelete(img.id)\n }\n />\n \n
    \n
    \n \n
    \n );\n })}\n
    \n
    \n
    \n \n \n
    Section
    \n
    Item
    \n
    Value Name
    \n
    Available Values
    \n
    Description
    \n
    Status
    \n
    Actions
    \n \n {selectedVersion &&\n selectedVersion?.productLicenseOptions?.map((opt) => {\n return (\n \n \n
    {opt.licenseSection}
    \n
    {opt.licenseSectionItem}
    \n
    {opt.valueName}
    \n
    {opt.availableValues}
    \n
    {opt.description}
    \n
    {opt.active ? \"Active\" : \"Inactive\"}
    \n
    \n {\n /* \n this.handleProductLicenseOptionUpdate(opt)\n }\n >\n \n \n this.handleDeleteProductOptionData(opt.id)}\n style={{ cursor: \"pointer\", paddingRight: \"10px\" }}\n >\n \n */ showAction(opt)\n }\n
    \n \n
    \n );\n })}\n
    \n\n \n \n \n \n No Product Version Found\n \n {\n setShowNoVersionWarnning(false);\n }}\n >\n Close\n \n \n \n \n \n \n \n \n \n\n SetShowWarningdlg(false)}\n show={showWarningdlg}\n dynamicResizing={{ minWidth: 100, maxWidth: 500, margin: 100 }}\n buttons={[\n { label: 'CANCEL',onClick: () => handleWarningDlgCancel() },\n { label: 'YES', variant: 'danger' ,onClick: () => handleInputFileNameConfirm()},\n ]}\n />\n \n\n \n\n
    \n );\n }\n};\n\nfunction InputFileNameModal (props){\n const {handleOk, handleClose, fileName, onChange,show} = props;\n \n return (\n \n \n Please Input the salesforce file name\n \n \n \n Salesforce File Name\n \n \n \n \n \n \n \n \n ); \n}\n\nexport default HaivisionProductTypeDetail;\n","import axios from \"../../infra/axios\";\nimport React, { Component } from \"react\";\n\nclass KickerCaller extends Component {\n constructor(props) {\n super(props);\n this.state = { sessionId: null };\n }\n\n componentDidMount() {\n this.authenticate();\n this.getLicense();\n }\n\n authenticate() {\n axios\n .post(\n \"https://install.chi.haivision.com/vfkicker/admin.php\",\n \"'username=&password=&submit=+Login+'\"\n )\n .then((response) => {\n console.log(response);\n this.setState((prev) => {\n prev.sessionId = \"\";\n return prev;\n });\n });\n }\n\n getLicense() {\n axios\n .post(\n \"https://install.chi.haivision.com/vfkicker/admin.php?function=generateLicenseRun&hvhostid=1\",\n \"product=calypso&basis=3_7&licensedMac=44%3AA8%3A42%3A35%3A02%3A18&lic_request_num=&expiration=on&expiration_date=20220831&edition_select=Enterprise+-+S-HMP2-ENT&edition=Enterprise&concurrent_recordings=999&concurrent_users=888&sources=777&epg=on&iptv=on&multicast_agent=on&remote_storage=on&sso=on&vod=on&mobile_contribution=on&klv=on&ecdn=on&hmg_cloud=on&layouts=on&live_review=on&appspace=on&p2p=on&custom_build_types=1&lic_build_type_VF_RELEASE=on&lic_build_type_VF_BETA=on&lic_build_type_VF_ALPHA=on&lic_build_type_VF_DEV=on\"\n )\n .then((response) => {\n this.setState((prev) => {\n prev.licenseText = response.data;\n return prev;\n });\n });\n }\n\n render() {\n return
    ;\n }\n}\n\nexport default KickerCaller;\n","import React from 'react';\n\nconst EmsHubFlags = (props) => {\n return (<>\n
    \n {props?.account?.flags?.length >= 1 && \n (
    \n

    Ems Flags

    \n
    \n
      \n {props?.account?.flags?.map(f =>
    • {f}
    • )}\n
    \n
    \n
    )}\n \n {props?.account?.hub?.featureFlags?.length > 1 && \n (
    \n

    Hub Flags

    \n
    \n
      \n {props?.account?.hub?.featureFlags?.map(f =>
    • {f}
    • )}\n
    \n
    \n
    \n )}\n
    \n);\n}\n\nexport default EmsHubFlags;","import React from \"react\";\nimport propTypes from 'prop-types';\nimport { Button } from \"@hai/ui-react\";\n\nconst NavigationButtons = props => {\n\n const handleNextPage = () => {\n let nextPage = props.pageData.currentPage+1;\n props.setPageData({...props.pageData, currentPage: nextPage});\n let start = ((nextPage - 1) * props.pageData.pageSize);\n let end = nextPage * props.pageData.pageSize;\n props.setVisibleData(props.data.slice(start,end))\n window.history.replaceState('','', props.baseUrl + '/page/'+ nextPage)\n }\n\n const handlePreviousPage = () => {\n let previousPage = props.pageData.currentPage-1;\n props.setPageData({...props.pageData, currentPage: previousPage});\n let start = ((previousPage - 1) * props.pageData.pageSize);\n let end = previousPage * props.pageData.pageSize;\n props.setVisibleData(props.data.slice(start, end))\n window.history.replaceState('','', props.baseUrl + '/page/'+ previousPage)\n }\n\n return (
    \n \n

    {props.pageData.currentPage}

    \n \n
    );\n}\n\n\nNavigationButtons.propTypes = {\n baseUrl: propTypes.string.isRequired,\n pageData: propTypes.any.isRequired,\n setPageData: propTypes.func.isRequired,\n visibleData: propTypes.any.isRequired,\n setVisibleData: propTypes.func.isRequired,\n data: propTypes.array.isRequired,\n}\n\nexport default NavigationButtons;","import React, { useEffect, useState } from \"react\"\nimport axios from \"../../../infra/axios\"\nimport { Button, Dialog, FormControl, Header, List, ProgressBar } from \"@hai/ui-react\"\nimport { useParams } from \"react-router-dom\";\nimport { FormLabel } from \"react-bootstrap\";\nimport DeviceByAccountTable from \"./DeviceByAccountTable\";\nimport EmsHubFlags from \"./EmsHubFlags\";\nimport cogoToast from 'cogo-toast';\nimport NavigationButtons from \"../../common/Utils/NavigationButtons\";\n\nconst ListAllEmsAccounts = (props) => {\n const params = useParams();\n const [accounts, setAccounts] = useState(null);\n const [loading, setLoading] = useState(true);\n const [expandContent, setExpandContent] = useState(null);\n const [visibleData, setVisibleData] = useState(null);\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n const [userFilter, setUserFilter] = useState(params?.id);\n const [selectedAccount, setSelectedAccount] = useState(null);\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n\n useEffect(() => {\n //get all accounts\n axios.get(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts`).then(res => {\n setAccounts(res.data);\n let start = params?.pageNum != null ? ((params?.pageNum - 1) * pageData.pageSize) : 0;\n setVisibleData(res.data.slice(start, pageData.currentPage * pageData.pageSize));\n if (res.data.length < pageData.currentPage * pageData.pageSize) {\n console.log('invalid page');\n setVisibleData(res.data.slice(0, 1 * pageData.pageSize));\n }\n\n setLoading(false);\n });\n }, []);\n\n useEffect(() => {\n search();\n }, [accounts])\n\n const search = () => {\n if (userFilter === '*') {\n setVisibleData(accounts);\n } else if (userFilter) {\n var data = accounts?.filter(a => a.id === userFilter || a.name.includes(userFilter));\n setVisibleData(data);\n } \n else if (!userFilter && !params.pageNum) {\n setVisibleData(accounts?.slice(0, 10));\n setPageData({...pageData, currentPage: 1});\n window.history.replaceState('','', '/ems/accounts/page/1')\n } else if (params?.pageNum) {\n setVisibleDataFromPageNum(accounts);\n }\n }\n\n const deleteAccount = () => {\n axios.delete(process.env.REACT_APP_HUB_API_BASE_URL + `/EmsApi/accounts/${selectedAccount}`)\n .then(() => {\n cogoToast.success(\"Account deleted\", {position: \"top-right\"})\n setUserFilter(null);\n setAccounts(accounts.filter(a => a.id !== selectedAccount))\n setVisibleData(visibleData.filter(a => a.id !== selectedAccount));\n setSelectedAccount(null)\n })\n }\n\n const setVisibleDataFromPageNum = (data) => {\n if (data) {\n let start = params?.pageNum != null ? ((params?.pageNum - 1) * pageData.pageSize) : 0;\n setVisibleData(data.slice(start, pageData.currentPage * pageData.pageSize));\n if (data.length < pageData.currentPage * pageData.pageSize) {\n console.log('invalid page');\n setVisibleData(data.slice(0, 1 * pageData.pageSize));\n }\n }\n }\n\n return (<>\n
    \n
    \n
    \n Ems Id/Name\n setUserFilter(e.target.value)} defaultValue={params?.id}>\n \n
    \n
    \n {loading && }\n {\n visibleData && visibleData.map(a => {\n return (\n \n \n \n \n \n \n \n \n {\n setExpandContent(expanded ? eventKey : '')\n setSelectedAccount(a.id);\n }} />\n {\n setExpandContent(expanded ? eventKey : '')\n setSelectedAccount(a.id);\n }} />\n \n {\n setSelectedAccount(a.id);\n setShowDeleteDialog(true);\n }} />\n \n \n
    \n {expandContent == 'showDevices' && \n }\n {expandContent == 'showFlags' && \n }\n
    \n
    \n
    \n
    \n )\n })\n }\n\n {accounts &&\n \n \n }\n\n setShowDeleteDialog(false)}\n headline=\"Delete account?\"\n bodyText={`This action will delete the account ${selectedAccount}.`}\n buttons={[\n { label: 'CANCEL' },\n { label: 'DELETE', variant: 'danger', onClick: () => deleteAccount() },\n ]}\n >\n )\n }\n\nexport default ListAllEmsAccounts;","import React, { useEffect, useState } from \"react\"\nimport { Button, FormControl, Header, List, ProgressBar } from \"@hai/ui-react\"\nimport { FormLabel } from \"react-bootstrap\";\nimport axios from \"../../infra/axios\";\nimport { Col, Row } from \"reactstrap\";\nimport { useParams } from \"react-router-dom\";\nimport NavigationButtons from \"../common/Utils/NavigationButtons\";\n\nconst ToriiOrganizations = props => {\n\n const params = useParams();\n const [organizations, setOrganizations] = useState(null);\n const [loading, setLoading] = useState(true);\n const [expandContent, setExpandContent] = useState(null);\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n const [visibleData, setVisibleData] = useState(null);\n const [userFilter, setUserFilter] = useState(params?.id);\n\n\n useEffect(() => {\n getOrganizations();\n }, []);\n\n useEffect(() => {\n search();\n }, [organizations])\n\n const search = () => {\n if (userFilter === '*') {\n setVisibleData(organizations);\n }\n else if (userFilter) {\n var data = organizations?.filter(a => a.id === userFilter || a.name.includes(userFilter));\n setVisibleData(data);\n } \n else if (!userFilter && !params?.pageNum) {\n setVisibleData(organizations?.slice(0, 10));\n setPageData({...pageData, currentPage: 1});\n window.history.replaceState('','', '/torii/organizations/page/1')\n } else if (params?.pageNum) {\n setVisibleDataFromPageNum(organizations) \n }\n }\n \n const getOrganizations = () => {\n axios.get(`${process.env.REACT_APP_TORII_API_BASE_URL}/organizations`)\n .then(res => {\n setOrganizations(res.data)\n setVisibleDataFromPageNum(res.data);\n setLoading(false)\n })\n .catch(e => setLoading(false))\n }\n\n const setVisibleDataFromPageNum = (data) => {\n if (data) {\n let start = params?.pageNum != null ? ((params?.pageNum - 1) * pageData.pageSize) : 0;\n setVisibleData(data.slice(start, pageData.currentPage * pageData.pageSize));\n if (data.length < pageData.currentPage * pageData.pageSize) {\n console.log('invalid page');\n setVisibleData(data.slice(0, 1 * pageData.pageSize));\n }\n }\n }\n\n\n return (<>\n
    \n
    \n \n {loading && \n }\n\n {!loading && \n
    \n Organization Id/Name\n setUserFilter(e.target.value)} defaultValue={params?.id}>\n \n
    }\n { visibleData && visibleData.map(a => {\n return (\n\n \n \n \n \n \n \n \n \n {\n setExpandContent(expanded ? eventKey : '')\n }} />\n \n {\n window.open(`${window.location.origin}/torii/organizations/${a.id}/subscriptions`,'_blank')\n }} />\n \n \n
    \n {expandContent == 'showDetails' &&\n \n \n Description\n \n\n Tier\n \n \n\n \n Currency\n \n\n Domain\n \n \n\n }\n
    \n
    \n
    \n
    \n )\n })\n }\n\n {organizations &&\n \n }\n );\n}\n\nexport default ToriiOrganizations;","import React, { useEffect, useState } from \"react\"\nimport axios from \"../../infra/axios\";\nimport { Col, Row } from \"reactstrap\";\nimport { DataTable, ProgressBar } from \"@hai/ui-react\";\nimport { HaiDataTableColumnType } from \"@hai/ui-react/dist/types\";\n\nconst ToriiSalesforceItems = props => {\n\n const [items, setItems] = useState([]);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (props.contractId) {\n axios.get(`${process.env.REACT_APP_TORII_API_BASE_URL}/service-contracts/${props?.contractId}/contract-line-items`)\n .then(res => {\n setItems(res.data);\n setLoading(false);\n }).catch(e => setLoading(false))\n } else {\n setLoading(false)\n }\n },[]);\n\n if (loading) {\n return ()\n }\n \n return (<>\n {!props.contractId &&

    No contract set to find items.

    }\n
    \n \n \n \n {items && items.map((data, index) => {\n return ;\n })}\n \n
    \n )\n}\n\nexport default ToriiSalesforceItems;","import React, { useEffect, useState } from \"react\"\nimport axios from \"../../infra/axios\";\nimport { DataTable, ProgressBar } from \"@hai/ui-react\";\nimport { Col, Row } from \"reactstrap\";\n\nconst ToriiSalesforceAssets = props => {\n const [assets, setAssets] = useState([]);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (props?.contractId) {\n axios.get(`${process.env.REACT_APP_TORII_API_BASE_URL}/service-contracts/${props?.contractId}/assets`)\n .then(res => {\n setAssets(res.data);\n setLoading(false);\n }).catch(e => setLoading(false))\n } else {\n setLoading(false);\n }\n },[]);\n\n if (loading) {\n return ()\n }\n\n return (<>\n {!props?.contractId &&

    No contract set to find assets.

    }\n
    \n \n \n \n {assets && assets.map((data, index) => {\n return ;\n })}\n \n
    \n)\n}\n\nexport default ToriiSalesforceAssets;","import { DataTable, FormLabel, ProgressBar } from \"@hai/ui-react\";\nimport React, { useEffect, useState } from \"react\"\nimport { Col, Row } from \"reactstrap\";\nimport axios from \"../../infra/axios\";\n\nconst ToriiUsageBySubscription = props => {\n const [usage, setUsage] = useState(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (props.subscriptionId) {\n axios.get(`${process.env.REACT_APP_TORII_API_BASE_URL}/subscriptions/${props?.subscriptionId}/appliance/usage`)\n .then(res => {\n setUsage(res.data);\n setLoading(false);\n }).catch(e => setLoading(false))\n } else {\n setLoading(false);\n }\n },[]);\n\n\n if (loading) {\n return ()\n }\n \n return (<>\n
    \n Current usage\n {usage && \n
    \n \n \n Peak:

    {usage.peak}

    \n \n \n Previous Peak:

    {usage.peakPreviousPeriod}

    \n \n
    \n \n \n {usage?.details && \n \n \n \n {usage?.details && usage?.details.map((data, index) => {\n return ;\n })}\n \n }\n \n \n
    }\n
    \n )\n}\n\nexport default ToriiUsageBySubscription;","import React, { useEffect, useState } from \"react\"\nimport axios from \"../../infra/axios\";\nimport { Header, NotFound, ProgressBar, FormControl, List, FormLabel, Divider, Button } from \"@hai/ui-react\";\nimport { useParams } from \"react-router-dom\";\nimport { Row, Col } from \"reactstrap\";\nimport NavigationButtons from \"../common/Utils/NavigationButtons\";\nimport ToriiSalesforceItems from \"./ToriiSalesforceItems\";\nimport ToriiSalesforceAssets from \"./ToriiSalesforceAssets\";\nimport ToriiUsageBySubscription from \"./ToriiUsageBySubscription\";\n\nconst ToriiSubscriptions = (props) => {\n\n const params = useParams();\n const [subscriptions, setSubscriptions] = useState(null);\n const [loading, setLoading] = useState(true);\n const [notFound, setNotFound] = useState(false);\n const [expandContent, setExpandContent] = useState(null);\n const [isAllSubscriptions, setIsAllSubscriptions] = useState(true)\n\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n const [visibleData, setVisibleData] = useState(null);\n const [userFilter, setUserFilter] = useState(null);\n\n\n useEffect(() => {\n if (params.orgId) {\n setIsAllSubscriptions(false);\n getSubByOrgId(params.orgId);\n } else {\n getAllSubscriptions();\n }\n }, [])\n\n useEffect(() => {\n search();\n }, [subscriptions])\n\n const search = () => {\n if (!params.orgId) { \n if (userFilter === '*') {\n setVisibleData(subscriptions);\n setIsAllSubscriptions(true);\n } else if (userFilter) {\n var data = subscriptions?.filter(a => a.id === userFilter || a.name.includes(userFilter));\n setVisibleData(data);\n } else if (!userFilter && !params.pageNum) {\n setVisibleData(subscriptions?.slice(0, 10));\n setPageData({...pageData, currentPage: 1});\n window.history.replaceState('','', '/torii/subscriptions/page/1')\n } else if (params?.pageNum) {\n setVisibleDataFromPageNum(subscriptions);\n }\n }\n }\n\n const getSubByOrgId = (org) => {\n axios.get(`${process.env.REACT_APP_TORII_API_BASE_URL}/organizations/${org}/subscriptions`)\n .then(res => {\n setSubscriptions(res.data);\n setVisibleData(res.data);\n setLoading(false);\n })\n .catch(e => setLoading(false));\n } \n\n const getAllSubscriptions = () => {\n axios.get(`${process.env.REACT_APP_TORII_API_BASE_URL}/subscriptions`)\n .then(res => {\n setSubscriptions(res.data);\n setVisibleDataFromPageNum(res.data);\n setLoading(false);\n })\n .catch(e => setLoading(false));\n }\n\n const setVisibleDataFromPageNum = (data) => {\n if (data) {\n let start = params?.pageNum != null ? ((params?.pageNum - 1) * pageData.pageSize) : 0;\n setVisibleData(data.slice(start, pageData.currentPage * pageData.pageSize));\n if (data.length < pageData.currentPage * pageData.pageSize) {\n console.log('invalid page');\n setVisibleData(data.slice(0, 1 * pageData.pageSize));\n }\n }\n }\n\n return (
    \n
    \n

    \n {loading && \n }\n {!loading && subscriptions?.length === 0 &&\n

    No subscription found for this organization.

    }\n {!loading && isAllSubscriptions && \n
    \n Subscription Id/Name\n setUserFilter(e.target.value)} defaultValue={params?.id}>\n \n
    }\n\n {notFound && }\n {!notFound && visibleData && visibleData.map(a => {\n return (\n <>\n \n \n \n \n \n \n \n {\n setExpandContent(expanded ? eventKey : '')\n }} />\n \n \n
    \n {(expandContent === \"showDetails\"+a.id || subscriptions?.length === 1) &&\n
    \n \n \n Description:

    {a.description}

    \n \n \n Tier:

    {a.tier}

    \n \n \n Created:

    {a.CreatedOn}

    \n \n \n Support Status:

    {a.supportStatus}

    \n \n \n Salesforce Contract Id:

    {a.salesforceServiceContractId}

    \n \n \n Mcr Account Id:

    {a.mcrAccountId}

    \n \n \n Monthly Cost:

    {a.monthlyCost}

    \n \n
    \n \n
    \n SKUs\n
    \n \n {a.skus?.map(sku => {\n return (\n \n
    \n {sku.name}\n \n {sku.status}\n
    \n \n )\n })}\n
    \n
    \n
    \n
    \n }\n
    \n
    \n
    \n
    \n {console.log(subscriptions?.length)}\n\n {(subscriptions?.length === 1 || expandContent === \"showDetails\"+a.id) &&\n <>\n \n \n \n
    \n \n }\n \n )\n })}\n\n {isAllSubscriptions && subscriptions &&\n \n }\n\n
    )\n}\n\nexport default ToriiSubscriptions;","import React, { useEffect, useState } from \"react\"\nimport { Button, FormControl, Header, List, ProgressBar } from \"@hai/ui-react\"\nimport { FormLabel } from \"react-bootstrap\";\nimport axios from \"../../infra/axios\";\nimport { Col, Row } from \"reactstrap\";\nimport { useParams } from \"react-router-dom\";\nimport NavigationButtons from \"../common/Utils/NavigationButtons\";\n\nconst ToriiUsers = props => {\n const params = useParams();\n const [users, setUsers] = useState(null);\n const [loading, setLoading] = useState(true);\n const [notFound, setNotFound] = useState(false);\n const [expandContent, setExpandContent] = useState(null);\n const [visibleData, setVisibleData] = useState(null);\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n const [userFilter, setUserFilter] = useState(params?.id);\n \n useEffect(() => {\n getUsers();\n }, []);\n\n useEffect(() => {\n search();\n }, [users])\n\n const search = () => {\n if (userFilter === '*') {\n setVisibleData(users);\n }\n else if (!userFilter) {\n setVisibleData(users?.slice(0, 10));\n setPageData({...pageData, currentPage: 1});\n window.history.replaceState('','', '/torii/users/page/1')\n } else {\n var data = users?.filter(a => a.id === userFilter || a.name.includes(userFilter));\n setVisibleData(data);\n }\n }\n\n const getUsers = () => {\n axios.get(`${process.env.REACT_APP_TORII_API_BASE_URL}/torii-users`)\n .then(res => {\n setUsers(res.data)\n let start = params?.pageNum != null ? ((params?.pageNum - 1) * pageData.pageSize) : 0;\n setVisibleData(res.data.slice(start, pageData.currentPage * pageData.pageSize));\n if (res.data.length < pageData.currentPage * pageData.pageSize) {\n console.log('invalid page');\n setVisibleData(res.data.slice(0, 1 * pageData.pageSize));\n }\n setLoading(false)\n })\n .catch(e => setLoading(false))\n }\n\n \n return (\n <>\n
    \n
    \n {loading && \n }\n\n {users &&\n
    \n User Id/Name\n setUserFilter(e.target.value)} defaultValue={params?.id}>\n \n
    }\n { visibleData && visibleData.map(a => {\n return (\n\n \n \n \n \n \n \n \n {\n setExpandContent(expanded ? eventKey : '')\n }} />\n \n {/* {\n window.open(`${window.location.origin}/torii/organizations/${a.id}/subscriptions`,'_blank')\n }} /> */}\n \n \n
    \n {expandContent == 'showDetails' &&\n \n \n Email: {a.email}\n Role: {a.role}\n Last sign in: {a.lastSignIn}\n Status: {a.status}\n \n\n \n Subscriptions\n \n \n\n }\n
    \n
    \n
    \n
    \n )\n })\n }\n\n {users && visibleData &&\n \n }\n )\n}\n\nexport default ToriiUsers;","import React, { useCallback, useState } from \"react\";\nimport { AsyncTypeahead } from \"react-bootstrap-typeahead\";\nimport axios from \"../../../infra/axios\";\nimport { useParams } from \"react-router-dom\";\nimport propTypes from 'prop-types'\nimport { FormGroup } from \"@hai/ui-react\";\nimport { FormLabel } from \"react-bootstrap\";\n\nconst SelectUUIDBox = props => {\n var params = useParams();\n const [userFilter, setUserFilter] = useState(params?.id);\n const [loadingTypeahead, setLoadingTypeAhead] = useState(false);\n const [options, setOptions] = useState([]);\n const [selectedOption, setSelectedOption] = useState(null)\n const PER_PAGE = 30;\n const CACHE = {};\n\n const handlePagination = (e, shownResults) => {\n const cachedQuery = CACHE[userFilter];\n\n // Don't make another request if:\n // - the cached results exceed the shown results\n // - we've already fetched all possible results\n if (\n cachedQuery.options.length > shownResults ||\n cachedQuery.options.length === cachedQuery.total_count\n ) {\n return;\n }\n\n setLoadingTypeAhead(true);\n\n const page = cachedQuery.page + 1;\n\n makeAndHandleRequest(userFilter, page).then((resp) => {\n const options = cachedQuery.options.concat(resp.options);\n CACHE[userFilter] = { ...cachedQuery, options, page };\n\n setLoadingTypeAhead(false);\n setOptions(options);\n });\n };\n\n const handleInputChange = (q) => {\n setUserFilter(q);\n const { onInputChange } = props;\n if (onInputChange) {\n onInputChange(q);\n }\n }\n\n const makeAndHandleRequest = (filter, page = 1) => {\n return axios.get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/page/${page}/pageSize/${PER_PAGE}/filters/${filter}`)\n .then((resp) => resp.data)\n .then(({ data, totalCount }) => {\n const options = data.map((i) => ({\n serial: i?.serial,\n id: i.id,\n uuid: i.uuid,\n }));\n return { options, totalCount };\n }).catch(e => setLoadingTypeAhead(false));\n }\n\n const handleSearch = useCallback((q) => {\n if (CACHE[q]) {\n setOptions(CACHE[q].options);\n return;\n }\n setLoadingTypeAhead(true);\n makeAndHandleRequest(q).then((resp) => {\n CACHE[q] = { ...resp, page: 1 };\n setLoadingTypeAhead(false);\n setOptions(resp.options);\n });\n }, []);\n\n return (<>\n \n {props.label && \n {props.label}\n }\n `UUID: ${o.uuid} | SN: ${o.serial}`}\n isLoading={loadingTypeahead}\n maxResults={PER_PAGE - 1}\n onInputChange={handleInputChange}\n onChange={props.onChange}\n onPaginate={handlePagination}\n minLength={4}\n onSearch={handleSearch}\n options={options}\n filterBy={['uuid', 'serial']}\n paginate\n placeholder=\"Search for UUID or type new\"\n renderMenuItemChildren={(option) => (\n
    \n uuid: {option.uuid} | serial: {option.serial}\n
    \n )}\n style={{ marginBottom: '1rem' }}\n onBlur={props?.onBlur}\n />\n
    \n )\n}\n\nSelectUUIDBox.propTypes = {\n onChange: propTypes.func.isRequired,\n label: propTypes.string,\n onInputChange: propTypes.func,\n onBlur: propTypes.func\n}\n\nexport default SelectUUIDBox;","import { Button, Form, FormControl, FormGroup, FormLabel } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport SelectUUIDBox from \"./SelectUUIDBox\";\nimport cogoToast from \"cogo-toast\";\nimport { Col, Row } from \"reactstrap\";\n\nconst CreateAirProduct = props => {\n\n const [isNewProduct, setIsNewProduct] = useState(true)\n const [form, setForm] = useState({\n serialNumber: null,\n uuid: null,\n macAddress: null,\n productName: null,\n maupitiVersion: null,\n version: null,\n idTahiti: null,\n idCuracao: null,\n idBull: null,\n idPalma: null,\n idOleron: null,\n idMercury: null\n });\n\n const createAirProduct = () => {\n if (form.uuid && form.serialNumber) {\n axios.post(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${form.uuid}/AirSeries`, form)\n .then(a => {\n setForm({\n serialNumber: null,\n uuid: null,\n macAddress: null,\n productName: null,\n maupitiVersion: null,\n version: null,\n idTahiti: null,\n idCuracao: null,\n idBull: null,\n idPalma: null,\n idOleron: null,\n idMercury: null\n });\n cogoToast.success('Product created', { position: 'top-right' });\n })\n .catch(e => cogoToast.error(\"Failed to create Air Product.\", { position: 'top-right' }));\n } else {\n cogoToast.error('Select an UUID and Serial Number', { position: 'top-right' });\n }\n }\n\n const getProductBySerial = () => {\n if (form.serialNumber) {\n axios.get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/SerialNumber/${form.serialNumber}`)\n .then(a => setIsNewProduct(false))\n .catch(e => setIsNewProduct(true));\n }\n }\n\n const onChangeHandler = evt => {\n const { name, value } = evt.target\n setForm({\n ...form,\n [name]: value,\n })\n }\n\n return (<>\n
    \n \n \n {\n if (a && a[0]) {\n setForm({ ...form, uuid: a[0].uuid, serialNumber: a[0].serial });\n }\n }}\n onInputChange={i => {\n setForm({ ...form, uuid: i });\n }}\n onBlur={getProductBySerial}\n >\n \n {isNewProduct && \n \n Serial Number\n \n \n }\n \n \n MAC Address\n \n \n \n \n \n Product name\n \n \n \n \n \n \n \n Maupiti Version\n \n \n \n \n \n Version\n \n \n \n \n \n Tahiti Id\n \n \n \n \n\n \n \n \n Curacao Id\n \n \n \n \n \n Bull Id\n \n \n \n \n \n Palma Id\n \n \n \n \n\n\n \n \n \n Oleron Id\n \n \n \n \n \n Mercury Id\n \n \n \n \n\n \n\n
    \n )\n}\n\nexport default CreateAirProduct;","import { Button, Form, FormControl, FormGroup, FormLabel } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport SelectUUIDBox from \"./SelectUUIDBox\";\nimport cogoToast from \"cogo-toast\";\nimport { Col, Row } from \"reactstrap\";\n\nconst CreatePro4Product = props => {\n\n const [isNewProduct, setIsNewProduct] = useState(true)\n const [form, setForm] = useState({\n serialNumber: null,\n uuid: null,\n macAddress1: null,\n macAddress2: null,\n productName: null,\n kereonVersion: null,\n version: null,\n idSirocco: null,\n idTresco: null,\n idChergui: null,\n idMercury: null,\n idLavezzi: null\n });\n\n const createPro4Product = () => {\n if (form.uuid && form.serialNumber) {\n axios.post(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${form.uuid}/Pro4Series`, form)\n .then(a => {\n setForm({\n serialNumber: null,\n uuid: null,\n macAddress1: null,\n macAddress2: null,\n productName: null,\n kereonVersion: null,\n version: null,\n idSirocco: null,\n idTresco: null,\n idChergui: null,\n idMercury: null,\n idLavezzi: null\n });\n cogoToast.success('Product created', { position: 'top-right' });\n })\n .catch(e => cogoToast.error(\"Failed to create Pro4 Product.\", { position: 'top-right' }));\n } else {\n cogoToast.error('Select an UUID and Serial Number', { position: 'top-right' });\n }\n\n }\n\n const getProductBySerial = () => {\n if (form.serialNumber) {\n axios.get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/SerialNumber/${form.serialNumber}`)\n .then(a => setIsNewProduct(false))\n .catch(e => setIsNewProduct(true));\n }\n }\n\n const onChangeHandler = evt => {\n const { name, value } = evt.target\n setForm({\n ...form,\n [name]: value,\n })\n }\n\n return (<>\n
    \n \n \n {\n if (a && a[0]) {\n setForm({ ...form, uuid: a[0].uuid, serialNumber: a[0].serial });\n }\n }}\n onInputChange={i => {\n setForm({ ...form, uuid: i });\n }}\n onBlur={getProductBySerial}\n >\n \n {isNewProduct && \n \n Serial Number\n \n \n }\n \n \n MAC Address\n \n \n \n \n \n MAC Address 2\n \n \n \n \n\n \n \n Product name\n \n \n \n Kereon Version\n \n \n \n \n Version\n \n \n \n \n \n Sirocco Id\n \n \n \n \n\n \n\n \n \n Tresco Id\n \n \n \n \n \n Chergui Id\n \n \n \n \n \n Mercury Id\n \n \n \n \n \n Lavezzi Id\n \n \n \n\n \n\n
    \n )\n}\n\nexport default CreatePro4Product;","import { Button, Form, FormControl, FormGroup, FormLabel } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport SelectUUIDBox from \"./SelectUUIDBox\";\nimport cogoToast from \"cogo-toast\";\nimport { Col, Row } from \"reactstrap\";\n\nconst CreateProProduct = props => {\n const [isNewProduct, setIsNewProduct] = useState(true)\n const [form, setForm] = useState({\n serialNumber: null,\n uuid: null,\n macAddress1: null,\n macAddress2: null,\n productName: null,\n rosedoVersion: null,\n version: null,\n idBrehat: null,\n idTresco: null,\n idOuessant: null,\n idMercury: null,\n });\n\n const getProductBySerial = () => {\n if (form.serialNumber) {\n axios.get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/SerialNumber/${form.serialNumber}`)\n .then(a => setIsNewProduct(false))\n .catch(e => setIsNewProduct(true));\n }\n }\n\n const createProProduct = () => {\n if (form.uuid && form.serialNumber) {\n axios.post(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${form.uuid}/ProSeries`, form)\n .then(a => {\n setForm({\n serialNumber: null,\n uuid: null,\n macAddress1: null,\n macAddress2: null,\n productName: null,\n rosedoVersion: null,\n version: null,\n idBrehat: null,\n idTresco: null,\n idOuessant: null,\n idMercury: null,\n });\n cogoToast.success('Product created', { position: 'top-right' });\n })\n .catch(e => cogoToast.error(\"Failed to create Pro Product.\", { position: 'top-right' }));\n } else {\n cogoToast.error('Fill required fields', { position: 'top-right' });\n }\n }\n\n\n const onChangeHandler = evt => {\n const { name, value } = evt.target\n setForm({\n ...form,\n [name]: value,\n })\n }\n\n return (<>\n
    \n \n \n {\n if (a && a[0]) {\n setForm({ ...form, uuid: a[0].uuid, serialNumber: a[0].serial });\n }\n }}\n onInputChange={i => {\n setForm({ ...form, uuid: i });\n }}\n onBlur={getProductBySerial}\n >\n \n {isNewProduct && \n \n Serial Number\n \n \n }\n \n \n MAC Address\n \n \n \n \n \n MAC Address 2\n \n \n\n \n \n\n \n \n \n Product name\n \n \n\n \n \n \n Rosedo Version\n \n \n \n \n \n Version\n \n \n \n \n \n \n \n Brehat Id\n \n \n \n \n \n Tresco Id\n \n \n \n \n \n Ouessant Id\n \n \n \n \n \n Mercury Id\n \n \n \n \n \n\n
    \n )\n}\n\nexport default CreateProProduct;","import { Button, Form, FormControl, FormGroup, FormLabel } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport SelectUUIDBox from \"./SelectUUIDBox\";\nimport cogoToast from \"cogo-toast\";\nimport { Col, Row } from \"reactstrap\";\n\nconst CreateAwFunctionalTests = props => {\n\n const [isNewProduct, setIsNewProduct] = useState(true)\n const [form, setForm] = useState({\n serialNumber: null,\n uuid: null,\n nameTest: null,\n result: null,\n details: null,\n numberPass: null,\n dateTestOld: null,\n dateTest: null,\n });\n\n const createFunctionaltests = () => {\n if (form.uuid && form.serialNumber) {\n axios.post(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${form.uuid}/FunctionalTests`, form)\n .then(a => {\n setForm({\n serialNumber: null,\n uuid: null,\n nameTest: null,\n result: null,\n details: null,\n numberPass: null,\n dateTestOld: null,\n dateTest: null,\n });\n cogoToast.success('Test created', { position: 'top-right' });\n })\n .catch(e => cogoToast.error(\"Failed to create Funcional Test.\", { position: 'top-right' }));\n } else {\n cogoToast.error('Select an UUID and Serial Number', { position: 'top-right' });\n }\n }\n\n const getProductBySerial = () => {\n if (form.serialNumber) {\n axios.get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/SerialNumber/${form.serialNumber}`)\n .then(a => setIsNewProduct(false))\n .catch(e => setIsNewProduct(true));\n }\n }\n\n const onChangeHandler = evt => {\n console.log(evt)\n const { name, value } = evt.target\n setForm({\n ...form,\n [name]: value,\n })\n }\n\n return (<>\n
    \n \n \n {\n if (a && a[0]) {\n setForm({ ...form, uuid: a[0].uuid, serialNumber: a[0].serial });\n }\n }}\n onInputChange={i => {\n setForm({ ...form, uuid: i });\n }}\n onBlur={getProductBySerial}\n >\n \n {isNewProduct && \n \n Serial Number\n \n \n }\n \n \n Name test\n \n \n \n \n \n Result\n \n \n \n \n\n \n \n \n Details\n \n \n \n \n \n Number pass\n \n \n \n \n \n Old test date\n alert('invalid range')\n }}\n as=\"select\"\n name=\"dateTestOld\"\n onChange={a => setForm({ ...form, dateTestOld: a })}\n defaultValue={form.dateTestOld} />\n \n \n \n \n Test date\n alert('invalid range')\n }}\n as=\"select\"\n name=\"dateTest\"\n onChange={a => setForm({ ...form, dateTest: a })}\n defaultValue={form.dateTest} />\n \n \n \n\n \n
    \n )\n}\n\nexport default CreateAwFunctionalTests;","import { Button, Form, FormControl, FormGroup, FormLabel } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport SelectUUIDBox from \"./SelectUUIDBox\";\nimport cogoToast from \"cogo-toast\";\nimport { Col, Row } from \"reactstrap\";\n\nconst CreateAwModem = props => {\n\n const [isNewProduct, setIsNewProduct] = useState(true)\n const [form, setForm] = useState({\n serialNumber: null,\n uuid: null,\n type: null,\n macAddress: null,\n model: null,\n serial: null,\n revision: null,\n firmwareFull: null,\n details: null,\n skuId: null\n });\n\n const createAwModem = () => {\n if (form.uuid && form.serialNumber) {\n axios.post(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${form.uuid}/Modem`, form)\n .then(a => {\n setForm({\n serialNumber: null,\n uuid: null,\n type: null,\n macAddress: null,\n model: null,\n serial: null,\n revision: null,\n firmwareFull: null,\n details: null,\n skuId: null\n });\n cogoToast.success('Modem created', { position: 'top-right' });\n })\n .catch(e => cogoToast.error(\"Failed to create Modem.\", { position: 'top-right' }));\n } else {\n cogoToast.error('Select an UUID and Serial Number', { position: 'top-right' });\n }\n }\n\n const getProductBySerial = () => {\n if (form.serialNumber) {\n axios.get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/SerialNumber/${form.serialNumber}`)\n .then(a => setIsNewProduct(false))\n .catch(e => setIsNewProduct(true));\n }\n }\n\n const onChangeHandler = evt => {\n const { name, value } = evt.target\n setForm({\n ...form,\n [name]: value,\n })\n }\n\n return (<>\n
    \n \n \n {\n if (a && a[0]) {\n setForm({ ...form, uuid: a[0].uuid, serialNumber: a[0].serial });\n }\n }}\n onInputChange={i => {\n setForm({ ...form, uuid: i });\n }}\n onBlur={getProductBySerial}\n >\n \n {isNewProduct && \n \n Serial Number\n \n \n }\n \n \n Type\n \n \n \n \n \n Mac Address\n \n \n \n \n\n \n \n \n Model\n \n \n \n \n \n Serial\n \n \n \n \n \n Revision\n \n \n \n \n\n \n \n \n Details\n \n \n \n \n\n \n Firmware full\n \n \n \n \n \n SKU Id\n \n \n \n \n \n
    \n )\n}\n\nexport default CreateAwModem;","import { FormControl, FormGroup, FormLabel, Header, SelectOption } from \"@hai/ui-react\";\nimport React, { useState } from \"react\"\nimport CreateAwProduct from \"./CreateAwProduct\";\nimport CreateAirProduct from \"./CreateAirProduct\";\nimport CreatePro4Product from \"./CreatePro4Product\";\nimport CreateProProduct from \"./CreateProProduct\";\nimport CreateAwFunctionalTests from \"./CreateAWFunctionalTests\";\nimport CreateAwModem from \"./CreateAwModem\";\n\nconst CreateAllProducts = props => {\n const [formType, setFormType] = useState('air');\n\n const handleChange = evt => {\n setFormType(evt.target.value)\n }\n\n return (<>\n
    \n\n \n Type\n \n \n Air Series\n \n \n Pro Series\n \n \n Pro 4 Series\n \n \n Functional Test\n \n \n Modem\n \n \n \n\n {formType === 'air' && }\n {formType === 'pro' && }\n {formType === 'pro4' && }\n {formType === 'func' && }\n {formType === 'modem' && }\n\n );\n}\n\nexport default CreateAllProducts;","import { Button, Header, List, Modal, ModalBody, ModalFooter, ModalHeader, Pagination, ProgressBar } from \"@hai/ui-react\";\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport axios from \"../../../infra/axios\";\nimport { useParams } from \"react-router-dom\";\nimport moment from \"moment\";\nimport cogoToast from \"cogo-toast\";\nimport { AsyncTypeahead } from \"react-bootstrap-typeahead\";\nimport SelectUUIDBox from \"./SelectUUIDBox\";\nimport { Col, Row } from \"reactstrap\";\nimport CreateAllProducts from \"./CreateAllProducts\";\n\nconst AWBenchProducts = (props) => {\n var params = useParams();\n const [products, setProducts] = useState(null);\n const [loading, setLoading] = useState(true);\n const [visibleData, setVisibleData] = useState(null);\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 12\n });\n const [openCreateModal, setOpenCreateModal] = useState(false);\n\n useEffect(() => {\n getAwProducts(pageData.currentPage, pageData.pageSize);\n }, []);\n\n const getAwProducts = (currentPage, size) => {\n setLoading(true);\n axios\n .get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/page/${currentPage}/pageSize/${size}`)\n .then((res) => {\n setProducts(res.data);\n setVisibleData(res.data.data);\n setLoading(false);\n })\n .catch((e) => setLoading(false));\n };\n\n return (\n <>\n
    \n
    \n {loading && (\n \n )}\n\n\n {/* CREATE BUTTON */}\n \n window.open(`${window.location.origin}/products/awbench/uuid/${i[0].uuid}`, '_blank')}>\n\n
    \n\n {/* LIST VIEW */}\n {!loading && visibleData &&\n visibleData.map((a) => {\n return (\n \n \n \n \n \n \n \n\n \n \n window.open(`${window.location.origin}/products/awbench/uuid/${a.uuid}`, '_blank')}>\n \n \n \n )\n })\n }\n
    \n\n {\n if (products.hasNextPage || newPage <= products?.totalPages) {\n setPageData({ currentPage: newPage, pageSize: pageData.pageSize });\n getAwProducts(newPage, pageData.pageSize);\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n />\n \n Create Product\n \n \n \n \n setOpenCreateModal(false)}\n >\n Close\n \n \n \n \n );\n};\n\nexport default AWBenchProducts;\n","import { DataTable } from \"@hai/ui-react\";\nimport React from \"react\";\n\nconst AwModemsDataTable = props => {\n\n return (\n \n \n \n\n {props?.modems && props?.modems.map((data, index) => {\n return ;\n })}\n \n )\n}\n\nexport default AwModemsDataTable;","import { DataTable } from \"@hai/ui-react\";\nimport React from \"react\";\n\nconst AwFunctionalTestsDataTable = props => {\n\n return (\n \n \n \n\n {props?.functionalTests && props?.functionalTests.map((data, index) => {\n return ;\n })}\n \n )\n}\n\nexport default AwFunctionalTestsDataTable;","import { DataTable, FormLabel } from \"@hai/ui-react\";\nimport React from \"react\";\nimport { Col, Row } from \"reactstrap\";\n\nconst AwAirSeriesDataTable = props => {\n\n return (<>\n \n

    Air Series

    \n
    \n \n UUID:

    {props.air?.uuid}

    \n Mac Address:

    {props.air?.macAddress}

    \n Product name:

    {props.air?.productName}

    \n Maupiti version:

    {props.air?.maupitiVersion}

    \n Version:

    {props.air?.version}

    \n
    \n \n Tahiti Id:

    {props.air?.idTahiti}

    \n Palma Id:

    {props.air?.idPalma}

    \n Bull Id:

    {props.air?.idBull}

    \n Oleron Id:

    {props.air?.idOleron}

    \n Mercury Id:

    {props.air?.idMercury}

    \n
    \n\n
    \n \n )\n}\n\nexport default AwAirSeriesDataTable;","import { DataTable, FormLabel } from \"@hai/ui-react\";\nimport React from \"react\";\nimport { Col, Row } from \"reactstrap\";\n\nconst AwProSeriesDataTable = props => {\n\n return (<>\n \n

    Pro Series

    \n
    \n \n UUID:

    {props.pro?.uuid}

    \n Mac Address:

    {props.pro?.macAddress1}

    \n Mac Address 2:

    {props.pro?.macAddress2}

    \n Name:

    {props.pro?.productName}

    \n Rosedo version:

    {props.pro?.rosedoVersion}

    \n
    \n\n \n Version:

    {props.pro?.version}

    \n Brehat Id:

    {props.pro?.idBrehat}

    \n Tresco Id:

    {props.pro?.idTresco}

    \n Mercury Id:

    {props.pro?.idMercury}

    \n
    \n \n )\n}\n\nexport default AwProSeriesDataTable;","import { DataTable, FormLabel } from \"@hai/ui-react\";\nimport React from \"react\";\nimport { Col, Row } from \"reactstrap\";\n\nconst AwPro4SeriesDataTable = props => {\n\n return (\n <>\n \n

    Pro 4 Series

    \n
    \n \n UUID:

    {props.pro4?.uuid}

    \n Mac Address:

    {props.pro4?.macAddress1}

    \n Mac Address 2:

    {props.pro4?.macAddress2}

    \n Name:

    {props.pro4?.productName}

    \n Kereon version:

    {props.pro4?.kereonVersion}

    \n
    \n \n Version:

    {props.pro4?.version}

    \n Sirocco Id:

    {props.pro4?.idSirocco}

    \n Tresco Id:

    {props.pro4?.idTresco}

    \n Mercury Id:

    {props.pro4?.idMercury}

    \n Chergui Id:

    {props.pro4?.idChergui}

    \n
    \n\n \n Lavezzi Id:

    {props.pro4?.idLavezzi}

    \n
    \n \n )\n}\n\nexport default AwPro4SeriesDataTable;","import React, { useEffect, useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport axios from \"../../../infra/axios\";\nimport { DataTable, Header } from \"@hai/ui-react\";\nimport AwModemsDataTable from \"./AwModemsDataTable\";\nimport AwFunctionalTestsDataTable from \"./AwFunctionalTestsDataTable\";\nimport AwAirSeriesDataTable from \"./AwAirSeriesDataTable\";\nimport AwProSeriesDataTable from \"./AwProSeriesDataTable\";\nimport AwPro4SeriesDataTable from \"./AwPro4SeriesDataTable\";\n\nconst AwProductDetails = props => {\n const params = useParams();\n const [loadingTests, setLoadingTests] = useState(true)\n const [loadingPro, setLoadingPro] = useState(true)\n const [loadingPro4, setLoadingPro4] = useState(true)\n const [loadingModems, setLoadingModems] = useState(true)\n const [loadingAir, setLoadingAir] = useState(true)\n const [modems, setModems] = useState([])\n const [tests, setTests] = useState([])\n const [pro4, setPro4] = useState({})\n const [pro, setPro] = useState({})\n const [air, setAir] = useState({})\n\n useEffect(() => {\n if (params?.uuid) {\n getFunctionalTests();\n getModems();\n getPro4();\n getPro();\n getAir();\n }\n }, []);\n\n const getFunctionalTests = () => {\n axios\n .get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${params?.uuid}/FunctionalTests`)\n .then((res) => {\n setTests(res.data);\n setLoadingTests(false);\n })\n .catch((e) => setLoadingTests(false));\n };\n\n const getModems = () => {\n axios\n .get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${params?.uuid}/Modem`)\n .then((res) => {\n setModems(res.data);\n setLoadingModems(false);\n })\n .catch((e) => setLoadingModems(false));\n };\n\n const getPro4 = () => {\n axios\n .get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${params?.uuid}/Pro4Series`)\n .then((res) => {\n setPro4(res.data);\n setLoadingPro4(false);\n })\n .catch((e) => setLoadingPro4(false));\n };\n\n\n const getPro = () => {\n axios\n .get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${params?.uuid}/ProSeries`)\n .then((res) => {\n setPro(res.data);\n setLoadingPro(false);\n })\n .catch((e) => setLoadingPro(false));\n };\n\n const getAir = () => {\n axios\n .get(`${process.env.REACT_APP_PRODUCTION_API_BASE_URL}/Legacy/AwProducts/Uuid/${params?.uuid}/AirSeries`)\n .then((res) => {\n setAir(res.data);\n setLoadingAir(false);\n })\n .catch((e) => setLoadingAir(false));\n };\n\n\n return (<>\n
    \n\n
    \n {!loadingAir && Object.keys(air).length !== 0 &&\n }\n
    \n
    \n {!loadingPro && Object.keys(pro).length !== 0 &&\n }\n
    \n
    \n {!loadingPro && Object.keys(pro4).length !== 0 &&\n }\n
    \n
    \n {!loadingModems &&\n }\n
    \n
    \n {!loadingTests &&\n }\n
    \n\n )\n}\n\nexport default AwProductDetails;","import React, {useState, useEffect} from 'react'\nimport { Header, \n Button,\n Icon,\n List,\n ListHeader,\n TableRow,\n FormGroup,\n FormLabel,\n FormControl, \n ProgressBar,\n Pagination,\n Spinner} from \"@hai/ui-react\";\n import { Col, Row } from \"reactstrap\";\n import axios from \"../../../infra/axios\";\n import { useNavigate, useParams } from \"react-router-dom\";\n\nconst HaivisionWorkOrderDetail = (props) =>{\n\n let {workOrderId} = useParams();\n const navigate = useNavigate();\n const [workOrderNumber, setWorkOrderNumber] = useState(props.workOrderId || workOrderId);\n const [units, SetUnits] = useState([]);\n const [workOrder, SetWorkOrder] = useState(null);\n const [btnVisible, setBtnVisible] = useState(true);\n const [loading, setLoading] = useState(false);\n const [currentPage, SetCurrentPage] = useState(1);\n const [totalPage, SetTotalPage] = useState(0);\n const [unitPage, SetUnitPage] = useState([]);\n const pageCount = 10;\n\n\n useEffect(() => {\n getWorkOrderByWorkOrderNumber();\n }, []);\n\n\n const getWorkOrderByWorkOrderNumber = () => {\n\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n \"/Legacy/WorkOrders/workOrderNumber/\" + workOrderNumber\n )\n .then((response) => {\n if(response.data){\n const wo = response.data;\n SetWorkOrder(wo);\n getUnitsOfWorkOrders();\n }\n }); \n};\n\n\nconst getUnitsOfWorkOrders = () => {\n\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n \"/Legacy/workOrders/workOrderNumber/\" + workOrderNumber + \"/Units\"\n )\n .then((response) => {\n if(response.data){\n const units = response.data;\n SetUnits(units);\n\n SetUnitPage (units?.slice(0, pageCount));\n let total = units?.length % pageCount === 0? Math.floor(units?.length / pageCount) : Math.floor(units?.length / pageCount) + 1; \n SetTotalPage(total);\n\n var lackOfMac = units.filter((unit)=>unit.macAddress === '');\n if(lackOfMac.length === units.length){\n setBtnVisible(false);\n } \n else{\n setBtnVisible(true);\n } \n }\n setLoading(false);\n }); \n };\n\n const AssignMacAddressToUnits= () =>{\n setLoading(true);\n axios\n .post(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n \"/Legacy/workOrders/workOrderNumber/\" + workOrderNumber + \"/Units/AssignMacAddress\"\n )\n .then((response) => {\n if(response.data){\n const units = response.data;\n SetUnits(units);\n var lackOfMac = units.filter((unit)=>unit.macAddress === '');\n if(lackOfMac.length === units.length){\n setBtnVisible(false);\n } \n else{\n setBtnVisible(true);\n } \n }\n setLoading(false);\n }); \n }\n\n return (\n
    \n { loading && }\n {!loading &&
    \n \n
    \n \n \n Work Order Number\n \n \n \n Work Order Factory Name\n \n \n \n \n \n Serial Number First\n \n \n \n Serial Number Last\n \n \n \n \n \n Comments\n \n \n \n
    \n
    \n
    \n
    \n \n \n
    Model
    \n
    Serial Number
    \n
    Mac Address
    \n
    Date Created
    \n \n {unitPage &&\n unitPage.map((unit) => {\n return (\n
    \n \n
    {unit.model}
    \n
    {unit.serialNumber}
    \n
    {unit.macAddress}
    \n
    {new Date(unit.dateCreated).toUTCString()}
    \n \n
    \n );\n })}\n
    \n
    \n{/* \n
    */}\n \n {\n //alert(`New page: ${newPage} Previous Page: ${previousPage}`);\n SetUnitPage (units.slice((newPage - 1) * pageCount, newPage * pageCount));\n SetCurrentPage(newPage);\n }\n }\n />\n
    \n
    }\n
    \n \n );\n\n}\n\nexport default HaivisionWorkOrderDetail;","import React, { useState, useEffect } from 'react'\nimport {\n Header,\n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Button,\n SelectOption,\n ProgressBar,\n List,\n ListHeader,\n TableRow,\n} from \"@hai/ui-react\";\n\nimport { Col, Row } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport Select from \"react-select\";\n\nconst WorkOrderAdd = (props) => {\n //const [modelFilter, setModelFilter] = useState([]);\n const [modelFilterStr, setModelFilterStr] = useState('');\n const [models, setModels] = useState([]);\n const [modelOptions, setModelOptions] = useState([]);\n const [selectedModel, SetSelectedModel] = useState('');\n const [locations, setLocations] = useState([]);\n const [selectedLocation, SetSelectedLocation] = useState('');\n const [year, setYear] = useState(parseInt(new Date().getFullYear().toString().substr(-2))); //format - 00\n const [week, setWeek] = useState(1); //format - 01~53\n const [lot, setLot] = useState(1);//format 01~99\n const [existingWO, setExistingWO] = useState([])//01~999\n const [count, setCount] = useState(50)//01~999\n const [comment, setComment] = useState('')\n const [loading, setLoading] = useState(false);\n const [userName, setUserName] = useState('');\n\n useEffect(() => {\n setUserName(sessionStorage.getItem(\"user.name\"));\n }, [])\n \n useEffect(() => {\n getWorkOrderByWorkOrderNumber();\n}, [selectedLocation, year, week]);\n\nuseEffect(() => {\n var week = getWeekNumber(new Date());\n setWeek(week);\n}, []);\n\n const handleCreate = () => {\n\n var woDto = {\n workOrderNumber: '',\n workOrderFactoryName: '',\n orderCount: '',\n\n modelId: '',\n comments: \"\"\n }\n\n if (week < 1 || week > 53) {\n alert('Week should be a number from 1 to 53!');\n return;\n }\n\n if (lot < 1 || lot > 99) {\n alert('Lot should be a number from 1 to 99!');\n return;\n }\n\n if (count < 1 || count > 999) {\n alert('Count should be a number from 1 to 999!');\n return;\n }\n\n if (selectedLocation === '' || selectedLocation === undefined || selectedLocation === null) {\n alert('Please select a location!');\n return;\n }\n\n if (selectedModel === '' || selectedModel === undefined || selectedModel === null) {\n alert('Please select a model!');\n return;\n }\n\n if (comment && comment.length > 200) {\n alert('The max length of comments is 200!');\n return;\n }\n\n var code = String(locations.filter(x => x.name === selectedLocation)[0].code);\n woDto.workOrderNumber = `${code.padStart(2, '0')}${year.toString().substr(-2)}${week.toString().padStart(2, '0')}${lot.toString().padStart(2, '0')}`;\n woDto.workOrderFactoryName = selectedLocation;\n woDto.orderCount = count.toString().padStart(2, '0');\n woDto.modelId = models.filter(x => x.description === selectedModel)[0].id;\n woDto.comments = 'User : ' + userName + ', Model: ' + selectedModel + ', Comment : ' + comment;\n\n setLoading(true);\n axios\n .post(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL + \"/Legacy/WorkOrders\",\n woDto\n )\n .then((reponse) => {\n handleHideModal(false);\n })\n .finally(() => {\n setLoading(false);\n });\n\n\n }\n\n const getWorkOrderByWorkOrderNumber = () => {\n \n var workOrderNumberWithoutLot = GetFilterWo();\n if (workOrderNumberWithoutLot === '') {\n return;\n }\n\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n \"/Legacy/WorkOrders/WorkOrderNumberWithoutLot/\" + workOrderNumberWithoutLot\n )\n .then((response) => {\n if(response.data){\n const wo = response.data;\n setExistingWO(wo);\n\n if(wo.length >= 1){\n const maxItem = wo.reduce((max, c) => parseInt(c.workOrderNumber.slice(-2)) > parseInt(max.workOrderNumber.slice(-2)) ? c : max) // 'abx'\n setLot(parseInt(maxItem.workOrderNumber.slice(-2)) + 1);\n }\n else{\n setLot(1);\n }\n\n }\n })\n .finally(() => {\n setLoading(false);\n }); \n};\n\nconst GetFilterWo = () => {\n \n if (selectedLocation === '' || selectedLocation === undefined || selectedLocation === null) {\n return '';\n } \n\n if (week === '' || week === undefined || week === null) {\n return '';\n }\n\n var code = String(locations.filter(x => x.name === selectedLocation)[0].code);\n return `${code.padStart(2, '0')}${year.toString().substr(-2)}${week.toString().padStart(2, '0')}`;\n}\n\n const handleHideModal = (isCancelled) => {\n\n //setModelFilter(models);\n setModelFilterStr('');\n //setModels([]);\n SetSelectedModel(models[1].description);\n //setLocations([]);\n SetSelectedLocation(locations[0].name);\n setYear(parseInt(new Date().getFullYear().toString().substr(-2))); //format - 00\n var week = getWeekNumber(new Date());\n setWeek(week);\n setLot(1);//format 01~99\n setCount(50)//01~999\n setLoading(false);\n\n props.onHide();\n if(!isCancelled){\n props.onLoadWorkOrders(1, 12);\n } \n }\n\n\n useEffect(() => {\n GetModels();\n GetLocations();\n\n }, []);\n\n const GetModels = () => {\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n \"/Legacy/Models?PageNumber=1&PageSize=1000\"\n )\n .then((response) => {\n if (response.data) {\n const models = response.data;\n setModels(models.data);\n let modelOptions = models.data.map(item => {\n return { value: item.description, label: item.description };\n });\n setModelOptions(modelOptions);\n\n //setModelFilter(models);\n //SetSelectedModel(models[1].description);\n }\n setLoading(false);\n });\n }\n\n const GetLocations = () => {\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n \"/Legacy/Locations\"\n )\n .then((response) => {\n if (response.data) {\n const locations = response.data;\n setLocations(locations);\n SetSelectedLocation(locations[0].name);\n }\n setLoading(false);\n });\n }\n\n const filterModel = (filterStr) => {\n setModelFilterStr(filterStr);\n var filterdModels = models.filter(x => x.description.toLowerCase()===filterStr.toLowerCase());\n if (filterdModels.length > 0) {\n SetSelectedModel(filterdModels[0].description);\n }\n }\n\n const getWeekNumber = (dateIn) => {\n // Copy date so don't modify original\n dateIn = new Date(Date.UTC(dateIn.getFullYear(), dateIn.getMonth(), dateIn.getDate()));\n // Set to nearest Thursday: current date + 4 - current day number\n // Make Sunday's day number 7\n dateIn.setUTCDate(dateIn.getUTCDate() + 4 - (dateIn.getUTCDay()||7));\n // Get first day of year\n var yearStart = new Date(Date.UTC(dateIn.getUTCFullYear(),0,1));\n // Calculate full weeks to nearest Thursday\n var weekNo = Math.ceil(( ( (dateIn - yearStart) / 86400000) + 1)/7);\n // Return array of year and week number\n return weekNo;\n}\n\n const customStyles = {\n option: (provided, state) => ({\n ...provided,\n color: \"#777782\",\n background: \"#33333c\",\n }),\n };\n\n const inputStyle = {color: \"white\", background: \"#33333c\", height : \"40px\"};\n\n return (\n
    \n {\n
    \n \n {loading && }\n \n Create Work Order\n \n \n
    \n
    \n \n \n \n filterModel(e.value)}\n />\n \n \n \n
    \n \n \n \n Location\n {\n var text = e.target.value;\n SetSelectedLocation(text);\n }}\n >\n {locations &&\n locations.map((x) => {\n return {x.name};\n })}\n \n \n \n \n \n Year\n setYear(e.target.value)}>\n \n \n \n \n Week\n setWeek(e.target.value)}>\n \n \n \n \n Lot\n setLot(e.target.value)}>\n \n \n \n
    \n \n \n \n Count\n setCount(e.target.value)}>\n \n \n \n \n \n \n Comment (Max length 200 characters)\n setComment(e.target.value)}> \n \n \n \n \n \n
    \n \n \n \n
    Factory
    \n
    Work Number
    \n
    Serial Number From
    \n
    Serial Number To
    \n
    Date Created
    \n
    Comment
    \n \n {existingWO &&\n existingWO.map((wo) => {\n return (\n
    \n \n
    {wo.workOrderFactoryName}
    \n
    {wo.workOrderNumber}
    \n
    {wo.workOrderFirstSerialNumber}
    \n
    {wo.workOrderLastSerialNumber}
    \n
    {new Date(wo.dateCreated).toUTCString()}
    \n
    {wo.comments}
    \n \n
    \n );\n })}\n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    }\n
    \n );\n}\nexport default WorkOrderAdd;","import React, { useState, useEffect } from 'react'\nimport {\n Header,\n Button,\n Icon,\n List,\n ListHeader,\n TableRow,\n Pagination,\n FormLabel,\n FormControl,\n ProgressBar,\n OverlayTrigger,\n Spinner\n} from \"@hai/ui-react\";\nimport { Col, Row } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport WorkOrderAdd from \"./haivision-work-order-add\";\nimport { useParams } from \"react-router-dom\";\nimport cogoToast from \"cogo-toast\";\n\nconst HaivisionWorkOrder = () => {\n var params = useParams();\n const [workOrders, SetWorkOrders] = useState(null);\n const [showCreateWOModal, setShowCreateWOModal] = useState(false);\n const [filteredWorkOrders, SetfilteredWorkOrders] = useState(null);\n const [loading, setLoading] = useState(false);\n const [woFilter, setWoFilter] = useState('');\n const [filterParams, setFilterParams] = useState([]);\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n const OrderBy = JSON.stringify([{'Id':'DateCreated', 'Desc':true}]);\n\n useEffect(() => {\n getWorkOrders(1, 12);\n\n }, []);\n\n const filterByWorkOrderNumber = (filterstr, workOrders) => {\n if (filterstr === '' || filterstr === undefined || filterstr.trim() === '') {\n SetfilteredWorkOrders(workOrders);\n }\n else {\n var filteredWos = workOrders.filter(x => x.workOrderNumber.toLowerCase().includes(filterstr.toLowerCase()));\n SetfilteredWorkOrders(filteredWos);\n }\n }\n\n const getWorkOrders = (page, pageSize) => {\n\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n `/Legacy/WorkOrders/all?PageNumber=${page}&PageSize=${pageSize}&ColumnFilters=${JSON.stringify(filterParams)}&OrderBy=${OrderBy}`\n )\n .then((response) => {\n if (response.data) {\n const workOrdersAll = response.data;\n workOrdersAll.data.sort(function (a, b) {\n return new Date(b.dateCreated) - new Date(a.dateCreated);\n });\n SetWorkOrders(workOrdersAll);\n setPageData({ currentPage: response.data.pageIndex, pageSize: response.data.pageSize })\n SetfilteredWorkOrders(workOrdersAll);\n // filterByWorkOrderNumber(woFilter, workOrdersAll);\n }\n setLoading(false);\n });\n };\n\n const OnHideCreateModel = () => {\n setShowCreateWOModal(false);\n }\n\n const handleDetails = (id) => {\n window.location = window.location + \"/\" + id;\n }\n\n return (\n
    \n {loading && }\n {!loading &&
    \n
    \n \n \n Filter by Work Order Number\n {\n let tempSet = filterParams.filter(f => f.id !== \"workOrderNumber\");\n if (e.target.value !== \"\") {\n tempSet.push({\n id: 'workOrderNumber',\n Value: e.target.value,\n Comparator: 'Contains'\n });\n setFilterParams(tempSet);\n } else {\n setFilterParams(tempSet);\n }\n setWoFilter(e.target.value);\n }\n }\n />\n \n \n \n \n \n
    \n \n \n \n \n \n
    \n \n \n
    Factory Name
    \n
    Work Number
    \n
    Serial Number From
    \n
    Serial Number To
    \n
    Date Created
    \n
    Comments
    \n
    Action
    \n \n {filteredWorkOrders &&\n filteredWorkOrders.data.map((wo) => {\n return (\n
    \n \n
    {wo.workOrderFactoryName}
    \n
    {wo.workOrderNumber}
    \n
    {wo.workOrderFirstSerialNumber}
    \n
    {wo.workOrderLastSerialNumber}
    \n
    {new Date(wo.dateCreated).toUTCString()}
    \n
    {wo.comments}
    \n
    \n handleDetails(wo.workOrderNumber)}\n >\n \n \n
    \n \n
    \n );\n })}\n
    \n {\n if (workOrders.hasNextPage || newPage <= workOrders?.totalPages) {\n setPageData({ currentPage: newPage, pageSize: pageData.pageSize });\n getWorkOrders(newPage, pageData.pageSize);\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n />\n OnHideCreateModel()}\n onLoadWorkOrders={() => getWorkOrders(1, 12)}\n />\n
    }\n
    \n\n );\n\n}\n\nexport default HaivisionWorkOrder;","import React, {useState, useEffect} from 'react'\nimport { Header, \n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Button,\n Notification,\n ProgressBar} from \"@hai/ui-react\";\n\nimport { Col, Row } from \"reactstrap\";\n\nimport axios from \"../../../infra/axios\";\nimport Select from \"react-select\";\n\nconst HaivisionUUTSAdd = (props) =>{\n const [modelFilter, setModelFilter] = useState([]);\n const [modelFilterStr, setModelFilterStr] = useState('');\n const [models, setModels] = useState([]);\n const [modelOptions, setModelOptions] = useState([]);\n const [selectedModel, SetSelectedModel] = useState('');\n const [loading, setLoading] = useState(false);\n const [serialNumbers, SetSerialNumbers] = useState('');\n const [showNotification, SetShowNotification] = useState(false);\n\n useEffect(() => {\n GetModels();\n\n }, []);\n \n const GetModels = () =>{\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n \"/Legacy/Models?PageNumber=1&PageSize=1000\"\n )\n .then((response) => {\n if(response.data){\n const models = response.data;\n setModels(models.data);\n\n let modelOptions = models.data.map(item => {\n return { value: item.description, label: item.description };\n });\n setModelOptions(modelOptions);\n\n //setModelFilter(models);\n //SetSelectedModel(models.data[1].description);\n }\n setLoading(false);\n }); \n }\n\n const filterModel = (filterStr) =>{\n setModelFilterStr(filterStr);\n var filterdModels = models.filter(x=>x.description?.toLowerCase().includes(filterStr?.toLowerCase()));\n //setModelFilter(filterdModels);\n if(filterdModels.length > 0){\n SetSelectedModel(filterdModels[0].description);\n }\n }\n\n const handleHideModal = (isCancelled) =>{\n\n //setModelFilter(models);\n setModelFilterStr('');\n //setModels([]);\n SetSelectedModel('');\n //setLocations([]);\n SetSerialNumbers('');\n setLoading(false);\n props.onHide();\n if(!isCancelled){\n props.onLoadUUTs();\n }\n \n }\n\n const handleCreate = () =>{\n if(selectedModel === '' || selectedModel === undefined || selectedModel === null){\n alert('Please select a model!');\n return; \n }\n \n var selectedModelObj = models.filter(x=>x.description === selectedModel);\n var modelId = selectedModelObj[0].id;\n var maxMacAddressCount = selectedModelObj[0].macCount;\n // to do, this part should use user role to control, only admin can create single unit\n if(maxMacAddressCount > 0){\n SetShowNotification(true);\n return;\n }\n\n var serialNumberDto = serialNumbers.trim(' ').split(/\\r?\\n/);\n\n if(serialNumbers === '' || serialNumberDto.length <= 0){\n alert('Please input serial Numbers!');\n return; \n }\n\n axios\n .post(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL + \"/Legacy/Units/modelId/\" + modelId + \"/Units\",\n serialNumberDto\n )\n .then((reponse) => {\n handleHideModal(false);\n }); \n }\n\n const customStyles = {\n option: (provided, state) => ({\n ...provided,\n color: \"#777782\",\n background: \"#33333c\",\n }),\n };\n\n return (\n
    \n { loading && }\n {!loading && \n
    \n \n \n Create Units\n \n \n
    \n \n \n \n Product Models \n filterModel(e.value)}\n /> \n \n \n \n \n \n \n Serial Numbers (Please seperate multiple serial numbers with new line)\n {\n var text = e.target.value.trim();\n SetSerialNumbers(text);}}>\n \n \n

    Note: All makito units should be created through work order

    \n \n
    \n SetShowNotification(false)}\n message=\n \"Maktio Should be created via Work Order. Please contract helpdesk.\"\n \n variant=\"Error\"\n autohide={false}\n > \n
    \n
    \n \n \n \n \n
    \n
    } \n
    \n\n );\n}\n\nexport default HaivisionUUTSAdd;","import React, {useState, useEffect} from 'react'\nimport { Header, \n Button,\n Icon,\n List,\n ListHeader,\n TableRow,\n OverlayTrigger,\n FormLabel,\n FormControl, \n ProgressBar,\n Pagination,\n Spinner} from \"@hai/ui-react\";\n import { Col, Row } from \"reactstrap\";\n import axios from \"../../../infra/axios\";\n import UUTSAdd from \"./haivision-uuts-add\";\n\nconst HaivisionUUT = () =>{\n\n const [uuts, SetUUTs] = useState(null);\n const [showCreateUUTModal, setShowCreateUUTModal] = useState(false);\n const [filteredUUTs, SetfilteredUUTs] = useState(null);\n const [loading, setLoading] = useState(false);\n const [uutFilter, setUUTFilter] = useState('');\n const [searchParamDto, setSearchParamDto] = useState({\n PageNumber: 1,\n PageSize: 10,\n ColumnFilters: '',//json string,\n OrderBy:JSON.stringify([{'Id':'DateCreated', 'Desc':true}])\n });\n\n useEffect(() => {\n getUUTs(1);\n\n }, []);\n\n const getUUTs = (currentPage) => {\n\n if(currentPage == undefined || currentPage == null){\n currentPage = 1;\n }\n setLoading(true);\n var postDto = searchParamDto;\n postDto.PageNumber = currentPage;\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n `/Legacy/Units/filteredUnits?PageNumber=${currentPage}&PageSize=${searchParamDto.PageSize}&ColumnFilters=${searchParamDto.ColumnFilters}&orderBy=${searchParamDto.OrderBy}`\n )\n .then((response) => {\n if(response.data){\n const uUTsAll = response.data;\n SetUUTs(uUTsAll);\n SetfilteredUUTs(uUTsAll.data);\n }\n setLoading(false);\n }); \n};\n\n const OnHideCreateModel = () =>{\n setShowCreateUUTModal(false);\n }\n\n const handleDetails = (id, sn) => {\n window.location = window.location + \"/\" + id+ \"/\" + sn;\n }\n\n return (\n
    \n { loading && }\n {
    \n
    \n
    \n \n \n Filter by Serial Number\n {\n setUUTFilter(e.target.value);\n\n var ColumnFilters = [{\n id:'SerialNumber',\n Value:e.target.value,\n Comparator:'Contains'\n }];\n \n setSearchParamDto({...searchParamDto,\n ColumnFilters : JSON.stringify(ColumnFilters)\n });\n }}\n />\n \n \n {getUUTs()}}>\n Search\n \n \n \n
    \n \n \n \n \n \n
    \n \n \n
    Model
    \n
    Serial Number
    \n
    Mac Address
    \n
    Date Created
    \n
    Action
    \n \n {filteredUUTs &&\n filteredUUTs.map((uut) => {\n return (\n
    \n \n
    {uut.model.description}
    \n
    {uut.serialNumber}
    \n
    {uut.macAddress}
    \n
    {new Date(uut.dateCreated).toUTCString()}
    \n
    \n handleDetails(uut.id, uut.serialNumber)}\n >\n \n \n
    \n \n
    \n );\n })}\n
    \n
    \n
    \n {\n if (uuts.hasNextPage || newPage <= uuts?.totalPages) {\n setSearchParamDto({ ...searchParamDto,PageNumber: newPage });\n getUUTs(newPage);\n } else {\n alert('No next page');\n return;\n }\n\n }}\n />\n
    \n OnHideCreateModel()}\n onLoadUUTs={()=> getUUTs()}\n />\n
    }\n
    \n \n );\n\n}\n\nexport default HaivisionUUT;","import React, {useState, useEffect} from 'react'\nimport { Header, \n Button,\n Icon,\n List,\n ListHeader,\n TableRow,\n FormGroup,\n FormLabel,\n FormControl, \n ProgressBar,\n Pagination,\n Spinner} from \"@hai/ui-react\";\n import { Col, Row } from \"reactstrap\";\n import axios from \"../../../infra/axios\";\n import { useNavigate, useParams } from \"react-router-dom\";\n\nconst HaivisionUUTDetail = (props) =>{\n\n let {uutId, sn} = useParams();\n const navigate = useNavigate();\n\n const [snParam, setSNParam] = useState(props.sn || sn);\n const [uutIdParam, setUUTIdParam] = useState(props.uutId || uutId);\n const [assets, SetAssets] = useState([]);\n const [licenses, SetLicenses] = useState([]);\n const [unit, SetUnit] = useState(null);\n const pageCount = 5;\n const [currentPage, SetCurrentPage] = useState(1);\n const [totalPage, SetTotalPage] = useState(1);\n const [loading, setLoading] = useState(false);\n const [loadingLic, setLoadingLic] = useState(false);\n const [loadingAsset, setLoadingAsset] = useState(false);\n const [testResultPage, SetTestResultPage] = useState([]);\n\n\n useEffect(() => {\n getAssetsBySerialNumber();\n getLicensesBySerialNumber();\n }, [snParam]);\n\n useEffect(() => {\n getUnitById();\n }, [uutIdParam]);\n\n\n const getLicensesBySerialNumber = () => {\n\n setLoadingLic(true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n `/Licenses/SerialNumber/${snParam}`\n )\n .then((response) => {\n if(response.data){\n const result = response.data;\n SetLicenses(result);\n }\n setLoadingLic(false);\n }); \n};\n\nconst getAssetsBySerialNumber = () => {\n setLoadingAsset(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n `/Legacy/ProductSalesforce/makitoActiveAsset/serialNumber/${snParam}`\n )\n .then((response) => {\n if(response.data){\n const result = response.data;\n SetAssets(result);\n }\n setLoadingAsset(false);\n }).finally(() => {\n setLoadingAsset(false);\n }); \n}\n\nconst handleDownloadLicense = () => {\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_LIC_API_BASE_URL +\n `/LicenseText/SerialNumber/${snParam}/merge`\n )\n .then((response) => {\n const yourDate = new Date();\n var datastr = yourDate.toISOString().split(\"T\")[0];\n var fileName = snParam + \"_\" + datastr + \".lic\";\n\n const type = response.headers[\"content-type\"];\n const blob = new Blob([response.data], {\n type: type,\n encoding: \"UTF-8\",\n });\n const link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n \n getLicensesBySerialNumber();\n }).finally(() => {\n setLoading(false);\n });\n}\n\nconst getUnitById = () => {\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n `/Legacy/units/${uutIdParam}`\n )\n .then((response) => {\n if(response.data){\n let result = response.data !== null? response.data : null;\n SetUnit(result);\n\n const orderedTestResult = result?.unitTestResults?.sort((a, b) => {\n return new Date(b.dateTimeTested)-new Date(a.dateTimeTested);\n })\n\n SetTestResultPage (orderedTestResult?.slice(0, pageCount));\n let total = orderedTestResult?.length % pageCount === 0? Math.floor(orderedTestResult?.length / pageCount) : Math.floor(orderedTestResult?.length / pageCount) + 1; \n SetTotalPage(total);\n }\n setLoading(false); \n }); \n}\n\nconst checkColor = (description) => {\n switch (description) {\n case \"PASSED\":\n return \"#4ed01a\";\n default:\n return \"red\";\n }};\n \n return (\n
    \n { loading && }\n
    \n
    \n \n \n \n Model\n \n \n \n \n \n Serial Number\n \n \n \n \n \n Mac Address\n \n \n \n \n \n Created Date\n \n \n \n \n \n \n \n Dpkg Version\n \n \n \n \n \n Stage Type\n \n \n \n \n \n Shipped Date\n \n \n \n \n \n Extra Info\n \n \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    Station Name
    \n
    Staging Name
    \n
    Full Info
    \n
    Tested Time
    \n
    Tested Result
    \n \n {testResultPage &&\n testResultPage.map((result) => {\n return (\n
    \n \n
    {result?.stationName}
    \n
    {result?.stageName}
    \n
    {result.fullInfoResult}
    \n
    {new Date(result.dateTimeTested).toUTCString()}
    \n
    {result?.testResultName}
    \n \n
    \n );\n })}\n
    \n
    \n
    \n {\n //alert(`New page: ${newPage} Previous Page: ${previousPage}`);\n SetTestResultPage (unit.unitTestResults.slice((newPage - 1) * pageCount, newPage * pageCount));\n SetCurrentPage(newPage);\n }\n }\n />\n
    \n \n \n
    \n { loadingLic && }\n
    \n
    \n \n \n
    SKU
    \n
    Expire Date
    \n
    Current Version
    \n
    Mac Addresses
    \n \n {licenses &&\n licenses.map((result) => {\n return (\n
    \n \n
    {result?.sku}
    \n
    {result?.licenseOptionDatas?.find(x=>x.item==='expdate')?.value}
    \n
    {result?.productVersionNumber}
    \n
    {result?.macAddresses.map((item) => { return item['value'];})?.join(', ')}
    \n \n
    \n );\n })}\n
    \n
    \n \n \n
    \n { loadingAsset && }\n
    \n
    \n \n \n
    Name
    \n
    Expire Date
    \n
    Current Version
    \n
    Mac Addresses
    \n
    Shipped Date
    \n \n {assets &&\n assets.map((result) => {\n return (\n
    \n \n
    {result?.name}
    \n
    {result?.expiredDate}
    \n
    {result?.currentVersion}
    \n
    {result?.macAddresses}
    \n
    {result?.dateShipped}
    \n \n
    \n );\n })}\n
    \n
    \n \n
    \n
    \n );\n\n}\n\nexport default HaivisionUUTDetail;","import React, { useState, useEffect } from 'react'\nimport {\n Header,\n FormControl,\n FormGroup,\n FormLabel,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalTitle,\n Button,\n SelectOption,\n ProgressBar,\n List,\n ListHeader,\n TableRow,\n} from \"@hai/ui-react\";\n\nimport { Col, Row } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport Select from \"react-select\";\n\nconst ProductModelUpdate = (props) => {\n\n const [model, setModel] = useState(props.model);\n const [loading, setLoading] = useState(false);\n const [action, SetAction] = useState('Create');\n \n useEffect(() => {\n SetAction(props.title.includes('Add')===true?'Create':'Update'); \n }, [props.title]);\n\n useEffect(() => {\n setModel(props.model); \n }, [props.model]);\n\n const handleCreate = (action) =>{\n if(model.macCount < 0){\n alert('Mac Count should greater than 0!');\n return;\n }\n\n var modelDto = {\n description: model?.description,\n macCount: (model?.macCount===null || model?.macCount===undefined)?0:model?.macCount\n };\n\n if(action === 'Update')\n {\n setLoading(true);\n axios\n .put(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL + \"/Legacy/Models/modelId/\" + model.id,\n modelDto\n )\n .then((reponse) => {\n handleHideModal(false);\n }).finally(()=>{\n setLoading(false);\n }) \n }\n else{\n setLoading(true);\n axios\n .post(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL + \"/Legacy/Models\",\n modelDto\n )\n .then((reponse) => {\n handleHideModal(false);\n }).finally(()=>{\n setLoading(false);\n }) \n }\n }\n\n const handleHideModal = (bCancel) => {\n props.onHide();\n if(!bCancel){\n props.onLoadModels();\n }\n setModel(null); \n }\n\n const inputStyle = {color: \"white\", background: \"#33333c\", height : \"40px\"};\n\n return (\n
    \n {\n
    \n \n {loading && } \n \n {props.title}\n \n \n
    \n \n \n \n Description\n {\n var text = e.target.value.trim();\n setModel((prev) => ({ ...prev, description: text}))\n }}>\n \n \n \n \n \n \n \n Mac Count\n setModel((prev) => ({ ...prev, macCount: e.target.value }))}>\n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n }\n
    );\n\n}\n\nexport default ProductModelUpdate;","import React, { useState, useEffect } from 'react'\nimport {\n Header,\n Button,\n Icon,\n List,\n ListHeader,\n TableRow,\n Pagination,\n FormLabel,\n FormControl,\n ProgressBar,\n OverlayTrigger,\n Spinner\n} from \"@hai/ui-react\";\nimport { Col, Row } from \"reactstrap\";\nimport axios from \"../../../infra/axios\";\nimport ProductModelUpdate from \"./haivision-model-update\";\nimport { useParams } from \"react-router-dom\";\nimport cogoToast from \"cogo-toast\";\n\nconst HaivisionProductionModel = () => {\n var params = useParams();\n const [loading, setLoading] = useState(false);\n const [models, SetModels] = useState([]);\n const [showAddModal, setShowAddModal] = useState(false);\n const [showUpdateModal, setShowUpdateModal] = useState(false);\n const [updateModel, setUpdateModel] = useState(null);\n const [filterParams, setFilterParams] = useState([]);\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n\n useEffect(() => {\n getModels();\n\n }, [pageData]);\n\n const getModels = () => {\n\n setLoading(true);\n axios\n .get(\n process.env.REACT_APP_PRODUCTION_API_BASE_URL +\n `/Legacy/Models?PageNumber=${pageData.currentPage}&PageSize=${pageData.pageSize}&ColumnFilters=${JSON.stringify(filterParams)}`\n )\n .then((response) => {\n if (response.data) {\n const result = response.data;\n SetModels(result);\n }\n setLoading(false);\n }).finally(() => {\n setLoading(false);\n })\n };\n\n const OnUpdateAddModel = (bshow) => { \n setUpdateModel(null);\n setShowAddModal(bshow);\n }\n\n const OnUpdateUpdateModel = (bshow) => {\n setShowUpdateModal(bshow);\n }\n\n const handleDetails = (item) => { \n setUpdateModel(item);\n OnUpdateUpdateModel(true);\n }\n\n return (\n
    \n {loading && }\n
    \n \n \n Filter by description\n {\n let tempSet = filterParams.filter(f => f.id !== \"description\");\n if (e.target.value !== \"\") {\n tempSet.push({\n id: 'description',\n Value: e.target.value,\n Comparator: 'Contains'\n });\n setFilterParams(tempSet);\n } else {\n setFilterParams(tempSet);\n }\n }\n }\n />\n \n \n \n \n \n
    \n \n \n OnUpdateAddModel(true)}>\n Add Model\n \n \n \n \n \n
    Model Id
    \n
    Description
    \n
    Mac Count
    \n
    Action
    \n \n {models.data &&\n models.data.map((item) => {\n return (\n
    \n \n
    {item.id}
    \n
    {item.description}
    \n
    {item.macCount}
    \n
    \n handleDetails(item)}\n >\n \n \n
    \n \n
    \n );\n })}\n
    \n {\n if (models.hasNextPage || newPage <= models?.totalPages) {\n setPageData({ currentPage: newPage, pageSize: pageData.pageSize });\n //getModels(newPage, pageData.pageSize);\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n />\n OnUpdateAddModel(false)}\n onLoadModels={() => getModels()}\n />\n OnUpdateUpdateModel(false)}\n onLoadModels={() => getModels()}\n />\n
    \n );\n}\n\nexport default HaivisionProductionModel;","import { useState, useEffect } from \"react\";\n\nexport const useFetch = (fetchFunction) => {\n const [data, setData] = useState(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(null);\n\n useEffect(() => {\n const fetchData = async () => {\n setLoading(true);\n try {\n const res = await fetchFunction();\n setData(res.data);\n } catch (error) {\n setError(error);\n } finally {\n setLoading(false);\n }\n };\n fetchData();\n }, []);\n\n\n\n return { data, loading, error };\n};\n","import axios from \"../../infra/axios\";\n\nconst BASE_URL = process.env.REACT_APP_WEBBING_API_BASE_URL;\n\nexport const getAccounts = (queryParams) => {\n return axios.get(`${BASE_URL}/Accounts${queryParams ?? ''}`);\n};\n\nexport const getDevices = () => {\n return axios.get(`${BASE_URL}/Devices/ServicesDevices`);\n};\n\nexport const getDevicesByAccountId = (props) => {\n return axios.get(\n `${BASE_URL}/Devices/ServicesDevices/AccountID/${props.accountID}`\n );\n};\n\nexport const getDevicesByBranchId = (props) => {\n return axios.get(\n `${BASE_URL}/Devices/ServicesDevices/BranchID/${props.branchID}`\n );\n};\n\nexport const getDevicesByIccid = (props) => {\n return axios.get(`${BASE_URL}/Devices/ServicesDevices/ICCID/${props.iccid}`);\n};\n\nexport const getBranches = (queryParams) => {\n return axios.get(`${BASE_URL}/Accounts/Branches${queryParams ?? ''}`);\n};\n\nexport const getProducts = () => {\n return axios.get(`${BASE_URL}/Services/Products`);\n};\n\nexport const setServiceDeviceBranch = (props) => {\n return axios.patch(\n `${BASE_URL}/Devices/ServicesDevices/${props.iccid}/Branches/${props.branchID}`\n );\n};\n\nexport const setServiceDeviceProduct = (props) => {\n return axios.patch(\n `${BASE_URL}/Devices/ServicesDevices/${props.iccid}/Products/${props.productID}`\n );\n};\n\nexport const activateServicesDevice = (props) => {\n return axios.patch(\n `${BASE_URL}/Devices/ServicesDevices/${props.iccid}/Activate`\n );\n};\n\nexport const suspendServicesDevice = (props) => {\n return axios.patch(\n `${BASE_URL}/Devices/ServicesDevices/${props.iccid}/Suspend`\n );\n};\n\nexport const createBranch = (props) => {\n return axios.post(`${BASE_URL}/Accounts/Branches?name=${props.name}`);\n};\n\nexport const createAccount = (form) => {\n axios.post(`${BASE_URL}/Accounts`, form)\n}\n\nexport const createServiceDeviceAssignmentAccount = (props) => {\n return axios.post(\n `${BASE_URL}/Devices/ServicesDevices/${props.iccid}/AccountID/${props.accountID}`\n )\n}\n\nexport const getServiceDeviceAssignment = (props) => {\n return axios.get(\n `${BASE_URL}/Devices/ServicesDevices/assignment/AccountID/${props.accountID}`\n )\n}","import { Button, Form, FormControl, FormLabel } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport { Col, FormGroup, Row } from \"reactstrap\";\nimport { createAccount } from \"./webbingApi\";\n\nconst WebbingCreateAccount = props => {\n const [form, setForm] = useState({\n id: null,\n branchId: null,\n name: null,\n statusId: null,\n email: null,\n mobile: null,\n accountRef: null\n });\n\n const onChangeHandler = evt => {\n const { name, value } = evt.target\n setForm({\n ...form,\n [name]: value,\n })\n }\n\n return (<>\n
    \n \n {/* \n \n Branch Id\n \n \n */}\n\n \n \n Name\n \n \n \n \n \n Email\n \n \n \n \n \n Status\n \n \n \n \n\n \n \n {props.close && }\n \n\n
    \n )\n}\n\nexport default WebbingCreateAccount;","import React, { useState } from \"react\";\nimport { useFetch } from \"../common/useFetch\";\nimport { getAccounts } from \"./webbingApi\";\nimport { Button, Header, List, Modal, ModalBody, ModalHeader, Pagination, ProgressBar } from \"@hai/ui-react\";\nimport { useParams } from \"react-router-dom\";\nimport cogoToast from \"cogo-toast\";\nimport { Col, Row } from \"reactstrap\";\nimport WebbingCreateAccount from \"./WebbingCreateAccount\";\n\nconst WebbingAccounts = () => {\n var params = useParams();\n const { data: accounts, loading, error } = useFetch(() => getAccounts(`?pageNumber=1&pageSize=10`));\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n const [showCreate, setShowCreate] = useState(false);\n\n if (loading) {\n return (\n \n );\n }\n\n if (error) {\n return
    An error has occurred: {error.message}
    ;\n }\n\n return (\n <>\n
    \n
    \n
    \n \n \n \n \n \n {accounts &&\n accounts.data.map((a, index) => (\n \n \n \n \n \n \n \n \n \n \n ))}\n
    \n\n {\n if (accounts.hasNextPage || newPage <= accounts?.totalPages) {\n setPageData({ currentPage: newPage, pageSize: pageData.pageSize });\n getAccounts(`?pageNumber=${newPage}&pageSize=${pageData.pageSize}`);\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n />\n\n \n Create Account\n setShowCreate(false)}>\n \n \n \n\n \n );\n};\n\nexport default WebbingAccounts;\n","import { Button, Form, FormControl, FormLabel } from \"@hai/ui-react\";\nimport React, { useState } from \"react\";\nimport { Col, FormGroup, Row } from \"reactstrap\";\nimport { createAccount, createBranch } from \"./webbingApi\";\n\nconst WebbingCreateBranch = props => {\n const [form, setForm] = useState({\n id: null,\n name: null,\n });\n\n const onChangeHandler = evt => {\n const { name, value } = evt.target\n setForm({\n ...form,\n [name]: value,\n })\n }\n\n return (<>\n
    \n \n {/* \n \n Branch Id\n \n \n */}\n\n \n \n Name\n \n \n \n\n \n\n \n \n {props.close && }\n \n\n
    \n )\n}\n\nexport default WebbingCreateBranch;","import React, { useState } from \"react\";\nimport { useFetch } from \"../common/useFetch\";\nimport { getBranches } from \"./webbingApi\";\nimport { Button, Header, List, Modal, ModalBody, ModalHeader, Pagination, ProgressBar } from \"@hai/ui-react\";\nimport { useParams } from \"react-router-dom\";\nimport cogoToast from \"cogo-toast\";\nimport WebbingCreateBranch from \"./WebbingCreateBranch\";\nimport { Col, Row } from \"reactstrap\";\n\nconst WebbingBranches = () => {\n var params = useParams();\n const { data: branches, loading, error } = useFetch(() => getBranches(`?pageNumber=1&pageSize=10`));\n const [pageData, setPageData] = useState({\n currentPage: params?.pageNum ? parseInt(params?.pageNum) : 1,\n pageSize: 10\n });\n const [showCreate, setShowCreate] = useState(false);\n\n if (loading)\n return (\n \n );\n if (error) return
    An error has occurred: {error.message}
    ;\n\n return (\n <>\n
    \n
    \n
    \n \n \n \n \n \n\n {branches &&\n branches.data.map((a, index) => (\n \n \n \n \n \n \n \n \n \n ))}\n
    \n\n\n {\n if (branches.hasNextPage || newPage <= branches?.totalPages) {\n setPageData({ currentPage: newPage, pageSize: pageData.pageSize });\n getBranches(`?pageNumber=${newPage}&pageSize=${pageData.pageSize}`);\n } else {\n cogoToast.warn(\"No next page\", { position: 'top-right' });\n }\n\n }}\n />\n\n \n Create Branch\n setShowCreate(false)}>\n \n \n \n\n \n );\n};\n\nexport default WebbingBranches;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport axios from \"../../infra/axios\";\nimport { Header, List, ProgressBar } from \"@hai/ui-react\";\n\nconst WebbingUsages = (props) => {\n var params = useParams();\n const [loading, setLoading] = useState(true);\n const [usages, setUsages] = useState();\n const getUsages = (iccid) => {\n setLoading(true);\n axios\n .get(\n `${process.env.REACT_APP_WEBBING_API_BASE_URL}/Usages/DeviceUsage/${iccid}?startDate=04/01/2024&endDate=04/30/2024`\n )\n .then((res) => {\n setUsages(res.data);\n setLoading(false);\n })\n .catch((e) => setLoading(false));\n };\n useEffect(() => {\n getUsages(\"89852351022200022702\");\n }, []);\n return (\n <>\n
    \n
    \n {loading && (\n \n )}\n
    \n {!loading &&\n usages &&\n usages.map((a) => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n })}\n
    \n \n );\n};\nexport default WebbingUsages;\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport {\n Button,\n Header,\n List,\n Modal,\n ModalBody,\n ModalHeader,\n ProgressBar,\n Form,\n FormGroup,\n FormLabel,\n FormControl,\n SelectOption,\n DropdownButton,\n DropdownMenuItem,\n Divider,\n} from \"@hai/ui-react\";\nimport {\n getDevices,\n getBranches,\n getProducts,\n getAccounts,\n activateServicesDevice,\n suspendServicesDevice,\n setServiceDeviceBranch,\n setServiceDeviceProduct,\n createBranch,\n createServiceDeviceAssignmentAccount,\n createAccount,\n} from \"./webbingApi\";\nimport { useFetch } from \"../common/useFetch\";\nimport { AsyncTypeahead } from \"react-bootstrap-typeahead\";\nimport cogoToast from \"cogo-toast\";\n\nconst WebbingDevices = (props) => {\n const params = useParams();\n const [showActivate, setShowActivate] = useState(false);\n const [showSuspend, setShowSuspend] = useState(false);\n\n const [activateBranchName, setActivateBranchName] = useState(null);\n const [activateProductId, setActivateProductId] = useState(null);\n const [activateAccountName, setActivateAccountName] = useState(null);\n const [creatingCustomBranch, setCreatingCustomBranch] = useState(false);\n const [creatingCustomAccount, setCreatingCustomAccount] = useState(false);\n\n const handleShowActivate = () => setShowActivate(true);\n const handleShowSuspend = () => setShowSuspend(true);\n const {\n data: devices,\n loading: devicesLoading,\n error: devicesError,\n } = useFetch(getDevices);\n const {\n data: branches,\n loading: branchesLoading,\n error: branchesError,\n } = useFetch(() => getBranches(`?pageNumber=1&pageSize=1000`));\n const {\n data: products,\n loading: productsLoading,\n error: productsError,\n } = useFetch(getProducts);\n const {\n data: accounts,\n loading: accountsLoading,\n error: accountsError,\n } = useFetch(() => getAccounts(`?pageNumber=1&pageSize=1000`));\n\n const [selectedBranch, setSelectedBranch] = useState(\"select branch\");\n const [iccidFilter, setIccidFilter] = useState(\"\");\n\n const filteredDevices = devices?.filter((device) => {\n if (iccidFilter === \"\") {\n return device.branchName?.includes(selectedBranch);\n } else {\n return (\n device.branchName?.includes(selectedBranch) &&\n device.iccid.includes(iccidFilter)\n );\n }\n });\n\n const handleSubmitActivate = async (event) => {\n event.preventDefault();\n const formData = new FormData(event.target);\n const branchName = activateBranchName;\n const productId = activateProductId;\n const accountName = activateAccountName;\n const iccids = formData.get(\"iccids\").split(\",\");\n\n if (activateBranchName) {\n for (const iccid of iccids) {\n await activateServicesDevice({ iccid });\n\n const branch = branches.data.find((branch) => branch.name === branchName);\n var createdBranch;\n if (!branch) {\n createdBranch = (await createBranch({ name: branchName })).data;\n cogoToast.success(`Branch ${branchName} created.`, { position: \"top-right\" });\n } else {\n createdBranch = branch;\n }\n await setServiceDeviceBranch({ iccid, branchID: createdBranch.id });\n const product = products.find((product) => product.id === productId);\n await setServiceDeviceProduct({ iccid, productID: product.id });\n \n const account = accounts.data.find((account) => account.name === accountName);\n var createdaccount;\n if (!account) {\n createdaccount = (await createAccount({ branchID: createdBranch.id, name: accountName })).data;\n cogoToast.success(`Account ${accountName} created.`, { position: \"top-right\" });\n } else {\n createdaccount = account;\n }\n await createServiceDeviceAssignmentAccount({ iccid, accountID: createdaccount.id });\n }\n setActivateBranchName(null);\n setActivateProductId(null);\n setActivateAccountName(null);\n setShowActivate(false);\n cogoToast.success(\"Activated\", { position: \"top-right\" });\n } else {\n cogoToast.error(\"Select a branch.\", { position: \"top-right\" })\n }\n };\n\n const handleSubmitSuspend = async (event) => {\n event.preventDefault();\n const formData = new FormData(event.target);\n const iccids = formData.get(\"iccids\").split(\",\");\n\n for (const iccid of iccids) {\n await suspendServicesDevice({ iccid });\n }\n\n setShowSuspend(false);\n cogoToast.success(\"ICCIDs suspended.\", { position: \"top-right\" });\n };\n\n if (devicesLoading || branchesLoading || productsLoading || accountsLoading) {\n return (\n \n );\n }\n\n if (devicesError || branchesError || productsError || accountsError) {\n return (\n
    \n An error has occurred:{\" \"}\n {devicesError?.message ||\n branchesError?.message ||\n productsError?.message ||\n accountsError?.message}\n
    \n );\n }\n\n return (\n <>\n
    \n
    \n
    \n \n \n \n
    \n \n \n
    \n \n Branch Name {creatingCustomBranch && Clicking Activate will create a new branch.}\n ({\n id: b.id,\n name: b.name,\n }))\n }\n minLength={0}\n allowNew={true}\n maxResults={10}\n onSearch={() => true}\n onChange={(e) => {\n if (e[0] && e[0].customOption) {\n setCreatingCustomBranch(true);\n } else {\n setCreatingCustomBranch(false);\n }\n\n setActivateBranchName(e[0] ? e[0].name : null);\n }}\n placeholder=\"Select branch...\"\n newSelectionPrefix=\"Create new branch: \"\n >\n \n \n Product\n ({\n id: b.id,\n name: b.name,\n }))\n }\n minLength={0}\n maxResults={10}\n onSearch={() => true}\n onChange={(e) => setActivateProductId(e[0] ? e[0].id : null)}\n placeholder=\"Select product...\"\n >\n \n \n Account Name{creatingCustomAccount && Clicking Activate will create a new account.}\n ({\n id: b.id,\n name: b.name,\n }))\n }\n minLength={0}\n allowNew={true}\n maxResults={10}\n onSearch={() => true}\n onChange={(e) => {\n if (e[0] && e[0].customOption) {\n setCreatingCustomAccount(true);\n } else {\n setCreatingCustomAccount(false);\n }\n setActivateAccountName(e[0] ? e[0].name : null)\n }}\n placeholder=\"Select account...\"\n newSelectionPrefix=\"Create new account: \"\n >\n \n \n List of ICCIDs\n \n \n \n \n
    \n
    \n \n\n \n\n \n \n
    \n \n \n
    \n \n List of ICCIDs\n \n \n \n \n
    \n
    \n \n
    \n
    \n
    \n Branch\n ({\n id: b.id,\n name: b.name,\n }))\n }\n minLength={0}\n maxResults={10}\n onSearch={() => true}\n onChange={(e) => setSelectedBranch(e[0] ? e[0].name : null)}\n placeholder=\"Select branch...\"\n\n >\n\n \n setIccidFilter(e.target.value)}\n />\n
    \n
    \n
    \n {selectedBranch && filteredDevices &&\n filteredDevices.map((a, index) => (\n \n \n \n \n \n \n \n \n \n \n \n ))}\n
    \n \n );\n};\n\nexport default WebbingDevices;\n","import React from \"react\";\nimport { Container, Row } from \"reactstrap\";\nimport { Routes, Route, Outlet } from \"react-router-dom\";\nimport Subscription from \"../../haivision-hub/subscriptions/Subscriptions\";\nimport Contracts from \"../../haivision-hub/contracts/Contracts\";\nimport ContractDetails from \"../../haivision-hub/contracts-details/ContractDetails\";\nimport Provision from \"../../haivision-hub/provisions/Provisions\";\nimport Home from \"../../Home\";\nimport TopologySupport from \"../../haivision-hub/support/TopologySupport\";\nimport ContainerSupport from \"../../haivision-hub/support/ContainerSupport\";\nimport Organization from \"../../haivision-hub/organizations/Organizations\";\nimport SubscriptionPage from \"../../haivision-hub/subscriptions/SubscriptionPage\";\nimport FeatuerFlag from \"../../haivision-hub/feature-flags/FeatureFlags\";\nimport Users from \"../../jellyfish/users/Users\";\nimport UserEdit from \"../../jellyfish/users/UserEdit\";\nimport HubUsers from \"../../haivision-hub/users/HubUsers\";\nimport AuditLog from \"../../jellyfish/audit-log/AuditLog\";\nimport HubRoute from \"../../haivision-hub/route/route\";\nimport HubRouteDetail from \"../../haivision-hub/route/routeDetails\";\nimport NotFound_Shark from \"../Exceptions/NotFound_Shark\";\nimport ServicePrincipal from \"../../jellyfish/servicePrincipals/ServicePrincipals\";\nimport NotAuthorized_Shark from \"../Exceptions/NotAuthorized_Shark\";\nimport HaivisionProduct from \"../../haivision-license/product/haivision-product\";\nimport HaivisionLicense from \"../../haivision-license/license/haivision-license\";\nimport HaivisionCommand360License from \"../../haivision-license/license/haivision-command360-license-add\";\nimport HaivisionProductDetail from \"../../haivision-license/product/haivision-product-detail\";\nimport HaivisionLicenseDetail from \"../../haivision-license/license/haivision-license-detail\";\nimport HaivisionLicenseRequest from \"../../haivision-license/request/haivision-license-request\";\nimport HaivisionProductType from \"../../haivision-license/producttype/haivision-producttype\";\nimport HaivisionProductTypeDetail from \"../../haivision-license/producttype/haivision-producttype-detail\";\nimport KickerCaller from \"../../haivision-license/kicker-caller\";\nimport backgroundImage from \"../../../static/jellyfishbg.jpeg\";\nimport ListAllEmsAccounts from \"../../haivision-hub/ems/ListAllEmsAccounts\";\nimport ToriiOrganizations from \"../../haivision-torii/ToriiOrganizations\";\nimport ToriiSubscriptions from \"../../haivision-torii/ToriiSubscriptions\";\nimport ToriiUsers from \"../../haivision-torii/ToriiUsers\";\nimport AWBenchProducts from \"../../haivision-production/awbench/AWBenchProducts\";\nimport AwProductDetails from \"../../haivision-production/awbench/AwProductDetails.jsx\";\nimport HaivisionWorkOrderDetail from \"../../haivision-production/WorkOrder/haivision-Work-order-detail\";\nimport HaivisionWorkOrder from \"../../haivision-production/WorkOrder/haivision-Work-order\";\nimport CreateAwProduct from \"../../haivision-production/awbench/CreateAwProduct.jsx\";\nimport CreateAllProducts from \"../../haivision-production/awbench/CreateAllProducts.jsx\";\nimport HaivisionUUT from \"../../haivision-production/uut/haivision-uut\";\nimport HaivisionUUTDetail from \"../../haivision-production/uut/haivision-uut-detail\";\nimport HaivisionProductionModel from \"../../haivision-production/model/haivision-model\";\nimport WebbingAccounts from \"../../haivision-webbing/WebbingAccounts.jsx\";\nimport WebbingBranches from \"../../haivision-webbing/WebbingBranches.jsx\";\nimport WebbingUsages from \"../../haivision-webbing/WebbingUsages.jsx\";\nimport WebbingDevices from \"../../haivision-webbing/WebbingDevices.jsx\";\n\nconst Content = (props) => {\n return (\n \n \n {/* Jellyfish Root Namespace*/}\n } />\n } />\n } />\n } />\n } />\n } />\n }\n />\n\n {/* Torii namespace*/}\n }\n />\n }\n />\n }\n />\n }\n />\n }\n />\n }\n />\n\n } />\n } />\n }\n />\n\n {/* Hub Namespace*/}\n } />\n } />\n }\n />\n } />\n } />\n\n } />\n }\n />\n }\n />\n }\n />\n }\n />\n\n } />\n }\n />\n } />\n }\n />\n }\n />\n\n {/* Connect Namespace\n \n \n \n \n \n\n \n \n */}\n\n {/* P2P Namespace*/}\n {/* Haivision License Namespace */}\n }\n />\n }\n />\n {/* Haivision License Namespace */}\n } />\n }\n />\n } />\n }\n />\n }\n />\n }\n />\n } />\n\n {/* Products */}\n } />\n }\n />\n }\n />\n }\n />\n }\n />\n } />\n }\n />\n }\n />\n\n {/* EMS */}\n } />\n }\n />\n }\n />\n\n {/*Webbing */}\n } />\n } />\n } />\n } />\n\n } />\n \n\n \n \n );\n};\n\nexport default Content;\n","import { Icon, InfoFooter, Layout, Modal, ModalBody, ModalFooter, ModalHeader, ModalTitle, OverlayTrigger, Sidebar } from \"@hai/ui-react\"\nimport React, { useEffect, useState } from 'react';\nimport JellyfishLogo from '../../../static/jellyfish.svg'\nimport { authProvider } from \"../../../infra/authProvider\";\nimport { useNavigate } from \"react-router-dom\";\nimport background from '../../../static/jellyfishbg.jpeg';\nimport packageJson from \"../../../../package.json\";\nimport './HaiSideBar.scss';\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faChartArea } from \"@fortawesome/free-solid-svg-icons\";\n\n\nconst HaiSideBar = (props) => {\n const navigate = useNavigate();\n const [showGrafana, setShowGrafana] = useState(false);\n\n const getGrafanaLink = () => {\n let env = null;\n if (packageJson.version.includes(\"dev\")) {\n env = \"dev\";\n } else if (packageJson.version.includes(\"qa\")) {\n env = \"qa\";\n } else {\n env = \"prod\";\n }\n return `https://jellyfish-grafana.haivision.com/d/D5jjzflGz/jellyfish-monitor?orgId=1&refresh=1m&var-env=jellyfish-${env}`;\n };\n\n const SidebarSections = [\n {\n key: 'Jellyfish',\n title: 'Jellyfish',\n iconName: 'Connection',\n to: '/home',\n defaultPath: '/home',\n menuItems: [\n {\n caption: 'Users',\n key: 'user',\n to: '/system/user',\n },\n {\n caption: 'Audit Log',\n key: 'auditlog',\n to: '/system/audit-log',\n },\n {\n caption: 'Service Principal',\n key: 'servicepricipal',\n to: '/system/service-principal',\n },\n ],\n },\n {\n key: 'license',\n title: 'Licenses',\n iconName: 'License',\n to: '/license/requests',\n defaultPath: '/license/requests',\n menuItems: [\n {\n caption: 'Requests',\n key: 'licenseRequests',\n to: '/license/requests',\n },\n {\n caption: 'Product Types',\n key: 'licenseProductsType',\n to: '/license/producttypes',\n },\n {\n caption: 'Products',\n key: 'licenseProducts',\n to: '/license/products',\n },\n {\n caption: 'Licenses',\n key: 'licenses',\n to: '/license/licenses',\n },\n {\n caption: 'Command360',\n key: 'Command360License',\n to: '/license/command360license',\n }\n ]\n },\n {\n key: 'hub',\n title: 'Hub',\n iconName: 'HubNodes',\n to: '/hub/contracts',\n defaultPath: '/hub/organizations',\n menuItems: [\n {\n caption: 'Organizations',\n key: 'huborganizations',\n to: '/hub/organizations',\n },\n {\n caption: 'Contracts',\n key: 'hubcontracts',\n to: '/hub/contracts',\n },\n {\n caption: 'Ems Accounts',\n key: 'emsaccounts',\n to: '/ems/accounts',\n },\n {\n caption: 'Users',\n key: 'hubusers',\n to: '/hub/users',\n },\n {\n caption: 'Provisions',\n key: 'hubprovisions',\n to: '/hub/provisions',\n },\n {\n caption: 'Routes',\n key: 'routes',\n to: '/hub/support',\n },\n {\n caption: 'Features',\n key: 'hubfeatures',\n to: '/hub/feature-flags',\n },\n ],\n },\n {\n key: 'products',\n title: 'Manufacturing Database',\n iconName: 'Devices',\n to: '/products/awbench',\n defaultPath: '/products/awbench',\n menuItems: [\n {\n caption: 'Aviwest Bench Database',\n key: 'awbench',\n to: '/products/awbench',\n },\n {\n caption: 'Work Order',\n key: 'workorder',\n to: '/products/workorder',\n },\n {\n caption: 'Units',\n key: 'uut',\n to: '/products/uut',\n },\n {\n caption: 'Model',\n key: 'model',\n to: '/products/model',\n }\n ]\n },\n {\n key: 'torii',\n title: 'Torii',\n iconName: 'HubNodes',\n to: '/torii/organizations',\n defaultPath: '/torii/organizations',\n menuItems: [\n {\n caption: 'Organizations',\n key: 'toriiorganizations',\n to: '/torii/organizations',\n },\n {\n caption: 'Subscriptions',\n key: 'toriisubscriptions',\n to: '/torii/subscriptions',\n },\n {\n caption: 'Users',\n key: 'toriiusers',\n to: '/torii/users',\n }\n ],\n },\n {\n key: 'webbing',\n title: 'Webbing',\n iconName: 'HubNodes',\n to: '/webbing/accounts',\n defaultPath: '/webbing/accounts',\n menuItems: [\n {\n caption: 'Accounts',\n key: 'webbingAccounts',\n to: '/webbing/accounts',\n },\n {\n caption: 'Branches',\n key: 'webbingBranches',\n to: '/webbing/branches',\n },\n {\n caption: 'Devices',\n key: 'webbingDevices',\n to: '/webbing/devices',\n },\n // {\n // caption: 'Usage',\n // key: 'webbingUsage',\n // to: '/webbing/usage',\n // }\n ],\n }\n ]\n const [userName, setUserName] = useState('');\n const [selectedItem, setSelectedItem] = React.useState(SidebarSections[0])\n\n useEffect(() => {\n setUserName(sessionStorage.getItem(\"user.name\"));\n }, [])\n\n const handleOnSelect = item => {\n navigate(item);\n }\n\n const InfoStyle = {\n alignItems: 'center',\n backgroundColor: '#33333c',\n display: \"grid\",\n gap: \"5px\",\n padding: \"20px 40px\",\n borderTopLeftRadius: \"10px\",\n borderTopRightRadius: \"10px\",\n }\n\n const versionUI = (

    \n {packageJson.version.includes(\"prod\") && (\n \n View recent releases notes{\" \"}\n \n here.\n \n

    \n }\n >\n

    \n {packageJson.version}\n

    \n \n )}\n {!packageJson.version.includes(\"prod\") &&\n \"Version: \" + packageJson.version}\n

    )\n\n\n return (<>\n
    \n {versionUI}\n \n \n Jellyfish Monitor{\" \"}\n setShowGrafana(true)}>\n \n \n
    }\n\n />\n \n )\n}\n\nexport default HaiSideBar;","import React, { Component } from 'react';\nimport Content from './Content/Content';\nimport HaiSideBar from './SideBar/HaiSideBar';\n\nclass Layout extends Component {\n\n constructor(props) {\n super(props);\n this.state ={\n sideBarOpen : true\n };\n }\n static displayName = Layout.name;\n \n toggleSideBar = () => {\n this.setState({sideBarOpen : !this.state.sideBarOpen })\n }\n\n render () {\n return (\n
    \n \n \n \n
    \n );\n }\n}\n\n\nexport default Layout;","import { NotFound , ProgressBar } from \"@hai/ui-react\";\nimport React, { Component } from \"react\";\nimport SharkNotFound from \"../../../static/404_shark.png\";\n\nclass NeedAuthenticate_Shark extends Component {\n render() {\n return (\n \n );\n }\n}\n\nexport default NeedAuthenticate_Shark;\n","import React from 'react';\nimport JellyfishLogo from '../static/jellyfish.svg';\nimport { authProvider } from \"../infra/authProvider\";\nimport { DynamicContainer, Icon, Login } from '@hai/ui-react';\nimport { ScreenInfoContext } from '@hai/ui-react/dist/screen-info-provider/ScreenInfoProvider';\nimport backgroundImage from '../static/jellyfishbg.jpeg';\n\nconst JellyfishLogin = () => {\n const { mobileMode } = React.useContext(ScreenInfoContext)\n const bgColor = `rgba(33, 36, 56, 0.6)`;\n const responsiveProps = mobileMode\n ? {\n containerHeight: '550px',\n logoSize: { height: '100px', width: '150px' },\n }\n : {\n containerHeight: '810px',\n logoSize: { height: '120px', width: '200px' },\n }\n\n return (
    \n \n\n \n
    \n \n {/* Provide any custom content using Login.Content & Login.IconButton */}\n \n \n \n \n
    \n \n

    \n This service currently has limited availability. You will not be\n able to sign in if you haven’t already contacted IT to set up your permissions.\n

    \n
    \n
    \n \n
    \n
    \n
    );\n\n}\n\nexport default JellyfishLogin;","import React, { useContext, useEffect, useState } from \"react\";\nimport { withRouter } from \"react-router-dom\";\nimport { CreateHaiThemeContext, ThemeNames , ProgressBar } from \"@hai/ui-react\";\nimport { ThemeProvider } from \"styled-components\";\nimport \"./App.scss\";\nimport Layout from \"./components/common/Layout\";\nimport { UserProvider } from \"./components/common/userContext\";\nimport { AuthenticationState } from \"react-aad-msal\";\nimport { authProvider } from \"./infra/authProvider\";\nimport axios from \"axios\";\nimport NeedAuthenticate_Shark from \"./components/common/Exceptions/NeedAuthenticate_Shark\";\nimport JellyfishLogin from \"./components/JellyfishLogin\";\n\nconst ThemeContext = CreateHaiThemeContext(ThemeNames.ARGON);\n\nconst App = (props) => {\n const haiThemeContextState = useContext(ThemeContext);\n\n const [accountInfo, setAccountInfo] = useState({\n userName: \"\",\n name: \"\",\n authState: AuthenticationState.Unauthenticated,\n accessToken: \"\",\n roles: [],\n });\n\n useEffect(() => {\n if (authProvider.getAccount()) {\n setAccountInfo({\n userName: authProvider.getAccount().userName,\n name: authProvider.getAccount().name,\n authState: \"InProgress\",\n accessToken: \"\",\n roles: [],\n });\n // get user auth info\n authProvider.getAccessToken().then((result) => {\n axios\n .get(\n process.env.REACT_APP_JELLYFISH_API_BASE_URL + \"/User/current-user\",\n {\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n }\n )\n .then((response) => {\n if (!response.data.roles || response.data.roles.length === 0) {\n return ;\n } else {\n setAccountInfo({\n userName: authProvider.getAccount().userName,\n name: authProvider.getAccount().name,\n authState: AuthenticationState.Authenticated,\n accessToken: result.accessToken,\n roles: response.data.roles,\n });\n }\n });\n });\n }\n }, []);\n\n return (
    \n {accountInfo.authState == AuthenticationState.Unauthenticated && \n } \n {accountInfo.authState == AuthenticationState.Authenticated && \n \n \n \n \n \n \n }\n
    );\n};\n\nexport default App;\n","// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport default function register () {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW (swUrl) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a \"New content is\n // available; please refresh.\" message in your web app.\n console.log('New content is available; please refresh.');\n caches.delete(`workbox-precache-v2-${window.location.origin}/`);\n window.location.reload();\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker (swUrl) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (\n response.status === 404 ||\n response.headers.get('content-type').indexOf('javascript') === -1\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister () {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import 'bootstrap/dist/css/bootstrap.css';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport App from './App';\nimport registerServiceWorker from './registerServiceWorker';\nrequire('dotenv').config()\n\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\nconst rootElement = document.getElementById('root');\n\nReactDOM.render(\n \n \n ,\n rootElement);\n\nregisterServiceWorker();\n\n","import { authProvider } from \"./authProvider\";\nimport { AuthenticationState } from \"react-aad-msal\";\n\nexport const storeToken = async () => {\n var acc = authProvider.getAccount();\n sessionStorage.setItem(\"user.authState\", AuthenticationState.Authenticated);\n sessionStorage.setItem(\"user.name\", acc.name);\n sessionStorage.setItem(\"user.username\", acc.userName);\n sessionStorage.setItem(\n \"user.accessToken\",\n (await authProvider.getAccessToken()).accessToken\n );\n};\nexport const removeToken = () => {\n console.log(\"removing token\");\n sessionStorage.removeItem(\"user.authState\");\n sessionStorage.removeItem(\"user.name\");\n sessionStorage.removeItem(\"user.username\");\n sessionStorage.removeItem(\"user.accessToken\");\n};\nexport const getToken = () => {\n return sessionStorage.getItem(\"user.accessToken\");\n};\n\nexport const setJWT = () => {\n var acc = authProvider.getAccount();\n if (acc) {\n storeToken();\n } else {\n console.log(\"user not found\");\n removeToken();\n }\n};\n","import axios from \"axios\";\nimport { handleError } from \"../components/common/ErrorHandler\";\nimport { getToken, storeToken, removeToken } from \"./azure-aad-auth\";\n\n// Add a request interceptor\naxios.interceptors.request.use(\n (config) => {\n config.headers[\"Authorization\"] = \"Bearer \" + getToken();\n config.headers[\"Content-Type\"] = \"application/json\";\n config.headers[\"Pragma\"] = \"no-cache\";\n return config;\n },\n (error) => {\n Promise.reject(error);\n }\n);\n\n//Add a response interceptor\naxios.interceptors.response.use(\n (response) => {\n return response;\n },\n async (error) => {\n const originalRequest = error.config;\n console.log(error);\n //check if error was 401 and try one more time.\n if (error.response?.status === 401 && !originalRequest._retry) {\n originalRequest._retry = true;\n removeToken();\n await storeToken();\n axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + getToken();\n return axios(originalRequest);\n } else if (\n error.response?.status === 403 &&\n error.response?.data?.message?.includes(\"User is not enabled\")\n ) {\n // not good\n window.location.replace(\"/user-disabled\");\n }\n\n handleError(error.response.data);\n return Promise.reject(error);\n }\n);\n\nexport default axios;\n","import { MsalAuthProvider, LoginType } from \"react-aad-msal\";\n\nexport const authProvider = new MsalAuthProvider(\n {\n auth: {\n authority:\n \"https://login.microsoftonline.com/a88156c4-f3f7-4104-8fad-43b93f27493d\",\n clientId: \"f44a5e32-2260-4e09-abc9-58bef7e3af6d\", //Application (client) ID from Overview blade in App Registration\n redirectUri: window.location.protocol + \"//\" + window.location.host + \"/\",\n postLogoutRedirectUri: process.env.REACT_APP_PORTAL_BASE_URL,\n },\n cache: {\n cacheLocation: \"sessionStorage\",\n storeAuthStateInCookie: false,\n },\n },\n {\n scopes: [\"997264bd-4645-4171-964b-675d213b1597/access_as_user\"],\n },\n\n LoginType.Redirect\n);\n","module.exports = __webpack_public_path__ + \"static/media/404_shark.bda11676.png\";","module.exports = __webpack_public_path__ + \"static/media/jellyfishbg.96ba4719.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/jellyfish.fd20987a.svg\";"],"sourceRoot":""}