Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix TS issue
Browse files Browse the repository at this point in the history
sebelga committed Oct 1, 2020

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
1 parent a436132 commit 7e32883
Showing 6 changed files with 21 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -127,7 +127,7 @@ describe('Index Templates tab', () => {
const indexTemplate = templates[i];
const { name, indexPatterns, ilmPolicy, composedOf, template } = indexTemplate;

const hasContent = !!template.settings || !!template.mappings || !!template.aliases;
const hasContent = !!template?.settings || !!template?.mappings || !!template?.aliases;
const ilmPolicyName = ilmPolicy && ilmPolicy.name ? ilmPolicy.name : '';
const composedOfString = composedOf ? composedOf.join(',') : '';

@@ -152,7 +152,7 @@ describe('Index Templates tab', () => {
const legacyIndexTemplate = legacyTemplates[i];
const { name, indexPatterns, ilmPolicy, template } = legacyIndexTemplate;

const hasContent = !!template.settings || !!template.mappings || !!template.aliases;
const hasContent = !!template?.settings || !!template?.mappings || !!template?.aliases;
const ilmPolicyName = ilmPolicy && ilmPolicy.name ? ilmPolicy.name : '';

try {
Original file line number Diff line number Diff line change
@@ -112,7 +112,7 @@ describe('<TemplateClone />', () => {
name: `${templateToClone.name}-copy`,
indexPatterns: DEFAULT_INDEX_PATTERNS,
};
// @ts-expect-error

delete expected.template; // As no settings, mappings or aliases have been defined, no "template" param is sent

expect(JSON.parse(JSON.parse(latestRequest.requestBody).body)).toEqual(expected);
Original file line number Diff line number Diff line change
@@ -85,7 +85,7 @@ export function deserializeTemplateList(
): TemplateListItem[] {
return indexTemplates.map(({ name, index_template: templateSerialized }) => {
const {
template: { mappings, settings, aliases },
template: { mappings, settings, aliases } = {},
...deserializedTemplate
} = deserializeTemplate({ name, ...templateSerialized }, cloudManagedTemplatePrefix);

@@ -149,7 +149,7 @@ export function deserializeLegacyTemplateList(
): TemplateListItem[] {
return Object.entries(indexTemplatesByName).map(([name, templateSerialized]) => {
const {
template: { mappings, settings, aliases },
template: { mappings, settings, aliases } = {},
...deserializedTemplate
} = deserializeLegacyTemplate({ name, ...templateSerialized }, cloudManagedTemplatePrefix);

2 changes: 1 addition & 1 deletion x-pack/plugins/index_management/common/types/templates.ts
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ import { Mappings } from './mappings';
*/
export interface TemplateSerialized {
index_patterns: string[];
template: {
template?: {
settings?: IndexSettings;
aliases?: Aliases;
mappings?: Mappings;
Original file line number Diff line number Diff line change
@@ -117,7 +117,7 @@ export const TemplateForm = ({
};

const {
template: { settings, mappings, aliases },
template: { settings, mappings, aliases } = {},
composedOf,
_kbnMeta,
...logistics
@@ -170,18 +170,19 @@ export const TemplateForm = ({
const cleanupTemplateObject = (template: TemplateDeserialized) => {
const outputTemplate = { ...template };

if (outputTemplate.template.settings === undefined) {
delete outputTemplate.template.settings;
}
if (outputTemplate.template.mappings === undefined) {
delete outputTemplate.template.mappings;
}
if (outputTemplate.template.aliases === undefined) {
delete outputTemplate.template.aliases;
}
if (Object.keys(outputTemplate.template).length === 0) {
// @ts-expect-error
delete outputTemplate.template;
if (outputTemplate.template) {
if (outputTemplate.template.settings === undefined) {
delete outputTemplate.template.settings;
}
if (outputTemplate.template.mappings === undefined) {
delete outputTemplate.template.mappings;
}
if (outputTemplate.template.aliases === undefined) {
delete outputTemplate.template.aliases;
}
if (Object.keys(outputTemplate.template).length === 0) {
delete outputTemplate.template;
}
}

return outputTemplate;
Original file line number Diff line number Diff line change
@@ -161,9 +161,7 @@ export const TemplateDetailsContent = ({
}

if (templateDetails) {
const {
template: { settings, mappings, aliases },
} = templateDetails;
const { template: { settings, mappings, aliases } = {} } = templateDetails;

const tabToComponentMap: Record<string, React.ReactNode> = {
[SUMMARY_TAB_ID]: <TabSummary templateDetails={templateDetails} />,

0 comments on commit 7e32883

Please sign in to comment.