All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.325e2d4b-7360.abd0695a879f18dae193.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.2
Show newest version
{"version":3,"file":"325e2d4b-7360.abd0695a879f18dae193.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/authentication/BackendDetails/SyncedUsersSection/SyncedUsersOverviewItem.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendDetails/SyncedUsersSection/SyncedUsersFilter.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendDetails/SyncedUsersSection/SyncedUsersSection.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendDetails/SyncedUsersSection/index.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendDetails/SyncedTeamsSection.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendDetails/index.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendDetails/BackendDetails.tsx","webpack://graylog-web-interface/./src/components/common/Section/SectionGrid.tsx","webpack://graylog-web-interface/./src/components/permissions/RolesCell.tsx","webpack://graylog-web-interface/./src/components/users/UsersQueryHelper.tsx","webpack://graylog-web-interface/./src/pages/AuthenticationPage.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';\nimport type * as Immutable from 'immutable';\nimport styled from 'styled-components';\n\nimport { LinkContainer, Link } from 'components/common/router';\nimport type Role from 'logic/roles/Role';\nimport Routes from 'routing/Routes';\nimport type UserOverview from 'logic/users/UserOverview';\nimport { Button, ButtonToolbar } from 'components/bootstrap';\nimport RolesCell from 'components/permissions/RolesCell';\n\ntype Props = {\n  user: UserOverview,\n  roles: Immutable.List,\n};\n\nconst ActionsWrapper = styled(ButtonToolbar)`\n  display: flex;\n  justify-content: flex-end;\n`;\n\nconst SyncedUsersOverviewItem = ({\n  user: {\n    fullName,\n    id,\n    roles: userRolesIds,\n    username,\n  },\n  roles,\n}: Props) => {\n  const userRolesNames = userRolesIds.map((roleId) => {\n    return roles.find((role) => role.id === roleId)?.name ?? 'Role not found';\n  }).toSet();\n\n  return (\n    \n      \n        \n          {username}\n        \n      \n      {fullName}\n      \n      \n        \n          \n            \n          \n        \n      \n    \n  );\n};\n\nexport default SyncedUsersOverviewItem;\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';\nimport UserQueryHelper from 'components/users/UsersQueryHelper';\n\ntype Props = {\n  onSearch: (query: string) => void,\n};\n\nconst Container = styled.div`\n  margin-bottom: 10px;\n`;\n\nconst SyncedUsersFilter = ({ onSearch }: Props) => (\n  \n     onSearch('')}\n                onSearch={onSearch}\n                queryHelpComponent={}\n                topMargin={0} />\n  \n);\n\nexport default SyncedUsersFilter;\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 { useState, useEffect } from 'react';\nimport type * as Immutable from 'immutable';\n\nimport type Role from 'logic/roles/Role';\nimport type { PaginatedUsers } from 'stores/users/UsersStore';\nimport AuthenticationDomain from 'domainActions/authentication/AuthenticationDomain';\nimport { DataTable, PaginatedList, Spinner, EmptyResult } from 'components/common';\nimport SectionComponent from 'components/common/Section/SectionComponent';\nimport type AuthenticationBackend from 'logic/authentication/AuthenticationBackend';\n\nimport SyncedUsersOverviewItem from './SyncedUsersOverviewItem';\nimport SyncedUsersFilter from './SyncedUsersFilter';\n\nconst TABLE_HEADERS = ['Username', 'Full Name', 'Roles', 'Actions'];\nconst DEFAULT_PAGINATION = {\n  page: 1,\n  perPage: 10,\n  query: '',\n};\n\nconst _headerCellFormatter = (header) => {\n  switch (header.toLowerCase()) {\n    case 'actions':\n      return {header};\n    default:\n      return {header};\n  }\n};\n\nconst _loadSyncedTeams = (authBackendId, pagination, setLoading, setPaginatedUsers) => {\n  setLoading(true);\n\n  AuthenticationDomain.loadUsersPaginated(authBackendId, pagination).then((paginatedUsers) => {\n    setPaginatedUsers(paginatedUsers);\n    setLoading(false);\n  });\n};\n\ntype Props = {\n  roles: Immutable.List,\n  authenticationBackend: AuthenticationBackend,\n};\n\nconst SyncedUsersSection = ({ roles, authenticationBackend }: Props) => {\n  const [loading, setLoading] = useState(false);\n  const [paginatedUsers, setPaginatedUsers] = useState();\n  const [pagination, setPagination] = useState(DEFAULT_PAGINATION);\n  const { list: users } = paginatedUsers || {};\n  const { page } = pagination;\n\n  useEffect(() => _loadSyncedTeams(authenticationBackend.id, pagination, setLoading, setPaginatedUsers), [authenticationBackend.id, pagination]);\n\n  if (!paginatedUsers) {\n    return ;\n  }\n\n  // eslint-disable-next-line react/no-unstable-nested-components\n  const _userOverviewItem = (user) => ;\n\n  return (\n    \n      

\n Found {paginatedUsers.pagination.total} synchronized users.\n

\n setPagination({ ...pagination, page: newPage, perPage: newPerPage })} useQueryParameter={false}>\n setPagination({ ...pagination, query: newQuery, page: DEFAULT_PAGINATION.page })} />}\n dataRowFormatter={_userOverviewItem}\n filterKeys={[]}\n filterLabel=\"Filter Users\"\n headerCellFormatter={_headerCellFormatter}\n headers={TABLE_HEADERS}\n id=\"synced-users-overview\"\n noDataText={No synchronized users have been found.}\n rowClassName=\"no-bm\"\n rows={users.toJS()}\n sortByKey=\"username\" />\n \n
\n );\n};\n\nexport default SyncedUsersSection;\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 SyncedUsersSection from './SyncedUsersSection';\n\nexport default SyncedUsersSection;\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 { EnterprisePluginNotFound } from 'components/common';\nimport { getEnterpriseAuthenticationPlugin } from 'util/AuthenticationService';\nimport type AuthenticationBackend from 'logic/authentication/AuthenticationBackend';\nimport SectionComponent from 'components/common/Section/SectionComponent';\n\ntype Props = {\n authenticationBackend: AuthenticationBackend,\n};\n\nconst SyncedTeamsSection = ({ authenticationBackend }: Props) => {\n const enterpriseAuthenticationPlugin = getEnterpriseAuthenticationPlugin();\n const EnterpriseSyncedTeamsSection = enterpriseAuthenticationPlugin?.components.SyncedTeamsSection;\n\n if (!EnterpriseSyncedTeamsSection) {\n return (\n \n \n \n );\n }\n\n return ;\n};\n\nexport default SyncedTeamsSection;\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 BackendDetails from './BackendDetails';\n\nexport default BackendDetails;\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 { getAuthServicePlugin } from 'util/AuthenticationService';\nimport type { PaginatedRoles } from 'actions/roles/AuthzRolesActions';\nimport AuthzRolesDomain from 'domainActions/roles/AuthzRolesDomain';\nimport type AuthenticationBackend from 'logic/authentication/AuthenticationBackend';\nimport { Spinner } from 'components/common';\nimport SectionGrid from 'components/common/Section/SectionGrid';\n\nimport SyncedUsersSection from './SyncedUsersSection';\nimport SyncedTeamsSection from './SyncedTeamsSection';\n\nconst _loadRoles = (setPaginatedRoles) => {\n const getUnlimited = { page: 1, perPage: 0, query: '' };\n\n AuthzRolesDomain.loadRolesPaginated(getUnlimited).then(setPaginatedRoles);\n};\n\ntype Props = {\n authenticationBackend: AuthenticationBackend,\n};\n\ntype TypedConfig = { type: string };\n\nconst BackendDetails = ({ authenticationBackend }: Props) => {\n const authService = getAuthServicePlugin((authenticationBackend.config as TypedConfig).type);\n const [paginatedRoles, setPaginatedRoles] = useState();\n\n useEffect(() => _loadRoles(setPaginatedRoles), []);\n\n if (!authService) {\n return <>{`No authentication service plugin configured for type \"${(authenticationBackend.config as TypedConfig).type}\"`};\n }\n\n if (!paginatedRoles) {\n return ;\n }\n\n const { configDetailsComponent: BackendConfigDetails } = authService;\n\n return (\n \n
\n \n
\n
\n \n \n
\n
\n );\n};\n\nexport default BackendDetails;\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 styled, { css } from 'styled-components';\n\nconst SectionGrid = styled.div<{ $columns?: string } >(({ $columns, theme }) => css`\n display: grid;\n grid-template-columns: ${$columns ?? '1fr 1fr'};\n grid-column-gap: 40px;\n\n @media (max-width: ${theme.breakpoints.max.md}) {\n grid-template-columns: 1fr;\n }\n`);\n\nexport default SectionGrid;\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';\nimport type * as Immutable from 'immutable';\n\nimport { Label } from 'components/bootstrap';\n\nconst Td = styled.td`\n max-width: 300px;\n`;\n\nconst Role = styled(Label)`\n margin-right: 5px;\n margin-bottom: 5px;\n display: inline-block;\n padding: 4px 6px;\n`;\n\ntype Props = {\n roles: Immutable.Set,\n};\n\nconst RolesCell = ({ roles }: Props) => (\n \n {roles.map((role) => (\n \n {role}\n \n ))}\n \n);\n\nexport default RolesCell;\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 { Popover, Table, Button } from 'components/bootstrap';\nimport { OverlayTrigger, Icon } from 'components/common';\n\nconst userQueryHelperPopover = (\n \n

Available search fields

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
FieldDescription
full_nameThe full name of a user
usernameThe users login username.
emailThe users email.
\n

Examples

\n

\n Find users with a email containing example.com:
\n email:example.com
\n

\n
\n);\n\nconst UserQueryHelper = () => (\n \n \n \n);\n\nexport default UserQueryHelper;\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 } from 'react';\nimport {} from 'components/authentication/bindings'; // Bind all authentication plugins\n\nimport AuthenticationPageNavigation from 'components/authentication/AuthenticationPageNavigation';\nimport DocsHelper from 'util/DocsHelper';\nimport withParams from 'routing/withParams';\nimport StringUtils from 'util/StringUtils';\nimport type AuthenticationBackend from 'logic/authentication/AuthenticationBackend';\nimport history from 'util/History';\nimport Routes from 'routing/Routes';\nimport useActiveBackend from 'components/authentication/useActiveBackend';\nimport { PageHeader, Spinner, DocumentTitle } from 'components/common';\nimport BackendActionLinks from 'components/authentication/BackendActionLinks';\nimport BackendDetails from 'components/authentication/BackendDetails';\n\nconst _pageTitle = (activeBackend: AuthenticationBackend | undefined | null, returnString?: boolean) => {\n const pageName = 'Active Authentication Service';\n\n if (activeBackend) {\n const backendTitle = StringUtils.truncateWithEllipses(activeBackend.title, 30);\n\n if (returnString) {\n return `${pageName} - ${backendTitle}`;\n }\n\n return <>{pageName} - {backendTitle};\n }\n\n return pageName;\n};\n\nconst useRedirectToAppropriatePage = (finishedLoading, activeBackend, backendsTotal) => {\n useEffect(() => {\n if (finishedLoading && !activeBackend && backendsTotal === 0) {\n history.push(Routes.SYSTEM.AUTHENTICATION.BACKENDS.CREATE);\n } else if (finishedLoading && !activeBackend && backendsTotal) {\n history.push(Routes.SYSTEM.AUTHENTICATION.BACKENDS.OVERVIEW);\n }\n }, [finishedLoading, activeBackend, backendsTotal]);\n};\n\nconst AuthenticationPage = () => {\n const { finishedLoading, activeBackend, backendsTotal } = useActiveBackend();\n\n // Only display this page if there is an active backend\n // Otherwise redirect to correct page\n useRedirectToAppropriatePage(finishedLoading, activeBackend, backendsTotal);\n\n if (!finishedLoading) {\n return ;\n }\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\n {finishedLoading && activeBackend && (\n \n )}\n \n );\n};\n\nexport default withParams(AuthenticationPage);\n"],"names":["ActionsWrapper","styled","ButtonToolbar","user","fullName","id","roles","userRolesIds","username","userRolesNames","map","roleId","find","role","name","toSet","key","className","to","Routes","RolesCell","type","bsStyle","bsSize","Container","onSearch","onReset","queryHelpComponent","topMargin","TABLE_HEADERS","DEFAULT_PAGINATION","page","perPage","query","_headerCellFormatter","header","toLowerCase","authenticationBackend","loading","setLoading","useState","paginatedUsers","setPaginatedUsers","pagination","setPagination","list","users","useEffect","authBackendId","AuthenticationDomain","then","_loadSyncedTeams","SectionComponent","title","showLoading","total","activePage","totalItems","onChange","newPage","newPerPage","useQueryParameter","customFilter","newQuery","dataRowFormatter","filterKeys","filterLabel","headerCellFormatter","headers","noDataText","rowClassName","rows","toJS","sortByKey","enterpriseAuthenticationPlugin","getEnterpriseAuthenticationPlugin","EnterpriseSyncedTeamsSection","components","SyncedTeamsSection","featureName","authService","getAuthServicePlugin","config","paginatedRoles","setPaginatedRoles","AuthzRolesDomain","_loadRoles","configDetailsComponent","BackendConfigDetails","SectionGrid","$columns","theme","css","breakpoints","max","md","Td","Role","Label","userQueryHelperPopover","condensed","trigger","rootClose","placement","overlay","_pageTitle","activeBackend","returnString","pageName","backendTitle","StringUtils","withParams","finishedLoading","backendsTotal","useActiveBackend","history","useRedirectToAppropriatePage","actions","documentationLink","path","DocsHelper"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy