web-interface.assets.07ba022f-8579.38586df959b2a9d16148.js.map Maven / Gradle / Ivy
{"version":3,"file":"07ba022f-8579.38586df959b2a9d16148.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/sidecars/common/SidecarSearchForm.css","webpack://graylog-web-interface/./src/components/sidecars/common/StatusIndicator.css","webpack://graylog-web-interface/./src/components/sidecars/sidecars/SidecarList.css","webpack://graylog-web-interface/./src/components/sidecars/sidecars/SidecarRow.css","webpack://graylog-web-interface/./src/components/common/PageNavigation.tsx","webpack://graylog-web-interface/./src/components/common/withPaginationQueryParameter.tsx","webpack://graylog-web-interface/./src/components/sidecars/common/OperatingSystemIcon.tsx","webpack://graylog-web-interface/./src/components/sidecars/common/SidecarSearchForm.css?304c","webpack://graylog-web-interface/./src/components/sidecars/common/SidecarSearchForm.jsx","webpack://graylog-web-interface/./src/components/sidecars/common/SidecarsPageNavigation.tsx","webpack://graylog-web-interface/./src/components/sidecars/common/StatusIndicator.css?492e","webpack://graylog-web-interface/./src/components/sidecars/common/StatusIndicator.tsx","webpack://graylog-web-interface/./src/domainActions/users/UsersDomain.ts","webpack://graylog-web-interface/./src/logic/sidecar/SidecarStatusEnum.js","webpack://graylog-web-interface/./src/logic/users/UserOverview.ts","webpack://graylog-web-interface/./src/components/sidecars/sidecars/SidecarRow.css?8b2e","webpack://graylog-web-interface/./src/components/sidecars/sidecars/SidecarRow.jsx","webpack://graylog-web-interface/./src/components/sidecars/sidecars/SidecarList.css?7623","webpack://graylog-web-interface/./src/components/sidecars/sidecars/SidecarList.jsx","webpack://graylog-web-interface/./src/components/sidecars/sidecars/SidecarListContainer.jsx","webpack://graylog-web-interface/./src/pages/SidecarsPage.tsx","webpack://graylog-web-interface/./src/stores/sidecars/SidecarsStore.js","webpack://graylog-web-interface/./src/stores/users/UsersStore.ts","webpack://graylog-web-interface/./node_modules/lodash/lowerCase.js"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.popover.i3CKk4UXmnkyBYYZ5r2x {\n max-width: 500px;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/sidecars/common/SidecarSearchForm.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,gBAAgB;AACpB\",\"sourcesContent\":[\".popover:local(.popoverWide) {\\n max-width: 500px;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"popoverWide\": `i3CKk4UXmnkyBYYZ5r2x`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.xUMQPeRwYREG_QMMJHzD {\n white-space: nowrap;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/sidecars/common/StatusIndicator.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,mBAAmB;AACvB\",\"sourcesContent\":[\":local(.indicator) {\\n white-space: nowrap;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"indicator\": `xUMQPeRwYREG_QMMJHzD`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.HhN_MIs88hGyrJ9d3fGo {\n margin-top: 15px;\n margin-bottom: 0;\n}\n\n.X3aV_WfTsy4PgoEPh7qV {\n margin-top: 5px;\n display: inline-block;\n}\n\n.XxLkD37ugJdsOziizyQC {\n width: 230px;\n}\n\n.fn84_KNI34D5Bb61NCwy {\n margin-left: 5px;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/sidecars/sidecars/SidecarList.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,gBAAgB;IAChB,gBAAgB;AACpB;;AAEA;IACI,eAAe;IACf,qBAAqB;AACzB;;AAEA;IACI,YAAY;AAChB;;AAEA;IACI,gBAAgB;AACpB\",\"sourcesContent\":[\":local(.sidecarList) {\\n margin-top: 15px;\\n margin-bottom: 0;\\n}\\n\\n:local(.sidecarsFilter) {\\n margin-top: 5px;\\n display: inline-block;\\n}\\n\\n:local(.actions) {\\n width: 230px;\\n}\\n\\n:local(.inactiveSidecarsButton) {\\n margin-left: 5px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"sidecarList\": `HhN_MIs88hGyrJ9d3fGo`,\n\t\"sidecarsFilter\": `X3aV_WfTsy4PgoEPh7qV`,\n\t\"actions\": `XxLkD37ugJdsOziizyQC`,\n\t\"inactiveSidecarsButton\": `fn84_KNI34D5Bb61NCwy`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.iYXK7cmO8Zc91rNID2zz {\n word-break: break-all;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/sidecars/sidecars/SidecarRow.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,qBAAqB;AACzB\",\"sourcesContent\":[\":local(.sidecarName) {\\n word-break: break-all;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"sidecarName\": `iYXK7cmO8Zc91rNID2zz`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Button, ButtonToolbar } from 'components/bootstrap';\nimport { LinkContainer } from 'components/common/router';\nimport { IfPermitted } from 'components/common';\nimport NavItemStateIndicator, {\n hoverIndicatorStyles,\n activeIndicatorStyles,\n} from 'components/common/NavItemStateIndicator';\n\nconst Container = styled(ButtonToolbar)`\n margin-bottom: 10px;\n`;\n\nconst StyledButton = styled(Button)(({ theme }) => css`\n font-family: ${theme.fonts.family.navigation};\n font-size: ${theme.fonts.size.navigation};\n\n &&&& {\n color: ${theme.colors.variant.darker.default};\n \n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > div {\n &:hover,\n &:focus {\n color: ${theme.colors.variant.darker.default};\n }\n }\n\n &:hover {\n ${hoverIndicatorStyles(theme)}\n }\n\n &.active {\n color: ${theme.colors.global.textDefault};\n\n ${activeIndicatorStyles(theme)}\n\n &:hover,\n &:focus {\n ${activeIndicatorStyles(theme)}\n }\n }\n }\n`);\n\nStyledButton.displayName = 'Button';\n\ntype Props = {\n /**\n * List of nav items. Define permissions, if the item should only be displayed for users with specific permissions.\n * By default, an item is active if the current URL starts with the item URL.\n * If you only want to display an item as active only when its path matches exactly, set `exactPathMatch` to true.\n */\n items: Array<{\n title: string,\n path: string,\n permissions?: string | Array\n exactPathMatch?: boolean,\n }>\n}\n\n/**\n * Simple tab navigation to allow navigating to subareas of a page.\n */\nconst PageNavigation = ({ items }: Props) => (\n \n {items.map(({ path, title, permissions, exactPathMatch }) => {\n if (!path) {\n return null;\n }\n\n return (\n \n \n \n \n {title}\n \n \n \n \n );\n })}\n \n);\n\nexport default PageNavigation;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport usePaginationQueryParameter from 'hooks/usePaginationQueryParameter';\n\nexport type PaginationQueryParameterObject = {\n pageSizes?: number[];\n};\n\nconst withPaginationQueryParameter = >>(Component: C, obj?: PaginationQueryParameterObject) => function WrappedComponent(props: any) {\n const result = usePaginationQueryParameter(obj?.pageSizes);\n\n return ;\n};\n\nexport default withPaginationQueryParameter;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport { Icon } from 'components/common';\n\nconst SidecarIcon = styled(Icon)`\n margin-right: 5px;\n margin-left: 2px;\n`;\n\ntype Props = {\n operatingSystem: string,\n};\n\nconst matchIcon = (os: string) => {\n if (os.includes('darwin') || os.includes('mac os')) {\n return {\n iconName: 'apple',\n iconType: 'brand',\n } as const;\n }\n\n if (os.includes('linux')) {\n return {\n iconName: 'linux',\n iconType: 'brand',\n } as const;\n }\n\n if (os.includes('win')) {\n return {\n iconName: 'windows',\n iconType: 'brand',\n } as const;\n }\n\n if (os.includes('freebsd')) {\n return {\n iconName: 'freebsd',\n iconType: 'brand',\n } as const;\n }\n\n return {\n iconName: 'question-circle',\n iconType: 'solid',\n } as const;\n};\n\nconst OperatingSystemIcon = ({ operatingSystem }: Props) => {\n const { iconName, iconType } = matchIcon(operatingSystem.trim().toLowerCase());\n\n return (\n \n );\n};\n\nOperatingSystemIcon.propTypes = {\n operatingSystem: PropTypes.string,\n};\n\nOperatingSystemIcon.defaultProps = {\n operatingSystem: undefined,\n};\n\nexport default OperatingSystemIcon;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./SidecarSearchForm.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./SidecarSearchForm.css\";\n export default content && content.locals ? content.locals : undefined;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { OverlayTrigger, SearchForm, Icon } from 'components/common';\nimport { Popover, Table, Button } from 'components/bootstrap';\n\nimport style from './SidecarSearchForm.css';\n\nconst queryHelpPopover = (\n \n Available search fields
\n \n \n \n Field \n Description \n \n \n \n \n name \n Sidecar name \n \n \n status \n Status of the sidecar as it appears in the list, i.e. running, failing, or unknown \n \n \n operating_system \n Operating system the sidecar is running on \n \n \n last_seen \n Date and time when the sidecar last communicated with Graylog \n \n \n node_id \n Identifier of the sidecar \n \n \n sidecar_version \n Sidecar version \n \n \n
\n Examples
\n \n Find sidecars that did not communicate with Graylog since a date:
\n {'last_seen:<=2018-04-10'}
\n
\n \n Find sidecars with failing
or unknown
status:
\n status:failing status:unknown
\n
\n \n);\n\nconst queryHelp = (\n \n \n \n);\n\nconst SidecarSearchForm = ({ query, onSearch, onReset, children }) => (\n \n {children}\n \n);\n\nSidecarSearchForm.propTypes = {\n query: PropTypes.string.isRequired,\n onSearch: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired,\n children: PropTypes.element,\n};\n\nSidecarSearchForm.defaultProps = {\n children: undefined,\n};\n\nexport default SidecarSearchForm;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\n\nimport PageNavigation from 'components/common/PageNavigation';\nimport Routes from 'routing/Routes';\nimport { Row } from 'components/bootstrap';\n\nconst NAV_ITEMS = [\n { title: 'Overview', path: Routes.SYSTEM.SIDECARS.OVERVIEW, exactPathMatch: true },\n { title: 'Administration', path: Routes.SYSTEM.SIDECARS.ADMINISTRATION },\n { title: 'Configuration', path: Routes.SYSTEM.SIDECARS.CONFIGURATION },\n { title: 'Failure Tracking', path: Routes.SYSTEM.SIDECARS.FAILURE_TRACKING },\n];\n\nconst SidecarsPageNavigation = () => (\n \n \n
\n);\n\nexport default SidecarsPageNavigation;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./StatusIndicator.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./StatusIndicator.css\";\n export default content && content.locals ? content.locals : undefined;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash/upperFirst';\n\nimport { Popover } from 'components/bootstrap';\nimport { OverlayTrigger, Icon } from 'components/common';\nimport SidecarStatusEnum from 'logic/sidecar/SidecarStatusEnum';\nimport { relativeDifference } from 'util/DateTime';\nimport useUserDateTime from 'hooks/useUserDateTime';\n\nimport style from './StatusIndicator.css';\n\ntype Props = {\n message: string,\n status: number,\n lastSeen: string,\n id: string,\n}\n\nconst StatusIndicator = ({ message: messageProp, status, lastSeen, id }: Props) => {\n const { toUserTimezone } = useUserDateTime();\n let message = messageProp;\n const text = upperFirst(SidecarStatusEnum.toString(status));\n const lastSeenDateTime = toUserTimezone(lastSeen);\n\n let icon;\n let className;\n\n switch (status) {\n case SidecarStatusEnum.RUNNING:\n className = 'text-success';\n icon = 'play';\n break;\n case SidecarStatusEnum.FAILING:\n className = 'text-danger';\n icon = 'exclamation-triangle';\n break;\n case SidecarStatusEnum.STOPPED:\n className = 'text-danger';\n icon = 'stop';\n break;\n default:\n className = 'text-info';\n icon = 'question-circle';\n message += ` (${relativeDifference(lastSeenDateTime)})`;\n }\n\n if (message && id) {\n const popover = (\n \n {message}\n \n );\n\n return (\n \n \n {text}\n \n \n );\n }\n\n return (\n \n {text}\n \n );\n};\n\nStatusIndicator.propTypes = {\n id: PropTypes.string,\n lastSeen: PropTypes.string,\n message: PropTypes.string,\n status: PropTypes.number,\n};\n\nStatusIndicator.defaultProps = {\n id: '',\n lastSeen: undefined,\n message: '',\n status: -1,\n};\n\nexport default StatusIndicator;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport { UsersActions } from 'stores/users/UsersStore';\n\nimport notifyingAction from '../notifyingAction';\n\nconst create = notifyingAction({\n action: UsersActions.create,\n success: (user) => ({\n message: `User \"${user?.first_name} ${user?.last_name}\" was created successfully`,\n }),\n error: (error, user) => ({\n message: `Creating user \"${user?.first_name} ${user?.last_name}\" failed with status: ${error}`,\n }),\n});\n\nconst load = notifyingAction({\n action: UsersActions.load,\n error: (error, userId) => ({\n message: `Loading user with id \"${userId}\" failed with status: ${error}`,\n }),\n notFoundRedirect: true,\n});\n\nconst loadByUsername = notifyingAction({\n action: UsersActions.loadByUsername,\n error: (error, username) => ({\n message: `Loading user with username \"${username}\" failed with status: ${error}`,\n }),\n notFoundRedirect: true,\n});\n\nconst update = notifyingAction({\n action: UsersActions.update,\n success: (_userId, _payload, fullName) => ({\n message: `User \"${fullName}\" was updated successfully`,\n }),\n error: (error, _userId, _payload, fullName) => ({\n message: `Updating user \"${fullName}\" failed with status: ${error}`,\n }),\n});\n\nconst deleteAction = notifyingAction({\n action: UsersActions.delete,\n success: (_userId, fullName) => ({\n message: `User \"${fullName}\" was deleted successfully`,\n }),\n error: (error, _userId, fullName) => ({\n message: `Deleting user \"${fullName}\" failed with status: ${error}`,\n }),\n});\n\nconst changePassword = notifyingAction({\n action: UsersActions.changePassword,\n success: () => ({\n message: 'Password was changed successfully ',\n }),\n error: (error, userId) => ({\n message: `Changing password for user with id \"${userId}\" failed with status: ${error}`,\n }),\n});\n\nconst createToken = notifyingAction({\n action: UsersActions.createToken,\n success: (_userId, tokenName) => ({\n message: `Token \"${tokenName}\" created successfully`,\n }),\n error: (error, userId, tokenName) => ({\n message: `Creating token \"${tokenName}\" for user with id \"${userId}\" failed with status: ${error}`,\n }),\n});\n\nconst loadTokens = notifyingAction({\n action: UsersActions.loadTokens,\n error: (error, userId) => ({\n message: `Loading tokens for user with id \"${userId}\" failed with status: ${error}`,\n }),\n});\n\nconst deleteToken = notifyingAction({\n action: UsersActions.deleteToken,\n success: (_userId, _tokenId, tokenName) => ({\n message: `Token \"${tokenName}\" deleted successfully`,\n }),\n error: (error, userId, _tokenId, tokenName) => ({\n message: `Deleting token \"${tokenName}\" for user with id \"${userId}\" failed with status: ${error}`,\n }),\n});\n\nconst loadUsers = notifyingAction({\n action: UsersActions.loadUsers,\n error: (error) => ({\n message: `Loading users failed with status: ${error}`,\n }),\n});\n\nconst loadUsersPaginated = notifyingAction({\n action: UsersActions.loadUsersPaginated,\n error: (error) => ({\n message: `Loading users failed with status: ${error}`,\n }),\n});\n\nconst setStatus = notifyingAction({\n action: UsersActions.setStatus,\n success: (userId, accountStatus) => ({\n message: `User \"${userId}\" was set to ${accountStatus}`,\n }),\n error: (error, userId, accountStatus) => ({\n message: `Updating user (\"${userId}\") to ${accountStatus} failed with status: ${error}`,\n }),\n});\n\nexport default {\n create,\n load,\n loadByUsername,\n update,\n delete: deleteAction,\n changePassword,\n createToken,\n loadTokens,\n deleteToken,\n loadUsers,\n loadUsersPaginated,\n setStatus,\n};\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport lowerCase from 'lodash/lowerCase';\nimport toNumber from 'lodash/toNumber';\n\nconst SidecarStatusEnum = {\n RUNNING: 0,\n UNKNOWN: 1,\n FAILING: 2,\n STOPPED: 3,\n properties: {\n 0: { name: 'running' },\n 1: { name: 'unknown' },\n 2: { name: 'failing' },\n 3: { name: 'stopped' },\n },\n\n isValidStatusCode(statusCode) {\n return Object.keys(this.properties).includes(String(statusCode));\n },\n\n toStatusCode(stringStatus) {\n const status = lowerCase(stringStatus);\n\n if (status === this.properties[this.RUNNING].name) {\n return this.RUNNING;\n }\n\n if (status === this.properties[this.FAILING].name) {\n return this.FAILING;\n }\n\n if (status === this.properties[this.STOPPED].name) {\n return this.STOPPED;\n }\n\n return this.UNKNOWN;\n },\n\n toString(statusCode) {\n switch (toNumber(statusCode)) {\n case this.RUNNING:\n return 'running';\n case this.FAILING:\n return 'failing';\n case this.STOPPED:\n return 'stopped';\n default:\n return 'unknown';\n }\n },\n};\n\nexport default SidecarStatusEnum;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport type { $PropertyType } from 'utility-types';\nimport * as Immutable from 'immutable';\n\nexport type AccountStatus = 'enabled' | 'disabled' | 'deleted';\n\nexport type UserOverviewJSON = {\n id: string;\n username: string;\n full_name: string;\n email: string;\n external_user: boolean | null | undefined;\n roles: Array;\n read_only: boolean | null | undefined;\n session_active: boolean | null | undefined;\n client_address: string;\n last_activity: string | null | undefined;\n enabled: boolean;\n auth_service_id: string;\n auth_service_uid: string;\n auth_service_enabled: boolean;\n account_status: AccountStatus;\n};\n\ntype InternalState = {\n id: string;\n username: string;\n fullName: string;\n email: string;\n roles: Immutable.Set;\n readOnly: boolean;\n external: boolean;\n sessionActive: boolean;\n clientAddress: string;\n lastActivity: string | null | undefined;\n enabled: boolean;\n authServiceId: string;\n authServiceUid: string;\n authServiceEnabled: boolean;\n accountStatus: AccountStatus;\n};\n\nexport default class UserOverview {\n _value: InternalState;\n\n constructor(\n id: $PropertyType,\n username: $PropertyType,\n fullName: $PropertyType,\n email: $PropertyType,\n roles: $PropertyType,\n readOnly: $PropertyType,\n external: $PropertyType,\n sessionActive: $PropertyType,\n clientAddress: $PropertyType,\n lastActivity: $PropertyType,\n enabled: $PropertyType,\n authServiceId: $PropertyType,\n authServiceUid: $PropertyType,\n authServiceEnabled: $PropertyType,\n accountStatus: $PropertyType,\n ) {\n this._value = {\n id,\n username,\n fullName,\n email,\n roles,\n readOnly,\n external,\n sessionActive,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus,\n };\n }\n\n get id() {\n return this._value.id;\n }\n\n get username() {\n return this._value.username;\n }\n\n get name() {\n return this._value.username;\n }\n\n get fullName() {\n return this._value.fullName;\n }\n\n get description() {\n return this._value.fullName;\n }\n\n get email() {\n return this._value.email;\n }\n\n get roles() {\n return this._value.roles;\n }\n\n get readOnly() {\n return this._value.readOnly;\n }\n\n get external() {\n return this._value.external;\n }\n\n get sessionActive() {\n return this._value.sessionActive;\n }\n\n get clientAddress() {\n return this._value.clientAddress;\n }\n\n get lastActivity() {\n return this._value.lastActivity;\n }\n\n get enabled() {\n return this._value.enabled;\n }\n\n get authServiceId() {\n return this._value.authServiceId;\n }\n\n get authServiceUid() {\n return this._value.authServiceUid;\n }\n\n get authServiceEnabled() {\n return this._value.authServiceEnabled;\n }\n\n get accountStatus() {\n return this._value.accountStatus;\n }\n\n toBuilder() {\n const {\n id,\n username,\n fullName,\n email,\n roles,\n readOnly,\n external,\n sessionActive,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus,\n } = this._value;\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return new Builder(Immutable.Map({\n id,\n username,\n fullName,\n email,\n roles,\n readOnly,\n external,\n sessionActive,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus,\n }));\n }\n\n static create(\n id: $PropertyType,\n username: $PropertyType,\n fullName: $PropertyType,\n email: $PropertyType,\n roles: $PropertyType,\n readOnly: $PropertyType,\n external: $PropertyType,\n sessionActive: $PropertyType,\n clientAddress: $PropertyType,\n lastActivity: $PropertyType,\n enabled: $PropertyType,\n authServiceId: $PropertyType,\n authServiceUid: $PropertyType,\n authServiceEnabled: $PropertyType,\n accountStatus: $PropertyType,\n ) {\n return new UserOverview(\n id,\n username,\n fullName,\n email,\n roles,\n readOnly,\n external,\n sessionActive,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus,\n );\n }\n\n toJSON(): UserOverviewJSON {\n const {\n id,\n username,\n fullName,\n email,\n roles,\n readOnly,\n external,\n sessionActive,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus,\n } = this._value;\n\n return {\n id,\n username,\n full_name: fullName,\n email,\n roles: roles.toArray(),\n read_only: readOnly,\n external_user: external,\n session_active: sessionActive,\n client_address: clientAddress,\n last_activity: lastActivity,\n enabled,\n auth_service_id: authServiceId,\n auth_service_uid: authServiceUid,\n auth_service_enabled: authServiceEnabled,\n account_status: accountStatus,\n };\n }\n\n static fromJSON(value: UserOverviewJSON) {\n const {\n id,\n username,\n full_name: fullName,\n email,\n roles,\n read_only: readOnly,\n external_user: external,\n session_active: sessionActive,\n client_address: clientAddress,\n last_activity: lastActivity,\n enabled,\n auth_service_id: authServiceId,\n auth_service_uid: authServiceUid,\n auth_service_enabled: authServiceEnabled,\n account_status: accountStatus,\n } = value;\n\n return UserOverview.create(id,\n username,\n fullName,\n email,\n Immutable.Set(roles),\n readOnly ?? false,\n external ?? false,\n sessionActive ?? false,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus);\n }\n\n static builder(): Builder {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return new Builder();\n }\n}\n\ntype BuilderState = Immutable.Map;\n\nclass Builder {\n value: BuilderState;\n\n constructor(value: BuilderState = Immutable.Map()) {\n this.value = value;\n }\n\n id(value: $PropertyType) {\n return new Builder(this.value.set('id', value));\n }\n\n username(value: $PropertyType) {\n return new Builder(this.value.set('username', value));\n }\n\n fullName(value: $PropertyType) {\n return new Builder(this.value.set('fullName', value));\n }\n\n email(value: $PropertyType) {\n return new Builder(this.value.set('email', value));\n }\n\n roles(value: $PropertyType) {\n return new Builder(this.value.set('roles', value));\n }\n\n readOnly(value: $PropertyType) {\n return new Builder(this.value.set('readOnly', value));\n }\n\n external(value: $PropertyType) {\n return new Builder(this.value.set('external', value));\n }\n\n sessionActive(value: $PropertyType) {\n return new Builder(this.value.set('sessionActive', value));\n }\n\n clientAddress(value: $PropertyType) {\n return new Builder(this.value.set('clientAddress', value));\n }\n\n lastActivity(value: $PropertyType) {\n return new Builder(this.value.set('lastActivity', value));\n }\n\n enabled(value: $PropertyType) {\n return new Builder(this.value.set('enabled', value));\n }\n\n authServiceId(value: $PropertyType) {\n return new Builder(this.value.set('authServiceId', value));\n }\n\n authServiceUid(value: $PropertyType) {\n return new Builder(this.value.set('authServiceUid', value));\n }\n\n authServiceEnabled(value: $PropertyType) {\n return new Builder(this.value.set('authServiceEnabled', value));\n }\n\n accountStatus(value: $PropertyType) {\n return new Builder(this.value.set('accountStatus', value));\n }\n\n build() {\n const {\n id,\n username,\n fullName,\n email,\n roles,\n readOnly,\n external,\n sessionActive,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus,\n } = this.value.toObject();\n\n return new UserOverview(\n id,\n username,\n fullName,\n email,\n roles,\n readOnly,\n external,\n sessionActive,\n clientAddress,\n lastActivity,\n enabled,\n authServiceId,\n authServiceUid,\n authServiceEnabled,\n accountStatus,\n );\n }\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./SidecarRow.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./SidecarRow.css\";\n export default content && content.locals ? content.locals : undefined;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Link, LinkContainer } from 'components/common/router';\nimport { Button, ButtonToolbar } from 'components/bootstrap';\nimport { RelativeTime, Timestamp } from 'components/common';\nimport Routes from 'routing/Routes';\nimport OperatingSystemIcon from 'components/sidecars/common/OperatingSystemIcon';\nimport StatusIndicator from 'components/sidecars/common/StatusIndicator';\nimport SidecarStatusEnum from 'logic/sidecar/SidecarStatusEnum';\n\nimport style from './SidecarRow.css';\n\nconst SidecarTR = styled.tr(({ inactive, theme }) => css`\n color: ${inactive ? theme.utils.contrastingColor(theme.colors.table.background, 'AA') : 'currentColor'};\n opacity: ${inactive ? 0.9 : 1};\n\n &:nth-of-type(2n+1) {\n color: ${inactive ? theme.utils.contrastingColor(theme.colors.table.backgroundAlt, 'AA') : 'currentColor'};\n }\n\n td:not(:last-child) {\n font-style: ${inactive ? 'italic' : 'normal'};\n }\n`);\n\nclass SidecarRow extends React.Component {\n static propTypes = {\n sidecar: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showRelativeTime: true,\n };\n }\n\n render() {\n const { showRelativeTime } = this.state;\n const { sidecar } = this.props;\n const annotation = sidecar.active ? '' : ' (inactive)';\n let sidecarStatus = { status: null, message: null, id: null };\n\n if (sidecar.node_details.status && SidecarStatusEnum.isValidStatusCode(sidecar.node_details.status.status)) {\n sidecarStatus = {\n status: sidecar.node_details.status.status,\n message: sidecar.node_details.status.message,\n id: sidecar.node_id,\n };\n }\n\n return (\n \n \n \n {sidecar.node_name}\n \n \n \n \n \n \n \n {sidecar.node_details.operating_system}\n \n \n {showRelativeTime\n ? \n : }\n \n \n {sidecar.node_id}\n {annotation}\n \n \n {sidecar.sidecar_version}\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default SidecarRow;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./SidecarList.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./SidecarList.css\";\n export default content && content.locals ? content.locals : undefined;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport { Button, Col, Row, Table } from 'components/bootstrap';\nimport { Icon, SortIcon, PaginatedList, NoSearchResult, NoEntitiesExist } from 'components/common';\nimport SidecarSearchForm from 'components/sidecars/common/SidecarSearchForm';\n\nimport SidecarRow from './SidecarRow';\nimport style from './SidecarList.css';\n\nconst StyledSortIcon = styled(SortIcon)`\n && {\n width: 12px;\n margin-left: 5px;\n line-height: 1;\n }\n`;\n\nexport const PAGE_SIZES = [10, 25, 50, 100];\n\nclass SidecarList extends React.Component {\n static propTypes = {\n sidecars: PropTypes.array.isRequired,\n onlyActive: PropTypes.bool.isRequired,\n pagination: PropTypes.object.isRequired,\n query: PropTypes.string.isRequired,\n sort: PropTypes.object.isRequired,\n onPageChange: PropTypes.func.isRequired,\n onQueryChange: PropTypes.func.isRequired,\n onSortChange: PropTypes.func.isRequired,\n toggleShowInactive: PropTypes.func.isRequired,\n };\n\n formatSidecarList = (sidecars) => {\n const { onSortChange, sort } = this.props;\n const sidecarCollection = {\n node_name: 'Name',\n 'node_details.status.status': 'Status',\n 'node_details.operating_system': 'Operating System',\n last_seen: 'Last Seen',\n node_id: 'Node Id',\n sidecar_version: 'Sidecar Version',\n };\n\n return (\n \n \n \n {Object.keys(sidecarCollection).map((sidecar) => (\n \n {sidecarCollection[sidecar]}\n \n \n ))}\n \n \n \n \n {sidecars}\n \n
\n );\n };\n\n formatNoMatchingListAlert = () => {\n const { onlyActive } = this.props;\n const showInactiveHint = (onlyActive ? ' and/or click on \"Include inactive sidecars\"' : null);\n\n return (\n \n There are no sidecars matching the search criteria. Try adjusting your search filter{showInactiveHint}.\n \n );\n };\n\n renderEmptyList = () => {\n const { query } = this.props;\n\n if (query) {\n return this.formatNoMatchingListAlert();\n }\n\n return (\n \n There are no sidecars configured.\n \n );\n };\n\n render() {\n const { sidecars, onlyActive, pagination, query, onQueryChange, onPageChange, toggleShowInactive } = this.props;\n const sidecarRows = sidecars.map((sidecar) => );\n const showOrHideInactive = (onlyActive ? 'Include' : 'Hide');\n const sidecarList = (sidecarRows.length > 0 ? this.formatSidecarList(sidecarRows) : this.renderEmptyList());\n\n return (\n \n \n \n \n \n \n\n \n \n \n {sidecarList}\n \n
\n \n \n );\n }\n}\n\nexport default SidecarList;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// eslint-disable-next-line no-restricted-imports\nimport createReactClass from 'create-react-class';\nimport Reflux from 'reflux';\n\nimport { Spinner } from 'components/common';\nimport withPaginationQueryParameter from 'components/common/withPaginationQueryParameter';\nimport { SidecarsActions, SidecarsStore } from 'stores/sidecars/SidecarsStore';\n\nimport SidecarList, { PAGE_SIZES } from './SidecarList';\n\nconst SidecarListContainer = createReactClass({\n // eslint-disable-next-line react/no-unused-class-component-methods\n propTypes: {\n paginationQueryParameter: PropTypes.object.isRequired,\n },\n\n mixins: [Reflux.connect(SidecarsStore)],\n\n componentDidMount() {\n this._reloadSidecars({});\n this.interval = setInterval(() => this._reloadSidecars({}), this.SIDECAR_DATA_REFRESH);\n },\n\n componentWillUnmount() {\n if (this.interval) {\n clearInterval(this.interval);\n }\n },\n\n handleSortChange(field) {\n return () => {\n this._reloadSidecars({\n sortField: field,\n // eslint-disable-next-line no-nested-ternary\n order: (this.state.sort.field === field ? (this.state.sort.order === 'asc' ? 'desc' : 'asc') : 'asc'),\n });\n };\n },\n\n handlePageChange(page, pageSize) {\n this._reloadSidecars({ page: page, pageSize: pageSize });\n },\n\n handleQueryChange(query = '', callback = () => {}) {\n const { resetPage } = this.props.paginationQueryParameter;\n\n resetPage();\n\n this._reloadSidecars({ query: query }).finally(callback);\n },\n\n toggleShowInactive() {\n const { resetPage } = this.props.paginationQueryParameter;\n\n resetPage();\n\n this._reloadSidecars({ onlyActive: !this.state.onlyActive });\n },\n\n _reloadSidecars({ query, page, pageSize, onlyActive, sortField, order }) {\n const effectiveQuery = query === undefined ? this.state.query : query;\n\n const options = {\n query: effectiveQuery,\n onlyActive: 'true',\n };\n\n if (this.state.sort) {\n options.sortField = sortField || this.state.sort.field;\n options.order = order || this.state.sort.order;\n }\n\n const { paginationQueryParameter } = this.props;\n\n options.pageSize = pageSize || paginationQueryParameter.pageSize;\n options.onlyActive = onlyActive === undefined ? this.state.onlyActive : onlyActive; // Avoid || to handle false values\n\n const shouldKeepPage = options.pageSize === paginationQueryParameter.pageSize\n && options.onlyActive === this.state.onlyActive\n && options.query === this.state.query; // Only keep page number when other parameters don't change\n let effectivePage = 1;\n\n if (shouldKeepPage) {\n effectivePage = page || paginationQueryParameter.page;\n }\n\n options.page = effectivePage;\n\n return SidecarsActions.listPaginated(options);\n },\n\n SIDECAR_DATA_REFRESH: 5 * 1000,\n\n render() {\n const { sidecars, onlyActive, pagination, query, sort } = this.state;\n\n const isLoading = !sidecars;\n\n if (isLoading) {\n return ;\n }\n\n return (\n \n );\n },\n});\n\nexport default withPaginationQueryParameter(SidecarListContainer, { pageSizes: PAGE_SIZES });\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { Link } from 'components/common/router';\nimport { Col, Row } from 'components/bootstrap';\nimport { DocumentTitle, PageHeader, Spinner } from 'components/common';\nimport { isPermitted } from 'util/PermissionsMixin';\nimport useCurrentUser from 'hooks/useCurrentUser';\nimport UsersDomain from 'domainActions/users/UsersDomain';\nimport SidecarListContainer from 'components/sidecars/sidecars/SidecarListContainer';\nimport Routes from 'routing/Routes';\nimport DocsHelper from 'util/DocsHelper';\nimport SidecarsPageNavigation from 'components/sidecars/common/SidecarsPageNavigation';\nimport type User from 'logic/users/User';\n\nconst SidecarsPage = () => {\n const [sidecarUser, setSidecarUser] = useState();\n const currentUser = useCurrentUser();\n const canCreateSidecarUserTokens = isPermitted(currentUser?.permissions, ['users:tokenlist:graylog-sidecar']);\n\n useEffect(() => {\n if (canCreateSidecarUserTokens) {\n UsersDomain.loadByUsername('graylog-sidecar').then((result) => setSidecarUser(result));\n }\n }, [canCreateSidecarUserTokens]);\n\n return (\n \n \n \n \n The Graylog sidecars can reliably forward contents of log files or Windows EventLog from your servers.\n {canCreateSidecarUserTokens && (\n sidecarUser ? (\n \n
\n Do you need an API token for a sidecar? \n \n Create or reuse a token for the graylog-sidecar user\n \n \n ) : \n )}\n \n \n\n \n \n \n \n
\n \n );\n};\n\nexport default SidecarsPage;\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport Reflux from 'reflux';\nimport URI from 'urijs';\n\nimport * as URLUtils from 'util/URLUtils';\nimport UserNotification from 'util/UserNotification';\nimport fetch, { fetchPeriodically } from 'logic/rest/FetchProvider';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\nexport const SidecarsActions = singletonActions(\n 'core.Sidecars',\n () => Reflux.createActions({\n listPaginated: { asyncResult: true },\n getSidecar: { asyncResult: true },\n getSidecarActions: { asyncResult: true },\n restartCollector: { asyncResult: true },\n assignConfigurations: { asyncResult: true },\n }),\n);\n\nexport const SidecarsStore = singletonStore(\n 'core.Sidecars',\n () => Reflux.createStore({\n listenables: [SidecarsActions],\n sourceUrl: '/sidecars',\n sidecars: undefined,\n onlyActive: undefined,\n pagination: {\n count: undefined,\n page: undefined,\n pageSize: undefined,\n total: undefined,\n },\n query: undefined,\n sort: {\n field: undefined,\n order: undefined,\n },\n\n init() {\n this.propagateChanges();\n },\n\n propagateChanges() {\n this.trigger({\n sidecars: this.sidecars,\n query: this.query,\n onlyActive: this.onlyActive,\n pagination: this.pagination,\n sort: this.sort,\n });\n },\n\n listPaginated({ query = '', page = 1, pageSize = 50, onlyActive = false, sortField = 'node_name', order = 'asc' }) {\n const search = {\n query: query,\n page: page,\n per_page: pageSize,\n only_active: onlyActive,\n sort: sortField,\n order: order,\n };\n\n const uri = URI(this.sourceUrl).search(search).toString();\n const promise = fetchPeriodically('GET', URLUtils.qualifyUrl(uri));\n\n promise.then(\n (response) => {\n this.sidecars = response.sidecars;\n this.query = response.query;\n this.onlyActive = response.only_active;\n\n this.pagination = {\n total: response.pagination.total,\n count: response.pagination.count,\n page: response.pagination.page,\n pageSize: response.pagination.per_page,\n };\n\n this.sort = {\n field: response.sort,\n order: response.order,\n };\n\n this.propagateChanges();\n\n return response;\n },\n (error) => {\n UserNotification.error(error.status === 400 ? error.responseMessage : `Fetching Sidecars failed with status: ${error.message}`,\n 'Could not retrieve Sidecars');\n },\n );\n\n SidecarsActions.listPaginated.promise(promise);\n },\n\n getSidecar(sidecarId) {\n const promise = fetchPeriodically('GET', URLUtils.qualifyUrl(`${this.sourceUrl}/${sidecarId}`));\n\n promise.catch((error) => {\n let errorMessage = `Fetching Sidecar failed with status: ${error}`;\n\n if (error.status === 404) {\n errorMessage = `Unable to find a sidecar with ID <${sidecarId}>, maybe it was inactive for too long.`;\n }\n\n UserNotification.error(errorMessage, 'Could not retrieve Sidecar');\n });\n\n SidecarsActions.getSidecar.promise(promise);\n },\n\n restartCollector(sidecarId, collector) {\n const action = {};\n\n action.collector = collector;\n action.properties = {};\n action.properties.restart = true;\n const promise = fetch('PUT', URLUtils.qualifyUrl(`${this.sourceUrl}/${sidecarId}/action`), [action]);\n\n promise\n .catch(\n (error) => {\n UserNotification.error(`Restarting Sidecar failed with status: ${error}`,\n 'Could not restart Sidecar');\n },\n );\n\n SidecarsActions.restartCollector.promise(promise);\n },\n\n getSidecarActions(sidecarId) {\n const promise = fetchPeriodically('GET', URLUtils.qualifyUrl(`${this.sourceUrl}/${sidecarId}/action`));\n\n promise\n .catch(\n (error) => {\n UserNotification.error(`Fetching Sidecar actions failed with status: ${error}`,\n 'Could not retrieve Sidecar actions');\n },\n );\n\n SidecarsActions.getSidecarActions.promise(promise);\n },\n\n toConfigurationAssignmentDto(nodeId, collectorId, configurationId) {\n return {\n node_id: nodeId,\n collector_id: collectorId,\n configuration_id: configurationId,\n };\n },\n\n assignConfigurations(sidecars, configurations) {\n const nodes = sidecars.map(({ sidecar, collector }) => {\n // Add all previous assignments, but the one that was changed\n const assignments = sidecar.assignments.filter((assignment) => assignment.collector_id !== collector.id);\n\n // Add new assignments\n configurations.forEach((configuration) => {\n assignments.push({ collector_id: collector.id, configuration_id: configuration.id });\n });\n\n return { node_id: sidecar.node_id, assignments: assignments };\n });\n\n const promise = fetch('PUT', URLUtils.qualifyUrl(`${this.sourceUrl}/configurations`), { nodes: nodes });\n\n promise\n .then(\n (response) => {\n UserNotification.success('', `Configuration change for ${sidecars.length} collectors requested`);\n\n return response;\n },\n (error) => {\n UserNotification.error(`Fetching Sidecar actions failed with status: ${error}`,\n 'Could not retrieve Sidecar actions');\n },\n );\n\n SidecarsActions.assignConfigurations.promise(promise);\n },\n }),\n);\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport Reflux from 'reflux';\nimport * as Immutable from 'immutable';\nimport URI from 'urijs';\n\nimport type { UserOverviewJSON, AccountStatus } from 'logic/users/UserOverview';\nimport UserOverview from 'logic/users/UserOverview';\nimport fetch from 'logic/rest/FetchProvider';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport { singletonStore, singletonActions } from 'logic/singleton';\nimport { qualifyUrl } from 'util/URLUtils';\nimport PaginationURL from 'util/PaginationURL';\nimport type { UserJSON } from 'logic/users/User';\nimport User from 'logic/users/User';\nimport type { PaginatedListJSON, Pagination, PaginatedList } from 'stores/PaginationTypes';\n\nexport type PaginatedUsersResponse = PaginatedListJSON & {\n users: Array;\n context: {\n admin_user: UserOverviewJSON;\n };\n};\n\nexport type UserCreate = {\n email: UserJSON['email'];\n full_name: UserJSON['full_name'];\n first_name: UserJSON['first_name'];\n last_name: UserJSON['last_name'];\n password: string;\n permissions: UserJSON['permissions'];\n roles: UserJSON['roles'];\n session_timeout_ms: UserJSON['session_timeout_ms'];\n timezone: UserJSON['timezone'];\n username: UserJSON['username'];\n};\n\nexport type UserUpdate = Partial;\n\nexport type Token = {\n id: string;\n name: string;\n token: string;\n last_access: string;\n};\n\nexport type TokenSummary = {\n id: string,\n name: string,\n last_access: string,\n};\n\nexport type ChangePasswordRequest = {\n old_password: string;\n password: string;\n};\n\nexport type PaginatedUsers = PaginatedList & {\n adminUser: UserOverview | null | undefined,\n};\n\nexport type Query = {\n include_permissions?: boolean;\n include_sessions?: boolean;\n};\n\nexport type ActionsType = {\n create: (user: UserCreate) => Promise;\n load: (userId: string) => Promise;\n loadByUsername: (username: string) => Promise;\n update: (userId: string, request: UserUpdate, fullName: string) => Promise;\n delete: (userId: string, fullName: string) => Promise;\n changePassword: (userId: string, request: ChangePasswordRequest) => Promise;\n createToken: (userId: string, tokenName: string) => Promise;\n loadTokens: (userId: string) => Promise;\n deleteToken: (userId: string, tokenId: string, tokenName: string) => Promise;\n loadUsers: (query?: Query) => Promise>;\n loadUsersPaginated: (pagination: Pagination) => Promise;\n setStatus: (userId: string, newStatus: AccountStatus) => Promise;\n};\n\nconst usersUrl = ({ url = '', query = {} }) => {\n const uri = new URI(url);\n\n uri.query(query);\n\n return qualifyUrl(uri.resource());\n};\n\nexport const UsersActions = singletonActions(\n 'core.Users',\n () => Reflux.createActions({\n create: { asyncResult: true },\n load: { asyncResult: true },\n loadByUsername: { asyncResult: true },\n update: { asyncResult: true },\n delete: { asyncResult: true },\n changePassword: { asyncResult: true },\n createToken: { asyncResult: true },\n loadTokens: { asyncResult: true },\n deleteToken: { asyncResult: true },\n loadUsersPaginated: { asyncResult: true },\n loadUsers: { asyncResult: true },\n setStatus: { asyncResult: true },\n }),\n);\n\nexport const UsersStore = singletonStore('core.Users', () => Reflux.createStore({\n listenables: [UsersActions],\n\n create(user: UserCreate): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.create().url);\n const promise = fetch('POST', url, user);\n UsersActions.create.promise(promise);\n\n return promise;\n },\n\n load(id: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.load(encodeURIComponent(id)).url);\n const promise = fetch('GET', url).then(User.fromJSON);\n\n UsersActions.load.promise(promise);\n\n return promise;\n },\n\n loadByUsername(userId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.loadByUsername(encodeURIComponent(userId)).url);\n const promise = fetch('GET', url).then(User.fromJSON);\n\n UsersActions.loadByUsername.promise(promise);\n\n return promise;\n },\n\n update(userId: string, user: UserUpdate): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.update(encodeURIComponent(userId)).url);\n const promise = fetch('PUT', url, user);\n UsersActions.update.promise(promise);\n\n return promise;\n },\n\n delete(userId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.delete(encodeURIComponent(userId)).url);\n const promise = fetch('DELETE', url);\n\n UsersActions.delete.promise(promise);\n\n return promise;\n },\n\n changePassword(userId: string, request: ChangePasswordRequest): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.changePassword(encodeURIComponent(userId)).url);\n const promise = fetch('PUT', url, request);\n UsersActions.changePassword.promise(promise);\n\n return promise;\n },\n\n createToken(userId: string, tokenName: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.create_token(encodeURIComponent(userId), encodeURIComponent(tokenName)).url);\n const promise = fetch('POST', url);\n UsersActions.createToken.promise(promise);\n\n return promise;\n },\n\n loadTokens(userId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.list_tokens(encodeURIComponent(userId)).url);\n const promise = fetch('GET', url).then((response) => response.tokens);\n UsersActions.loadTokens.promise(promise);\n\n return promise;\n },\n\n deleteToken(userId: string, tokenId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.delete_token(encodeURIComponent(userId), encodeURIComponent(tokenId)).url);\n const promise = fetch('DELETE', url);\n UsersActions.deleteToken.promise(promise);\n\n return promise;\n },\n\n loadUsers(query: Query = {}): Promise> {\n const url = usersUrl({ url: ApiRoutes.UsersApiController.list().url, query });\n const promise = fetch('GET', url).then(({\n users,\n }) => Immutable.List(users.map((user) => UserOverview.fromJSON(user))));\n UsersActions.loadUsers.promise(promise);\n\n return promise;\n },\n\n loadUsersPaginated({\n page,\n perPage,\n query,\n }: Pagination): Promise {\n const url = PaginationURL(ApiRoutes.UsersApiController.paginated().url, page, perPage, query);\n\n const promise = fetch('GET', qualifyUrl(url)).then((response: PaginatedUsersResponse) => ({\n adminUser: response.context.admin_user ? UserOverview.fromJSON(response.context.admin_user) : undefined,\n list: Immutable.List(response.users.map((user) => UserOverview.fromJSON(user))),\n pagination: {\n page: response.page,\n perPage: response.per_page,\n query: response.query,\n count: response.count,\n total: response.total,\n },\n }));\n\n UsersActions.loadUsersPaginated.promise(promise);\n\n return promise;\n },\n\n setStatus(userId: string, accountStatus: AccountStatus): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.setStatus(userId, accountStatus).url);\n const promise = fetch('PUT', url);\n UsersActions.setStatus.promise(promise);\n\n return promise;\n },\n}));\n","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\nvar lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n});\n\nmodule.exports = lowerCase;\n"],"names":["___CSS_LOADER_EXPORT___","module","Container","StyledButton","theme","items","path","title","permissions","exactPathMatch","Component","obj","props","result","SidecarIcon","matchIcon","os","OperatingSystemIcon","operatingSystem","iconName","iconType","options","update","queryHelpPopover","queryHelp","query","onSearch","onReset","children","NAV_ITEMS","messageProp","status","lastSeen","id","toUserTimezone","useUserDateTime","message","text","SidecarStatusEnum","lastSeenDateTime","icon","className","popover","create","user","error","load","userId","loadByUsername","username","_userId","_payload","fullName","deleteAction","changePassword","createToken","tokenName","loadTokens","deleteToken","_tokenId","loadUsers","loadUsersPaginated","setStatus","accountStatus","statusCode","stringStatus","UserOverview","email","roles","readOnly","external","sessionActive","clientAddress","lastActivity","enabled","authServiceId","authServiceUid","authServiceEnabled","Builder","value","SidecarTR","inactive","showRelativeTime","sidecar","annotation","sidecarStatus","Routes","StatusIndicator","StyledSortIcon","PAGE_SIZES","sidecars","onSortChange","sort","sidecarCollection","onlyActive","showInactiveHint","pagination","onQueryChange","onPageChange","toggleShowInactive","sidecarRows","showOrHideInactive","sidecarList","SidecarSearchForm","SidecarListContainer","SidecarsStore","field","page","pageSize","callback","resetPage","sortField","order","paginationQueryParameter","shouldKeepPage","effectivePage","withPaginationQueryParameter","sidecarUser","setSidecarUser","currentUser","useCurrentUser","canCreateSidecarUserTokens","UsersDomain","SidecarsPageNavigation","DocsHelper","SidecarsActions","search","uri","promise","response","sidecarId","errorMessage","collector","action","nodeId","collectorId","configurationId","configurations","nodes","assignments","assignment","configuration","usersUrl","url","UsersActions","UsersStore","request","tokenId","users","perPage","createCompounder","lowerCase","word","index"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy