mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
# Backport This will backport the following commits from `main` to `8.12`: - [[SecuritySolutions] Code review improvements for PR 8038 (#172650)](https://github.com/elastic/kibana/pull/172650) <!--- Backport version: 8.9.7 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Pablo Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2023-12-07T13:36:03Z","message":"[SecuritySolutions] Code review improvements for PR 8038 (#172650)\n\n## Summary\r\n\r\n* Code review typescript improvements\r\n* Remove the tooltip that increased bundle size by 2MB","sha":"356a5b4d436fd5819eecd652870345b19f852578","branchLabelMapping":{"^v8.13.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Threat Hunting","backport:prev-minor","v8.12.0","Team:Entity Analytics","v8.13.0"],"number":172650,"url":"https://github.com/elastic/kibana/pull/172650","mergeCommit":{"message":"[SecuritySolutions] Code review improvements for PR 8038 (#172650)\n\n## Summary\r\n\r\n* Code review typescript improvements\r\n* Remove the tooltip that increased bundle size by 2MB","sha":"356a5b4d436fd5819eecd652870345b19f852578"}},"sourceBranch":"main","suggestedTargetBranches":["8.12"],"targetPullRequestStates":[{"branch":"8.12","label":"v8.12.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.13.0","labelRegex":"^v8.13.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/172650","number":172650,"mergeCommit":{"message":"[SecuritySolutions] Code review improvements for PR 8038 (#172650)\n\n## Summary\r\n\r\n* Code review typescript improvements\r\n* Remove the tooltip that increased bundle size by 2MB","sha":"356a5b4d436fd5819eecd652870345b19f852578"}}]}] BACKPORT--> Co-authored-by: Pablo Machado <pablo.nevesmachado@elastic.co>
This commit is contained in:
parent
857b1adbfb
commit
567187afa3
8 changed files with 18 additions and 47 deletions
|
@ -25,6 +25,6 @@ export interface ManagedUserHit {
|
|||
fields?: ManagedUserFields;
|
||||
}
|
||||
|
||||
export type ManagedUserHits = Record<ManagedUserDatasetKey, ManagedUserHit | undefined>;
|
||||
export type ManagedUserHits = Partial<Record<ManagedUserDatasetKey, ManagedUserHit>>;
|
||||
|
||||
export type ManagedUserFields = Record<string, SearchTypes[]>;
|
||||
|
|
|
@ -75,7 +75,6 @@ describe('UserDetailsContent', () => {
|
|||
'@timestamp': [futureDay],
|
||||
},
|
||||
},
|
||||
[ManagedUserDatasetKey.OKTA]: undefined,
|
||||
},
|
||||
},
|
||||
}}
|
||||
|
@ -126,10 +125,7 @@ describe('UserDetailsContent', () => {
|
|||
...mockProps,
|
||||
managedUser: {
|
||||
...mockManagedUserData,
|
||||
data: {
|
||||
[ManagedUserDatasetKey.ENTRA]: undefined,
|
||||
[ManagedUserDatasetKey.OKTA]: undefined,
|
||||
},
|
||||
data: {},
|
||||
},
|
||||
}}
|
||||
/>
|
||||
|
|
|
@ -113,7 +113,6 @@ export const managedUserDetails: ManagedUserHits = {
|
|||
_index: 'test-index',
|
||||
_id: '123-test',
|
||||
},
|
||||
[ManagedUserDatasetKey.OKTA]: undefined,
|
||||
};
|
||||
|
||||
export const mockManagedUserData: ManagedUserData = {
|
||||
|
|
|
@ -10,9 +10,7 @@ import React, { useCallback } from 'react';
|
|||
import { head } from 'lodash/fp';
|
||||
import { euiLightVars } from '@kbn/ui-theme';
|
||||
import type { EuiBasicTableColumn } from '@elastic/eui';
|
||||
import { EuiToolTip } from '@elastic/eui';
|
||||
import { useDispatch } from 'react-redux';
|
||||
import { EcsFlat } from '@kbn/ecs';
|
||||
import { SourcererScopeName } from '../../../../common/store/sourcerer/model';
|
||||
import { DefaultFieldRenderer } from '../../field_renderers/field_renderers';
|
||||
import type {
|
||||
|
@ -36,16 +34,14 @@ const fieldColumn: EuiBasicTableColumn<ObservedUserTable | ManagedUserTable> = {
|
|||
name: i18n.FIELD_COLUMN_TITLE,
|
||||
field: 'label',
|
||||
render: (label: string, { field }) => (
|
||||
<EuiToolTip content={EcsFlat[field as keyof typeof EcsFlat]?.short ?? field}>
|
||||
<span
|
||||
css={css`
|
||||
font-weight: ${euiLightVars.euiFontWeightMedium};
|
||||
color: ${euiLightVars.euiTitleColor};
|
||||
`}
|
||||
>
|
||||
{label ?? field}
|
||||
</span>
|
||||
</EuiToolTip>
|
||||
<span
|
||||
css={css`
|
||||
font-weight: ${euiLightVars.euiFontWeightMedium};
|
||||
color: ${euiLightVars.euiTitleColor};
|
||||
`}
|
||||
>
|
||||
{label ?? field}
|
||||
</span>
|
||||
),
|
||||
};
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
import { useEffect, useMemo } from 'react';
|
||||
import { useInstalledIntegrations } from '../../../../../detections/components/rules/related_integrations/use_installed_integrations';
|
||||
import { ManagedUserDatasetKey } from '../../../../../../common/search_strategy/security_solution/users/managed_details';
|
||||
import { UsersQueries } from '../../../../../../common/search_strategy';
|
||||
import { useSpaceId } from '../../../../../common/hooks/use_space_id';
|
||||
import { useSearchStrategy } from '../../../../../common/containers/use_search_strategy';
|
||||
|
@ -37,10 +36,7 @@ export const useManagedUser = (userName: string, observedUser: ObserverUser) =>
|
|||
} = useSearchStrategy<UsersQueries.managedDetails>({
|
||||
factoryQueryType: UsersQueries.managedDetails,
|
||||
initialResult: {
|
||||
users: {
|
||||
[ManagedUserDatasetKey.ENTRA]: undefined,
|
||||
[ManagedUserDatasetKey.OKTA]: undefined,
|
||||
},
|
||||
users: {},
|
||||
},
|
||||
errorMessage: i18n.FAIL_MANAGED_USER,
|
||||
});
|
||||
|
|
|
@ -108,7 +108,6 @@ describe('ManagedUser', () => {
|
|||
managedUser: {
|
||||
...mockManagedUserData,
|
||||
data: {
|
||||
[ManagedUserDatasetKey.ENTRA]: undefined,
|
||||
[ManagedUserDatasetKey.OKTA]: {
|
||||
fields: mockOktaUserFields,
|
||||
_index: '123',
|
||||
|
|
|
@ -136,7 +136,7 @@ export const ManagedUser = ({
|
|||
managedUser={oktaManagedUser.fields}
|
||||
indexName={oktaManagedUser._index}
|
||||
eventId={oktaManagedUser._id}
|
||||
tableType={UserAssetTableType.assetEntra}
|
||||
tableType={UserAssetTableType.assetOkta}
|
||||
>
|
||||
<ManagedUserTable
|
||||
isDraggable={isDraggable}
|
||||
|
|
|
@ -16,15 +16,14 @@ import { buildManagedUserDetailsQuery } from './query.managed_user_details.dsl';
|
|||
import type { UsersQueries } from '../../../../../../common/search_strategy/security_solution/users';
|
||||
import type {
|
||||
ManagedUserHits,
|
||||
ManagedUserHit,
|
||||
ManagedUserDetailsStrategyResponse,
|
||||
ManagedUserFields,
|
||||
ManagedUserDatasetKey,
|
||||
} from '../../../../../../common/search_strategy/security_solution/users/managed_details';
|
||||
import { ManagedUserDatasetKey } from '../../../../../../common/search_strategy/security_solution/users/managed_details';
|
||||
|
||||
interface ManagedUserBucket {
|
||||
key: ManagedUserDatasetKey;
|
||||
latest_hit: SearchResponse<ManagedUserFields | ManagedUserFields>;
|
||||
latest_hit: SearchResponse<ManagedUserFields>;
|
||||
}
|
||||
|
||||
export const managedUserDetails: SecuritySolutionFactory<UsersQueries.managedDetails> = {
|
||||
|
@ -43,24 +42,10 @@ export const managedUserDetails: SecuritySolutionFactory<UsersQueries.managedDet
|
|||
response.rawResponse
|
||||
);
|
||||
|
||||
const managedUsers: ManagedUserHits = buckets.reduce(
|
||||
(acc: ManagedUserHits, bucket: ManagedUserBucket) => {
|
||||
acc[bucket.key] = bucket.latest_hit.hits.hits[0] as unknown as ManagedUserHit;
|
||||
return acc;
|
||||
},
|
||||
{} as ManagedUserHits
|
||||
);
|
||||
|
||||
if (buckets.length === 0) {
|
||||
return {
|
||||
...response,
|
||||
inspect,
|
||||
users: {
|
||||
[ManagedUserDatasetKey.ENTRA]: undefined,
|
||||
[ManagedUserDatasetKey.OKTA]: undefined,
|
||||
},
|
||||
};
|
||||
}
|
||||
const managedUsers = buckets.reduce<ManagedUserHits>((acc, bucket) => {
|
||||
acc[bucket.key] = bucket.latest_hit.hits.hits[0];
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
return {
|
||||
...response,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue