diff --git a/frontend/components/RouteGuard.js b/frontend/components/RouteGuard.js index bedf124cc..9c9343a8f 100644 --- a/frontend/components/RouteGuard.js +++ b/frontend/components/RouteGuard.js @@ -1,6 +1,6 @@ import { useState, useEffect } from "react"; import { useRouter } from "next/router"; -import checkAuth from "../pages/api/auth/CheckAuth"; +import checkAuth from "~/pages/api/auth/CheckAuth"; import Image from "next/image"; import { publicPaths } from "../const"; @@ -79,4 +79,4 @@ export default function RouteGuard({ children }) { ); } -} \ No newline at end of file +} diff --git a/frontend/components/basic/dialog/AddIncidentContactDialog.js b/frontend/components/basic/dialog/AddIncidentContactDialog.js index 3c749d2fa..518828985 100644 --- a/frontend/components/basic/dialog/AddIncidentContactDialog.js +++ b/frontend/components/basic/dialog/AddIncidentContactDialog.js @@ -1,7 +1,7 @@ import { Dialog, Transition } from "@headlessui/react"; import { Fragment, useState } from "react"; import InputField from "../InputField"; -import addIncidentContact from "../../../pages/api/organization/addIncidentContact"; +import addIncidentContact from "~/pages/api/organization/addIncidentContact"; import Button from "../buttons/Button"; const AddIncidentContactDialog = ({ diff --git a/frontend/components/basic/dialog/AddServiceTokenDialog.js b/frontend/components/basic/dialog/AddServiceTokenDialog.js index b4c982f89..4623ecb84 100644 --- a/frontend/components/basic/dialog/AddServiceTokenDialog.js +++ b/frontend/components/basic/dialog/AddServiceTokenDialog.js @@ -4,9 +4,9 @@ import ListBox from "../Listbox"; import { useRouter } from "next/router"; import Button from "../buttons/Button"; import InputField from "../InputField"; -import getLatestFileKey from "../../../pages/api/workspace/getLatestFileKey"; +import getLatestFileKey from "~/pages/api/workspace/getLatestFileKey"; import { decryptAssymmetric, encryptAssymmetric } from "../../utilities/crypto"; -import addServiceToken from "../../../pages/api/serviceToken/addServiceToken"; +import addServiceToken from "~/pages/api/serviceToken/addServiceToken"; import nacl from "tweetnacl"; import { faCheck, faCopy } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; @@ -28,7 +28,7 @@ const AddServiceTokenDialog = ({ isOpen, closeModal, workspaceId, - workspaceName + workspaceName, }) => { const router = useRouter(); const [serviceToken, setServiceToken] = useState(""); @@ -38,52 +38,52 @@ const AddServiceTokenDialog = ({ const [serviceTokenCopied, setServiceTokenCopied] = useState(false); const generateServiceToken = async () => { - const latestFileKey = await getLatestFileKey(workspaceId); + const latestFileKey = await getLatestFileKey(workspaceId); const key = decryptAssymmetric({ ciphertext: latestFileKey.latestKey.encryptedKey, nonce: latestFileKey.latestKey.nonce, publicKey: latestFileKey.latestKey.sender.publicKey, - privateKey: localStorage.getItem("PRIVATE_KEY") + privateKey: localStorage.getItem("PRIVATE_KEY"), }); // generate new public/private key pair const pair = nacl.box.keyPair(); const publicKey = nacl.util.encodeBase64(pair.publicKey); const privateKey = nacl.util.encodeBase64(pair.secretKey); - + // encrypt workspace key under newly-generated public key const { ciphertext: encryptedKey, nonce } = encryptAssymmetric({ plaintext: key, publicKey, - privateKey + privateKey, }); let newServiceToken = await addServiceToken({ - name: serviceTokenName, - workspaceId, + name: serviceTokenName, + workspaceId, environment: envMapping[serviceTokenEnv], - expiresIn: expiryMapping[serviceTokenExpiresIn], - publicKey, + expiresIn: expiryMapping[serviceTokenExpiresIn], + publicKey, encryptedKey, - nonce - }) - - const serviceToken = newServiceToken + ',' + privateKey; + nonce, + }); + + const serviceToken = newServiceToken + "," + privateKey; setServiceToken(serviceToken); - } + }; function copyToClipboard() { // Get the text field var copyText = document.getElementById("serviceToken"); - + // Select the text field copyText.select(); copyText.setSelectionRange(0, 99999); // For mobile devices - - // Copy the text inside the text field + + // Copy the text inside the text field navigator.clipboard.writeText(copyText.value); - + setServiceTokenCopied(true); setTimeout(() => setServiceTokenCopied(false), 2000); // Alert the copied text @@ -94,7 +94,7 @@ const AddServiceTokenDialog = ({ closeModal(); setServiceTokenName(""); setServiceToken(""); - } + }; return (
- Specify the name, environment, and expiry period. When a token is generated, you will only be able to see it once before it disappears. Make sure to save it somewhere. + Specify the name, + environment, and expiry + period. When a token is + generated, you will only be + able to see it once before + it disappears. Make sure to + save it somewhere.
- Once you close this popup, you will never see your service token again + Once you close this popup, + you will never see your + service token again
- {emoji} -
- {title} -- {emoji} -
- {title} -+ {emoji} +
+ {title} +{emoji}
{title}+ {emoji} +
+ {title} +- {plan.text} -
-- {plan.subtext} -
++ {plan.text} +
++ {plan.subtext} +