Skip to content

Commit

Permalink
Rename case response
Browse files Browse the repository at this point in the history
  • Loading branch information
cnasikas committed Apr 20, 2023
1 parent d0708f2 commit c8c87de
Show file tree
Hide file tree
Showing 43 changed files with 184 additions and 197 deletions.
30 changes: 16 additions & 14 deletions x-pack/plugins/cases/common/api/cases/case.ts
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ export const CasesByAlertIDRequestRt = rt.partial({
owner: rt.union([rt.array(rt.string), rt.string]),
});

export const CaseResponseRt = rt.intersection([
export const CaseRt = rt.intersection([
CaseAttributesRt,
rt.type({
id: rt.string,
Expand All @@ -264,7 +264,7 @@ export const CaseResponseRt = rt.intersection([

export const CaseResolveResponseRt = rt.intersection([
rt.type({
case: CaseResponseRt,
case: CaseRt,
outcome: rt.union([rt.literal('exactMatch'), rt.literal('aliasMatch'), rt.literal('conflict')]),
}),
rt.partial({
Expand All @@ -275,7 +275,7 @@ export const CaseResolveResponseRt = rt.intersection([

export const CasesFindResponseRt = rt.intersection([
rt.type({
cases: rt.array(CaseResponseRt),
cases: rt.array(CaseRt),
page: rt.number,
per_page: rt.number,
total: rt.number,
Expand All @@ -292,7 +292,7 @@ export const CasePatchRequestRt = rt.intersection([
]);

export const CasesPatchRequestRt = rt.type({ cases: rt.array(CasePatchRequestRt) });
export const CasesResponseRt = rt.array(CaseResponseRt);
export const CasesRt = rt.array(CaseRt);

export const CasePushRequestParamsRt = rt.type({
case_id: rt.string,
Expand Down Expand Up @@ -339,7 +339,7 @@ export const CasesBulkGetRequestRt = rt.intersection([
]);

export const CasesBulkGetResponseRt = rt.type({
cases: CasesResponseRt,
cases: CasesRt,
errors: rt.array(
rt.type({
error: rt.string,
Expand All @@ -353,9 +353,9 @@ export const CasesBulkGetResponseRt = rt.type({
export type CaseAttributes = rt.TypeOf<typeof CaseAttributesRt>;

export type CasePostRequest = rt.TypeOf<typeof CasePostRequestRt>;
export type CaseResponse = rt.TypeOf<typeof CaseResponseRt>;
export type Case = rt.TypeOf<typeof CaseRt>;
export type CaseResolveResponse = rt.TypeOf<typeof CaseResolveResponseRt>;
export type CasesResponse = rt.TypeOf<typeof CasesResponseRt>;
export type Cases = rt.TypeOf<typeof CasesRt>;
export type CasesFindRequest = rt.TypeOf<typeof CasesFindRequestRt>;
export type CasesByAlertIDRequest = rt.TypeOf<typeof CasesByAlertIDRequestRt>;
export type CasesFindResponse = rt.TypeOf<typeof CasesFindResponseRt>;
Expand All @@ -375,13 +375,15 @@ export type CasesByAlertId = rt.TypeOf<typeof CasesByAlertIdRt>;

export type CasesBulkGetRequest = rt.TypeOf<typeof CasesBulkGetRequestRt>;
export type CasesBulkGetResponse = rt.TypeOf<typeof CasesBulkGetResponseRt>;
export type CasesBulkGetRequestCertainFields<
Field extends keyof CaseResponse = keyof CaseResponse
> = Omit<CasesBulkGetRequest, 'fields'> & {
export type CasesBulkGetRequestCertainFields<Field extends keyof Case = keyof Case> = Omit<
CasesBulkGetRequest,
'fields'
> & {
fields?: Field[];
};
export type CasesBulkGetResponseCertainFields<
Field extends keyof CaseResponse = keyof CaseResponse
> = Omit<CasesBulkGetResponse, 'cases'> & {
cases: Array<Pick<CaseResponse, Field | 'id' | 'version' | 'owner'>>;
export type CasesBulkGetResponseCertainFields<Field extends keyof Case = keyof Case> = Omit<
CasesBulkGetResponse,
'cases'
> & {
cases: Array<Pick<Case, Field | 'id' | 'version' | 'owner'>>;
};
2 changes: 1 addition & 1 deletion x-pack/plugins/cases/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export {
} from './api';

export type {
CaseResponse,
Case,
CasesBulkGetRequestCertainFields,
CasesBulkGetResponseCertainFields,
} from './api';
Expand Down
4 changes: 2 additions & 2 deletions x-pack/plugins/cases/common/ui/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import type {
CaseUserActionResponse,
SingleCaseMetricsResponse,
CommentResponse,
CaseResponse,
Case,
UserActionFindResponse,
FindTypeField as UserActionFindTypeField,
CommentResponseAlertsType,
Expand Down Expand Up @@ -92,7 +92,7 @@ export type FindCaseUserActions = Omit<SnakeToCamelCase<UserActionFindResponse>,
userActions: CaseUserActions[];
};
export type CaseUserActionsStats = SnakeToCamelCase<CaseUserActionStatsResponse>;
export type Case = Omit<SnakeToCamelCase<CaseResponse>, 'comments'> & { comments: Comment[] };
export type Case = Omit<SnakeToCamelCase<Case>, 'comments'> & { comments: Comment[] };
export type Cases = Omit<SnakeToCamelCase<CasesFindResponse>, 'cases'> & { cases: Case[] };
export type CasesStatus = SnakeToCamelCase<CasesStatusResponse>;
export type CasesMetrics = SnakeToCamelCase<CasesMetricsResponse>;
Expand Down
8 changes: 4 additions & 4 deletions x-pack/plugins/cases/public/api/decoders.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ import type {
CasesStatusResponse,
CasesMetricsResponse,
CasesBulkGetResponseCertainFields,
CaseResponse,
Case,
} from '../../common/api';
import {
CasesFindResponseRt,
CasesStatusResponseRt,
CasesResponseRt,
CasesRt,
getTypeForCertainFieldsFromArray,
CasesMetricsResponseRt,
} from '../../common/api';
Expand All @@ -41,11 +41,11 @@ export const decodeCasesMetricsResponse = (metrics?: CasesMetricsResponse) =>
fold(throwErrors(createToasterPlainError), identity)
);

export const decodeCasesBulkGetResponse = <Field extends keyof CaseResponse = keyof CaseResponse>(
export const decodeCasesBulkGetResponse = <Field extends keyof Case = keyof Case>(
res: CasesBulkGetResponseCertainFields<Field>,
fields?: string[]
) => {
const typeToDecode = getTypeForCertainFieldsFromArray(CasesResponseRt, fields);
const typeToDecode = getTypeForCertainFieldsFromArray(CasesRt, fields);
pipe(typeToDecode.decode(res.cases), fold(throwErrors(createToasterPlainError), identity));

return res;
Expand Down
4 changes: 2 additions & 2 deletions x-pack/plugins/cases/public/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {
INTERNAL_BULK_GET_CASES_URL,
} from '../../common/constants';
import type {
CaseResponse,
Case,
CasesBulkGetRequestCertainFields,
CasesBulkGetResponseCertainFields,
CasesFindRequest,
Expand Down Expand Up @@ -68,7 +68,7 @@ export const getCasesMetrics = async ({
return convertToCamelCase(decodeCasesMetricsResponse(res));
};

export const bulkGetCases = async <Field extends keyof CaseResponse = keyof CaseResponse>({
export const bulkGetCases = async <Field extends keyof Case = keyof Case>({
http,
signal,
params,
Expand Down
11 changes: 5 additions & 6 deletions x-pack/plugins/cases/public/api/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ import {
} from '../../common/utils/attachments';
import type {
CasesFindResponse,
CaseResponse,
Case,
CaseUserActionsResponse,
CommentRequest,
CommentResponse,
CaseResolveResponse,
CasesResponse,
Cases,
} from '../../common/api';
import { isCommentUserAction } from '../../common/utils/user_actions';
import type { Cases, Case, Comment, ResolvedCase } from '../containers/types';
Expand Down Expand Up @@ -46,16 +46,15 @@ export const convertToCamelCase = <T, U extends {}>(obj: T): U =>
return acc;
}, {} as U);

export const convertCaseToCamelCase = (theCase: CaseResponse): Case => {
export const convertCaseToCamelCase = (theCase: Case): Case => {
const { comments, ...restCase } = theCase;
return {
...convertToCamelCase<CaseResponse, Case>(restCase),
...convertToCamelCase<Case, Case>(restCase),
...(comments != null ? { comments: convertAttachmentsToCamelCase(comments) } : {}),
};
};

export const convertCasesToCamelCase = (cases: CasesResponse): Case[] =>
cases.map(convertCaseToCamelCase);
export const convertCasesToCamelCase = (cases: Cases): Case[] => cases.map(convertCaseToCamelCase);

export const convertCaseResolveToCamelCase = (res: CaseResolveResponse): ResolvedCase => {
const { case: theCase, ...rest } = res;
Expand Down
33 changes: 15 additions & 18 deletions x-pack/plugins/cases/public/containers/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ import type {
BulkCreateCommentRequest,
CasePatchRequest,
CasePostRequest,
CaseResponse,
Case,
CaseResolveResponse,
CasesResponse,
Cases,
UserActionFindResponse,
CommentRequest,
User,
Expand Down Expand Up @@ -92,7 +92,7 @@ export const getCase = async (
includeComments: boolean = true,
signal: AbortSignal
): Promise<Case> => {
const response = await KibanaServices.get().http.fetch<CaseResponse>(getCaseDetailsUrl(caseId), {
const response = await KibanaServices.get().http.fetch<Case>(getCaseDetailsUrl(caseId), {
method: 'GET',
query: {
includeComments,
Expand Down Expand Up @@ -246,7 +246,7 @@ export const getCases = async ({
};

export const postCase = async (newCase: CasePostRequest, signal: AbortSignal): Promise<Case> => {
const response = await KibanaServices.get().http.fetch<CaseResponse>(CASES_URL, {
const response = await KibanaServices.get().http.fetch<Case>(CASES_URL, {
method: 'POST',
body: JSON.stringify(newCase),
signal,
Expand All @@ -263,7 +263,7 @@ export const patchCase = async (
version: string,
signal: AbortSignal
): Promise<Case[]> => {
const response = await KibanaServices.get().http.fetch<CasesResponse>(CASES_URL, {
const response = await KibanaServices.get().http.fetch<Cases>(CASES_URL, {
method: 'PATCH',
body: JSON.stringify({ cases: [{ ...updatedCase, id: caseId, version }] }),
signal,
Expand All @@ -279,7 +279,7 @@ export const updateCases = async (
return [];
}

const response = await KibanaServices.get().http.fetch<CasesResponse>(CASES_URL, {
const response = await KibanaServices.get().http.fetch<Cases>(CASES_URL, {
method: 'PATCH',
body: JSON.stringify({ cases }),
signal,
Expand All @@ -293,14 +293,11 @@ export const postComment = async (
caseId: string,
signal: AbortSignal
): Promise<Case> => {
const response = await KibanaServices.get().http.fetch<CaseResponse>(
`${CASES_URL}/${caseId}/comments`,
{
method: 'POST',
body: JSON.stringify(newComment),
signal,
}
);
const response = await KibanaServices.get().http.fetch<Case>(`${CASES_URL}/${caseId}/comments`, {
method: 'POST',
body: JSON.stringify(newComment),
signal,
});
return convertCaseToCamelCase(decodeCaseResponse(response));
};

Expand All @@ -319,7 +316,7 @@ export const patchComment = async ({
signal: AbortSignal;
owner: string;
}): Promise<Case> => {
const response = await KibanaServices.get().http.fetch<CaseResponse>(getCaseCommentsUrl(caseId), {
const response = await KibanaServices.get().http.fetch<Case>(getCaseCommentsUrl(caseId), {
method: 'PATCH',
body: JSON.stringify({
comment: commentUpdate,
Expand All @@ -342,7 +339,7 @@ export const deleteComment = async ({
commentId: string;
signal: AbortSignal;
}): Promise<void> => {
await KibanaServices.get().http.fetch<CaseResponse>(getCaseCommentDeleteUrl(caseId, commentId), {
await KibanaServices.get().http.fetch<Case>(getCaseCommentDeleteUrl(caseId, commentId), {
method: 'DELETE',
signal,
});
Expand All @@ -362,7 +359,7 @@ export const pushCase = async (
connectorId: string,
signal: AbortSignal
): Promise<Case> => {
const response = await KibanaServices.get().http.fetch<CaseResponse>(
const response = await KibanaServices.get().http.fetch<Case>(
getCasePushUrl(caseId, connectorId),
{
method: 'POST',
Expand Down Expand Up @@ -391,7 +388,7 @@ export const createAttachments = async (
caseId: string,
signal: AbortSignal
): Promise<Case> => {
const response = await KibanaServices.get().http.fetch<CaseResponse>(
const response = await KibanaServices.get().http.fetch<Case>(
INTERNAL_BULK_CREATE_ATTACHMENTS_URL.replace('{case_id}', caseId),
{
method: 'POST',
Expand Down
10 changes: 5 additions & 5 deletions x-pack/plugins/cases/public/containers/mock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ import type {
} from '../../common/ui/types';
import type {
CaseConnector,
CaseResponse,
Case,
CasesFindResponse,
CasesResponse,
Cases,
CasesStatusResponse,
CaseUserActionResponse,
CaseUserActionsResponse,
Expand Down Expand Up @@ -515,7 +515,7 @@ export const persistableStateAttachmentSnake: CommentResponse = {
version: 'WzQ3LDFc',
};

export const basicCaseSnake: CaseResponse = {
export const basicCaseSnake: Case = {
...basicCase,
status: CaseStatuses.open,
closed_at: null,
Expand All @@ -529,7 +529,7 @@ export const basicCaseSnake: CaseResponse = {
updated_at: basicUpdatedAt,
updated_by: elasticUserSnake,
owner: SECURITY_SOLUTION_OWNER,
} as CaseResponse;
} as Case;

export const caseWithAlertsSnake = {
...basicCaseSnake,
Expand Down Expand Up @@ -583,7 +583,7 @@ export const pushedCaseSnake = {
external_service: { ...basicPushSnake, connector_id: pushConnectorId },
};

export const casesSnake: CasesResponse = [
export const casesSnake: Cases = [
basicCaseSnake,
{
...pushedCaseSnake,
Expand Down
16 changes: 8 additions & 8 deletions x-pack/plugins/cases/public/containers/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import { pipe } from 'fp-ts/lib/pipeable';
import type { ToastInputFields } from '@kbn/core/public';
import { NO_ASSIGNEES_FILTERING_KEYWORD } from '../../common/constants';
import type {
CaseResponse,
CasesResponse,
Case,
Cases,
CasesConfigurationsResponse,
CasesConfigureResponse,
CaseUserActionsResponse,
Expand All @@ -25,8 +25,8 @@ import type {
CaseUserActionStatsResponse,
} from '../../common/api';
import {
CaseResponseRt,
CasesResponseRt,
CaseRt,
CasesRt,
throwErrors,
CaseConfigurationsResponseRt,
CaseConfigureResponseRt,
Expand All @@ -49,8 +49,8 @@ export const covertToSnakeCase = (obj: Record<string, unknown>) =>

export const createToasterPlainError = (message: string) => new ToasterError([message]);

export const decodeCaseResponse = (respCase?: CaseResponse) =>
pipe(CaseResponseRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity));
export const decodeCaseResponse = (respCase?: Case) =>
pipe(CaseRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity));

export const decodeCaseResolveResponse = (respCase?: CaseResolveResponse) =>
pipe(
Expand All @@ -64,8 +64,8 @@ export const decodeSingleCaseMetricsResponse = (respCase?: SingleCaseMetricsResp
fold(throwErrors(createToasterPlainError), identity)
);

export const decodeCasesResponse = (respCase?: CasesResponse) =>
pipe(CasesResponseRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity));
export const decodeCasesResponse = (respCase?: Cases) =>
pipe(CasesRt.decode(respCase), fold(throwErrors(createToasterPlainError), identity));

export const decodeCaseConfigurationsResponse = (respCase?: CasesConfigurationsResponse) => {
return pipe(
Expand Down
4 changes: 2 additions & 2 deletions x-pack/plugins/cases/public/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import type { LicensingPluginStart } from '@kbn/licensing-plugin/public';
import type { FilesSetup, FilesStart } from '@kbn/files-plugin/public';
import type { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public';
import type {
CaseResponse,
Case,
CasesBulkGetRequestCertainFields,
CasesBulkGetResponseCertainFields,
CasesByAlertId,
Expand Down Expand Up @@ -106,7 +106,7 @@ export interface CasesUiStart {
find: (query: CasesFindRequest, signal?: AbortSignal) => Promise<Cases>;
getCasesStatus: (query: CasesStatusRequest, signal?: AbortSignal) => Promise<CasesStatus>;
getCasesMetrics: (query: CasesMetricsRequest, signal?: AbortSignal) => Promise<CasesMetrics>;
bulkGet: <Field extends keyof CaseResponse = keyof CaseResponse>(
bulkGet: <Field extends keyof Case = keyof Case>(
params: CasesBulkGetRequestCertainFields<Field>,
signal?: AbortSignal
) => Promise<CasesBulkGetResponseCertainFields<Field>>;
Expand Down
Loading

0 comments on commit c8c87de

Please sign in to comment.