mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
Fixing minor bugs for custom environments
This commit is contained in:
@@ -48,7 +48,7 @@ export default function ListBox({
|
|||||||
{text}
|
{text}
|
||||||
<span className="ml-1 cursor-pointer block truncate font-semibold text-gray-300">
|
<span className="ml-1 cursor-pointer block truncate font-semibold text-gray-300">
|
||||||
{' '}
|
{' '}
|
||||||
{selected}
|
{selected?.charAt(0).toUpperCase() + selected?.slice(1)}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
{data && (
|
{data && (
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ const AddServiceTokenDialog = ({
|
|||||||
let newServiceToken = await addServiceToken({
|
let newServiceToken = await addServiceToken({
|
||||||
name: serviceTokenName,
|
name: serviceTokenName,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
environment: selectedServiceTokenEnv.slug,
|
environment: selectedServiceTokenEnv?.slug ? selectedServiceTokenEnv.slug : environments[0]?.name,
|
||||||
expiresIn: expiryMapping[serviceTokenExpiresIn],
|
expiresIn: expiryMapping[serviceTokenExpiresIn],
|
||||||
encryptedKey: ciphertext,
|
encryptedKey: ciphertext,
|
||||||
iv,
|
iv,
|
||||||
@@ -156,7 +156,7 @@ const AddServiceTokenDialog = ({
|
|||||||
</div>
|
</div>
|
||||||
<div className='max-h-28 mb-2'>
|
<div className='max-h-28 mb-2'>
|
||||||
<ListBox
|
<ListBox
|
||||||
selected={selectedServiceTokenEnv?.name}
|
selected={selectedServiceTokenEnv?.name ? selectedServiceTokenEnv?.name : environments[0]?.name}
|
||||||
data={environments.map(({ name }) => name)}
|
data={environments.map(({ name }) => name)}
|
||||||
onChange={(envName) =>
|
onChange={(envName) =>
|
||||||
setSelectedServiceTokenEnv(
|
setSelectedServiceTokenEnv(
|
||||||
|
|||||||
@@ -237,7 +237,9 @@ export default function Dashboard() {
|
|||||||
setInitialData(dataToSort);
|
setInitialData(dataToSort);
|
||||||
reorderRows(dataToSort);
|
reorderRows(dataToSort);
|
||||||
|
|
||||||
setIsLoading(false);
|
setTimeout(
|
||||||
|
() => setIsLoading(false)
|
||||||
|
, 700);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('Error', error);
|
console.log('Error', error);
|
||||||
setData(undefined);
|
setData(undefined);
|
||||||
@@ -361,67 +363,6 @@ export default function Dashboard() {
|
|||||||
// Once "Save changes" is clicked, disable that button
|
// Once "Save changes" is clicked, disable that button
|
||||||
setButtonReady(false);
|
setButtonReady(false);
|
||||||
|
|
||||||
const secretsToBeDeleted = initialData
|
|
||||||
.filter(
|
|
||||||
(initDataPoint) =>
|
|
||||||
!newData!
|
|
||||||
.map((newDataPoint) => newDataPoint.id)
|
|
||||||
.includes(initDataPoint.id)
|
|
||||||
)
|
|
||||||
.map((secret) => secret.id);
|
|
||||||
|
|
||||||
const secretsToBeAdded = newData!.filter(
|
|
||||||
(newDataPoint) =>
|
|
||||||
!initialData
|
|
||||||
.map((initDataPoint) => initDataPoint.id)
|
|
||||||
.includes(newDataPoint.id)
|
|
||||||
);
|
|
||||||
|
|
||||||
const secretsToBeUpdated = newData!.filter((newDataPoint) =>
|
|
||||||
initialData
|
|
||||||
.filter(
|
|
||||||
(initDataPoint) =>
|
|
||||||
newData!
|
|
||||||
.map((newDataPoint) => newDataPoint.id)
|
|
||||||
.includes(initDataPoint.id) &&
|
|
||||||
(newData!.filter(
|
|
||||||
(newDataPoint) => newDataPoint.id == initDataPoint.id
|
|
||||||
)[0].value != initDataPoint.value ||
|
|
||||||
newData!.filter(
|
|
||||||
(newDataPoint) => newDataPoint.id == initDataPoint.id
|
|
||||||
)[0].key != initDataPoint.key ||
|
|
||||||
newData!.filter(
|
|
||||||
(newDataPoint) => newDataPoint.id == initDataPoint.id
|
|
||||||
)[0].comment != initDataPoint.comment)
|
|
||||||
)
|
|
||||||
.map((secret) => secret.id)
|
|
||||||
.includes(newDataPoint.id)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (secretsToBeDeleted.length > 0) {
|
|
||||||
await deleteSecrets({ secretIds: secretsToBeDeleted });
|
|
||||||
}
|
|
||||||
// ENV
|
|
||||||
if (secretsToBeAdded.length > 0) {
|
|
||||||
const secrets = await encryptSecrets({
|
|
||||||
secretsToEncrypt: secretsToBeAdded,
|
|
||||||
workspaceId,
|
|
||||||
env: selectedEnv.slug,
|
|
||||||
});
|
|
||||||
secrets &&
|
|
||||||
(await addSecrets({
|
|
||||||
secrets,
|
|
||||||
env: selectedEnv.slug,
|
|
||||||
workspaceId,
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
if (secretsToBeUpdated.length > 0) {
|
|
||||||
const secrets = await encryptSecrets({
|
|
||||||
secretsToEncrypt: secretsToBeUpdated,
|
|
||||||
workspaceId,
|
|
||||||
env: selectedEnv.slug,
|
|
||||||
});
|
|
||||||
secrets && (await updateSecrets({ secrets }));
|
|
||||||
const secretsToBeDeleted
|
const secretsToBeDeleted
|
||||||
= initialData!
|
= initialData!
|
||||||
.filter(initDataPoint => !newData!.map(newDataPoint => newDataPoint.id).includes(initDataPoint.id))
|
.filter(initDataPoint => !newData!.map(newDataPoint => newDataPoint.id).includes(initDataPoint.id))
|
||||||
@@ -471,11 +412,11 @@ export default function Dashboard() {
|
|||||||
await deleteSecrets({ secretIds: secretsToBeDeleted.concat(overridesToBeDeleted) });
|
await deleteSecrets({ secretIds: secretsToBeDeleted.concat(overridesToBeDeleted) });
|
||||||
}
|
}
|
||||||
if (secretsToBeAdded.concat(overridesToBeAdded).length > 0) {
|
if (secretsToBeAdded.concat(overridesToBeAdded).length > 0) {
|
||||||
const secrets = await encryptSecrets({ secretsToEncrypt: secretsToBeAdded.concat(overridesToBeAdded), workspaceId, env: envMapping[env] });
|
const secrets = await encryptSecrets({ secretsToEncrypt: secretsToBeAdded.concat(overridesToBeAdded), workspaceId, env: selectedEnv.slug });
|
||||||
secrets && await addSecrets({ secrets, env: envMapping[env], workspaceId });
|
secrets && await addSecrets({ secrets, env: selectedEnv.slug, workspaceId });
|
||||||
}
|
}
|
||||||
if (secretsToBeUpdated.concat(overridesToBeUpdated).length > 0) {
|
if (secretsToBeUpdated.concat(overridesToBeUpdated).length > 0) {
|
||||||
const secrets = await encryptSecrets({ secretsToEncrypt: secretsToBeUpdated.concat(overridesToBeUpdated), workspaceId, env: envMapping[env] });
|
const secrets = await encryptSecrets({ secretsToEncrypt: secretsToBeUpdated.concat(overridesToBeUpdated), workspaceId, env: selectedEnv.slug });
|
||||||
secrets && await updateSecrets({ secrets });
|
secrets && await updateSecrets({ secrets });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -643,7 +584,7 @@ export default function Dashboard() {
|
|||||||
onButtonPressed={async () => {
|
onButtonPressed={async () => {
|
||||||
// Update secrets in the state only for the current environment
|
// Update secrets in the state only for the current environment
|
||||||
const rolledBackSecrets = snapshotData.secretVersions
|
const rolledBackSecrets = snapshotData.secretVersions
|
||||||
.filter(row => reverseEnvMapping[row.environment] == env)
|
.filter(row => row.environment == selectedEnv.slug)
|
||||||
.map((sv, position) => {
|
.map((sv, position) => {
|
||||||
return {
|
return {
|
||||||
id: sv.id, idOverride: sv.id, pos: position, valueOverride: sv.valueOverride, key: sv.key, value: sv.value, comment: ''
|
id: sv.id, idOverride: sv.id, pos: position, valueOverride: sv.valueOverride, key: sv.key, value: sv.value, comment: ''
|
||||||
@@ -799,7 +740,7 @@ export default function Dashboard() {
|
|||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
{snapshotData && snapshotData.secretVersions?.sort((a, b) => a.key.localeCompare(b.key))
|
{snapshotData && snapshotData.secretVersions?.sort((a, b) => a.key.localeCompare(b.key))
|
||||||
.filter(row => reverseEnvMapping[row.environment] == snapshotEnv)
|
.filter(row => row.environment == selectedSnapshotEnv?.slug)
|
||||||
.filter(row => row.key.toUpperCase().includes(searchKeys.toUpperCase()))
|
.filter(row => row.key.toUpperCase().includes(searchKeys.toUpperCase()))
|
||||||
.filter(
|
.filter(
|
||||||
row => !(snapshotData.secretVersions?.filter(row => (snapshotData.secretVersions
|
row => !(snapshotData.secretVersions?.filter(row => (snapshotData.secretVersions
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ type EnvData = {
|
|||||||
name: string;
|
name: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function SettingsBasic() {
|
export default function SettingsBasic() {
|
||||||
const [buttonReady, setButtonReady] = useState(false);
|
const [buttonReady, setButtonReady] = useState(false);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|||||||
Reference in New Issue
Block a user