Skip to content

Commit 3d823aa

Browse files
mathieumousnierRomain Jamet
authored andcommitted
feat(okms): display default max versions in secret manager settings form
ref: #MANAGER-17868 Signed-off-by: Mathieu Mousnier <[email protected]>
1 parent 843f399 commit 3d823aa

File tree

8 files changed

+32
-7
lines changed

8 files changed

+32
-7
lines changed

packages/manager/apps/okms/public/translations/secret-manager/Messages_fr_FR.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
"error_update_settings": "Une erreur est survenue lors de la mise à jour des paramètres",
3939
"expiration_date": "Date d'expiration",
4040
"form_helper_cas_required_okms": "CAS est activé sur le domaine OKMS, la désactivation sur le secret ne sera pas prise en compte.",
41-
"form_helper_deactivate_version_after": "Indiquez \"0s\" pour ne jamais expirer.",
42-
"form_helper_max_versions": "Indiquez \"0\" pour utiliser la valeur par défaut.",
41+
"form_helper_deactivate_version_after": "Indiquez \"0s\" pour désactiver l'expiration.",
42+
"form_helper_max_versions": "Indiquez \"0\" pour utiliser la valeur par défaut ({{default}}).",
4343
"form_tooltip_deactivate_version_after": "Format : 30s, 5m, 2h, 7d, 7d1h30m10s",
4444
"last_update": "Dernière mise à jour",
4545
"maximum_number_of_versions": "Nombre maximum de versions",

packages/manager/apps/okms/src/modules/secret-manager/components/form/SecretMaxVersionsFormField.component.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,17 @@ type FormFieldInput = {
1616
maxVersions: number;
1717
};
1818

19+
type SecretMaxVersionsFormFieldProps<
20+
T extends FormFieldInput
21+
> = UseControllerProps<T> & {
22+
defaultMaxVersions: number;
23+
};
24+
1925
export const SecretMaxVersionsFormField = <T extends FormFieldInput>({
2026
name,
2127
control,
22-
}: UseControllerProps<T>) => {
28+
defaultMaxVersions,
29+
}: SecretMaxVersionsFormFieldProps<T>) => {
2330
const { t } = useTranslation('secret-manager');
2431
return (
2532
<Controller
@@ -42,7 +49,7 @@ export const SecretMaxVersionsFormField = <T extends FormFieldInput>({
4249
className="justify-start"
4350
/>
4451
<OdsText slot="helper" preset="caption">
45-
{t('form_helper_max_versions')}
52+
{t('form_helper_max_versions', { default: defaultMaxVersions })}
4653
</OdsText>
4754
</OdsFormField>
4855
)}

packages/manager/apps/okms/src/modules/secret-manager/hooks/useSecretSmartConfig.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ const mockSecretSmartConfig: SecretSmartConfig = {
9191
origin: 'DOMAIN',
9292
},
9393
isCasRequiredSetOnOkms: true,
94+
maxVersionsDefault: 10,
9495
};
9596

9697
describe('useSecretSmartConfig', () => {

packages/manager/apps/okms/src/modules/secret-manager/pages/drawers/editMetadataDrawer/EditMetadataDrawerForm.component.spec.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ const mockSecretConfig: SecretSmartConfig = {
4141
origin: 'SECRET',
4242
},
4343
isCasRequiredSetOnOkms: true,
44+
maxVersionsDefault: 10,
4445
};
4546

4647
const mockOnDismiss = vi.fn();

packages/manager/apps/okms/src/modules/secret-manager/pages/drawers/editMetadataDrawer/EditMetadataDrawerForm.component.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,11 @@ export const EditMetadataDrawerForm = ({
9595
name="deactivateVersionAfter"
9696
control={control}
9797
/>
98-
<SecretMaxVersionsFormField name="maxVersions" control={control} />
98+
<SecretMaxVersionsFormField
99+
name="maxVersions"
100+
control={control}
101+
defaultMaxVersions={secretConfig.maxVersionsDefault}
102+
/>
99103
<SecretCasRequiredFormField
100104
name="casRequired"
101105
control={control}

packages/manager/apps/okms/src/modules/secret-manager/pages/secret/generalInformation/SettingsTile.component.spec.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ const mockSecretSmartConfig: SecretSmartConfig = {
4545
origin: 'DOMAIN',
4646
},
4747
isCasRequiredSetOnOkms: true,
48+
maxVersionsDefault: 10,
4849
};
4950

5051
let i18nValue: i18n;

packages/manager/apps/okms/src/modules/secret-manager/utils/secretSmartConfig.spec.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ describe('getSecretSmartConfig', () => {
3737
expectedValue: string | number | boolean;
3838
expectedOrigin: 'SECRET' | 'DOMAIN' | 'DEFAULT';
3939
expectedIsCasRequiredSetOnOkms: boolean;
40-
testedProperty: Exclude<keyof SecretSmartConfig, 'isCasRequiredSetOnOkms'>;
40+
expectedMaxVersionsDefault?: number;
41+
testedProperty: Exclude<
42+
keyof SecretSmartConfig,
43+
'isCasRequiredSetOnOkms' | 'maxVersionsDefault'
44+
>;
4145
};
4246

4347
const runTests = (testCases: TestCase[]) => {
@@ -49,6 +53,7 @@ describe('getSecretSmartConfig', () => {
4953
expectedValue,
5054
expectedOrigin,
5155
expectedIsCasRequiredSetOnOkms,
56+
expectedMaxVersionsDefault,
5257
testedProperty,
5358
}) => {
5459
const secret = createMockSecret(secretOverrides);
@@ -65,11 +70,14 @@ describe('getSecretSmartConfig', () => {
6570
expect(result.isCasRequiredSetOnOkms).toBe(
6671
expectedIsCasRequiredSetOnOkms,
6772
);
73+
if (expectedMaxVersionsDefault) {
74+
expect(result.maxVersionsDefault).toBe(expectedMaxVersionsDefault);
75+
}
6876
},
6977
);
7078
};
7179

72-
describe('When secret and domain config is not set', () => {
80+
describe('When secret and domain config are both not set', () => {
7381
const testCases: TestCase[] = [
7482
{
7583
description: 'uses default maxVersion',
@@ -78,6 +86,7 @@ describe('getSecretSmartConfig', () => {
7886
expectedValue: 10,
7987
expectedOrigin: 'DEFAULT',
8088
expectedIsCasRequiredSetOnOkms: false,
89+
expectedMaxVersionsDefault: 10,
8190
testedProperty: 'maxVersions',
8291
},
8392
{

packages/manager/apps/okms/src/modules/secret-manager/utils/secretSmartConfig.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export type SecretSmartConfig = {
2020
deactivateVersionAfter: SecretSmartConfigValue<string>;
2121
maxVersions: SecretSmartConfigValue<number>;
2222
isCasRequiredSetOnOkms: boolean;
23+
maxVersionsDefault: number;
2324
};
2425

2526
/**
@@ -91,5 +92,6 @@ export const buildSecretSmartConfig = (
9192
),
9293
isCasRequiredSetOnOkms:
9394
secretConfigOkms.casRequired !== NOT_SET_VALUE_CAS_REQUIRED,
95+
maxVersionsDefault: secretConfigReference.maxVersions,
9496
};
9597
};

0 commit comments

Comments
 (0)