Skip to content

Commit

Permalink
Fixing minor bugs for custom environments
Browse files Browse the repository at this point in the history
  • Loading branch information
vmatsiiako committed Jan 13, 2023
1 parent 9517707 commit b67abf9
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 70 deletions.
2 changes: 1 addition & 1 deletion frontend/components/basic/Listbox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export default function ListBox({
{text}
<span className="ml-1 cursor-pointer block truncate font-semibold text-gray-300">
{' '}
{selected}
{selected?.charAt(0).toUpperCase() + selected?.slice(1)}
</span>
</div>
{data && (
Expand Down
4 changes: 2 additions & 2 deletions frontend/components/basic/dialog/AddServiceTokenDialog.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ const AddServiceTokenDialog = ({
let newServiceToken = await addServiceToken({
name: serviceTokenName,
workspaceId,
environment: selectedServiceTokenEnv.slug,
environment: selectedServiceTokenEnv?.slug ? selectedServiceTokenEnv.slug : environments[0]?.name,
expiresIn: expiryMapping[serviceTokenExpiresIn],
encryptedKey: ciphertext,
iv,
Expand Down Expand Up @@ -156,7 +156,7 @@ const AddServiceTokenDialog = ({
</div>
<div className='max-h-28 mb-2'>
<ListBox
selected={selectedServiceTokenEnv?.name}
selected={selectedServiceTokenEnv?.name ? selectedServiceTokenEnv?.name : environments[0]?.name}
data={environments.map(({ name }) => name)}
onChange={(envName) =>
setSelectedServiceTokenEnv(
Expand Down
75 changes: 8 additions & 67 deletions frontend/pages/dashboard/[id].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,9 @@ export default function Dashboard() {
setInitialData(dataToSort);
reorderRows(dataToSort);

setIsLoading(false);
setTimeout(
() => setIsLoading(false)
, 700);
} catch (error) {
console.log('Error', error);
setData(undefined);
Expand Down Expand Up @@ -361,67 +363,6 @@ export default function Dashboard() {
// Once "Save changes" is clicked, disable that button
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
= initialData!
.filter(initDataPoint => !newData!.map(newDataPoint => newDataPoint.id).includes(initDataPoint.id))
Expand Down Expand Up @@ -471,11 +412,11 @@ export default function Dashboard() {
await deleteSecrets({ secretIds: secretsToBeDeleted.concat(overridesToBeDeleted) });
}
if (secretsToBeAdded.concat(overridesToBeAdded).length > 0) {
const secrets = await encryptSecrets({ secretsToEncrypt: secretsToBeAdded.concat(overridesToBeAdded), workspaceId, env: envMapping[env] });
secrets && await addSecrets({ secrets, env: envMapping[env], workspaceId });
const secrets = await encryptSecrets({ secretsToEncrypt: secretsToBeAdded.concat(overridesToBeAdded), workspaceId, env: selectedEnv.slug });
secrets && await addSecrets({ secrets, env: selectedEnv.slug, workspaceId });
}
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 });
}

Expand Down Expand Up @@ -643,7 +584,7 @@ export default function Dashboard() {
onButtonPressed={async () => {
// Update secrets in the state only for the current environment
const rolledBackSecrets = snapshotData.secretVersions
.filter(row => reverseEnvMapping[row.environment] == env)
.filter(row => row.environment == selectedEnv.slug)
.map((sv, position) => {
return {
id: sv.id, idOverride: sv.id, pos: position, valueOverride: sv.valueOverride, key: sv.key, value: sv.value, comment: ''
Expand Down Expand Up @@ -799,7 +740,7 @@ export default function Dashboard() {
/>
))}
{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 => !(snapshotData.secretVersions?.filter(row => (snapshotData.secretVersions
Expand Down
1 change: 1 addition & 0 deletions frontend/pages/settings/project/[id].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type EnvData = {
name: string;
slug: string;
};

export default function SettingsBasic() {
const [buttonReady, setButtonReady] = useState(false);
const router = useRouter();
Expand Down

0 comments on commit b67abf9

Please sign in to comment.