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

web-interface.assets.07ba022f-6436.892714e2b183b681b9ba.js.map Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
{"version":3,"file":"07ba022f-6436.892714e2b183b681b9ba.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/common/PaginatedItemOverview/index.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/domainActions/users/UsersDomain.ts","webpack://graylog-web-interface/./src/logic/users/UserOverview.ts","webpack://graylog-web-interface/./src/components/roles/RoleEdit/UsersSelector.tsx","webpack://graylog-web-interface/./src/components/roles/RoleEdit/UsersSection.tsx","webpack://graylog-web-interface/./src/components/roles/RoleEdit/TeamsSection.tsx","webpack://graylog-web-interface/./src/components/roles/RoleEdit/index.ts","webpack://graylog-web-interface/./src/components/roles/RoleEdit/RoleEdit.tsx","webpack://graylog-web-interface/./src/pages/RoleEditPage.tsx","webpack://graylog-web-interface/./src/routing/withParams.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","webpack://graylog-web-interface/./src/stores/users/UsersStore.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 type {\n  PaginatedListType,\n  DescriptiveItem,\n  ResultsWrapperComponentProps,\n  OverrideItemComponentProps,\n} from './PaginatedItemOverview';\nimport PaginatedItemOverview, {\n  DEFAULT_PAGINATION,\n} from './PaginatedItemOverview';\n\nexport type {\n  PaginatedListType,\n  DescriptiveItem,\n  ResultsWrapperComponentProps,\n  OverrideItemComponentProps,\n};\n\nexport { DEFAULT_PAGINATION };\n\nexport default PaginatedItemOverview;\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, _roleId, 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 { UsersActions } from 'stores/users/UsersStore';\n\nimport notifyingAction from '../notifyingAction';\n\nconst create = notifyingAction({\n  action: UsersActions.create,\n  success: (user) => ({\n    message: `User \"${user?.first_name} ${user?.last_name}\" was created successfully`,\n  }),\n  error: (error, user) => ({\n    message: `Creating user \"${user?.first_name} ${user?.last_name}\" failed with status: ${error}`,\n  }),\n});\n\nconst load = notifyingAction({\n  action: UsersActions.load,\n  error: (error, userId) => ({\n    message: `Loading user with id \"${userId}\" failed with status: ${error}`,\n  }),\n  notFoundRedirect: true,\n});\n\nconst loadByUsername = notifyingAction({\n  action: UsersActions.loadByUsername,\n  error: (error, username) => ({\n    message: `Loading user with username \"${username}\" failed with status: ${error}`,\n  }),\n  notFoundRedirect: true,\n});\n\nconst update = notifyingAction({\n  action: UsersActions.update,\n  success: (_userId, _payload, fullName) => ({\n    message: `User \"${fullName}\" was updated successfully`,\n  }),\n  error: (error, _userId, _payload, fullName) => ({\n    message: `Updating user \"${fullName}\" failed with status: ${error}`,\n  }),\n});\n\nconst deleteAction = notifyingAction({\n  action: UsersActions.delete,\n  success: (_userId, fullName) => ({\n    message: `User \"${fullName}\" was deleted successfully`,\n  }),\n  error: (error, _userId, fullName) => ({\n    message: `Deleting user \"${fullName}\" failed with status: ${error}`,\n  }),\n});\n\nconst changePassword = notifyingAction({\n  action: UsersActions.changePassword,\n  success: () => ({\n    message: 'Password was changed successfully ',\n  }),\n  error: (error, userId) => ({\n    message: `Changing password for user with id \"${userId}\" failed with status: ${error}`,\n  }),\n});\n\nconst createToken = notifyingAction({\n  action: UsersActions.createToken,\n  success: (_userId, tokenName) => ({\n    message: `Token \"${tokenName}\" created successfully`,\n  }),\n  error: (error, userId, tokenName) => ({\n    message: `Creating token \"${tokenName}\" for user with id \"${userId}\" failed with status: ${error}`,\n  }),\n});\n\nconst loadTokens = notifyingAction({\n  action: UsersActions.loadTokens,\n  error: (error, userId) => ({\n    message: `Loading tokens for user with id \"${userId}\" failed with status: ${error}`,\n  }),\n});\n\nconst deleteToken = notifyingAction({\n  action: UsersActions.deleteToken,\n  success: (_userId, _tokenId, tokenName) => ({\n    message: `Token \"${tokenName}\" deleted successfully`,\n  }),\n  error: (error, userId, _tokenId, tokenName) => ({\n    message: `Deleting token \"${tokenName}\" for user with id \"${userId}\" failed with status: ${error}`,\n  }),\n});\n\nconst loadUsers = notifyingAction({\n  action: UsersActions.loadUsers,\n  error: (error) => ({\n    message: `Loading users failed with status: ${error}`,\n  }),\n});\n\nconst loadUsersPaginated = notifyingAction({\n  action: UsersActions.loadUsersPaginated,\n  error: (error) => ({\n    message: `Loading users failed with status: ${error}`,\n  }),\n});\n\nconst setStatus = notifyingAction({\n  action: UsersActions.setStatus,\n  success: (userId, accountStatus) => ({\n    message: `User \"${userId}\" was set to ${accountStatus}`,\n  }),\n  error: (error, userId, accountStatus) => ({\n    message: `Updating user (\"${userId}\") to ${accountStatus} failed with status: ${error}`,\n  }),\n});\n\nexport default {\n  create,\n  load,\n  loadByUsername,\n  update,\n  delete: deleteAction,\n  changePassword,\n  createToken,\n  loadTokens,\n  deleteToken,\n  loadUsers,\n  loadUsersPaginated,\n  setStatus,\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  auth_service_enabled: boolean;\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  authServiceEnabled: boolean;\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    authServiceEnabled: $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      authServiceEnabled,\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 authServiceEnabled() {\n    return this._value.authServiceEnabled;\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      authServiceEnabled,\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      authServiceEnabled,\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    authServiceEnabled: $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      authServiceEnabled,\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      authServiceEnabled,\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      auth_service_enabled: authServiceEnabled,\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      auth_service_enabled: authServiceEnabled,\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      authServiceEnabled,\n      accountStatus);\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  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  authServiceEnabled(value: $PropertyType) {\n    return new Builder(this.value.set('authServiceEnabled', 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      authServiceEnabled,\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      authServiceEnabled,\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 { useEffect, useState, useCallback } from 'react';\nimport { Formik, Form, Field } from 'formik';\nimport styled, { css } from 'styled-components';\nimport compact from 'lodash/compact';\nimport * as Immutable from 'immutable';\n\nimport { AuthzRolesActions } from 'stores/roles/AuthzRolesStore';\nimport type Role from 'logic/roles/Role';\nimport type { PaginatedListType } from 'components/common/PaginatedItemOverview';\nimport type UserOverview from 'logic/users/UserOverview';\nimport UsersDomain from 'domainActions/users/UsersDomain';\nimport { Button } from 'components/bootstrap';\nimport { Select, ErrorAlert } from 'components/common';\n\ntype Props = {\n  onSubmit: (user: Immutable.Set) => Promise,\n  role: Role,\n};\n\nconst SubmitButton = styled(Button)`\n  margin-left: 15px;\n`;\n\nconst FormElements = styled.div`\n  display: flex;\n`;\n\nconst Errors = styled.div(({ theme }) => css`\n  width: 100%;\n  margin-top: 3px;\n  color: ${theme.colors.variant.danger};\n\n  > * {\n    margin-right: 5px;\n\n    &:last-child {\n      margin-right: 0;\n    }\n  }\n`);\n\nconst SelectOption = styled.div`\n  display: flex;\n  align-items: center;\n`;\n\nconst StyledSelect = styled(Select)`\n  flex: 1;\n`;\n\nconst _renderOption = ({ label }: { label: string }) => (\n  {label}\n);\n\nconst _isRequired = (field) => (value) => (!value ? `The ${field} is required` : undefined);\n\nconst UsersSelector = ({ role, onSubmit }: Props) => {\n  const [users, setUsers] = useState>(Immutable.List.of());\n  const [options, setOptions] = useState([]);\n  const [error, setError] = useState();\n\n  const _loadUsers = useCallback(() => {\n    const getUnlimited = { page: 1, perPage: 0, query: '' };\n\n    UsersDomain.loadUsersPaginated(getUnlimited)\n      .then((paginatedUsers) => {\n        const resultUsers = paginatedUsers.list\n          .filter((u) => !u.roles.includes(role.name))\n          .map((u) => ({ label: u.name, value: u.name }))\n          .toArray();\n\n        setOptions(resultUsers);\n        setUsers(paginatedUsers.list);\n      });\n  }, [role]);\n\n  const onUpdate = ({ user }: { user: string }, { resetForm }) => {\n    if (!user) {\n      return;\n    }\n\n    const newUsers = user.split(',');\n    const userOverview: Immutable.Set = Immutable.Set(compact(newUsers.map((newUser) => users.find((u) => u.username === newUser))));\n\n    if (!userOverview) {\n      setError(`This is an exceptional error! Unable to find user with name ${user} in ${users.map((u) => u.username).join(', ')}`);\n\n      return;\n    }\n\n    setError(undefined);\n    onSubmit(userOverview).then(() => { resetForm(); });\n  };\n\n  useEffect(() => {\n    _loadUsers();\n\n    const unlistenAddMember = AuthzRolesActions.addMembers.completed.listen(_loadUsers);\n    const unlistenRemoveMember = AuthzRolesActions.removeMember.completed.listen(_loadUsers);\n\n    return () => {\n      unlistenRemoveMember();\n      unlistenAddMember();\n    };\n  }, [role, _loadUsers]);\n\n  return (\n    
\n \n {error}\n \n \n {({ isSubmitting, isValid, errors }) => (\n
\n \n \n {({ field: { name, value, onChange } }) => (\n {\n onChange({ target: { value: user, name } });\n }}\n optionRenderer={_renderOption}\n multi\n options={options}\n placeholder=\"Search for users\"\n value={value} />\n )}\n \n \n Assign User\n \n \n {errors && (\n \n {Object.entries(errors).map(([fieldKey, value]: [string, unknown]) => (\n {String(value)}.\n ))}\n \n )}\n
\n )}\n
\n
\n );\n};\n\nexport default UsersSelector;\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';\nimport styled from 'styled-components';\nimport type * as Immutable from 'immutable';\n\nimport { ErrorAlert, PaginatedItemOverview } from 'components/common';\nimport AuthzRolesDomain from 'domainActions/roles/AuthzRolesDomain';\nimport type UserOverview from 'logic/users/UserOverview';\nimport { DEFAULT_PAGINATION } from 'components/common/PaginatedItemOverview';\nimport SectionComponent from 'components/common/Section/SectionComponent';\nimport type Role from 'logic/roles/Role';\nimport type { PaginatedList } from 'stores/PaginationTypes';\nimport { getPathnameWithoutId } from 'util/URLUtils';\nimport useSendTelemetry from 'logic/telemetry/useSendTelemetry';\nimport useLocation from 'routing/useLocation';\nimport { TELEMETRY_EVENT_TYPE } from 'logic/telemetry/Constants';\n\nimport UsersSelector from './UsersSelector';\n\ntype Props = {\n role: Role,\n};\n\nconst Container = styled.div`\n margin-top: 15px;\n margin-bottom: 15px;\n`;\n\nconst UsersSection = ({ role: { id, name }, role }: Props) => {\n const [loading, setLoading] = useState(false);\n const [paginatedUsers, setPaginatedUsers] = useState>();\n const [errors, setErrors] = useState();\n const { pathname } = useLocation();\n const sendTelemetry = useSendTelemetry();\n\n const _onLoad = useCallback((pagination) => {\n setLoading(true);\n\n return AuthzRolesDomain.loadUsersForRole(id, name, pagination)\n .then((paginatedRoles) => {\n setLoading(false);\n\n return paginatedRoles;\n });\n }, [id, name]);\n\n const _onAssignUser = (newUsers: Immutable.Set) => {\n sendTelemetry(TELEMETRY_EVENT_TYPE.ROLES.USER_ASSIGNED, {\n app_pathname: getPathnameWithoutId(pathname),\n app_section: 'role-edit',\n app_action_value: 'assign-user',\n });\n\n return AuthzRolesDomain.addMembers(id,\n newUsers.map((u) => u.username).toSet()).then(() => _onLoad(DEFAULT_PAGINATION)\n .then((result) => {\n setPaginatedUsers(result);\n\n return result;\n }));\n };\n\n const _onUnassignUser = (user) => {\n sendTelemetry(TELEMETRY_EVENT_TYPE.ROLES.USER_UNASSIGNED, {\n app_pathname: getPathnameWithoutId(pathname),\n app_section: 'role-edit',\n app_action_value: 'unassign-user',\n });\n\n if ((role.name === 'Reader' || role.name === 'Admin')\n && (!user.roles.includes('Reader') || !user.roles.includes('Admin'))) {\n setErrors(`User '${user.name}' needs at least a Reader or Admin role.`);\n _onLoad(DEFAULT_PAGINATION).then(setPaginatedUsers);\n\n return;\n }\n\n setErrors(undefined);\n\n AuthzRolesDomain.removeMember(id, user.name).then(() => {\n _onLoad(DEFAULT_PAGINATION).then(setPaginatedUsers);\n });\n };\n\n return (\n \n

Assign Users

\n \n \n \n \n {errors}\n \n

Selected Users

\n \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';\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 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 */\n\nimport RoleEdit from './RoleEdit';\n\nexport default RoleEdit;\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, IfPermitted } from 'components/common';\nimport type Role from 'logic/roles/Role';\n\nimport UsersSection from './UsersSection';\nimport TeamsSection from './TeamsSection';\n\nimport ProfileSection from '../RoleDetails/ProfileSection';\nimport SectionGrid from '../../common/Section/SectionGrid';\n\ntype Props = {\n role: Role | null | undefined,\n};\n\nconst RoleEdit = ({ role }: Props) => {\n if (!role) {\n return ;\n }\n\n return (\n \n
\n \n
\n
\n \n \n \n \n
\n
\n );\n};\n\nexport default RoleEdit;\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 RoleEdit from 'components/roles/RoleEdit';\nimport Routes from 'routing/Routes';\nimport RoleActionLinks from 'components/roles/navigation/RoleActionLinks';\nimport { Button } from 'components/bootstrap';\nimport { AuthzRolesActions } from 'stores/roles/AuthzRolesStore';\nimport DocsHelper from 'util/DocsHelper';\nimport { PageHeader, DocumentTitle } from 'components/common';\nimport type Role from 'logic/roles/Role';\n\ntype Props = {\n params: {\n roleId: string,\n },\n};\n\nconst PageTitle = ({ name }: { name: string | undefined | null }) => (\n <>\n Edit Role {name && (\n <>\n - {name}\n \n )}\n \n);\n\nconst RoleEditPage = ({ params }: Props) => {\n const [loadedRole, setLoadedRole] = useState();\n const roleId = params?.roleId;\n\n useEffect(() => {\n AuthzRolesActions.load(roleId).then(setLoadedRole);\n }, [roleId]);\n\n return (\n \n }\n actions={}\n topActions={(\n \n \n \n )}\n documentationLink={{\n title: 'Permissions documentation',\n path: DocsHelper.PAGES.USERS_ROLES,\n }}>\n \n You can assign the role to users.\n \n \n \n \n );\n};\n\nexport default withParams(RoleEditPage);\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","/*\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 = ({\n count,\n total,\n page,\n per_page,\n query,\n roles = [],\n context = { users: undefined },\n}: 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, {\n page,\n perPage,\n query,\n }: 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","/*\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 URI from 'urijs';\n\nimport type { UserOverviewJSON, AccountStatus } from 'logic/users/UserOverview';\nimport UserOverview from 'logic/users/UserOverview';\nimport fetch from 'logic/rest/FetchProvider';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport { singletonStore, singletonActions } from 'logic/singleton';\nimport { qualifyUrl } from 'util/URLUtils';\nimport PaginationURL from 'util/PaginationURL';\nimport type { UserJSON } from 'logic/users/User';\nimport User from 'logic/users/User';\nimport type { PaginatedListJSON, Pagination, PaginatedList } from 'stores/PaginationTypes';\n\nexport type PaginatedUsersResponse = PaginatedListJSON & {\n users: Array;\n context: {\n admin_user: UserOverviewJSON;\n };\n};\n\nexport type UserCreate = {\n email: UserJSON['email'];\n full_name: UserJSON['full_name'];\n first_name: UserJSON['first_name'];\n last_name: UserJSON['last_name'];\n password: string;\n permissions: UserJSON['permissions'];\n roles: UserJSON['roles'];\n session_timeout_ms: UserJSON['session_timeout_ms'];\n timezone: UserJSON['timezone'];\n username: UserJSON['username'];\n};\n\nexport type UserUpdate = Partial;\n\nexport type Token = {\n id: string;\n name: string;\n token: string;\n last_access: string;\n};\n\nexport type TokenSummary = {\n id: string,\n name: string,\n last_access: string,\n};\n\nexport type ChangePasswordRequest = {\n old_password: string;\n password: string;\n};\n\nexport type PaginatedUsers = PaginatedList & {\n adminUser: UserOverview | null | undefined,\n};\n\nexport type Query = {\n include_permissions?: boolean;\n include_sessions?: boolean;\n};\n\nexport type ActionsType = {\n create: (user: UserCreate) => Promise;\n load: (userId: string) => Promise;\n loadByUsername: (username: string) => Promise;\n update: (userId: string, request: UserUpdate, fullName: string) => Promise;\n delete: (userId: string, fullName: string) => Promise;\n changePassword: (userId: string, request: ChangePasswordRequest) => Promise;\n createToken: (userId: string, tokenName: string) => Promise;\n loadTokens: (userId: string) => Promise;\n deleteToken: (userId: string, tokenId: string, tokenName: string) => Promise;\n loadUsers: (query?: Query) => Promise>;\n loadUsersPaginated: (pagination: Pagination) => Promise;\n setStatus: (userId: string, newStatus: AccountStatus) => Promise;\n};\n\nconst usersUrl = ({ url = '', query = {} }) => {\n const uri = new URI(url);\n\n uri.query(query);\n\n return qualifyUrl(uri.resource());\n};\n\nexport const UsersActions = singletonActions(\n 'core.Users',\n () => Reflux.createActions({\n create: { asyncResult: true },\n load: { asyncResult: true },\n loadByUsername: { asyncResult: true },\n update: { asyncResult: true },\n delete: { asyncResult: true },\n changePassword: { asyncResult: true },\n createToken: { asyncResult: true },\n loadTokens: { asyncResult: true },\n deleteToken: { asyncResult: true },\n loadUsersPaginated: { asyncResult: true },\n loadUsers: { asyncResult: true },\n setStatus: { asyncResult: true },\n }),\n);\n\nexport const UsersStore = singletonStore('core.Users', () => Reflux.createStore({\n listenables: [UsersActions],\n\n create(user: UserCreate): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.create().url);\n const promise = fetch('POST', url, user);\n UsersActions.create.promise(promise);\n\n return promise;\n },\n\n load(id: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.load(encodeURIComponent(id)).url);\n const promise = fetch('GET', url).then(User.fromJSON);\n\n UsersActions.load.promise(promise);\n\n return promise;\n },\n\n loadByUsername(userId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.loadByUsername(encodeURIComponent(userId)).url);\n const promise = fetch('GET', url).then(User.fromJSON);\n\n UsersActions.loadByUsername.promise(promise);\n\n return promise;\n },\n\n update(userId: string, user: UserUpdate): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.update(encodeURIComponent(userId)).url);\n const promise = fetch('PUT', url, user);\n UsersActions.update.promise(promise);\n\n return promise;\n },\n\n delete(userId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.delete(encodeURIComponent(userId)).url);\n const promise = fetch('DELETE', url);\n\n UsersActions.delete.promise(promise);\n\n return promise;\n },\n\n changePassword(userId: string, request: ChangePasswordRequest): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.changePassword(encodeURIComponent(userId)).url);\n const promise = fetch('PUT', url, request);\n UsersActions.changePassword.promise(promise);\n\n return promise;\n },\n\n createToken(userId: string, tokenName: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.create_token(encodeURIComponent(userId), encodeURIComponent(tokenName)).url);\n const promise = fetch('POST', url);\n UsersActions.createToken.promise(promise);\n\n return promise;\n },\n\n loadTokens(userId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.list_tokens(encodeURIComponent(userId)).url);\n const promise = fetch('GET', url).then((response) => response.tokens);\n UsersActions.loadTokens.promise(promise);\n\n return promise;\n },\n\n deleteToken(userId: string, tokenId: string): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.delete_token(encodeURIComponent(userId), encodeURIComponent(tokenId)).url);\n const promise = fetch('DELETE', url);\n UsersActions.deleteToken.promise(promise);\n\n return promise;\n },\n\n loadUsers(query: Query = {}): Promise> {\n const url = usersUrl({ url: ApiRoutes.UsersApiController.list().url, query });\n const promise = fetch('GET', url).then(({\n users,\n }) => Immutable.List(users.map((user) => UserOverview.fromJSON(user))));\n UsersActions.loadUsers.promise(promise);\n\n return promise;\n },\n\n loadUsersPaginated({\n page,\n perPage,\n query,\n }: Pagination): Promise {\n const url = PaginationURL(ApiRoutes.UsersApiController.paginated().url, page, perPage, query);\n\n const promise = fetch('GET', qualifyUrl(url)).then((response: PaginatedUsersResponse) => ({\n adminUser: response.context.admin_user ? UserOverview.fromJSON(response.context.admin_user) : undefined,\n list: Immutable.List(response.users.map((user) => UserOverview.fromJSON(user))),\n pagination: {\n page: response.page,\n perPage: response.per_page,\n query: response.query,\n count: response.count,\n total: response.total,\n },\n }));\n\n UsersActions.loadUsersPaginated.promise(promise);\n\n return promise;\n },\n\n setStatus(userId: string, accountStatus: AccountStatus): Promise {\n const url = qualifyUrl(ApiRoutes.UsersApiController.setStatus(userId, accountStatus).url);\n const promise = fetch('PUT', url);\n UsersActions.setStatus.promise(promise);\n\n return promise;\n },\n}));\n"],"names":["name","description","roleId","load","error","deleteAction","_roleId","roleName","addMembers","usernames","removeMember","username","loadUsersForRole","loadRolesForUser","loadRolesPaginated","create","user","userId","loadByUsername","update","_userId","_payload","fullName","changePassword","createToken","tokenName","loadTokens","deleteToken","_tokenId","loadUsers","loadUsersPaginated","setStatus","accountStatus","UserOverview","id","email","roles","readOnly","external","sessionActive","clientAddress","lastActivity","enabled","authServiceId","authServiceUid","authServiceEnabled","Builder","value","SubmitButton","FormElements","Errors","theme","SelectOption","StyledSelect","_renderOption","label","_isRequired","field","role","onSubmit","users","setUsers","options","setOptions","setError","_loadUsers","getUnlimited","UsersDomain","paginatedUsers","resultUsers","u","onUpdate","resetForm","newUsers","userOverview","newUser","unlistenAddMember","unlistenRemoveMember","isSubmitting","isValid","errors","onChange","fieldKey","Container","loading","setLoading","setPaginatedUsers","setErrors","pathname","useLocation","sendTelemetry","useSendTelemetry","_onLoad","pagination","AuthzRolesDomain","paginatedRoles","_onAssignUser","result","_onUnassignUser","SectionComponent","teamsPlugin","RoleTeamsAssignment","SectionGrid","ProfileSection","PageTitle","RoleEditPage","params","loadedRole","setLoadedRole","RoleActionLinks","Routes","DocsHelper","withParams","Component","props","Role","permissions","singleton","_responseToPaginatedList","count","total","page","per_page","query","context","r","_responseToPaginatedUserList","encodeApiUrl","apiRoute","uriParams","encodedUriParams","param","AuthzRolesStore","url","ApiRoutes","promise","_roleName","perPage","apiUrl","PaginationURL","usersUrl","uri","UsersActions","UsersStore","request","response","tokenId"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy