Add eslint rule and fix as many issues as possible

This commit is contained in:
Khoa Le
2023-06-19 23:42:04 -04:00
parent e9eacc445d
commit 9d33e4756b
689 changed files with 9446 additions and 21821 deletions
@@ -1,4 +1,4 @@
import { SecretDataProps } from 'public/data/frequentInterfaces';
import { SecretDataProps } from "public/data/frequentInterfaces";
/**
* This function downloads the secrets as a .env file
@@ -10,8 +10,8 @@ const checkOverrides = async ({ data }: { data: SecretDataProps[] }) => {
let secrets: SecretDataProps[] = data!.map((secret) => Object.create(secret));
const overridenSecrets = data!.filter((secret) =>
secret.valueOverride === undefined || secret?.value !== secret?.valueOverride
? 'shared'
: 'personal'
? "shared"
: "personal"
);
if (overridenSecrets.length) {
overridenSecrets.forEach((secret) => {
@@ -1,6 +1,6 @@
import { SecretDataProps } from 'public/data/frequentInterfaces';
import { SecretDataProps } from "public/data/frequentInterfaces";
import checkOverrides from './checkOverrides';
import checkOverrides from "./checkOverrides";
/**
* This function downloads the secrets as a .env file
@@ -18,17 +18,17 @@ const downloadDotEnv = async ({ data, env }: { data: SecretDataProps[]; env: str
`${
item.comment
? `${item.comment
.split('\n')
.map((comment) => '# '.concat(comment))
.join('\n')}\n`
: ''
}${[item.key, item.value].join('=')}`
.split("\n")
.map((comment) => "# ".concat(comment))
.join("\n")}\n`
: ""
}${[item.key, item.value].join("=")}`
)
.join('\n');
.join("\n");
const blob = new Blob([file]);
const fileDownloadUrl = URL.createObjectURL(blob);
const alink = document.createElement('a');
const alink = document.createElement("a");
alink.href = fileDownloadUrl;
alink.download = `${env}.env`;
alink.click();
@@ -1,7 +1,7 @@
// import YAML from 'yaml';
// import { YAMLSeq } from 'yaml/types';
import { SecretDataProps } from 'public/data/frequentInterfaces';
import { SecretDataProps } from "public/data/frequentInterfaces";
// import { envMapping } from "../../../public/data/frequentConstants";
// import checkOverrides from './checkOverrides';
@@ -1,10 +1,10 @@
import crypto from 'crypto';
import crypto from "crypto";
import { SecretDataProps, Tag } from 'public/data/frequentInterfaces';
import { SecretDataProps, Tag } from "public/data/frequentInterfaces";
import getLatestFileKey from '@app/pages/api/workspace/getLatestFileKey';
import getLatestFileKey from "@app/pages/api/workspace/getLatestFileKey";
import { decryptAssymmetric, encryptSymmetric } from '../cryptography/crypto';
import { decryptAssymmetric, encryptSymmetric } from "../cryptography/crypto";
interface EncryptedSecretProps {
id: string;
@@ -20,7 +20,7 @@ interface EncryptedSecretProps {
secretValueCiphertext: string;
secretValueIV: string;
secretValueTag: string;
type: 'personal' | 'shared';
type: "personal" | "shared";
tags: Tag[];
}
@@ -44,7 +44,7 @@ const encryptSecrets = async ({
try {
const sharedKey = await getLatestFileKey({ workspaceId });
const PRIVATE_KEY = localStorage.getItem('PRIVATE_KEY') as string;
const PRIVATE_KEY = localStorage.getItem("PRIVATE_KEY") as string;
let randomBytes: string;
if (Object.keys(sharedKey).length > 0) {
@@ -57,7 +57,7 @@ const encryptSecrets = async ({
});
} else {
// case: a (shared) key does not exist for the workspace
randomBytes = crypto.randomBytes(16).toString('hex');
randomBytes = crypto.randomBytes(16).toString("hex");
}
secrets = secretsToEncrypt.map((secret) => {
@@ -77,7 +77,7 @@ const encryptSecrets = async ({
iv: secretValueIV,
tag: secretValueTag
} = encryptSymmetric({
plaintext: secret.value ?? '',
plaintext: secret.value ?? "",
key: randomBytes
});
@@ -87,13 +87,13 @@ const encryptSecrets = async ({
iv: secretCommentIV,
tag: secretCommentTag
} = encryptSymmetric({
plaintext: secret.comment ?? '',
plaintext: secret.comment ?? "",
key: randomBytes
});
const result: EncryptedSecretProps = {
id: secret.id,
createdAt: '',
createdAt: "",
environment: env,
secretName: secret.key,
secretKeyCiphertext,
@@ -107,15 +107,15 @@ const encryptSecrets = async ({
secretCommentTag,
type:
secret.valueOverride === undefined || secret?.value !== secret?.valueOverride
? 'shared'
: 'personal',
? "shared"
: "personal",
tags: secret.tags
};
return result;
});
} catch (error) {
console.log('Error while encrypting secrets');
console.log("Error while encrypting secrets");
}
return secrets;
@@ -1,9 +1,9 @@
import { Tag } from 'public/data/frequentInterfaces';
import { Tag } from "public/data/frequentInterfaces";
import getSecrets from '@app/pages/api/files/GetSecrets';
import getLatestFileKey from '@app/pages/api/workspace/getLatestFileKey';
import getSecrets from "@app/pages/api/files/GetSecrets";
import getLatestFileKey from "@app/pages/api/workspace/getLatestFileKey";
import { decryptAssymmetric, decryptSymmetric } from '../cryptography/crypto';
import { decryptAssymmetric, decryptSymmetric } from "../cryptography/crypto";
interface EncryptedSecretProps {
_id: string;
@@ -18,14 +18,14 @@ interface EncryptedSecretProps {
secretValueCiphertext: string;
secretValueIV: string;
secretValueTag: string;
type: 'personal' | 'shared';
type: "personal" | "shared";
tags: Tag[];
}
interface SecretProps {
key: string;
value: string | undefined;
type: 'personal' | 'shared';
type: "personal" | "shared";
comment: string;
id: string;
tags: Tag[];
@@ -57,16 +57,16 @@ const getSecretsForProject = async ({
try {
encryptedSecrets = await getSecrets(workspaceId, env);
} catch (error) {
console.log('ERROR: Not able to access the latest version of secrets');
console.log("ERROR: Not able to access the latest version of secrets");
}
const latestKey = await getLatestFileKey({ workspaceId });
// This is called isKeyAvailable but what it really means is if a person is able to create new key pairs
if (typeof setIsKeyAvailable === 'function') {
if (typeof setIsKeyAvailable === "function") {
setIsKeyAvailable(!latestKey ? encryptedSecrets.length === 0 : true);
}
const PRIVATE_KEY = localStorage.getItem('PRIVATE_KEY') as string;
const PRIVATE_KEY = localStorage.getItem("PRIVATE_KEY") as string;
const tempDecryptedSecrets: SecretProps[] = [];
if (latestKey) {
@@ -108,7 +108,7 @@ const getSecretsForProject = async ({
key
});
} else {
plainTextComment = '';
plainTextComment = "";
}
tempDecryptedSecrets.push({
@@ -125,34 +125,34 @@ const getSecretsForProject = async ({
const secretKeys = [...new Set(tempDecryptedSecrets.map((secret) => secret.key))];
const result = secretKeys.map((key, index) => ({
id: tempDecryptedSecrets.filter((secret) => secret.key === key && secret.type === 'shared')[0]
id: tempDecryptedSecrets.filter((secret) => secret.key === key && secret.type === "shared")[0]
?.id,
idOverride: tempDecryptedSecrets.filter(
(secret) => secret.key === key && secret.type === 'personal'
(secret) => secret.key === key && secret.type === "personal"
)[0]?.id,
pos: index,
key,
value: tempDecryptedSecrets.filter(
(secret) => secret.key === key && secret.type === 'shared'
(secret) => secret.key === key && secret.type === "shared"
)[0]?.value,
valueOverride: tempDecryptedSecrets.filter(
(secret) => secret.key === key && secret.type === 'personal'
(secret) => secret.key === key && secret.type === "personal"
)[0]?.value,
comment: tempDecryptedSecrets.filter(
(secret) => secret.key === key && secret.type === 'shared'
(secret) => secret.key === key && secret.type === "shared"
)[0]?.comment,
tags: tempDecryptedSecrets.filter(
(secret) => secret.key === key && secret.type === 'shared'
(secret) => secret.key === key && secret.type === "shared"
)[0]?.tags
}));
if (typeof setData === 'function') {
if (typeof setData === "function") {
setData(result);
}
return result;
} catch (error) {
console.log('Something went wrong during accessing or decripting secrets.');
console.log("Something went wrong during accessing or decripting secrets.");
}
return [];
};