web-interface.assets.1255d548-832.00643985ddc5dc9a3f27.js.map Maven / Gradle / Ivy
{"version":3,"file":"1255d548-832.00643985ddc5dc9a3f27.js","mappings":"yWAgCA,MAAMA,KAAiB,WAAO,eAAa;AAAA;AAAA;AAAA,EAsC3C,EAjCgC,CAAC,CAC/B,KAAM,CACJ,SAAAC,EACA,GAAAC,EACA,MAAOC,EACP,SAAAC,CACF,EACA,MAAAC,CACF,IAAa,CACX,MAAMC,EAAiBH,EAAa,IAAKI,GAAQ,CA9CnD,QA8CsD,YAAAF,EAAM,KAAMG,GAASA,EAAK,KAAOD,CAAM,IAAvC,cAA0C,OAA1C,OAAkD,iBAAgB,EAAE,MAAM,EAE9H,OACE,gBAAC,MAAG,IAAKL,CAAA,EACP,gBAAC,MAAG,UAAU,WACZ,gBAAC,IAAI,CAAC,GAAIO,EAAA,GAAO,OAAO,MAAM,KAAKP,CAAE,GAClCE,CACH,CACF,EACA,gBAAC,MAAG,UAAU,WAAWH,CAAS,EAClC,gBAACS,EAAA,EAAS,CAAC,MAAOJ,CAAA,CAAgB,EAClC,gBAAC,MAAG,UAAU,WACZ,gBAACN,EAAA,KACC,gBAAC,IAAa,CAAC,GAAIS,EAAA,GAAO,OAAO,MAAM,KAAKP,CAAE,GAC5C,gBAAC,SAAM,CAAC,KAAK,SAAS,QAAQ,OAAO,OAAO,MAAK,MAEjD,CACF,CACF,CACF,CACF,CAEJ,E,oBC1CA,MAAMS,EAAY,UAAO;AAAA;AAAA,EAazB,EAT0B,CAAC,CAAE,SAAAC,CAAS,IACpC,gBAACD,EAAA,KACC,gBAAC,MAAW,QAAS,IAAMC,EAAS,EAAE,EAC1B,SAAAA,EACA,mBAAoB,gBAAC,IAAe,IAAC,EACrC,UAAW,EAAG,CAC5B,ECNIC,EAAgB,CAAC,WAAY,YAAa,QAAS,SAAS,EAC5DC,EAAqB,CACzB,KAAM,EACN,QAAS,GACT,MAAO,EACT,EAEMC,EAAwBC,GAAW,CACvC,OAAQA,EAAO,YAAY,EAAG,CAC5B,IAAK,UACH,OAAO,gBAAC,MAAG,UAAU,sBAAsBA,CAAO,EACpD,QACE,OAAO,gBAAC,UAAIA,CAAO,CACvB,CACF,EAEMC,EAAmB,CAACC,EAAeC,EAAYC,EAAYC,IAAsB,CACrFD,EAAW,EAAI,EAEfE,EAAA,EAAqB,mBAAmBJ,EAAeC,CAAU,EAAE,KAAMI,GAAmB,CAC1FF,EAAkBE,CAAc,EAChCH,EAAW,EAAK,CAClB,CAAC,CACH,ECnCA,ED0C2B,CAAC,CAAE,MAAAf,EAAO,sBAAAmB,CAAsB,IAAa,CACtE,KAAM,CAACC,EAASL,CAAU,KAAI,YAAS,EAAK,EACtC,CAACG,EAAgBF,CAAiB,KAAI,YAAqC,EAC3E,CAACF,EAAYO,CAAa,KAAI,YAASZ,CAAkB,EACzD,CAAE,KAAMa,CAAM,EAAIJ,GAAkB,CAAC,EACrC,CAAE,KAAAK,CAAK,EAAIT,EAIjB,MAFA,aAAU,IAAMF,EAAiBO,EAAsB,GAAIL,EAAYC,EAAYC,CAAiB,EAAG,CAACG,EAAsB,GAAIL,CAAU,CAAC,EAEzI,CAACI,EACH,OAAO,gBAAC,KAAO,IAAC,EAGlB,MAAMM,EAAqBC,GAAS,gBAAC,EAAuB,CAAC,KAAAA,EAAY,MAAAzB,CAAA,CAAc,EAEvF,OACE,gBAAC0B,EAAA,EAAgB,CAAC,MAAM,qBAAqB,YAAaN,CAAA,EACxD,gBAAC,KAAE,UAAU,eAAc,SAClBF,EAAe,WAAW,MAAM,sBACzC,EACA,gBAAC,KAAa,CAAC,WAAYK,EAAM,WAAYL,EAAe,WAAW,MAAO,SAAU,CAACS,EAASC,IAAeP,EAAc,CAAE,GAAGP,EAAY,KAAMa,EAAS,QAASC,CAAW,CAAC,EAAG,kBAAmB,IACxM,gBAAC,MAAU,UAAU,cACV,aAAc,gBAAC,EAAiB,CAAC,SAAWC,GAAaR,EAAc,CAAE,GAAGP,EAAY,MAAOe,EAAU,KAAMpB,EAAmB,IAAK,CAAC,EAAG,EAC3I,iBAAkBe,EAClB,WAAY,CAAC,EACb,YAAY,eACZ,oBAAqBd,EACrB,QAASF,EACT,GAAG,wBACH,WAAY,gBAAC,KAAc,KAAC,wCAAsC,EAClE,aAAa,QACb,KAAMc,EAAM,KAAK,EACjB,UAAU,WAAW,CAClC,CACF,CAEJ,EEtDA,EAf2B,CAAC,CAAE,sBAAAH,CAAsB,IAAa,CAC/D,MAAMW,KAAiC,MAAkC,EACnEC,EAA+BD,GAAA,YAAAA,EAAgC,WAAW,mBAEhF,OAAKC,EAQE,gBAACA,EAAA,CAA6B,sBAAAZ,CAAA,CAA8C,EAN/E,gBAACO,EAAA,EAAgB,CAAC,MAAM,sBACtB,gBAAC,KAAwB,CAAC,YAAY,OAAQ,EAChD,CAKN,ECXMM,EAAcC,GAAsB,CACxC,MAAMC,EAAe,CAAE,KAAM,EAAG,QAAS,EAAG,MAAO,EAAG,EAEtDC,EAAA,EAAiB,mBAAmBD,CAAY,EAAE,KAAKD,CAAiB,CAC1E,ECfA,EDuBuB,CAAC,CAAE,sBAAAd,CAAsB,IAAa,CAC3D,MAAMiB,KAAc,MAAsBjB,EAAsB,OAAuB,IAAI,EACrF,CAACkB,EAAgBJ,CAAiB,KAAI,YAAqC,EAIjF,MAFA,aAAU,IAAMD,EAAWC,CAAiB,EAAG,CAAC,CAAC,EAE7C,CAACG,EACH,OAAO,gCAAG,yDAA0DjB,EAAsB,OAAuB,IAAI,GAAI,EAG3H,GAAI,CAACkB,EACH,OAAO,gBAAC,KAAO,IAAC,EAGlB,KAAM,CAAE,uBAAwBC,CAAqB,EAAIF,EAEzD,OACE,gBAACG,EAAA,EAAW,KACV,gBAAC,WACC,gBAACD,EAAA,CAAqB,sBAAAnB,EAA8C,MAAOkB,EAAe,KAAM,CAClG,EACA,gBAAC,WACC,gBAAC,EAAkB,CAAC,sBAAAlB,EAA8C,MAAOkB,EAAe,KAAM,EAC9F,gBAAC,EAAkB,CAAC,sBAAAlB,CAAA,CAA8C,CACpE,CACF,CAEJ,C,4FE9CA,MAAMqB,EAAK,UAAO;AAAA;AAAA,EAIZC,KAAO,WAAO,OAAK;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBzB,EAVkB,CAAC,CAAE,MAAAzC,CAAM,IACzB,gBAACwC,EAAA,KACExC,EAAM,IAAKG,GACV,gBAACsC,EAAA,CAAK,IAAKtC,EAAM,QAASA,IAAS,QAAU,OAAS,WACnDA,CACH,CACD,EAAE,QAAQ,CACb,C,4FCvBF,MAAMuC,EACJ,gBAAC,WAAQ,GAAG,yBACH,MAAM,sBACb,gBAAC,SAAE,gBAAC,cAAO,yBAAuB,CAAS,EAC3C,gBAAC,QAAK,CAAC,UAAS,IACd,gBAAC,aACC,gBAAC,UACC,gBAAC,UAAG,OAAK,EACT,gBAAC,UAAG,aAAW,CACjB,CACF,EACA,gBAAC,aACC,gBAAC,UACC,gBAAC,UAAG,WAAS,EACb,gBAAC,UAAG,yBAAuB,CAC7B,EACA,gBAAC,UACC,gBAAC,UAAG,UAAQ,EACZ,gBAAC,UAAG,2BAAyB,CAC/B,EACA,gBAAC,UACC,gBAAC,UAAG,OAAK,EACT,gBAAC,UAAG,kBAAgB,CACtB,CACF,CACF,EACA,gBAAC,SAAE,gBAAC,cAAO,UAAQ,CAAS,EAC5B,gBAAC,SAAE,kDAC8C,gBAAC,SAAG,EACnD,gBAAC,WAAI,mBAAiB,EAAM,gBAAC,SAAG,CAClC,CACF,EASF,EANwB,IACtB,gBAAC,KAAc,CAAC,QAAQ,QAAQ,UAAS,GAAC,UAAU,QAAQ,QAASA,CAAA,EACnE,gBAAC,SAAM,CAAC,QAAQ,QAAO,gBAAC,KAAI,CAAC,KAAK,iBAAkB,EAAE,CACxD,C,uPC1BF,MAAMC,EAAa,CAACC,EAAyDC,IAA2B,CACtG,MAAMC,EAAW,gCAEjB,GAAIF,EAAe,CACjB,MAAMG,EAAe,IAAY,qBAAqBH,EAAc,MAAO,EAAE,EAE7E,OAAIC,EACK,GAAGC,CAAQ,MAAMC,CAAY,GAG/B,gCAAGD,EAAS,MAAG,gBAAC,SAAGC,CAAa,CAAI,CAC7C,CAEA,OAAOD,CACT,EAEME,EAA+B,CAACC,EAA0BL,EAAsCM,IAA0B,CAC9H,MAAMC,KAAU,KAAW,KAE3B,aAAU,IAAM,CACVF,GAAmB,CAACL,GAAiBM,IAAkB,EACzDC,EAAQ,KAAK,KAAO,OAAO,eAAe,SAAS,MAAM,EAChDF,GAAmB,CAACL,GAAiBM,GAC9CC,EAAQ,KAAK,KAAO,OAAO,eAAe,SAAS,QAAQ,CAE/D,EAAG,CAACF,EAAiBL,EAAeM,EAAeC,CAAO,CAAC,CAC7D,EAEMC,EAAqB,IAAM,CAC/B,KAAM,CAAE,gBAAAH,EAAiB,cAAAL,EAAe,cAAAM,CAAc,KAAI,KAAiB,EAM3E,OAFAF,EAA6BC,EAAiBL,EAAeM,CAAa,EAErED,EAKH,gBAAC,KAAa,CAAC,MAAON,EAAWC,EAAe,EAAI,GAClD,gBAAC,IAA4B,IAAC,EAC9B,gBAAC,MAAW,MAAOD,EAAWC,CAAa,EAC/B,QACE,gBAAC,KAAmB,cAAAA,EACA,gBAAAK,CAAA,CAAkC,EAExD,kBAAmB,CACjB,MAAO,+BACP,KAAM,IAAW,MAAM,WACzB,GACV,gBAAC,YAAK,sEAAyE,CACjF,EAECA,GAAmBL,GAClB,gBAAC,IAAc,CAAC,sBAAuBA,CAAA,CAAe,CAE1D,EArBO,gBAAC,KAAO,IAAC,CAuBpB,EAEA,KAAe,KAAWQ,CAAkB,C,0EC7D5C,QANiDC,GAAgGC,GAAU,CACzJ,MAAMC,KAAS,aAAU,EAEzB,OAAO,gBAACF,EAAA,CAAW,GAAGC,EAAgB,OAAAC,CAAA,CAAgB,CACxD,C","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/BackendDetails.tsx","webpack://graylog-web-interface/./src/components/authentication/BackendDetails/index.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","webpack://graylog-web-interface/./src/routing/withParams.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) => roles.find((role) => role.id === roleId)?.name ?? 'Role not found').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, NoSearchResult } 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 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 * 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 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 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 )).toArray()}\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 Field \n Description \n \n \n \n \n full_name \n The full name of a user \n \n \n username \n The users login username. \n \n \n email \n The users email. \n \n \n
\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 '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 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 useHistory from 'routing/useHistory';\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: boolean, activeBackend: AuthenticationBackend, backendsTotal: number) => {\n const history = useHistory();\n\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, history]);\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","/*\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 { useParams } from 'react-router-dom';\nimport type { Subtract } from 'utility-types';\n\ntype ParamsContext = {\n params: {\n [key: string]: string | null | undefined;\n };\n};\n\nconst withParams = (Component: React.ComponentType): React.ComponentType> => (props) => {\n const params = useParams();\n\n return ;\n};\n\nexport default withParams;\n"],"names":["ActionsWrapper","fullName","id","userRolesIds","username","roles","userRolesNames","roleId","role","Routes","RolesCell","Container","onSearch","TABLE_HEADERS","DEFAULT_PAGINATION","_headerCellFormatter","header","_loadSyncedTeams","authBackendId","pagination","setLoading","setPaginatedUsers","AuthenticationDomain","paginatedUsers","authenticationBackend","loading","setPagination","users","page","_userOverviewItem","user","SectionComponent","newPage","newPerPage","newQuery","enterpriseAuthenticationPlugin","EnterpriseSyncedTeamsSection","_loadRoles","setPaginatedRoles","getUnlimited","AuthzRolesDomain","authService","paginatedRoles","BackendConfigDetails","SectionGrid","Td","Role","userQueryHelperPopover","_pageTitle","activeBackend","returnString","pageName","backendTitle","useRedirectToAppropriatePage","finishedLoading","backendsTotal","history","AuthenticationPage","Component","props","params"],"sourceRoot":""}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy