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

web-interface.assets.1255d548-6087.99bf497b1a941d7f6017.js.map Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
{"version":3,"file":"1255d548-6087.99bf497b1a941d7f6017.js","mappings":"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","sources":["webpack://graylog-web-interface/./src/components/permissions/RolesSelector.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/EmailFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/FirstNameFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/LastNameFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/PasswordFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/ServiceAccountFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/timeoutConstants.ts","webpack://graylog-web-interface/./src/components/users/TimeoutUnitSelect.tsx","webpack://graylog-web-interface/./src/components/users/TimeoutInput.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/TimeoutFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/TimezoneFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/UsernameFormGroup.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/UserCreate.tsx","webpack://graylog-web-interface/./src/components/users/UserCreate/index.ts","webpack://graylog-web-interface/./src/pages/UserCreatePage.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 * as Immutable from 'immutable';\nimport compact from 'lodash/compact';\nimport PropTypes from 'prop-types';\nimport { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport type { PaginatedRoles } from 'actions/roles/AuthzRolesActions';\nimport AuthzRolesDomain from 'domainActions/roles/AuthzRolesDomain';\nimport type Role from 'logic/roles/Role';\nimport { Button } from 'components/bootstrap';\nimport { Select, Spinner, ErrorAlert } from 'components/common';\n\ntype Props = {\n  assignedRolesIds: Immutable.Set,\n  identifier: (role: Role) => string,\n  onSubmit: (role: Immutable.Set) => Promise,\n  submitOnSelect?: boolean,\n};\n\nconst SubmitButton = styled(Button)`\n  margin-left: 15px;\n`;\n\nconst FormElements = styled.div`\n  display: flex;\n`;\n\nconst RoleSelectOption = styled.div`\n  display: flex;\n  align-items: center;\n`;\n\nconst StyledSelect = styled(Select)`\n  flex: 1;\n`;\n\nconst _renderRoleOption = ({ label }: { label: string }) => (\n  {label}\n);\n\nconst _options = (roles, assignedRolesIds, identifier) => roles\n  .filter((role) => !assignedRolesIds.includes(identifier(role)))\n  .toArray()\n  .map((r) => ({ label: r.name, value: r.name, role: r }));\n\nconst _assignRole = (selectedRoleNames, roles, onSubmit, setselectedRoleNames, setIsSubmitting, setError) => {\n  if (!selectedRoleNames) {\n    return;\n  }\n\n  const selectedRoleNameList = selectedRoleNames.split(',');\n\n  const selectedRoles = Immutable.Set(compact(selectedRoleNameList.map((selection) => roles.find((r) => r.name === selection))));\n\n  if (selectedRoles.size <= 0) {\n    setError(`Role assignment failed, because the roles ${selectedRoleNames ?? '(undefined)'} does not exist`);\n\n    return;\n  }\n\n  setError();\n  setIsSubmitting(true);\n\n  onSubmit(selectedRoles).then(() => {\n    setselectedRoleNames();\n    setIsSubmitting(false);\n  });\n};\n\nconst _loadRoles = (setPaginatedRoles) => {\n  const getUnlimited = { page: 1, perPage: 0, query: '' };\n\n  AuthzRolesDomain.loadRolesPaginated(getUnlimited).then(setPaginatedRoles);\n};\n\nconst RolesSelector = ({ assignedRolesIds, onSubmit, identifier, submitOnSelect }: Props) => {\n  const [paginatedRoles, setPaginatedRoles] = useState();\n  const [selectedRoleNames, setselectedRoleNames] = useState();\n  const [isSubmitting, setIsSubmitting] = useState(false);\n  const [error, setError] = useState();\n\n  useEffect(() => _loadRoles(setPaginatedRoles), []);\n\n  const onChange = (items) => {\n    const newselectedRoleNameList = items;\n\n    if (submitOnSelect) {\n      _assignRole(newselectedRoleNameList, paginatedRoles.list, onSubmit, setselectedRoleNames, setIsSubmitting, setError);\n    }\n\n    setselectedRoleNames(items);\n  };\n\n  if (!paginatedRoles) {\n    return ;\n  }\n\n  const _onSubmit = () => _assignRole(selectedRoleNames, paginatedRoles.list, onSubmit, setselectedRoleNames, setIsSubmitting, setError);\n  const options = _options(paginatedRoles.list, assignedRolesIds, identifier);\n\n  return (\n    
\n \n \n {!submitOnSelect && (\n \n Assign Role\n \n )}\n\n \n \n {error}\n \n
\n );\n};\n\nRolesSelector.defaultProps = {\n identifier: (role) => role.id,\n submitOnSelect: false,\n};\n\nRolesSelector.propTypes = {\n identifier: PropTypes.func,\n onSubmit: PropTypes.func.isRequired,\n submitOnSelect: PropTypes.bool,\n};\n\nexport default RolesSelector;\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 { FormikFormGroup } from 'components/common';\n\nconst EmailFormGroup = () => (\n \n);\n\nexport default EmailFormGroup;\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 { FormikFormGroup } from 'components/common';\n\nconst FirstNameFormGroup = () => (\n \n);\n\nexport default FirstNameFormGroup;\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 { FormikFormGroup } from 'components/common';\n\nconst LastNameFormGroup = () => (\n \n);\n\nexport default LastNameFormGroup;\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 { FormikInput } from 'components/common';\nimport { Row, Col, Input } from 'components/bootstrap';\n\nexport const PASSWORD_MIN_LENGTH = 6;\n\nexport const validatePasswords = (errors: { [name: string]: string }, password: string, passwordRepeat: string) => {\n const newErrors = { ...errors };\n\n if (password && password.length < PASSWORD_MIN_LENGTH) {\n newErrors.password = `Password must be at least ${PASSWORD_MIN_LENGTH} characters long`;\n }\n\n if (password && passwordRepeat) {\n const passwordMatches = password === passwordRepeat;\n\n if (!passwordMatches) {\n newErrors.password_repeat = 'Passwords do not match';\n }\n }\n\n return newErrors;\n};\n\ntype Props = {};\n\n// eslint-disable-next-line no-empty-pattern\nconst PasswordFormGroup = ({}: Props) => (\n \n \n \n \n \n \n \n \n \n \n);\n\nPasswordFormGroup.defaultProps = {\n passwordRef: undefined,\n passwordRepeatRef: undefined,\n};\n\nexport default PasswordFormGroup;\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 } from 'react';\nimport { Field } from 'formik';\n\nimport { Input, BootstrapModalConfirm } from 'components/bootstrap';\nimport { getValueFromInput } from 'util/FormsUtils';\n\nconst ServiceAccountFormGroup = () => {\n const [showModal, setShowModal] = useState(false);\n\n return (\n \n {({ field: { name, value, onChange } }) => {\n const onValueChange = (newValue) => {\n const serviceAccountNewValue = getValueFromInput(newValue.target);\n\n if (serviceAccountNewValue) {\n setShowModal(true);\n } else {\n onChange(newValue);\n }\n };\n\n const handleCheckServiceAccount = () => {\n onChange({ target: { name, value: true } });\n setShowModal(false);\n };\n\n const handleCancel = () => {\n onChange({ target: { name, value: false } });\n setShowModal(false);\n };\n\n return (\n <>\n \n onValueChange(newValue)} />\n \n \n Changing this user to a Service Account prevents the user from logging into the web interface and editing their settings. (e.g., API tokens) Do you wish to proceed?\n \n \n );\n }}\n\n \n );\n};\n\nexport default ServiceAccountFormGroup;\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 */\nexport const MS_DAY = 24 * 60 * 60 * 1000;\nexport const MS_HOUR = 60 * 60 * 1000;\nexport const MS_MINUTE = 60 * 1000;\nexport const MS_SECOND = 1000;\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 React from 'react';\nimport styled from 'styled-components';\n\nimport { Select } from 'components/common';\n\nimport { MS_DAY, MS_HOUR, MS_MINUTE, MS_SECOND } from './timeoutConstants';\n\nconst TimeoutSelect = styled(Select)`\n width: 150px;\n`;\n\nconst OPTIONS = [\n { value: `${MS_SECOND}`, label: 'Seconds' },\n { value: `${MS_MINUTE}`, label: 'Minutes' },\n { value: `${MS_HOUR}`, label: 'Hours' },\n { value: `${MS_DAY}`, label: 'Days' },\n];\n\nconst TimeoutUnitSelect = (props) => (\n \n);\n\nexport default TimeoutUnitSelect;\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 } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Row, Col, HelpBlock, Input, Alert } from 'components/bootstrap';\nimport TimeoutUnitSelect from 'components/users/TimeoutUnitSelect';\n\nimport { MS_DAY, MS_HOUR, MS_MINUTE, MS_SECOND } from './timeoutConstants';\n\ntype Props = {\n value: number,\n onChange: (value: number) => void;\n};\n\nconst _estimateUnit = (value: number): number => {\n if (value === 0) {\n return MS_SECOND;\n }\n\n if (value % MS_DAY === 0) {\n return MS_DAY;\n }\n\n if (value % MS_HOUR === 0) {\n return MS_HOUR;\n }\n\n if (value % MS_MINUTE === 0) {\n return MS_MINUTE;\n }\n\n return MS_SECOND;\n};\n\nconst TimeoutInput = ({ value: propsValue, onChange }: Props) => {\n const [sessionTimeoutNever, setSessionTimeoutNever] = useState(propsValue === -1);\n const [unit, setUnit] = useState(_estimateUnit(propsValue));\n const [value, setValue] = useState(propsValue ? Math.floor(propsValue / Number(unit)) : 0);\n\n const _onClick = (evt: React.ChangeEvent) => {\n setSessionTimeoutNever(evt.target.checked);\n\n if (onChange && evt.target.checked) {\n onChange(-1);\n }\n };\n\n const _onChangeValue = (evt: React.ChangeEvent) => {\n setValue(Number(evt.target.value));\n\n if (onChange) {\n onChange(Number(evt.target.value) * Number(unit));\n }\n };\n\n const _onChangeUnit = (newUnit: number) => {\n setUnit(newUnit);\n\n if (onChange) {\n onChange(value * Number(newUnit));\n }\n };\n\n return (\n \n \n \n \n Changing the timeout setting for sessions will log the user out of Graylog and will invalidate all their\n current sessions. If you are changing the setting for your own user, you will be logged out at the moment\n of saving the setting. In that case, make sure to save any pending changes before changing the timeout.\n \n \n \n <>\n \n\n
\n \n \n \n \n \n \n \n \n \n Session automatically end after this amount of time, unless they are actively used.\n \n \n \n
\n \n \n );\n};\n\nTimeoutInput.propTypes = {\n value: PropTypes.number,\n onChange: PropTypes.func,\n};\n\nTimeoutInput.defaultProps = {\n value: MS_HOUR,\n onChange: () => {},\n};\n\nexport default TimeoutInput;\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 { Field } from 'formik';\n\nimport TimeoutInput from 'components/users/TimeoutInput';\n\nconst TimeoutFormGroup = () => (\n \n {({ field: { name, value, onChange } }) => (\n onChange({ target: { name, value: newValue } })} />\n )}\n \n);\n\nexport default TimeoutFormGroup;\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 { FastField } from 'formik';\n\nimport { Input } from 'components/bootstrap';\nimport { TimezoneSelect } from 'components/common';\n\nconst TimezoneFormGroup = () => (\n \n {({ field: { name, value, onChange } }) => (\n \n onChange({ target: { name, value: newValue } })} />\n \n )}\n \n);\n\nexport default TimezoneFormGroup;\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 { FormikFormGroup } from 'components/common';\n\nconst UsernameFormGroup = () => (\n \n);\n\nexport default UsernameFormGroup;\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 } from 'react';\nimport styled from 'styled-components';\nimport * as Immutable from 'immutable';\nimport { Formik, Form } from 'formik';\nimport { PluginStore } from 'graylog-web-plugin/plugin';\n\nimport AppConfig from 'util/AppConfig';\nimport type { DescriptiveItem } from 'components/common/PaginatedItemOverview';\nimport User from 'logic/users/User';\nimport UsersDomain from 'domainActions/users/UsersDomain';\nimport PaginatedItem from 'components/common/PaginatedItemOverview/PaginatedItem';\nimport RolesSelector from 'components/permissions/RolesSelector';\nimport { Alert, Col, Row, Input } from 'components/bootstrap';\nimport Routes from 'routing/Routes';\nimport { UsersActions } from 'stores/users/UsersStore';\nimport debounceWithPromise from 'views/logic/debounceWithPromise';\nimport { FormSubmit, IfPermitted, NoSearchResult, ReadOnlyFormGroup } from 'components/common';\nimport type { HistoryFunction } from 'routing/useHistory';\nimport useHistory from 'routing/useHistory';\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 TimezoneFormGroup from './TimezoneFormGroup';\nimport TimeoutFormGroup from './TimeoutFormGroup';\nimport FirstNameFormGroup from './FirstNameFormGroup';\nimport LastNameFormGroup from './LastNameFormGroup';\nimport EmailFormGroup from './EmailFormGroup';\nimport PasswordFormGroup, { validatePasswords } from './PasswordFormGroup';\nimport UsernameFormGroup from './UsernameFormGroup';\nimport ServiceAccountFormGroup from './ServiceAccountFormGroup';\n\nimport { Headline } from '../../common/Section/SectionComponent';\nimport useIsGlobalTimeoutEnabled from '../../../hooks/useIsGlobalTimeoutEnabled';\nimport { Link } from '../../common/router';\n\nconst GlobalTimeoutMessage = styled(ReadOnlyFormGroup)`\n margin-bottom: 20px;\n\n .read-only-value-col {\n padding-top: 0;\n }\n`;\n\nconst isCloud = AppConfig.isCloud();\n\nconst oktaUserForm = isCloud ? PluginStore.exports('cloud')[0].oktaUserForm : null;\n\nconst _onSubmit = (history: HistoryFunction, formData, roles, setSubmitError) => {\n let data = { ...formData, roles: roles.toJS(), permissions: [] };\n delete data.password_repeat;\n\n if (isCloud && oktaUserForm) {\n const { onCreate } = oktaUserForm;\n data = onCreate(data);\n } else {\n data.username = data.username.trim();\n }\n\n setSubmitError(null);\n\n return UsersDomain.create(data).then(() => {\n history.push(Routes.SYSTEM.USERS.OVERVIEW);\n }, (error) => setSubmitError(error));\n};\n\nconst _validateUsername = async (errors: { [name: string]: string }, username: string) => {\n const newErrors = { ...errors };\n\n try {\n await UsersActions.loadByUsername(username);\n newErrors.username = 'Username is already taken';\n // eslint-disable-next-line no-empty\n } catch (error) {\n }\n\n return newErrors;\n};\n\nconst debounceTimeoutMs = 600;\nconst debouncedValidateUsername = debounceWithPromise(_validateUsername, debounceTimeoutMs);\n\nconst _validate = async (values) => {\n let errors = {};\n\n const { password, password_repeat: passwordRepeat, username } = values;\n\n if (username) {\n errors = await debouncedValidateUsername(errors, username);\n }\n\n if (isCloud && oktaUserForm) {\n const { validations: { password: validateCloudPasswords } } = oktaUserForm;\n\n errors = validateCloudPasswords(errors, password, passwordRepeat);\n } else {\n errors = validatePasswords(errors, password, passwordRepeat);\n }\n\n return errors;\n};\n\ntype RequestError = { additional: { res: { text: string } } };\n\nconst PasswordGroup = () => {\n if (isCloud && oktaUserForm) {\n const { fields: { password: CloudPasswordFormGroup } } = oktaUserForm;\n\n return ;\n }\n\n return ;\n};\n\nconst UserNameGroup = () => {\n if (isCloud && oktaUserForm) {\n const { fields: { username: CloudUserNameFormGroup } } = oktaUserForm;\n\n return CloudUserNameFormGroup && ;\n }\n\n return (\n \n );\n};\n\nconst EmailGroup = () => {\n if (isCloud && oktaUserForm) {\n const { fields: { email: CloudEmailFormGroup } } = oktaUserForm;\n\n return CloudEmailFormGroup && ;\n }\n\n return (\n \n );\n};\n\nconst UserCreate = () => {\n const initialRole = {\n name: 'Reader',\n description: 'Grants basic permissions for every Graylog user (built-in)',\n id: '',\n };\n const [user, setUser] = useState(User.empty().toBuilder().roles(Immutable.Set([initialRole.name])).build());\n const [submitError, setSubmitError] = useState();\n const [selectedRoles, setSelectedRoles] = useState>(Immutable.Set([initialRole]));\n const history = useHistory();\n const { pathname } = useLocation();\n const sendTelemetry = useSendTelemetry();\n const isGlobalTimeoutEnabled = useIsGlobalTimeoutEnabled();\n\n const _onAssignRole = (roles: Immutable.Set) => {\n setSelectedRoles(selectedRoles.union(roles));\n const roleNames = roles.map((r) => r.name);\n\n return Promise.resolve(\n setUser(user.toBuilder().roles(user.roles.union(roleNames)).build()),\n );\n };\n\n const _onUnassignRole = (role: DescriptiveItem) => {\n setSelectedRoles(selectedRoles.remove(role));\n setUser(user.toBuilder().roles(user.roles.remove(role?.name)).build());\n };\n\n const _handleCancel = () => history.push(Routes.SYSTEM.USERS.OVERVIEW);\n const hasValidRole = selectedRoles.size > 0 && selectedRoles.filter((role) => role.name === 'Reader' || role.name === 'Admin');\n\n const showSubmitError = (errors) => {\n if (isCloud && oktaUserForm) {\n const { extractSubmitError } = oktaUserForm;\n\n return extractSubmitError(errors);\n }\n\n return errors?.additional?.res?.text;\n };\n\n const onSubmit = (data) => {\n _onSubmit(history, data, user.roles, setSubmitError);\n\n sendTelemetry(TELEMETRY_EVENT_TYPE.USERS.USER_CREATED, {\n app_pathname: getPathnameWithoutId(pathname),\n app_action_value: 'user-create-form',\n });\n };\n\n return (\n \n \n \n {({ isSubmitting, isValid }) => (\n
\n
\n Profile\n \n \n \n \n
\n
\n Settings\n {isGlobalTimeoutEnabled ? (\n User session timeout is not editable because\n the\n \n \n global session timeout\n \n is enabled.\n \n )} />\n ) : (\n \n )}\n \n \n
\n
\n Roles\n \n role.name}\n submitOnSelect />\n \n\n \n <>\n {selectedRoles.map((role) => (\n _onUnassignRole(data)}\n key={role.id} />\n ))}\n {!hasValidRole && (\n \n You need to select at least one of\n the Reader or Admin roles.\n \n )}\n \n \n
\n
\n Password\n \n
\n {submitError && (\n \n \n \n {showSubmitError(submitError)}\n \n \n \n )}\n \n \n \n \n \n
\n )}\n
\n \n
\n );\n};\n\nexport default UserCreate;\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 UserCreate from './UserCreate';\n\nexport default UserCreate;\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 { LinkContainer } from 'components/common/router';\nimport Routes from 'routing/Routes';\nimport DocsHelper from 'util/DocsHelper';\nimport { Button } from 'components/bootstrap';\nimport { PageHeader, DocumentTitle } from 'components/common';\nimport UserCreate from 'components/users/UserCreate';\nimport UsersPageNavigation from 'components/users/navigation/UsersPageNavigation';\n\nconst UserCreatePage = () => (\n \n \n \n \n \n )}\n documentationLink={{\n title: 'Permissions documentation',\n path: DocsHelper.PAGES.USERS_ROLES,\n }}>\n \n Use this page to create new Graylog users. The users and their permissions created here are not limited\n to the web interface but valid and required for the REST APIs of your Graylog server nodes, too.\n \n \n\n \n \n);\n\nexport default UserCreatePage;\n"],"names":["SubmitButton","FormElements","RoleSelectOption","StyledSelect","_renderRoleOption","label","_options","roles","assignedRolesIds","identifier","role","r","_assignRole","selectedRoleNames","onSubmit","setselectedRoleNames","setIsSubmitting","setError","selectedRoleNameList","selectedRoles","selection","_loadRoles","setPaginatedRoles","getUnlimited","RolesSelector","submitOnSelect","paginatedRoles","isSubmitting","error","onChange","items","_onSubmit","options","PASSWORD_MIN_LENGTH","validatePasswords","errors","password","passwordRepeat","newErrors","PasswordFormGroup","showModal","setShowModal","name","value","onValueChange","newValue","handleCheckServiceAccount","handleCancel","MS_DAY","MS_HOUR","MS_MINUTE","MS_SECOND","TimeoutSelect","OPTIONS","props","_estimateUnit","TimeoutInput","propsValue","sessionTimeoutNever","setSessionTimeoutNever","unit","setUnit","setValue","_onClick","evt","_onChangeValue","_onChangeUnit","newUnit","GlobalTimeoutMessage","isCloud","AppConfig","oktaUserForm","history","formData","setSubmitError","data","onCreate","UsersDomain","Routes","_validateUsername","username","debounceTimeoutMs","debouncedValidateUsername","debounceWithPromise","_validate","values","validateCloudPasswords","PasswordGroup","CloudPasswordFormGroup","UserNameGroup","CloudUserNameFormGroup","EmailGroup","CloudEmailFormGroup","EmailFormGroup","initialRole","user","setUser","User","submitError","setSelectedRoles","useHistory","pathname","useLocation","sendTelemetry","useSendTelemetry","isGlobalTimeoutEnabled","useIsGlobalTimeoutEnabled","_onAssignRole","roleNames","_onUnassignRole","_handleCancel","hasValidRole","showSubmitError","extractSubmitError","isValid","FirstNameFormGroup","LastNameFormGroup","TimeoutFormGroup","TimezoneFormGroup","ServiceAccountFormGroup","PaginatedItem","UsersPageNavigation","DocsHelper"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy