Skip to content

Commit

Permalink
MNTOR-3893 - Fix qa custom broker tool (#5647)
Browse files Browse the repository at this point in the history
* add new custom broker with the same type as real data

* update type

* add flag for mocked scan results

* add dashboard state

* lint

* add feature flag blocker

* fix post req

* remove changes to pageloadevent

* remove mocked brokers addition to util func

* fixes

* more fixes

* fix build
  • Loading branch information
codemist authored Feb 24, 2025
1 parent d3cdf50 commit d42b934
Show file tree
Hide file tree
Showing 11 changed files with 311 additions and 202 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,13 @@ import { Button } from "../../../../../../components/client/Button";
import { CreateFeatureFlagRequestBody } from "../../../../../../api/v1/admin/feature-flags/route";
import { FeatureFlagName } from "../../../../../../../db/tables/featureFlags";

export const NewFlagEditor = (props: { flagName: FeatureFlagName }) => {
export const NewFlagEditor = (props: {
flagName: FeatureFlagName;
adminOnly: boolean;
}) => {
return (
<FlagEditor
adminOnly={props.adminOnly}
flagName={props.flagName}
isEnabled={false}
onToggleEnable={async (isEnabled) => {
Expand All @@ -45,9 +49,13 @@ export const NewFlagEditor = (props: { flagName: FeatureFlagName }) => {
);
};

export const ExistingFlagEditor = (props: { flag: FeatureFlagRow }) => {
export const ExistingFlagEditor = (props: {
flag: FeatureFlagRow;
adminOnly: boolean;
}) => {
return (
<FlagEditor
adminOnly={props.adminOnly}
flagName={props.flag.name}
isEnabled={props.flag.is_enabled}
onToggleEnable={async (isEnabled) => {
Expand Down Expand Up @@ -82,6 +90,7 @@ type Props = {
isEnabled: boolean;
onToggleEnable: (isEnabled: boolean) => Promise<void>;
allowList: string[];
adminOnly: boolean;
onUpdateAllowlist: (allowList: string[]) => Promise<void>;
};
const FlagEditor = (props: Props) => {
Expand Down Expand Up @@ -114,8 +123,9 @@ const FlagEditor = (props: Props) => {
variant="secondary"
onPress={() => void setIsEnabled(true)}
small
disabled={props.adminOnly}
>
Enable for everyone
{props.adminOnly ? "Allow list only" : "Enable for everyone"}
</Button>
)}
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
FeatureFlagName,
featureFlagNames,
getAllFeatureFlags,
isFeatureFlagAdminOnly,
} from "../../../../../../db/tables/featureFlags";
import { isAdmin } from "../../../../../api/utils/auth";
import { Toolbar } from "../../../../../components/client/toolbar/Toolbar";
Expand Down Expand Up @@ -77,11 +78,16 @@ export default async function FeatureFlagPage() {
<div className={styles.flagList}>
{disabledFlags.map((flagOrFlagName) => {
return typeof flagOrFlagName === "string" ? (
<NewFlagEditor key={flagOrFlagName} flagName={flagOrFlagName} />
<NewFlagEditor
key={flagOrFlagName}
flagName={flagOrFlagName}
adminOnly={isFeatureFlagAdminOnly(flagOrFlagName)}
/>
) : (
<ExistingFlagEditor
key={flagOrFlagName.name}
flag={flagOrFlagName}
adminOnly={isFeatureFlagAdminOnly(flagOrFlagName.name)}
/>
);
})}
Expand All @@ -95,7 +101,11 @@ export default async function FeatureFlagPage() {
featureFlagNames.includes(flag.name as FeatureFlagName),
)
.map((flag) => (
<ExistingFlagEditor key={flag.name} flag={flag} />
<ExistingFlagEditor
key={flag.name}
flag={flag}
adminOnly={isFeatureFlagAdminOnly(flag.name)}
/>
))}
</div>
</div>
Expand Down
Loading

0 comments on commit d42b934

Please sign in to comment.