{"version":3,"file":"6005.1fe7461d1a3f03f7dcc0.js","mappings":"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","sources":["webpack://mattermost-webapp/./src/components/audit_table/holders.ts","webpack://mattermost-webapp/./src/components/audit_table/audit_row/audit_row.tsx","webpack://mattermost-webapp/./src/components/audit_table/channel_row/channel_create_direct_row.tsx","webpack://mattermost-webapp/./src/components/audit_table/channel_row/channel_default_row.tsx","webpack://mattermost-webapp/./src/components/audit_table/channel_row/channel_row.tsx","webpack://mattermost-webapp/./src/components/audit_table/user_row/user_update_active_session_row.tsx","webpack://mattermost-webapp/./src/components/audit_table/user_row/user_row.tsx","webpack://mattermost-webapp/./src/components/audit_table/format_audit.tsx","webpack://mattermost-webapp/./src/components/audit_table/audit_table.tsx","webpack://mattermost-webapp/./src/components/audit_table/index.ts","webpack://mattermost-webapp/./src/components/color_input.tsx","webpack://mattermost-webapp/./src/components/widgets/icons/fa_warning_icon.tsx"],"sourcesContent":["// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {defineMessages} from 'react-intl';\n\nconst holders = defineMessages({\n sessionRevoked: {\n id: 'audit_table.sessionRevoked',\n defaultMessage: 'The session with id {sessionId} was revoked',\n },\n channelCreated: {\n id: 'audit_table.channelCreated',\n defaultMessage: 'Created the {channelName} channel',\n },\n establishedDM: {\n id: 'audit_table.establishedDM',\n defaultMessage: 'Established a direct message channel with {username}',\n },\n nameUpdated: {\n id: 'audit_table.nameUpdated',\n defaultMessage: 'Updated the {channelName} channel name',\n },\n headerUpdated: {\n id: 'audit_table.headerUpdated',\n defaultMessage: 'Updated the {channelName} channel header',\n },\n channelDeleted: {\n id: 'audit_table.channelDeleted',\n defaultMessage: 'Archived the channel with the URL {url}',\n },\n userAdded: {\n id: 'audit_table.userAdded',\n defaultMessage: 'Added {username} to the {channelName} channel',\n },\n userRemoved: {\n id: 'audit_table.userRemoved',\n defaultMessage: 'Removed {username} to the {channelName} channel',\n },\n attemptedRegisterApp: {\n id: 'audit_table.attemptedRegisterApp',\n defaultMessage: 'Attempted to register a new OAuth Application with ID {id}',\n },\n attemptedAllowOAuthAccess: {\n id: 'audit_table.attemptedAllowOAuthAccess',\n defaultMessage: 'Attempted to allow a new OAuth service access',\n },\n successfullOAuthAccess: {\n id: 'audit_table.successfullOAuthAccess',\n defaultMessage: 'Successfully gave a new OAuth service access',\n },\n failedOAuthAccess: {\n id: 'audit_table.failedOAuthAccess',\n defaultMessage: 'Failed to allow a new OAuth service access - the redirect URI did not match the previously registered callback',\n },\n attemptedOAuthToken: {\n id: 'audit_table.attemptedOAuthToken',\n defaultMessage: 'Attempted to get an OAuth access token',\n },\n successfullOAuthToken: {\n id: 'audit_table.successfullOAuthToken',\n defaultMessage: 'Successfully added a new OAuth service',\n },\n oauthTokenFailed: {\n id: 'audit_table.oauthTokenFailed',\n defaultMessage: 'Failed to get an OAuth access token - {token}',\n },\n attemptedLogin: {\n id: 'audit_table.attemptedLogin',\n defaultMessage: 'Attempted to login',\n },\n authenticated: {\n id: 'audit_table.authenticated',\n defaultMessage: 'Successfully authenticated',\n },\n successfullLogin: {\n id: 'audit_table.successfullLogin',\n defaultMessage: 'Successfully logged in',\n },\n failedLogin: {\n id: 'audit_table.failedLogin',\n defaultMessage: 'FAILED login attempt',\n },\n updatePicture: {\n id: 'audit_table.updatePicture',\n defaultMessage: 'Updated your profile picture',\n },\n updateGeneral: {\n id: 'audit_table.updateGeneral',\n defaultMessage: 'Updated the general settings of your account',\n },\n attemptedPassword: {\n id: 'audit_table.attemptedPassword',\n defaultMessage: 'Attempted to change password',\n },\n successfullPassword: {\n id: 'audit_table.successfullPassword',\n defaultMessage: 'Successfully changed password',\n },\n failedPassword: {\n id: 'audit_table.failedPassword',\n defaultMessage: 'Failed to change password - tried to update user password who was logged in through OAuth',\n },\n updatedRol: {\n id: 'audit_table.updatedRol',\n defaultMessage: 'Updated user role(s) to ',\n },\n member: {\n id: 'audit_table.member',\n defaultMessage: 'member',\n },\n accountActive: {\n id: 'audit_table.accountActive',\n defaultMessage: 'Account activated',\n },\n accountInactive: {\n id: 'audit_table.accountInactive',\n defaultMessage: 'Account deactivated',\n },\n by: {\n id: 'audit_table.by',\n defaultMessage: ' by {username}',\n },\n byAdmin: {\n id: 'audit_table.byAdmin',\n defaultMessage: ' by an admin',\n },\n sentEmail: {\n id: 'audit_table.sentEmail',\n defaultMessage: 'Sent an email to {email} to reset your password',\n },\n attemptedReset: {\n id: 'audit_table.attemptedReset',\n defaultMessage: 'Attempted to reset password',\n },\n successfullReset: {\n id: 'audit_table.successfullReset',\n defaultMessage: 'Successfully reset password',\n },\n updateGlobalNotifications: {\n id: 'audit_table.updateGlobalNotifications',\n defaultMessage: 'Updated your global notification settings',\n },\n attemptedWebhookCreate: {\n id: 'audit_table.attemptedWebhookCreate',\n defaultMessage: 'Attempted to create a webhook',\n },\n succcessfullWebhookCreate: {\n id: 'audit_table.successfullWebhookCreate',\n defaultMessage: 'Successfully created a webhook',\n },\n failedWebhookCreate: {\n id: 'audit_table.failedWebhookCreate',\n defaultMessage: 'Failed to create a webhook - bad channel permissions',\n },\n attemptedWebhookDelete: {\n id: 'audit_table.attemptedWebhookDelete',\n defaultMessage: 'Attempted to delete a webhook',\n },\n successfullWebhookDelete: {\n id: 'audit_table.successfullWebhookDelete',\n defaultMessage: 'Successfully deleted a webhook',\n },\n failedWebhookDelete: {\n id: 'audit_table.failedWebhookDelete',\n defaultMessage: 'Failed to delete a webhook - inappropriate conditions',\n },\n logout: {\n id: 'audit_table.logout',\n defaultMessage: 'Logged out of your account',\n },\n verified: {\n id: 'audit_table.verified',\n defaultMessage: 'Successfully verified your email address',\n },\n revokedAll: {\n id: 'audit_table.revokedAll',\n defaultMessage: 'Revoked all current sessions for the team',\n },\n loginAttempt: {\n id: 'audit_table.loginAttempt',\n defaultMessage: ' (Login attempt)',\n },\n loginFailure: {\n id: 'audit_table.loginFailure',\n defaultMessage: ' (Login failure)',\n },\n attemptedLicenseAdd: {\n id: 'audit_table.attemptedLicenseAdd',\n defaultMessage: 'Attempted to add new license',\n },\n successfullLicenseAdd: {\n id: 'audit_table.successfullLicenseAdd',\n defaultMessage: 'Successfully added new license',\n },\n failedExpiredLicenseAdd: {\n id: 'audit_table.failedExpiredLicenseAdd',\n defaultMessage: 'Failed to add a new license as it has either expired or not yet been started',\n },\n failedInvalidLicenseAdd: {\n id: 'audit_table.failedInvalidLicenseAdd',\n defaultMessage: 'Failed to add an invalid license',\n },\n licenseRemoved: {\n id: 'audit_table.licenseRemoved',\n defaultMessage: 'Successfully removed a license',\n },\n});\n\nexport default holders;\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {FormattedDate, FormattedTime, useIntl} from 'react-intl';\nimport {useSelector} from 'react-redux';\n\nimport type {Audit} from '@mattermost/types/audits';\nimport type {GlobalState} from '@mattermost/types/store';\n\nimport {getUser} from 'mattermost-redux/selectors/entities/users';\n\nimport {toTitleCase} from 'utils/utils';\n\nimport holders from '../holders';\n\nexport type Props = {\n audit: Audit;\n actionURL: string;\n desc?: string;\n showUserId: boolean;\n showIp: boolean;\n showSession: boolean;\n}\n\nexport default function AuditRow({\n actionURL,\n audit,\n desc: aDesc,\n showUserId,\n showIp,\n showSession,\n}: Props) {\n const intl = useIntl();\n let desc = aDesc;\n if (!desc) {\n /* Currently not called anywhere */\n if (audit.extra_info.indexOf('revoked_all=') >= 0) {\n desc = intl.formatMessage(holders.revokedAll);\n } else {\n let actionDesc = '';\n if (actionURL && actionURL.lastIndexOf('/') !== -1) {\n actionDesc = actionURL.substring(actionURL.lastIndexOf('/') + 1).replace('_', ' ');\n actionDesc = toTitleCase(actionDesc);\n }\n\n let extraInfoDesc = '';\n if (audit.extra_info) {\n extraInfoDesc = audit.extra_info;\n\n if (extraInfoDesc.indexOf('=') !== -1) {\n extraInfoDesc = extraInfoDesc.substring(extraInfoDesc.indexOf('=') + 1);\n }\n }\n desc = actionDesc + ' ' + extraInfoDesc;\n }\n }\n\n const date = new Date(audit.create_at);\n const timestamp = (\n
\n
\n \n
\n
\n \n
\n
\n );\n\n const ip = audit.ip_address;\n const sessionId = audit.session_id;\n\n const auditProfile = useSelector((state: GlobalState) => getUser(state, audit.user_id));\n const userId = auditProfile ? auditProfile.email : audit.user_id;\n let uContent;\n if (showUserId) {\n uContent = {userId};\n }\n\n let iContent;\n if (showIp) {\n iContent = (\n \n {ip}\n \n );\n }\n\n let sContent;\n if (showSession) {\n sContent = (\n \n {sessionId}\n \n );\n }\n\n let descStyle = '';\n if (desc.toLowerCase().indexOf('fail') !== -1) {\n descStyle = ' color--error';\n }\n\n return (\n \n \n {timestamp}\n \n {uContent}\n {desc}\n {iContent}\n {sContent}\n \n );\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {useIntl} from 'react-intl';\nimport {useSelector} from 'react-redux';\n\nimport type {Audit} from '@mattermost/types/audits';\nimport type {Channel} from '@mattermost/types/channels';\n\nimport {getDirectTeammate} from 'mattermost-redux/selectors/entities/channels';\n\nimport type {GlobalState} from 'types/store';\n\nimport AuditRow from '../audit_row/audit_row';\nimport holders from '../holders';\n\ntype Props = {\n audit: Audit;\n actionURL: string;\n showUserId: boolean;\n showIp: boolean;\n showSession: boolean;\n channelObj?: Channel | null;\n}\n\nexport default function ChannelCreateDirectRow({\n audit,\n actionURL,\n showUserId,\n showIp,\n showSession,\n channelObj,\n}: Props) {\n const intl = useIntl();\n\n const channelId = channelObj?.id ?? '';\n\n const desc = intl.formatMessage(holders.establishedDM, {\n username: useSelector((state: GlobalState) =>\n getDirectTeammate(state, channelId),\n )?.username,\n });\n return (\n \n );\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {useIntl} from 'react-intl';\nimport {useSelector} from 'react-redux';\n\nimport type {Audit} from '@mattermost/types/audits';\nimport type {GlobalState} from '@mattermost/types/store';\n\nimport {getUser} from 'mattermost-redux/selectors/entities/users';\n\nimport AuditRow from '../audit_row/audit_row';\nimport holders from '../holders';\n\ntype Props = {\n audit: Audit;\n actionURL: string;\n showUserId: boolean;\n showIp: boolean;\n showSession: boolean;\n channelInfo: string[];\n channelName: string;\n channelURL: string;\n};\n\nexport default function ChannelDefaultRow({\n audit,\n actionURL,\n showUserId,\n showIp,\n showSession,\n channelInfo,\n channelName,\n channelURL,\n}: Props) {\n const intl = useIntl();\n\n let userIdField = [];\n let userId = '';\n let username = '';\n\n if (channelInfo[1]) {\n userIdField = channelInfo[1].split('=');\n\n if (userIdField.indexOf('user_id') >= 0) {\n userId = userIdField[userIdField.indexOf('user_id') + 1];\n }\n }\n\n const profile = useSelector((state: GlobalState) => getUser(state, userId));\n if (profile) {\n username = profile.username;\n }\n\n let desc = '';\n if ((/\\/channels\\/[A-Za-z0-9]+\\/delete/).test(actionURL)) {\n desc = intl.formatMessage(holders.channelDeleted, {url: channelURL});\n } else if ((/\\/channels\\/[A-Za-z0-9]+\\/add/).test(actionURL)) {\n desc = intl.formatMessage(holders.userAdded, {username, channelName});\n } else if ((/\\/channels\\/[A-Za-z0-9]+\\/remove/).test(actionURL)) {\n desc = intl.formatMessage(holders.userRemoved, {\n username,\n channelName,\n });\n }\n\n return (\n \n );\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {useIntl} from 'react-intl';\nimport {useSelector} from 'react-redux';\n\nimport type {Audit} from '@mattermost/types/audits';\nimport type {GlobalState} from '@mattermost/types/store';\n\nimport {getChannelByName} from 'mattermost-redux/selectors/entities/channels';\n\nimport ChannelCreateDirectRow from './channel_create_direct_row';\nimport ChannelDefaultRow from './channel_default_row';\n\nimport AuditRow from '../audit_row/audit_row';\nimport holders from '../holders';\n\ntype Props = {\n audit: Audit;\n actionURL: string;\n showUserId: boolean;\n showIp: boolean;\n showSession: boolean;\n}\n\nexport default function ChannelRow({\n audit,\n actionURL,\n showUserId,\n showIp,\n showSession,\n}: Props): JSX.Element {\n const props = {\n showUserId,\n showIp,\n showSession,\n };\n const intl = useIntl();\n\n const channelInfo = audit.extra_info.split(' ');\n const channelNameField = channelInfo[0].split('=');\n\n const channelURL = channelNameField.indexOf('name') >= 0 ? channelNameField[channelNameField.indexOf('name') + 1] : '';\n const channelObj = useSelector((state: GlobalState) => getChannelByName(state, channelURL));\n const channelName = channelObj?.display_name ?? channelURL;\n\n switch (actionURL) {\n case '/channels/create':\n return (\n \n );\n case '/channels/create_direct':\n return (\n \n );\n case '/channels/update':\n return (\n \n );\n case '/channels/update_desc': // support the old path\n case '/channels/update_header':\n return (\n \n );\n default: {\n return (\n \n );\n }\n }\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {useIntl} from 'react-intl';\nimport {useSelector} from 'react-redux';\n\nimport type {Audit} from '@mattermost/types/audits';\nimport type {GlobalState} from '@mattermost/types/store';\n\nimport {getCurrentUser, getUser} from 'mattermost-redux/selectors/entities/users';\nimport {isSystemAdmin} from 'mattermost-redux/utils/user_utils';\n\nimport AuditRow from '../audit_row/audit_row';\nimport holders from '../holders';\n\ntype Props = {\n audit: Audit;\n actionURL: string;\n showUserId: boolean;\n showIp: boolean;\n showSession: boolean;\n updateField: string;\n userInfo: string[];\n}\n\nexport default function UserUpdateActiveSessionRow({\n audit,\n actionURL,\n showUserId,\n showIp,\n showSession,\n updateField,\n userInfo,\n}: Props): JSX.Element {\n const intl = useIntl();\n\n let desc = '';\n\n if (updateField === 'true') {\n desc = intl.formatMessage(holders.accountActive);\n } else if (updateField === 'false') {\n desc = intl.formatMessage(holders.accountInactive);\n }\n\n const actingUserInfo = userInfo[1].split('=');\n const isSessionUser = actingUserInfo[0] === 'session_user';\n const actingUser = useSelector((state: GlobalState) => getUser(state, isSessionUser ? actingUserInfo[1] : ''));\n const user = useSelector((state: GlobalState) => getCurrentUser(state));\n if (isSessionUser) {\n if (user && actingUser && isSystemAdmin(user.roles)) {\n desc += intl.formatMessage(holders.by, {\n username: actingUser.username,\n });\n } else if (user && actingUser) {\n desc += intl.formatMessage(holders.byAdmin);\n }\n }\n\n return (\n \n );\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {useIntl} from 'react-intl';\n\nimport type {Audit} from '@mattermost/types/audits';\n\nimport UserUpdateActiveSessionRow from './user_update_active_session_row';\n\nimport AuditRow from '../audit_row/audit_row';\nimport holders from '../holders';\n\ntype Props = {\n audit: Audit;\n actionURL: string;\n showUserId: boolean;\n showIp: boolean;\n showSession: boolean;\n}\n\nexport default function UserRow({\n audit,\n actionURL,\n showUserId,\n showIp,\n showSession,\n}: Props): JSX.Element {\n const props = {\n showUserId,\n showIp,\n showSession,\n };\n const intl = useIntl();\n\n const userInfo = audit.extra_info.split(' ');\n\n let desc = '';\n switch (actionURL) {\n case '/users/login':\n if (userInfo[0] === 'attempt') {\n desc = intl.formatMessage(holders.attemptedLogin);\n } else if (userInfo[0] === 'success') {\n desc = intl.formatMessage(holders.successfullLogin);\n } else if (userInfo[0] === 'authenticated') {\n desc = intl.formatMessage(holders.authenticated);\n } else if (userInfo[0]) {\n desc = intl.formatMessage(holders.failedLogin);\n }\n\n return (\n \n );\n case '/users/revoke_session':\n return (\n \n );\n case '/users/update':\n return (\n \n );\n case '/users/newpassword':\n if (userInfo[0] === 'attempted') {\n desc = intl.formatMessage(holders.attemptedPassword);\n } else if (userInfo[0] === 'completed') {\n desc = intl.formatMessage(holders.successfullPassword);\n } else if (\n userInfo[0] ===\n 'failed - tried to update user password who was logged in through oauth'\n ) {\n desc = intl.formatMessage(holders.failedPassword);\n }\n\n return (\n \n );\n case '/users/update_roles': {\n const userRoles = userInfo[0].split('=')[1];\n\n desc = intl.formatMessage(holders.updatedRol);\n if (userRoles.trim()) {\n desc += userRoles;\n } else {\n desc += intl.formatMessage(holders.member);\n }\n\n return (\n \n );\n }\n case '/users/update_active': {\n const updateType = userInfo[0].split('=')[0];\n const updateField = userInfo[0].split('=')[1];\n\n /* Either describes account activation/deactivation or a revoked session as part of an account deactivation */\n if (updateType === 'active') {\n return (\n \n );\n } else if (updateType === 'session_id') {\n desc = intl.formatMessage(holders.sessionRevoked, {\n sessionId: updateField,\n });\n }\n\n return (\n \n );\n }\n case '/users/send_password_reset':\n return (\n \n );\n case '/users/update_notify':\n return (\n \n );\n default:\n return (\n \n );\n }\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {useIntl} from 'react-intl';\n\nimport type {Audit} from '@mattermost/types/audits';\n\nimport {toTitleCase} from 'utils/utils';\n\nimport AuditRow from './audit_row/audit_row';\nimport ChannelRow from './channel_row/channel_row';\nimport holders from './holders';\nimport UserRow from './user_row/user_row';\n\nexport type Props = {\n audit: Audit;\n showUserId: boolean;\n showIp: boolean;\n showSession: boolean;\n}\n\nexport default function FormatAudit({\n audit,\n showUserId,\n showIp,\n showSession,\n}: Props) {\n const intl = useIntl();\n const actionURL = audit.action.replace(/\\/api\\/v[1-9]/, '');\n\n if (actionURL.indexOf('/channels') === 0) {\n return (\n \n );\n }\n\n if (actionURL.indexOf('/users') === 0) {\n return (\n \n );\n }\n\n const {formatMessage} = intl;\n let auditDesc = '';\n\n if (actionURL.indexOf('/oauth') === 0) {\n const oauthInfo = audit.extra_info.split(' ');\n\n switch (actionURL) {\n case '/oauth/register': {\n const clientIdField = oauthInfo[0].split('=');\n\n if (clientIdField[0] === 'client_id') {\n auditDesc = formatMessage(holders.attemptedRegisterApp, {id: clientIdField[1]});\n }\n\n break;\n }\n case '/oauth/allow':\n if (oauthInfo[0] === 'attempt') {\n auditDesc = formatMessage(holders.attemptedAllowOAuthAccess);\n } else if (oauthInfo[0] === 'success') {\n auditDesc = formatMessage(holders.successfullOAuthAccess);\n } else if (oauthInfo[0] === 'fail - redirect_uri did not match registered callback') {\n auditDesc = formatMessage(holders.failedOAuthAccess);\n }\n\n break;\n case '/oauth/access_token':\n if (oauthInfo[0] === 'attempt') {\n auditDesc = formatMessage(holders.attemptedOAuthToken);\n } else if (oauthInfo[0] === 'success') {\n auditDesc = formatMessage(holders.successfullOAuthToken);\n } else {\n const oauthTokenFailure = oauthInfo[0].split('-');\n\n if (oauthTokenFailure[0].trim() === 'fail' && oauthTokenFailure[1]) {\n auditDesc = formatMessage(holders.oauthTokenFailed, {token: oauthTokenFailure[1].trim()});\n }\n }\n\n break;\n default:\n break;\n }\n } else if (actionURL.indexOf('/hooks') === 0) {\n const webhookInfo = audit.extra_info;\n\n switch (actionURL) {\n case '/hooks/incoming/create':\n if (webhookInfo === 'attempt') {\n auditDesc = formatMessage(holders.attemptedWebhookCreate);\n } else if (webhookInfo === 'success') {\n auditDesc = formatMessage(holders.succcessfullWebhookCreate);\n } else if (webhookInfo === 'fail - bad channel permissions') {\n auditDesc = formatMessage(holders.failedWebhookCreate);\n }\n\n break;\n case '/hooks/incoming/delete':\n if (webhookInfo === 'attempt') {\n auditDesc = formatMessage(holders.attemptedWebhookDelete);\n } else if (webhookInfo === 'success') {\n auditDesc = formatMessage(holders.successfullWebhookDelete);\n } else if (webhookInfo === 'fail - inappropriate conditions') {\n auditDesc = formatMessage(holders.failedWebhookDelete);\n }\n\n break;\n default:\n break;\n }\n } else if (actionURL.indexOf('/license') === 0) {\n const licenseInfo = audit.extra_info;\n\n switch (actionURL) {\n case '/license/add':\n if (licenseInfo === 'attempt') {\n auditDesc = formatMessage(holders.attemptedLicenseAdd);\n } else if (licenseInfo === 'success') {\n auditDesc = formatMessage(holders.successfullLicenseAdd);\n } else if (licenseInfo === 'failed - expired or non-started license') {\n auditDesc = formatMessage(holders.failedExpiredLicenseAdd);\n } else if (licenseInfo === 'failed - invalid license') {\n auditDesc = formatMessage(holders.failedInvalidLicenseAdd);\n }\n\n break;\n case '/license/remove':\n auditDesc = formatMessage(holders.licenseRemoved);\n break;\n default:\n break;\n }\n } else if (actionURL.indexOf('/admin/download_compliance_report') === 0) {\n auditDesc = toTitleCase(audit.extra_info);\n } else {\n switch (actionURL) {\n case '/logout':\n auditDesc = formatMessage(holders.logout);\n break;\n case '/verify_email':\n auditDesc = formatMessage(holders.verified);\n break;\n default:\n break;\n }\n }\n\n return (\n \n );\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {FormattedMessage, injectIntl} from 'react-intl';\nimport type {IntlShape} from 'react-intl';\n\nimport type {Audit} from '@mattermost/types/audits';\nimport type {UserProfile} from '@mattermost/types/users';\n\nimport FormatAudit from './format_audit';\n\ntype Props = {\n intl: IntlShape;\n audits: Audit[];\n showUserId?: boolean;\n showIp?: boolean;\n showSession?: boolean;\n currentUser: UserProfile;\n actions: {\n getMissingProfilesByIds: (userIds: string[]) => void;\n };\n};\n\nexport class AuditTable extends React.PureComponent {\n componentDidMount() {\n const ids = this.props.audits.map((audit) => audit.user_id);\n this.props.actions.getMissingProfilesByIds(ids);\n }\n\n render() {\n const {audits, showUserId, showIp, showSession} = this.props;\n\n let userIdContent;\n if (showUserId) {\n userIdContent = (\n \n \n \n );\n }\n\n let ipContent;\n if (showIp) {\n ipContent = (\n \n \n \n );\n }\n\n let sessionContent;\n if (showSession) {\n sessionContent = (\n \n \n \n );\n }\n\n return (\n \n \n \n \n {userIdContent}\n \n {ipContent}\n {sessionContent}\n \n \n \n {audits.map((audit) => (\n \n ))}\n \n
\n \n \n \n
\n );\n }\n}\n\nexport default injectIntl(AuditTable);\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport {connect} from 'react-redux';\nimport {bindActionCreators} from 'redux';\nimport type {Dispatch} from 'redux';\n\nimport {getMissingProfilesByIds} from 'mattermost-redux/actions/users';\nimport {getCurrentUser} from 'mattermost-redux/selectors/entities/users';\nimport type {GenericAction} from 'mattermost-redux/types/actions';\n\nimport type {GlobalState} from 'types/store';\n\nimport AuditTable from './audit_table';\n\nfunction mapStateToProps(state: GlobalState) {\n return {\n currentUser: getCurrentUser(state),\n };\n}\n\nfunction mapDispatchToProps(dispatch: Dispatch) {\n return {\n actions: bindActionCreators({\n getMissingProfilesByIds,\n }, dispatch),\n };\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AuditTable);\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport React from 'react';\nimport {ChromePicker} from 'react-color';\nimport type {ColorResult} from 'react-color';\nimport tinycolor from 'tinycolor2';\n\ntype Props = {\n id: string;\n onChange: (color: string) => void;\n value: string;\n isDisabled?: boolean;\n}\n\ntype State = {\n focused: boolean;\n isOpened: boolean;\n value: string;\n}\n\nexport default class ColorInput extends React.PureComponent {\n private colorPicker: React.RefObject;\n private colorInput: React.RefObject;\n\n public constructor(props: Props) {\n super(props);\n this.colorPicker = React.createRef();\n this.colorInput = React.createRef();\n\n this.state = {\n focused: false,\n isOpened: false,\n value: props.value,\n };\n }\n\n static getDerivedStateFromProps(props: Props, state: State) {\n if (!state.focused && props.value !== state.value) {\n return {\n value: props.value,\n };\n }\n\n return null;\n }\n\n public componentDidUpdate(prevProps: Props, prevState: State) {\n const {isOpened: prevIsOpened} = prevState;\n const {isOpened} = this.state;\n\n if (isOpened !== prevIsOpened) {\n if (isOpened) {\n document.addEventListener('click', this.checkClick, {capture: true});\n } else {\n document.removeEventListener('click', this.checkClick);\n }\n }\n }\n\n private checkClick = (e: MouseEvent): void => {\n if (!this.colorPicker.current || !this.colorPicker.current.contains(e.target as Element)) {\n this.setState({isOpened: false});\n }\n };\n\n private togglePicker = () => {\n if (!this.state.isOpened && this.colorInput.current) {\n this.colorInput.current.focus();\n }\n this.setState({isOpened: !this.state.isOpened});\n };\n\n public handleColorChange = (newColorData: ColorResult) => {\n this.setState({focused: false});\n this.props.onChange(newColorData.hex);\n };\n\n private onChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n\n const color = tinycolor(value);\n const normalizedColor = '#' + color.toHex();\n\n if (color.isValid()) {\n this.props.onChange(normalizedColor);\n }\n\n this.setState({value});\n };\n\n private onFocus = (event: React.FocusEvent): void => {\n this.setState({\n focused: true,\n });\n\n if (event.target) {\n event.target.setSelectionRange(1, event.target.value.length);\n }\n };\n\n private onBlur = () => {\n const value = this.state.value;\n\n const color = tinycolor(value);\n const normalizedColor = '#' + color.toHex();\n\n if (color.isValid()) {\n this.props.onChange(normalizedColor);\n\n this.setState({\n value: normalizedColor,\n });\n } else {\n this.setState({\n value: this.props.value,\n });\n }\n\n this.setState({\n focused: false,\n });\n };\n\n private onKeyDown = (event: React.KeyboardEvent) => {\n // open picker on enter or space\n if (event.key === 'Enter' || event.key === ' ') {\n this.togglePicker();\n }\n };\n\n public render() {\n const {id} = this.props;\n const {isOpened, value} = this.state;\n\n return (\n
\n \n {!this.props.isDisabled &&\n \n \n \n }\n {isOpened && (\n \n \n
\n )}\n \n );\n }\n}\n","// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.\n// See LICENSE.txt for license information.\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport {useIntl} from 'react-intl';\n\ntype Props = {\n additionalClassName?: string;\n}\n\nconst WarningIcon = ({additionalClassName}: Props) => {\n const {formatMessage} = useIntl();\n return (\n \n );\n};\n\nexport default React.memo(WarningIcon);\n"],"names":["defineMessages","sessionRevoked","id","defaultMessage","channelCreated","establishedDM","nameUpdated","headerUpdated","channelDeleted","userAdded","userRemoved","attemptedRegisterApp","attemptedAllowOAuthAccess","successfullOAuthAccess","failedOAuthAccess","attemptedOAuthToken","successfullOAuthToken","oauthTokenFailed","attemptedLogin","authenticated","successfullLogin","failedLogin","updatePicture","updateGeneral","attemptedPassword","successfullPassword","failedPassword","updatedRol","member","accountActive","accountInactive","by","byAdmin","sentEmail","attemptedReset","successfullReset","updateGlobalNotifications","attemptedWebhookCreate","succcessfullWebhookCreate","failedWebhookCreate","attemptedWebhookDelete","successfullWebhookDelete","failedWebhookDelete","logout","verified","revokedAll","loginAttempt","loginFailure","attemptedLicenseAdd","successfullLicenseAdd","failedExpiredLicenseAdd","failedInvalidLicenseAdd","licenseRemoved","AuditRow","_ref","actionURL","audit","desc","aDesc","showUserId","showIp","showSession","intl","useIntl","extra_info","indexOf","formatMessage","holders","actionDesc","lastIndexOf","substring","replace","toTitleCase","extraInfoDesc","date","Date","create_at","timestamp","React","FormattedDate","value","day","month","year","FormattedTime","hour","minute","ip","ip_address","sessionId","session_id","auditProfile","useSelector","state","getUser","user_id","userId","email","uContent","iContent","sContent","className","descStyle","toLowerCase","key","propTypes","_pt","ChannelCreateDirectRow","_channelObj$id","_useSelector","channelObj","channelId","username","getDirectTeammate","ChannelDefaultRow","channelInfo","channelName","channelURL","userIdField","split","profile","test","url","ChannelRow","_channelObj$display_n","props","channelNameField","getChannelByName","display_name","Object","assign","isRequired","UserUpdateActiveSessionRow","updateField","userInfo","actingUserInfo","isSessionUser","actingUser","user","getCurrentUser","isSystemAdmin","roles","UserRow","userRoles","trim","updateType","FormatAudit","action","auditDesc","oauthInfo","clientIdField","oauthTokenFailure","token","webhookInfo","licenseInfo","AuditTable","componentDidMount","ids","this","audits","map","actions","getMissingProfilesByIds","render","userIdContent","ipContent","sessionContent","FormattedMessage","Boolean","injectIntl","connect","currentUser","dispatch","bindActionCreators","ColorInput","constructor","super","_defineProperty","e","colorPicker","current","contains","target","setState","isOpened","colorInput","focus","newColorData","focused","onChange","hex","event","color","tinycolor","normalizedColor","toHex","isValid","setSelectionRange","length","togglePicker","getDerivedStateFromProps","componentDidUpdate","prevProps","prevState","prevIsOpened","document","addEventListener","checkClick","capture","removeEventListener","concat","ref","type","onBlur","onFocus","onKeyDown","maxLength","disabled","isDisabled","onClick","style","backgroundColor","ChromePicker","handleColorChange","disableAlpha","WarningIcon","additionalClassName","classNames","title"],"sourceRoot":""}