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

web-interface.assets.b6fe2bb5-6013.f592f24c3c335af674e6.js.map Maven / Gradle / Ivy

{"version":3,"file":"b6fe2bb5-6013.f592f24c3c335af674e6.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/common/Section/SectionComponent.tsx","webpack://graylog-web-interface/./src/components/common/Section/SectionGrid.tsx","webpack://graylog-web-interface/./src/components/roles/RoleDetails/ProfileSection.tsx","webpack://graylog-web-interface/./src/components/roles/navigation/RoleActionLinks.tsx","webpack://graylog-web-interface/./src/domainActions/roles/AuthzRolesDomain.ts","webpack://graylog-web-interface/./src/logic/users/UserOverview.ts","webpack://graylog-web-interface/./src/components/roles/RoleDetails/TeamsSection.tsx","webpack://graylog-web-interface/./src/components/roles/RoleDetails/UsersSection.tsx","webpack://graylog-web-interface/./src/components/roles/RoleDetails/RoleDetails.tsx","webpack://graylog-web-interface/./src/components/roles/RoleDetails/index.tsx","webpack://graylog-web-interface/./src/pages/RoleDetailsPage.tsx","webpack://graylog-web-interface/./src/logic/roles/Role.ts","webpack://graylog-web-interface/./src/actions/roles/AuthzRolesActions.ts","webpack://graylog-web-interface/./src/stores/roles/AuthzRolesStore.ts"],"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 styled, { css } from 'styled-components';\n\nimport Spinner from 'components/common/Spinner';\nimport { Row, Col } from 'components/bootstrap';\n\ntype Props = {\n  children: React.ReactNode,\n  title: string,\n  showLoading?: boolean,\n  headerActions?: React.ReactElement,\n  className?: string,\n};\n\nconst Header = styled.div`\n  display: flex;\n  justify-content: space-between;\n  align-items: flex-start;\n\n  *:not(:first-child) {\n    margin-left: 10px;\n  }\n`;\n\nexport const Headline = styled.h2`\n  margin-bottom: 15px;\n  display: inline;\n`;\n\nconst LoadingSpinner = styled(Spinner)(({ theme }) => css`\n  margin-left: 10px;\n  font-size: ${theme.fonts.size.h3};\n`);\n\nconst SectionComponent = ({ children, title, showLoading = false, headerActions, className }: Props) => (\n  \n    \n      
\n \n {title}\n {showLoading && }\n \n {headerActions}\n
\n {children}\n \n
\n);\n\nSectionComponent.defaultProps = {\n className: '',\n showLoading: false,\n headerActions: undefined,\n};\n\nexport default SectionComponent;\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';\n\nimport type Role from 'logic/roles/Role';\nimport SectionComponent from 'components/common/Section/SectionComponent';\nimport { ReadOnlyFormGroup } from 'components/common';\n\ntype Props = {\n role: Role,\n};\n\nconst ProfileSection = ({\n role: {\n name,\n description,\n },\n}: Props) => (\n \n \n \n \n);\n\nexport default ProfileSection;\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 type { $PropertyType } from 'utility-types';\n\nimport { LinkContainer } from 'components/common/router';\nimport type Role from 'logic/roles/Role';\nimport Routes from 'routing/Routes';\nimport { ButtonToolbar, Button } from 'components/bootstrap';\n\ntype Props = {\n roleId: $PropertyType,\n};\n\nconst RoleActionLinks = ({ roleId }: Props) => (\n \n \n \n \n \n \n \n \n);\n\nexport default RoleActionLinks;\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 { AuthzRolesActions } from 'stores/roles/AuthzRolesStore';\n\nimport notifyingAction from '../notifyingAction';\n\nconst load = notifyingAction({\n action: AuthzRolesActions.load,\n error: (error, roleId) => ({\n message: `Loading role with id \"${roleId}\" failed with status: ${error}`,\n }),\n notFoundRedirect: true,\n});\n\nconst deleteAction = notifyingAction({\n action: AuthzRolesActions.delete,\n success: (roleId, roleName) => ({\n message: `Role \"${roleName}\" was deleted successfully`,\n }),\n error: (error, roleId, roleName) => ({\n message: `Deleting role \"${roleName}\" failed with status: ${error}`,\n }),\n});\n\nconst addMembers = notifyingAction({\n action: AuthzRolesActions.addMembers,\n success: (roleId, usernames) => ({\n message: `Users:\"${usernames.join(', ')}\" were assigned successfully`,\n }),\n error: (error, roleId, usernames) => ({\n message: `Assigning users \"${usernames.join(', ')}\" failed with status: ${error}`,\n }),\n});\n\nconst removeMember = notifyingAction({\n action: AuthzRolesActions.removeMember,\n success: (roleId, username) => ({\n message: `User \"${username}\" was unassigned successfully`,\n }),\n error: (error, roleId, username) => ({\n message: `Unassign user \"${username}\" failed with status: ${error}`,\n }),\n});\n\nconst loadUsersForRole = notifyingAction({\n action: AuthzRolesActions.loadUsersForRole,\n error: (error, username, roleName) => ({\n message: `Loading users for role \"${roleName}\" failed with status: ${error}`,\n }),\n});\n\nconst loadRolesForUser = notifyingAction({\n action: AuthzRolesActions.loadRolesForUser,\n error: (error, username) => ({\n message: `Loading roles for user \"${username}\" failed with status: ${error}`,\n }),\n});\n\nconst loadRolesPaginated = notifyingAction({\n action: AuthzRolesActions.loadRolesPaginated,\n error: (error) => ({\n message: `Loading roles failed with status: ${error}`,\n }),\n});\n\nexport default {\n load,\n delete: deleteAction,\n addMembers,\n removeMember,\n loadUsersForRole,\n loadRolesForUser,\n loadRolesPaginated,\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 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 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 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 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 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 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 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 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 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 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 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 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 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 accountStatus);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\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 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 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 accountStatus,\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 * as React from 'react';\nimport { PluginStore } from 'graylog-web-plugin/plugin';\n\nimport type Role from 'logic/roles/Role';\nimport { EnterprisePluginNotFound } from 'components/common';\nimport SectionComponent from 'components/common/Section/SectionComponent';\n\ntype Props = {\n role: Role,\n};\n\nconst TeamsSection = ({ role }: Props) => {\n const teamsPlugin = PluginStore.exports('teams');\n\n const RoleTeamsAssignment = teamsPlugin?.[0]?.RoleTeamsAssignment;\n\n return (\n \n {RoleTeamsAssignment ? : }\n \n );\n};\n\nexport default TeamsSection;\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, useCallback } from 'react';\n\nimport AuthzRolesDomain from 'domainActions/roles/AuthzRolesDomain';\nimport { PaginatedItemOverview } from 'components/common';\nimport SectionComponent from 'components/common/Section/SectionComponent';\nimport type Role from 'logic/roles/Role';\n\ntype Props = {\n role: Role,\n};\n\nconst UsersSection = ({ role: { id, name } }: Props) => {\n const [loading, setLoading] = useState(false);\n\n const _onLoad = useCallback((pagination) => {\n setLoading(true);\n\n return AuthzRolesDomain.loadUsersForRole(id, name, pagination).then((paginatedRoles) => {\n setLoading(false);\n\n return paginatedRoles;\n });\n }, [id, name]);\n\n return (\n \n \n \n );\n};\n\nexport default UsersSection;\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 { Spinner } from 'components/common';\nimport SectionGrid from 'components/common/Section/SectionGrid';\nimport type Role from 'logic/roles/Role';\n\nimport TeamsSection from './TeamsSection';\nimport ProfileSection from './ProfileSection';\nimport UsersSection from './UsersSection';\n\ntype Props = {\n role: Role | null | undefined,\n};\n\nconst RoleDetails = ({ role }: Props) => {\n if (!role) {\n return ;\n }\n\n return (\n \n
\n \n
\n
\n \n \n
\n
\n );\n};\n\nexport default RoleDetails;\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 RoleDetails from './RoleDetails';\n\nexport default RoleDetails;\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 withParams from 'routing/withParams';\nimport { LinkContainer } from 'components/common/router';\nimport AuthzRolesDomain from 'domainActions/roles/AuthzRolesDomain';\nimport RoleDetails from 'components/roles/RoleDetails';\nimport RoleActionLinks from 'components/roles/navigation/RoleActionLinks';\nimport DocsHelper from 'util/DocsHelper';\nimport { PageHeader, DocumentTitle } from 'components/common';\nimport { Button } from 'components/bootstrap';\nimport DocumentationLink from 'components/support/DocumentationLink';\nimport Routes from 'routing/Routes';\nimport type Role from 'logic/roles/Role';\n\ntype Props = {\n params: {\n roleId: string,\n },\n};\n\nconst PageTitle = ({ fullName }: { fullName: string | undefined | null }) => (\n <>\n Role Details {fullName && (\n <>\n - {fullName}\n \n )}\n \n);\n\nconst RoleDetailsPage = ({ params }: Props) => {\n const [loadedRole, setLoadedRole] = useState();\n const roleId = params?.roleId;\n\n useEffect(() => {\n AuthzRolesDomain.load(roleId).then(setLoadedRole);\n }, [roleId]);\n\n return (\n \n }\n subactions={}>\n \n Overview of details like name, description and assigned users.\n \n \n Learn more in the{' '}\n \n \n \n \n \n \n \n \n );\n};\n\nexport default withParams(RoleDetailsPage);\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 Immutable from 'immutable';\nimport type { $PropertyType } from 'utility-types';\n\ntype InternalState = {\n id: string,\n name: string,\n description: string,\n permissions: Immutable.Set,\n readOnly: boolean,\n};\n\nexport type RoleJSON = {\n id: string,\n name: string,\n description: string,\n permissions: Immutable.Set,\n read_only: boolean,\n};\n\nexport default class Role {\n _value: InternalState;\n\n constructor(\n id: $PropertyType,\n name: $PropertyType,\n description: $PropertyType,\n permissions: $PropertyType,\n readOnly: $PropertyType,\n ) {\n this._value = {\n id,\n name,\n description,\n permissions,\n readOnly,\n };\n }\n\n get id() {\n return this._value.id;\n }\n\n get name() {\n return this._value.name;\n }\n\n get description() {\n return this._value.description;\n }\n\n get permissions() {\n return this._value.permissions;\n }\n\n get readOnly() {\n return this._value.readOnly;\n }\n\n toBuilder() {\n const {\n id,\n name,\n description,\n permissions,\n readOnly,\n } = this._value;\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return new Builder(Immutable.Map({\n id,\n name,\n description,\n permissions,\n readOnly,\n }));\n }\n\n static create(\n id: $PropertyType,\n name: $PropertyType,\n description: $PropertyType,\n permissions: $PropertyType,\n readOnly: $PropertyType,\n ) {\n return new Role(\n id,\n name,\n description,\n permissions,\n readOnly,\n );\n }\n\n toJSON() {\n const {\n id,\n name,\n description,\n permissions,\n readOnly,\n } = this._value;\n\n return {\n id,\n name,\n description,\n permissions,\n read_only: readOnly,\n };\n }\n\n static fromJSON(value: RoleJSON) {\n const {\n id,\n name,\n description,\n permissions,\n read_only: readOnly,\n } = value;\n\n return Role.create(\n id,\n name,\n description,\n permissions,\n readOnly,\n );\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 name(value: $PropertyType) {\n return new Builder(this.value.set('name', value));\n }\n\n description(value: $PropertyType) {\n return new Builder(this.value.set('description', value));\n }\n\n permissions(value: $PropertyType) {\n return new Builder(this.value.set('permissions', value));\n }\n\n readOnly(value: $PropertyType) {\n return new Builder(this.value.set('readOnly', value));\n }\n\n build() {\n const {\n id,\n name,\n description,\n permissions,\n readOnly,\n } = this.value.toObject();\n\n return new Role(\n id,\n name,\n description,\n permissions,\n readOnly,\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 type * as Immutable from 'immutable';\n\nimport type Role from 'logic/roles/Role';\nimport type UserOverview from 'logic/users/UserOverview';\nimport { singletonActions } from 'logic/singleton';\nimport type { PaginatedList, Pagination } from 'stores/PaginationTypes';\n\nexport type UserContext = {\n id: string,\n username: string,\n};\n\nexport type RoleContext = {\n users: { [key: string]: UserContext[] },\n};\n\nexport type PaginatedRoles = PaginatedList & {\n context: RoleContext,\n};\nexport type PaginatedUsers = PaginatedList;\n\nexport type ActionsType = {\n load: (roleId: string) => Promise,\n delete: (roleId: string, roleName: string) => Promise,\n addMembers: (roleId: string, usernames: Immutable.Set) => Promise,\n removeMember: (roleId: string, username: string) => Promise,\n loadUsersForRole: (roleId: string, roleName: string, pagination: Pagination) => Promise,\n loadRolesForUser: (username: string, pagination: Pagination) => Promise,\n loadRolesPaginated: (pagination: Pagination) => Promise,\n};\n\nconst AuthzRolesActions = singletonActions(\n 'AuthzRoles',\n () => Reflux.createActions({\n load: { asyncResult: true },\n delete: { asyncResult: true },\n addMembers: { asyncResult: true },\n removeMember: { asyncResult: true },\n loadUsersForRole: { asyncResult: true },\n loadRolesForUser: { asyncResult: true },\n loadRolesPaginated: { asyncResult: true },\n }),\n);\n\nexport default AuthzRolesActions;\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 type { $PropertyType } from 'utility-types';\n\nimport type { PaginatedUsersResponse } from 'stores/users/UsersStore';\nimport type { Store } from 'stores/StoreTypes';\nimport fetch from 'logic/rest/FetchProvider';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport { qualifyUrl } from 'util/URLUtils';\nimport { singletonStore } from 'logic/singleton';\nimport PaginationURL from 'util/PaginationURL';\nimport Role from 'logic/roles/Role';\nimport type { RoleJSON } from 'logic/roles/Role';\nimport type { PaginatedRoles, PaginatedUsers, RoleContext } from 'actions/roles/AuthzRolesActions';\nimport AuthzRolesActions from 'actions/roles/AuthzRolesActions';\nimport UserOverview from 'logic/users/UserOverview';\nimport type { PaginatedListJSON, Pagination } from 'stores/PaginationTypes';\n\nexport type PaginatedRolesResponse = PaginatedListJSON & {\n roles: Array,\n context?: RoleContext,\n};\n\nconst _responseToPaginatedList = ({ count, total, page, per_page, query, roles = [], context = { users: undefined } }: PaginatedRolesResponse) => ({\n list: Immutable.List(roles.map((r) => Role.fromJSON(r))),\n pagination: {\n query,\n page,\n perPage: per_page,\n count,\n total,\n },\n context,\n});\n\nconst _responseToPaginatedUserList = ({ count, total, page, per_page, query, users }: PaginatedUsersResponse) => ({\n list: Immutable.List(users.map((u) => UserOverview.fromJSON(u))),\n pagination: {\n page,\n perPage: per_page,\n query,\n count,\n total,\n },\n});\n\nconst encodeApiUrl = (apiRoute: (...args: Array) => { url: string }, uriParams: Array = []): string => {\n const encodedUriParams = uriParams.map((param) => encodeURIComponent(param));\n\n return apiRoute(...encodedUriParams).url;\n};\n\nconst AuthzRolesStore: Store<{}> = singletonStore(\n 'AuthzRoles',\n () => Reflux.createStore({\n listenables: [AuthzRolesActions],\n\n load(roleId: $PropertyType): Promise {\n const url = qualifyUrl(encodeApiUrl(ApiRoutes.AuthzRolesController.load, [roleId]));\n const promise = fetch('GET', url).then(Role.fromJSON);\n\n AuthzRolesActions.load.promise(promise);\n\n return promise;\n },\n\n delete(roleId: string): Promise {\n const url = qualifyUrl(encodeApiUrl(ApiRoutes.AuthzRolesController.delete, [roleId]));\n const promise = fetch('DELETE', url);\n\n AuthzRolesActions.delete.promise(promise);\n\n return promise;\n },\n\n addMembers(roleId: string, usernames: Immutable.Set): Promise {\n const url = encodeApiUrl(ApiRoutes.AuthzRolesController.addMembers, [roleId]);\n const promise = fetch('PUT', qualifyUrl(url), usernames.toArray());\n\n AuthzRolesActions.addMembers.promise(promise);\n\n return promise;\n },\n\n removeMember(roleId: string, username: string): Promise {\n const url = encodeApiUrl(ApiRoutes.AuthzRolesController.removeMember, [roleId, username]);\n const promise = fetch('DELETE', qualifyUrl(url));\n\n AuthzRolesActions.removeMember.promise(promise);\n\n return promise;\n },\n\n loadUsersForRole(roleId: string, roleName: string, { page, perPage, query }: Pagination): Promise {\n const apiUrl = encodeApiUrl(ApiRoutes.AuthzRolesController.loadUsersForRole, [roleId]);\n const url = PaginationURL(apiUrl, page, perPage, query);\n\n const promise = fetch('GET', qualifyUrl(url))\n .then(_responseToPaginatedUserList);\n\n AuthzRolesActions.loadUsersForRole.promise(promise);\n\n return promise;\n },\n\n loadRolesForUser(username: string, { page, perPage, query }: Pagination): Promise {\n const apiUrl = encodeApiUrl(ApiRoutes.AuthzRolesController.loadRolesForUser, [username]);\n const url = PaginationURL(apiUrl, page, perPage, query);\n\n const promise = fetch('GET', qualifyUrl(url))\n .then(_responseToPaginatedList);\n\n AuthzRolesActions.loadRolesForUser.promise(promise);\n\n return promise;\n },\n\n loadRolesPaginated({ page, perPage, query }: Pagination): Promise {\n const apiUrl = encodeApiUrl(ApiRoutes.AuthzRolesController.list);\n const url = PaginationURL(apiUrl, page, perPage, query);\n\n const promise = fetch('GET', qualifyUrl(url))\n .then(_responseToPaginatedList);\n\n AuthzRolesActions.loadRolesPaginated.promise(promise);\n\n return promise;\n },\n }),\n);\n\nexport { AuthzRolesActions, AuthzRolesStore };\n"],"names":["Header","styled","Headline","LoadingSpinner","Spinner","theme","css","fonts","size","h3","SectionComponent","children","title","showLoading","headerActions","className","xs","text","delay","defaultProps","undefined","$columns","breakpoints","max","md","role","name","description","label","value","roleId","to","Routes","bsStyle","load","notifyingAction","action","AuthzRolesActions","error","message","notFoundRedirect","delete","success","roleName","addMembers","usernames","join","removeMember","username","loadUsersForRole","loadRolesForUser","loadRolesPaginated","UserOverview","id","fullName","email","roles","readOnly","external","sessionActive","clientAddress","lastActivity","enabled","authServiceId","authServiceUid","accountStatus","this","_value","Builder","Immutable","full_name","toArray","read_only","external_user","session_active","client_address","last_activity","auth_service_id","auth_service_uid","account_status","create","set","toObject","teamsPlugin","PluginStore","RoleTeamsAssignment","featureName","useState","loading","setLoading","_onLoad","useCallback","pagination","AuthzRolesDomain","then","paginatedRoles","noDataText","onLoad","SectionGrid","ProfileSection","PageTitle","withParams","params","loadedRole","setLoadedRole","useEffect","subactions","RoleActionLinks","DocumentationLink","page","DocsHelper","Role","permissions","singletonActions","Reflux","asyncResult","_responseToPaginatedList","count","total","per_page","query","context","users","list","map","r","fromJSON","perPage","_responseToPaginatedUserList","u","encodeApiUrl","apiRoute","uriParams","encodedUriParams","param","encodeURIComponent","url","singletonStore","listenables","qualifyUrl","ApiRoutes","promise","fetch","apiUrl","PaginationURL"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy