web-interface.assets.07ba022f-1899.66297c61caf6cac17376.js.map Maven / Gradle / Ivy
{"version":3,"file":"07ba022f-1899.66297c61caf6cac17376.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/authentication/BackendsOverview/BackendsQueryHelper.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendsOverview/BackendsFilter.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendsOverview/BackendsOverviewItem.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendsOverview/BackendsOverview.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendsOverview/index.tsx","webpack://graylog-web-interface/./src/pages/AuthenticationOverviewPage.tsx"],"sourcesContent":["/*\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 { OverlayTrigger, Icon } from 'components/common';\nimport { Popover, Table, Button } from 'components/bootstrap';\n\nconst backendQueryHelperPopover = (\n \n Available search fields
\n \n \n \n Field \n Description \n \n \n \n \n title \n The title of a backend \n \n \n description \n The description of a backends. \n \n \n
\n Examples
\n \n Find backends with a title containing LDAP:
\n title:LDAP
\n
\n \n);\n\nconst BackendQueryHelper = () => (\n \n \n \n);\n\nexport default BackendQueryHelper;\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 from 'styled-components';\n\nimport { SearchForm } from 'components/common';\n\nimport BackendsQueryHelper from './BackendsQueryHelper';\n\ntype Props = {\n onSearch: (query: string, resetLoadingStateCb?: () => void) => void,\n};\n\nconst Container = styled.div`\n margin-bottom: 10px;\n`;\n\nconst BackendsFilter = ({ onSearch }: Props) => (\n \n onSearch('')}\n onSearch={onSearch}\n queryHelpComponent={ }\n topMargin={0}\n useLoadingState />\n \n);\n\nexport default BackendsFilter;\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 */\n/* eslint-disable no-alert */\nimport * as React from 'react';\nimport type * as Immutable from 'immutable';\nimport styled from 'styled-components';\n\nimport { LinkContainer, Link } from 'components/common/router';\nimport StringUtils from 'util/StringUtils';\nimport Routes from 'routing/Routes';\nimport type Role from 'logic/roles/Role';\nimport AuthenticationDomain from 'domainActions/authentication/AuthenticationDomain';\nimport type AuthenticationBackend from 'logic/authentication/AuthenticationBackend';\nimport { TextOverflowEllipsis } from 'components/common';\nimport { Button, ButtonToolbar } from 'components/bootstrap';\n\ntype Props = {\n authenticationBackend: AuthenticationBackend,\n isActive: boolean,\n roles: Immutable.List,\n};\n\nconst StyledButtonToolbar = styled(ButtonToolbar)`\n display: flex;\n justify-content: flex-end;\n`;\n\nconst DescriptionCell = styled.td`\n max-width: 300px;\n`;\n\nconst rolesList = (defaultRolesIds: Immutable.List, roles: Immutable.List) => {\n const defaultRolesNames = defaultRolesIds.map((roleId) => roles.find((role) => role.id === roleId)?.name ?? 'Role not found');\n\n return defaultRolesNames.join(', ');\n};\n\nconst EditButton = ({ authenticationBackend }: { authenticationBackend: AuthenticationBackend }) => {\n const link = Routes.SYSTEM.AUTHENTICATION.BACKENDS.edit(authenticationBackend.id);\n\n return (\n \n \n \n );\n};\n\nconst confirmMessage = (authBackendTitle: string, actionName: string) => `Do you really want to ${actionName} the authentication service \"${StringUtils.truncateWithEllipses(authBackendTitle, 30)}\"`;\n\nconst ActionsCell = ({ isActive, authenticationBackend }: { authenticationBackend: AuthenticationBackend, isActive: boolean }) => {\n const { title, id } = authenticationBackend;\n const _setActiveBackend = (backendId) => AuthenticationDomain.setActiveBackend(backendId, title);\n\n const _deactivateBackend = () => {\n if (window.confirm(confirmMessage(title, 'deactivate'))) {\n _setActiveBackend(null);\n }\n };\n\n const _activateBackend = () => {\n if (window.confirm(confirmMessage(title, 'activate'))) {\n _setActiveBackend(id);\n }\n };\n\n const _deleteBackend = () => {\n if (window.confirm(confirmMessage(title, 'delete'))) {\n AuthenticationDomain.delete(id, title);\n }\n };\n\n return (\n \n \n {isActive ? (\n <>\n \n \n >\n ) : (\n <>\n \n \n \n >\n )}\n \n \n );\n};\n\nconst BackendsOverviewItem = ({ authenticationBackend, isActive, roles }: Props) => {\n const { title, description, defaultRoles, id } = authenticationBackend;\n const detailsLink = isActive ? Routes.SYSTEM.AUTHENTICATION.BACKENDS.ACTIVE : Routes.SYSTEM.AUTHENTICATION.BACKENDS.show(id);\n\n return (\n \n \n \n {title}\n \n \n \n \n {description}\n \n \n \n {rolesList(defaultRoles, roles)}\n \n \n \n );\n};\n\nexport default BackendsOverviewItem;\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';\nimport styled, { css } from 'styled-components';\n\nimport type { PaginatedRoles } from 'actions/roles/AuthzRolesActions';\nimport type { PaginatedBackends } from 'stores/authentication/AuthenticationStore';\nimport { AuthenticationActions } from 'stores/authentication/AuthenticationStore';\nimport AuthenticationDomain from 'domainActions/authentication/AuthenticationDomain';\nimport AuthzRolesDomain from 'domainActions/roles/AuthzRolesDomain';\nimport { DataTable, PaginatedList, Spinner } from 'components/common';\nimport { Col, Row } from 'components/bootstrap';\nimport usePaginationQueryParameter from 'hooks/usePaginationQueryParameter';\nimport type AuthenticationBackend from 'logic/authentication/AuthenticationBackend';\nimport type { AuthenticationBackendJSON } from 'logic/authentication/AuthenticationBackend';\n\nimport BackendsFilter from './BackendsFilter';\nimport BackendsOverviewItem from './BackendsOverviewItem';\n\nconst TABLE_HEADERS = ['Title', 'Description', 'Default Roles', 'Actions'];\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst LoadingSpinner = styled(Spinner)(({ theme }) => css`\n margin-left: 10px;\n font-size: ${theme.fonts.size.h3};\n`);\n\nconst _headerCellFormatter = (header) => {\n switch (header.toLowerCase()) {\n case 'actions':\n return {header} ;\n default:\n return {header} ;\n }\n};\n\nconst _loadRoles = (setPaginatedRoles) => {\n const getUnlimited = { page: 1, perPage: 0, query: '' };\n\n AuthzRolesDomain.loadRolesPaginated(getUnlimited).then(setPaginatedRoles);\n};\n\nconst _loadBackends = (pagination, setLoading, setPaginatedBackends) => {\n setLoading(true);\n\n AuthenticationDomain.loadBackendsPaginated(pagination).then((paginatedUsers) => {\n setPaginatedBackends(paginatedUsers);\n setLoading(false);\n });\n};\n\nconst _updateListOnBackendDelete = (pagination, setLoading, setPaginatedBackends, callback: () => void) => AuthenticationActions.delete.completed.listen(() => {\n _loadBackends(pagination, setLoading, setPaginatedBackends);\n callback();\n});\n\nconst _updateListOnBackendActivation = (pagination, setLoading, setPaginatedBackends, callback: () => void) => AuthenticationActions.setActiveBackend.completed.listen(() => {\n _loadBackends(pagination, setLoading, setPaginatedBackends);\n callback();\n});\n\nconst _backendsOverviewItem = (authBackend: AuthenticationBackend, context: { activeBackend: AuthenticationBackendJSON }, paginatedRoles: PaginatedRoles) => (\n \n);\n\nconst BackendsOverview = () => {\n const { page, pageSize: perPage, resetPage } = usePaginationQueryParameter();\n const [loading, setLoading] = useState();\n const [paginatedRoles, setPaginatedRoles] = useState();\n const [paginatedBackends, setPaginatedBackends] = useState();\n const [query, setQuery] = useState('');\n const { list: backends, context } = paginatedBackends || {};\n\n useEffect(() => _loadRoles(setPaginatedRoles), []);\n useEffect(() => _loadBackends({ query, page, perPage }, setLoading, setPaginatedBackends), [query, page, perPage]);\n useEffect(() => _updateListOnBackendDelete({ query, page, perPage }, setLoading, setPaginatedBackends, resetPage), [query, page, perPage, resetPage]);\n useEffect(() => _updateListOnBackendActivation({ query, page, perPage }, setLoading, setPaginatedBackends, resetPage), [query, page, perPage, resetPage]);\n\n const onSearch = (newQuery: string, resetLoadingStateCb: () => void) => {\n resetPage();\n setQuery(newQuery);\n\n if (!loading && resetLoadingStateCb) {\n resetLoadingStateCb();\n }\n };\n\n if (!paginatedBackends || !paginatedRoles) {\n return ;\n }\n\n return (\n \n \n Configured Authentication Services
\n \n {loading && }\n \n \n Found {paginatedBackends.pagination.total} configured authentication services on the system.\n
\n \n }\n dataRowFormatter={(authBackend) => _backendsOverviewItem(authBackend, context, paginatedRoles)}\n filterKeys={[]}\n filterLabel=\"Filter services\"\n headerCellFormatter={_headerCellFormatter}\n headers={TABLE_HEADERS}\n id=\"auth-backends-overview\"\n rowClassName=\"no-bm\"\n rows={backends.toJS()}\n sortByKey=\"title\" />\n \n \n
\n );\n};\n\nexport default BackendsOverview;\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 BackendsOverview from './BackendsOverview';\n\nexport default BackendsOverview;\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 { AuthenticationActions } from 'stores/authentication/AuthenticationStore';\nimport 'components/authentication/bindings'; // Bind all authentication plugins\nimport { Alert, Row, Col } from 'components/bootstrap';\nimport { DocumentTitle, PageHeader } from 'components/common';\nimport DocsHelper from 'util/DocsHelper';\nimport BackendsOverview from 'components/authentication/BackendsOverview';\nimport AuthenticationPageNavigation from 'components/authentication/AuthenticationPageNavigation';\nimport BackendActionLinks from 'components/authentication/BackendActionLinks';\nimport useActiveBackend from 'components/authentication/useActiveBackend';\n\nconst AuthenticationOverviewPage = () => {\n const { finishedLoading, activeBackend, backendsTotal } = useActiveBackend([AuthenticationActions.setActiveBackend]);\n\n return (\n \n \n \n )}\n documentationLink={{\n title: 'Authentication documentation',\n path: DocsHelper.PAGES.USERS_ROLES,\n }}>\n Configure Graylog's authentication services of this Graylog cluster.\n \n {!!(backendsTotal && backendsTotal >= 1 && !activeBackend) && (\n \n \n \n None of the configured authentication services is currently active.\n \n \n
\n )}\n \n \n );\n};\n\nexport default AuthenticationOverviewPage;\n"],"names":["backendQueryHelperPopover","Container","onSearch","BackendsQueryHelper","StyledButtonToolbar","DescriptionCell","rolesList","defaultRolesIds","roles","roleId","role","EditButton","authenticationBackend","link","Routes","confirmMessage","authBackendTitle","actionName","StringUtils","ActionsCell","isActive","title","id","_setActiveBackend","backendId","AuthenticationDomain","_deactivateBackend","_activateBackend","_deleteBackend","description","defaultRoles","detailsLink","TABLE_HEADERS","Header","LoadingSpinner","theme","_headerCellFormatter","header","_loadRoles","setPaginatedRoles","getUnlimited","AuthzRolesDomain","_loadBackends","pagination","setLoading","setPaginatedBackends","paginatedUsers","_updateListOnBackendDelete","callback","_updateListOnBackendActivation","_backendsOverviewItem","authBackend","context","paginatedRoles","page","perPage","resetPage","usePaginationQueryParameter","loading","paginatedBackends","query","setQuery","backends","newQuery","resetLoadingStateCb","finishedLoading","activeBackend","backendsTotal","useActiveBackend","AuthenticationPageNavigation","BackendActionLinks","DocsHelper"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy