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

web-interface.assets.57e33c6c-48.11b9f72925818240e61d.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.2
Show newest version
{"version":3,"sources":["webpack:///./src/pages/AuthenticationPage.tsx","webpack:///./src/components/common/Section/SectionGrid.tsx","webpack:///./src/components/permissions/RolesCell.tsx","webpack:///./src/components/users/UsersQueryHelper.tsx","webpack:///./src/components/authentication/BackendDetails/SyncedUsersSection/SyncedUsersOverviewItem.tsx","webpack:///./src/components/authentication/BackendDetails/SyncedUsersSection/SyncedUsersFilter.tsx","webpack:///./src/components/authentication/BackendDetails/SyncedUsersSection/SyncedUsersSection.tsx","webpack:///./src/components/authentication/BackendDetails/SyncedUsersSection/index.tsx","webpack:///./src/components/authentication/BackendDetails/SyncedTeamsSection.tsx","webpack:///./src/components/authentication/BackendDetails/BackendDetails.tsx","webpack:///./src/components/authentication/BackendDetails/index.tsx"],"names":["_pageTitle","activeBackend","returnString","pageName","backendTitle","StringUtils","truncateWithEllipses","title","withParams","useActiveBackend","finishedLoading","backendsTotal","useEffect","history","push","Routes","SYSTEM","AUTHENTICATION","BACKENDS","CREATE","OVERVIEW","useRedirectToAppropriatePage","subactions","page","DocsHelper","PAGES","USERS_ROLES","text","authenticationBackend","SectionGrid","styled","div","$columns","theme","css","breakpoints","max","md","Td","td","Role","Label","RolesCell","roles","map","role","key","bsStyle","userQueryHelperPopover","id","condensed","UserQueryHelper","trigger","rootClose","placement","overlay","name","ActionsWrapper","ButtonToolbar","SyncedUsersOverviewItem","user","fullName","userRolesIds","username","userRolesNames","roleId","find","toSet","className","to","USERS","show","edit","type","bsSize","Container","SyncedUsersFilter","onSearch","onReset","queryHelpComponent","topMargin","TABLE_HEADERS","DEFAULT_PAGINATION","perPage","query","_headerCellFormatter","header","toLocaleLowerCase","SyncedUsersSection","useState","loading","setLoading","paginatedUsers","setPaginatedUsers","pagination","setPagination","users","list","authBackendId","AuthenticationDomain","loadUsersPaginated","then","_loadSyncedTeams","SectionComponent","showLoading","total","activePage","totalItems","onChange","newPage","newPerPage","customFilter","newQuery","dataRowFormatter","filterKeys","filterLabel","headerCellFormatter","headers","noDataText","rowClassName","rows","toJS","sortByKey","SyncedTeamsSection","enterpriseAuthenticationPlugin","getEnterpriseAuthenticationPlugin","EnterpriseSyncedTeamsSection","components","featureName","BackendDetails","authService","getAuthServicePlugin","config","paginatedRoles","setPaginatedRoles","AuthzRolesDomain","loadRolesPaginated","_loadRoles","BackendConfigDetails","configDetailsComponent"],"mappings":"6GAAA,2NAiCMA,EAAa,SAACC,EAAyDC,GAC3E,IAAMC,EAAW,gCAEjB,GAAIF,EAAe,CACjB,IAAMG,EAAeC,IAAYC,qBAAqBL,EAAcM,MAAO,IAE3E,OAAIL,EACF,UAAUC,EAAV,cAAwBC,GAGnB,gCAAGD,EAAH,MAAe,yBAAIC,IAG5B,OAAOD,GA+CMK,uBAlCY,WAAM,MAC2BC,cAAlDC,EADuB,EACvBA,gBAAiBT,EADM,EACNA,cAMzB,OAjBmC,SAACS,EAAiBT,EAAeU,GACpEC,qBAAU,WACJF,IAAoBT,GAAmC,IAAlBU,EACvCE,IAAQC,KAAKC,IAAOC,OAAOC,eAAeC,SAASC,QAC1CT,IAAoBT,GAAiBU,GAC9CE,IAAQC,KAAKC,IAAOC,OAAOC,eAAeC,SAASE,YAEpD,CAACV,EAAiBT,EAAeU,IAQpCU,CAA6BX,EAAiBT,EALf,EACSU,eAMnCD,EAKH,gBAAC,IAAD,CAAeH,MAAOP,EAAWC,GAAe,IAC9C,gCACE,gBAAC,IAAD,CAAYM,MAAOP,EAAWC,GAClBqB,WACE,gBAAC,IAAD,CAAoBrB,cAAeA,EACfS,gBAAiBA,KAEjD,oGACA,+DAAsC,gBAAC,IAAD,CAAmBa,KAAMC,IAAWC,MAAMC,YACvBC,KAAK,kBAD9D,KAGA,gBAAC,IAAD,OAGDjB,GAAmBT,GAClB,gBAAC,IAAD,CAAgB2B,sBAAuB3B,MAnBtC,gBAAC,KAAD,U,sCCnEX,oBAkBM4B,EAAcC,UAAOC,IAAV,kEAAGD,EAAmC,gBAAGE,EAAH,EAAGA,SAAUC,EAAb,EAAaA,MAAb,OAAyBC,cAAxB,CAAD,kHAE5BF,UAAY,UAGhBC,EAAME,YAAYC,IAAIC,OAK9BR,O,sCC5Bf,oDAsBMS,EAAKR,UAAOS,GAAV,oEAAGT,CAAH,sBAIFU,EAAOV,kBAAOW,KAAV,sEAAGX,CAAH,+EAqBKY,IAVG,SAAC,GAAD,IAAGC,EAAH,EAAGA,MAAH,OAChB,gBAACL,EAAD,KACGK,EAAMC,KAAI,SAACC,GAAD,OACT,gBAACL,EAAD,CAAMM,IAAKD,EAAME,QAAkB,UAATF,EAAmB,OAAS,WACnDA,S,sCCzCT,oDAqBMG,EACJ,gBAAC,IAAD,CAASC,GAAG,yBAAyB1C,MAAM,sBACzC,yBAAG,0DACH,gBAAC,IAAD,CAAO2C,WAAS,GACd,6BACE,0BACE,mCACA,2CAGJ,6BACE,0BACE,uCACA,sDAEF,0BACE,sCACA,wDAEF,0BACE,mCACA,iDAIN,yBAAG,2CACH,2EACiD,2BAC/C,gDAA4B,6BAWnBC,IANS,kBACtB,gBAAC,IAAD,CAAgBC,QAAQ,QAAQC,WAAS,EAACC,UAAU,QAAQC,QAASP,GACnE,gBAAC,IAAD,CAAQD,QAAQ,QAAO,gBAAC,IAAD,CAAMS,KAAK,wB,0OCxBhCC,EAAiB3B,kBAAO4B,KAAV,8FAAG5B,CAAH,4CAwCL6B,EAnCiB,SAAC,GAQpB,QAPXC,KACEC,EAMS,EANTA,SACAZ,EAKS,EALTA,GACOa,EAIE,EAJTnB,MACAoB,EAGS,EAHTA,SAEFpB,EACW,EADXA,MAEMqB,EAAiBF,EAAalB,KAAI,SAACqB,GAAW,QAClD,2BAAOtB,EAAMuB,MAAK,SAACrB,GAAD,OAAUA,EAAKI,KAAOgB,YAAxC,aAAO,EAA0CT,YAAjD,QAAyD,oBACxDW,QAEH,OACE,sBAAIrB,IAAKG,GACP,sBAAImB,UAAU,WACZ,gBAAC,IAAD,CAAMC,GAAItD,IAAOC,OAAOsD,MAAMC,KAAKtB,IAChCc,IAGL,sBAAIK,UAAU,WAAWP,GACzB,gBAACnB,EAAA,EAAD,CAAWC,MAAOqB,IAClB,sBAAII,UAAU,WACZ,gBAACX,EAAD,KACE,gBAAC,IAAD,CAAeY,GAAItD,IAAOC,OAAOsD,MAAME,KAAKvB,IAC1C,gBAAC,IAAD,CAAQwB,KAAK,SAAS1B,QAAQ,OAAO2B,OAAO,MAA5C,a,gBCpCNC,EAAY7C,UAAOC,IAAV,kFAAGD,CAAH,yBAaA8C,EATW,SAAC,GAAD,IAAGC,EAAH,EAAGA,SAAH,OACxB,gBAACF,EAAD,KACE,gBAAC,IAAD,CAAYG,QAAS,kBAAMD,EAAS,KACxBA,SAAUA,EACVE,mBAAoB,gBAAC,IAAD,MACpBC,UAAW,M,8nDCL3B,IAAMC,EAAgB,CAAC,WAAY,YAAa,QAAS,WACnDC,EAAqB,CACzB3D,KAAM,EACN4D,QAAS,GACTC,MAAO,IAGHC,EAAuB,SAACC,GAC5B,OAAQA,EAAOC,qBACb,IAAK,UACH,OAAO,sBAAInB,UAAU,sBAAsBkB,GAC7C,QACE,OAAO,0BAAKA,KCxBHE,ED0CY,SAAC,GAA4C,IAA1C7C,EAA0C,EAA1CA,MAAOf,EAAmC,EAAnCA,sBAAmC,IACxC6D,oBAAS,GAD+B,GAC/DC,EAD+D,KACtDC,EADsD,SAE1BF,qBAF0B,GAE/DG,EAF+D,KAE/CC,EAF+C,SAGlCJ,mBAASP,GAHyB,GAG/DY,EAH+D,KAGnDC,EAHmD,KAIxDC,GAAUJ,GAAkB,IAAlCK,KACA1E,EAASuE,EAATvE,KAIR,GAFAX,qBAAU,kBArBa,SAACsF,EAAeJ,EAAYH,EAAYE,GAC/DF,GAAW,GAEXQ,IAAqBC,mBAAmBF,EAAeJ,GAAYO,MAAK,SAACT,GACvEC,EAAkBD,GAClBD,GAAW,MAgBGW,CAAiB1E,EAAsBqB,GAAI6C,EAAYH,EAAYE,KAAoB,CAACjE,EAAsBqB,GAAI6C,KAE7HF,EACH,OAAO,gBAAC,KAAD,MAKT,OACE,gBAACW,EAAA,EAAD,CAAkBhG,MAAM,qBAAqBiG,YAAad,GACxD,qBAAGtB,UAAU,eAAb,SACSwB,EAAeE,WAAWW,MADnC,wBAGA,gBAAC,IAAD,CAAeC,WAAYnF,EAAMoF,WAAYf,EAAeE,WAAWW,MAAOG,SAAU,SAACC,EAASC,GAAV,OAAyBf,EAAc,EAAD,KAAMD,GAAN,IAAkBvE,KAAMsF,EAAS1B,QAAS2B,OACtK,gBAAC,IAAD,CAAW1C,UAAU,cACV2C,aAAc,gBAAC,EAAD,CAAmBlC,SAAU,SAACmC,GAAD,OAAcjB,EAAc,EAAD,KAAMD,GAAN,IAAkBV,MAAO4B,EAAUzF,KAAM2D,EAAmB3D,WAClI0F,iBAVS,SAACrD,GAAD,OAAU,gBAAC,EAAD,CAAyBA,KAAMA,EAAMjB,MAAOA,KAW/DuE,WAAY,GACZC,YAAY,eACZC,oBAAqB/B,EACrBgC,QAASpC,EACThC,GAAG,wBACHqE,WAAY,gBAAC,IAAD,+CACZC,aAAa,QACbC,KAAMxB,EAAMyB,OACZC,UAAU,gBElDdC,EAfY,SAAC,GAAqC,IAAnC/F,EAAmC,EAAnCA,sBACtBgG,EAAiCC,cACjCC,EAA+BF,aAAH,EAAGA,EAAgCG,WAAWJ,mBAEhF,OAAKG,EAQE,gBAACA,EAAD,CAA8BlG,sBAAuBA,IANxD,gBAAC2E,EAAA,EAAD,CAAkBhG,MAAM,sBACtB,gBAAC,IAAD,CAA0ByH,YAAY,Y,u8BCL9C,IAyCeC,EA7BQ,SAAC,GAAqC,IAAnCrG,EAAmC,EAAnCA,sBAClBsG,EAAcC,YAAsBvG,EAAsBwG,OAAuB3D,MAD5B,IAEfgB,qBAFe,GAEpD4C,EAFoD,KAEpCC,EAFoC,KAM3D,GAFA1H,qBAAU,kBAhBO,SAAC0H,GAGlBC,IAAiBC,mBAFI,CAAEjH,KAAM,EAAG4D,QAAS,EAAGC,MAAO,KAEDiB,KAAKiC,GAavCG,CAAWH,KAAoB,KAE1CJ,EACH,OAAO,gGAA6DtG,EAAsBwG,OAAuB3D,KAA1G,MAGT,IAAK4D,EACH,OAAO,gBAAC,KAAD,MAXkD,IAc3BK,EAAyBR,EAAjDS,uBAER,OACE,gBAAC9G,EAAA,EAAD,KACE,2BACE,gBAAC6G,EAAD,CAAsB9G,sBAAuBA,EAAuBe,MAAO0F,EAAepC,QAE5F,2BACE,gBAAC,EAAD,CAAoBrE,sBAAuBA,EAAuBe,MAAO0F,EAAepC,OACxF,gBAAC,EAAD,CAAoBrE,sBAAuBA,OC9CpCqG","file":"57e33c6c-48.11b9f72925818240e61d.js","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 { useEffect } from 'react';\nimport {} from 'components/authentication/bindings'; // Bind all authentication plugins\n\nimport AuthenticationOverviewLinks from 'components/authentication/AuthenticationOverviewLinks';\nimport DocsHelper from 'util/DocsHelper';\nimport withParams from 'routing/withParams';\nimport StringUtils from 'util/StringUtils';\nimport 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';\nimport DocumentationLink from 'components/support/DocumentationLink';\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          Configure Graylog's authentication services of this Graylog cluster.\n          Read more authentication in the .\n          \n          \n        \n\n        {finishedLoading && activeBackend && (\n          \n        )}\n      \n    \n  );\n};\n\nexport default withParams(AuthenticationPage);\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 * as Immutable from 'immutable';\n\nimport { Label } from 'components/graylog';\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  line-height: 15px;\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 { OverlayTrigger, Popover, Table, Button } from 'components/graylog';\nimport { 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 * as Immutable from 'immutable';\nimport styled from 'styled-components';\n\nimport { LinkContainer, Link } from 'components/graylog/router';\nimport Role from 'logic/roles/Role';\nimport Routes from 'routing/Routes';\nimport UserOverview from 'logic/users/UserOverview';\nimport { Button, ButtonToolbar } from 'components/graylog';\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 * as Immutable from 'immutable';\n\nimport Role from 'logic/roles/Role';\nimport { PaginatedUsers } from 'actions/users/UsersActions';\nimport AuthenticationDomain from 'domainActions/authentication/AuthenticationDomain';\nimport { DataTable, PaginatedList, Spinner, EmptyResult } from 'components/common';\nimport SectionComponent from 'components/common/Section/SectionComponent';\nimport 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.toLocaleLowerCase()) {\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 const _userOverviewItem = (user) => ;\n\n return (\n \n

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

\n setPagination({ ...pagination, page: newPage, perPage: newPerPage })}>\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 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 * as React from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { getAuthServicePlugin } from 'util/AuthenticationService';\nimport { PaginatedRoles } from 'actions/roles/AuthzRolesActions';\nimport AuthzRolesDomain from 'domainActions/roles/AuthzRolesDomain';\nimport 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 BackendDetails from './BackendDetails';\n\nexport default BackendDetails;\n"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy