diff --git a/src/Contracts/DataModels.ts b/src/Contracts/DataModels.ts index fef85ab87..0510a7c23 100644 --- a/src/Contracts/DataModels.ts +++ b/src/Contracts/DataModels.ts @@ -275,8 +275,7 @@ export interface DataMaskingPolicy { startPosition: number; length: number; }>; - excludedPaths: string[]; - isPolicyEnabled: boolean; + excludedPaths?: string[]; } export interface MaterializedView { diff --git a/src/Explorer/Controls/Settings/SettingsComponent.test.tsx b/src/Explorer/Controls/Settings/SettingsComponent.test.tsx index 7dfd49b11..ff7485b5e 100644 --- a/src/Explorer/Controls/Settings/SettingsComponent.test.tsx +++ b/src/Explorer/Controls/Settings/SettingsComponent.test.tsx @@ -30,7 +30,6 @@ jest.mock("../../../Common/dataAccess/updateCollection", () => ({ dataMaskingPolicy: { includedPaths: [], excludedPaths: ["/excludedPath"], - isPolicyEnabled: true, }, indexes: [], }), @@ -307,12 +306,10 @@ describe("SettingsComponent", () => { dataMaskingContent: { includedPaths: [], excludedPaths: ["/excludedPath"], - isPolicyEnabled: true, }, dataMaskingContentBaseline: { includedPaths: [], excludedPaths: [], - isPolicyEnabled: false, }, isDataMaskingDirty: true, }); @@ -326,7 +323,6 @@ describe("SettingsComponent", () => { expect(wrapper.state("dataMaskingContentBaseline")).toEqual({ includedPaths: [], excludedPaths: ["/excludedPath"], - isPolicyEnabled: true, }); }); @@ -340,7 +336,6 @@ describe("SettingsComponent", () => { const invalidPolicy: InvalidPolicy = { includedPaths: "invalid", excludedPaths: [], - isPolicyEnabled: false, }; // Use type assertion since we're deliberately testing with invalid data settingsComponentInstance["onDataMaskingContentChange"](invalidPolicy as unknown as DataModels.DataMaskingPolicy); @@ -349,7 +344,6 @@ describe("SettingsComponent", () => { expect(wrapper.state("dataMaskingContent")).toEqual({ includedPaths: "invalid", excludedPaths: [], - isPolicyEnabled: false, }); expect(wrapper.state("dataMaskingValidationErrors")).toEqual(["includedPaths must be an array"]); @@ -364,7 +358,6 @@ describe("SettingsComponent", () => { }, ], excludedPaths: ["/excludedPath"], - isPolicyEnabled: true, }; settingsComponentInstance["onDataMaskingContentChange"](validPolicy); @@ -388,7 +381,6 @@ describe("SettingsComponent", () => { }, ], excludedPaths: ["/excludedPath1"], - isPolicyEnabled: false, }; const modifiedPolicy = { @@ -401,7 +393,6 @@ describe("SettingsComponent", () => { }, ], excludedPaths: ["/excludedPath2"], - isPolicyEnabled: true, }; // Set initial state diff --git a/src/Explorer/Controls/Settings/SettingsComponent.tsx b/src/Explorer/Controls/Settings/SettingsComponent.tsx index 475a7b14b..30d5ac3bc 100644 --- a/src/Explorer/Controls/Settings/SettingsComponent.tsx +++ b/src/Explorer/Controls/Settings/SettingsComponent.tsx @@ -695,14 +695,13 @@ export class SettingsComponent extends React.Component { }, ], excludedPaths: [], - isPolicyEnabled: false, }; let changeContentCallback: () => void; @@ -78,7 +77,7 @@ describe("DataMaskingComponent", () => { , ); @@ -123,7 +122,7 @@ describe("DataMaskingComponent", () => { }); it("resets content when shouldDiscardDataMasking is true", async () => { - const baselinePolicy = { ...samplePolicy, isPolicyEnabled: true }; + const baselinePolicy = { ...samplePolicy, excludedPaths: ["/excluded"] }; const wrapper = mount( { wrapper.update(); // Update baseline to trigger componentDidUpdate - const newBaseline = { ...samplePolicy, isPolicyEnabled: true }; + const newBaseline = { ...samplePolicy, excludedPaths: ["/excluded"] }; wrapper.setProps({ dataMaskingContentBaseline: newBaseline }); expect(mockProps.onDataMaskingDirtyChange).toHaveBeenCalledWith(true); @@ -174,7 +173,6 @@ describe("DataMaskingComponent", () => { const invalidPolicy: Record = { includedPaths: "not an array", excludedPaths: [] as string[], - isPolicyEnabled: "not a boolean", }; mockGetValue.mockReturnValue(JSON.stringify(invalidPolicy)); @@ -197,7 +195,7 @@ describe("DataMaskingComponent", () => { wrapper.update(); // First change - const modifiedPolicy1 = { ...samplePolicy, isPolicyEnabled: true }; + const modifiedPolicy1 = { ...samplePolicy, excludedPaths: ["/path1"] }; mockGetValue.mockReturnValue(JSON.stringify(modifiedPolicy1)); changeContentCallback(); expect(mockProps.onDataMaskingDirtyChange).toHaveBeenCalledWith(true); diff --git a/src/Explorer/Controls/Settings/SettingsSubComponents/DataMaskingComponent.tsx b/src/Explorer/Controls/Settings/SettingsSubComponents/DataMaskingComponent.tsx index 6e316fea6..2dcc0f458 100644 --- a/src/Explorer/Controls/Settings/SettingsSubComponents/DataMaskingComponent.tsx +++ b/src/Explorer/Controls/Settings/SettingsSubComponents/DataMaskingComponent.tsx @@ -4,7 +4,7 @@ import * as React from "react"; import * as DataModels from "../../../../Contracts/DataModels"; import { loadMonaco } from "../../../LazyMonaco"; import { titleAndInputStackProps, unsavedEditorWarningMessage } from "../SettingsRenderUtils"; -import { isDataMaskingEnabled, isDirty as isContentDirty } from "../SettingsUtils"; +import { isDirty as isContentDirty, isDataMaskingEnabled } from "../SettingsUtils"; export interface DataMaskingComponentProps { shouldDiscardDataMasking: boolean; @@ -31,7 +31,6 @@ const emptyDataMaskingPolicy: DataModels.DataMaskingPolicy = { }, ], excludedPaths: [], - isPolicyEnabled: true, }; export class DataMaskingComponent extends React.Component { diff --git a/src/Explorer/Controls/Settings/TestUtils.tsx b/src/Explorer/Controls/Settings/TestUtils.tsx index f30e84709..c3b3f8b84 100644 --- a/src/Explorer/Controls/Settings/TestUtils.tsx +++ b/src/Explorer/Controls/Settings/TestUtils.tsx @@ -68,7 +68,6 @@ export const collection = { dataMaskingPolicy: ko.observable({ includedPaths: [], excludedPaths: ["/excludedPath"], - isPolicyEnabled: true, }), readSettings: () => { return; diff --git a/src/Explorer/Controls/Settings/__snapshots__/SettingsComponent.test.tsx.snap b/src/Explorer/Controls/Settings/__snapshots__/SettingsComponent.test.tsx.snap index c03e0e9ad..7f8452ddf 100644 --- a/src/Explorer/Controls/Settings/__snapshots__/SettingsComponent.test.tsx.snap +++ b/src/Explorer/Controls/Settings/__snapshots__/SettingsComponent.test.tsx.snap @@ -638,7 +638,6 @@ exports[`SettingsComponent renders 1`] = ` "/excludedPath", ], "includedPaths": [], - "isPolicyEnabled": true, } } dataMaskingContentBaseline={ @@ -647,7 +646,6 @@ exports[`SettingsComponent renders 1`] = ` "/excludedPath", ], "includedPaths": [], - "isPolicyEnabled": true, } } onDataMaskingContentChange={[Function]} diff --git a/src/Explorer/Tree/Collection.ts b/src/Explorer/Tree/Collection.ts index e4382de53..f5308e6ea 100644 --- a/src/Explorer/Tree/Collection.ts +++ b/src/Explorer/Tree/Collection.ts @@ -141,7 +141,6 @@ export default class Collection implements ViewModels.Collection { const defaultDataMaskingPolicy: DataModels.DataMaskingPolicy = { includedPaths: Array<{ path: string; strategy: string; startPosition: number; length: number }>(), excludedPaths: Array(), - isPolicyEnabled: true, }; const observablePolicy = ko.observable(data.dataMaskingPolicy || defaultDataMaskingPolicy); observablePolicy.subscribe(() => {});