Fixing minor bugs for custom environments

This commit is contained in:
Vladyslav Matsiiako
2023-01-13 01:02:43 -08:00
parent 95177074e3
commit b67abf94d4
4 changed files with 12 additions and 70 deletions

View File

@@ -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 && (

View File

@@ -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(

View File

@@ -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

View File

@@ -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();