mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 18:27:36 +00:00
Update folder structure
This commit is contained in:
@@ -79,7 +79,7 @@ Not sure where to get started? [Book a free, non-pressure pairing sessions with
|
|||||||
|
|
||||||
- [GitHub Discussions](https://github.com/Infisical/infisical/discussions) for help with building and discussion.
|
- [GitHub Discussions](https://github.com/Infisical/infisical/discussions) for help with building and discussion.
|
||||||
- [GitHub Issues](https://github.com/Infisical/infisical-cli/issues) for any bugs and errors you encounter using Infisical.
|
- [GitHub Issues](https://github.com/Infisical/infisical-cli/issues) for any bugs and errors you encounter using Infisical.
|
||||||
- [Community Slack](https://join.slack.com/t/infisical/shared_invite/zt-1dgg63ln8-G7PCNJdCymAT9YF3j1ewVA) for hanging out with the community and quick communication with the team.
|
- [Community Slack](https://join.slack.com/t/infisical-users/shared_invite/zt-1kdbk07ro-RtoyEt_9E~fyzGo_xQYP6g) for hanging out with the community and quick communication with the team.
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import nacl from "tweetnacl";
|
|||||||
import addServiceToken from "~/pages/api/serviceToken/addServiceToken";
|
import addServiceToken from "~/pages/api/serviceToken/addServiceToken";
|
||||||
import getLatestFileKey from "~/pages/api/workspace/getLatestFileKey";
|
import getLatestFileKey from "~/pages/api/workspace/getLatestFileKey";
|
||||||
|
|
||||||
import { decryptAssymmetric, encryptAssymmetric } from "../../utilities/crypto";
|
import { decryptAssymmetric, encryptAssymmetric } from "../../utilities/cryptography/crypto";
|
||||||
import Button from "../buttons/Button";
|
import Button from "../buttons/Button";
|
||||||
import InputField from "../InputField";
|
import InputField from "../InputField";
|
||||||
import ListBox from "../Listbox";
|
import ListBox from "../Listbox";
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import createWorkspace from "~/pages/api/workspace/createWorkspace";
|
|||||||
import getWorkspaces from "~/pages/api/workspace/getWorkspaces";
|
import getWorkspaces from "~/pages/api/workspace/getWorkspaces";
|
||||||
|
|
||||||
import NavBarDashboard from "../navigation/NavBarDashboard";
|
import NavBarDashboard from "../navigation/NavBarDashboard";
|
||||||
import { decryptAssymmetric, encryptAssymmetric } from "../utilities/crypto";
|
import { decryptAssymmetric, encryptAssymmetric } from "../utilities/cryptography/crypto";
|
||||||
import Button from "./buttons/Button";
|
import Button from "./buttons/Button";
|
||||||
import AddWorkspaceDialog from "./dialog/AddWorkspaceDialog";
|
import AddWorkspaceDialog from "./dialog/AddWorkspaceDialog";
|
||||||
import Listbox from "./Listbox";
|
import Listbox from "./Listbox";
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import Listbox from "../Listbox";
|
|||||||
const {
|
const {
|
||||||
decryptAssymmetric,
|
decryptAssymmetric,
|
||||||
encryptAssymmetric,
|
encryptAssymmetric,
|
||||||
} = require("../../utilities/crypto");
|
} = require("../../utilities/cryptography/crypto");
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
|
|
||||||
|
|||||||
@@ -1,75 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
import { faCcMastercard, faCcVisa } from "@fortawesome/free-brands-svg-icons";
|
|
||||||
import { faCheck, faQuestionCircle } from "@fortawesome/free-solid-svg-icons";
|
|
||||||
import { faCircle } from "@fortawesome/free-solid-svg-icons";
|
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
||||||
|
|
||||||
export default function Card({ card, changeSelectedCard, selected }) {
|
|
||||||
function creditCardBrandIcon(cc) {
|
|
||||||
if (cc == "visa") {
|
|
||||||
return faCcVisa;
|
|
||||||
} else if ((cc = "mastercard")) {
|
|
||||||
return faCcMastercard;
|
|
||||||
} else return faQuestionCircle;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<button onClick={() => changeSelectedCard(card.id)}>
|
|
||||||
<div
|
|
||||||
className={`flex flex-col p-3 items-start justify-between mr-2 w-52 h-28 bg-primary/5 rounded-lg duration-200 ${
|
|
||||||
card.id == selected
|
|
||||||
? "border-primary text-primary"
|
|
||||||
: "border-gray-500 text-gray-300"
|
|
||||||
} hover:border-primary border-2 hover:text-primary cursor-pointer`}
|
|
||||||
>
|
|
||||||
<div className="flex flex-row items-center justify-between w-full">
|
|
||||||
<FontAwesomeIcon
|
|
||||||
className="text-3xl mr-4"
|
|
||||||
icon={creditCardBrandIcon(card.card.brand)}
|
|
||||||
/>
|
|
||||||
{card.id == selected && (
|
|
||||||
<FontAwesomeIcon
|
|
||||||
className="text-xl ml-2 mr-2"
|
|
||||||
icon={faCheck}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
<div className="flex flex-row items-center justify-between w-full">
|
|
||||||
<div className="flex flex-row items-center">
|
|
||||||
<p className="tracking-tighter mr-1 mt-0.5 flex">
|
|
||||||
{"****".split("").map((_, index) => (
|
|
||||||
<FontAwesomeIcon
|
|
||||||
key={index}
|
|
||||||
className="text-xxxs mr-0.5"
|
|
||||||
icon={faCircle}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</p>
|
|
||||||
<p className="tracking-tighter mr-1 mt-0.5 flex">
|
|
||||||
{"****".split("").map((_, index) => (
|
|
||||||
<FontAwesomeIcon
|
|
||||||
key={index}
|
|
||||||
className="text-xxxs mr-0.5"
|
|
||||||
icon={faCircle}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</p>
|
|
||||||
<p className="tracking-tighter mr-1 mt-0.5 flex">
|
|
||||||
{"****".split("").map((_, index) => (
|
|
||||||
<FontAwesomeIcon
|
|
||||||
key={index}
|
|
||||||
className="text-xxxs mr-0.5"
|
|
||||||
icon={faCircle}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</p>
|
|
||||||
<p className="text-xs">{card.card.last4}</p>
|
|
||||||
</div>
|
|
||||||
<p className="text-xs">
|
|
||||||
{card.card.exp_month + "/" + card.card.exp_year}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -27,8 +27,8 @@ import guidGenerator from "../utilities/randomId";
|
|||||||
const supportOptions = [
|
const supportOptions = [
|
||||||
[
|
[
|
||||||
<FontAwesomeIcon className="text-lg pl-1.5 pr-3" icon={faSlack} />,
|
<FontAwesomeIcon className="text-lg pl-1.5 pr-3" icon={faSlack} />,
|
||||||
"[NEW] Join Slack Forum",
|
"Join Slack Forum",
|
||||||
"https://join.slack.com/t/infisical/shared_invite/zt-1dgg63ln8-G7PCNJdCymAT9YF3j1ewVA",
|
"https://join.slack.com/t/infisical-users/shared_invite/zt-1kdbk07ro-RtoyEt_9E~fyzGo_xQYP6g",
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
<FontAwesomeIcon className="text-lg pl-1.5 pr-3" icon={faBook} />,
|
<FontAwesomeIcon className="text-lg pl-1.5 pr-3" icon={faBook} />,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import Aes256Gcm from "~/components/aes-256-gcm";
|
import Aes256Gcm from "~/components/utilities/cryptography/aes-256-gcm";
|
||||||
import login1 from "~/pages/api/auth/Login1";
|
import login1 from "~/pages/api/auth/Login1";
|
||||||
import login2 from "~/pages/api/auth/Login2";
|
import login2 from "~/pages/api/auth/Login2";
|
||||||
import getOrganizations from "~/pages/api/organization/getOrgs";
|
import getOrganizations from "~/pages/api/organization/getOrgs";
|
||||||
@@ -6,7 +6,7 @@ import getOrganizationUserProjects from "~/pages/api/organization/GetOrgUserProj
|
|||||||
|
|
||||||
import { initPostHog } from "../analytics/posthog";
|
import { initPostHog } from "../analytics/posthog";
|
||||||
import { ENV } from "./config";
|
import { ENV } from "./config";
|
||||||
import pushKeys from "./pushKeys";
|
import pushKeys from "./secrets/pushKeys";
|
||||||
import SecurityClient from "./SecurityClient";
|
import SecurityClient from "./SecurityClient";
|
||||||
|
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
|
|||||||
+2
-1
@@ -1,7 +1,7 @@
|
|||||||
import changePassword2 from "~/pages/api/auth/ChangePassword2";
|
import changePassword2 from "~/pages/api/auth/ChangePassword2";
|
||||||
import SRP1 from "~/pages/api/auth/SRP1";
|
import SRP1 from "~/pages/api/auth/SRP1";
|
||||||
|
|
||||||
import Aes256Gcm from "../aes-256-gcm";
|
import Aes256Gcm from "./aes-256-gcm";
|
||||||
|
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
@@ -63,6 +63,7 @@ const changePassword = async (
|
|||||||
async () => {
|
async () => {
|
||||||
clientNewPassword.createVerifier(
|
clientNewPassword.createVerifier(
|
||||||
async (err, result) => {
|
async (err, result) => {
|
||||||
|
// The Blob part here is needed to account for symbols that count as 2+ bytes (e.g., é, å, ø)
|
||||||
let { ciphertext, iv, tag } = Aes256Gcm.encrypt(
|
let { ciphertext, iv, tag } = Aes256Gcm.encrypt(
|
||||||
localStorage.getItem("PRIVATE_KEY"),
|
localStorage.getItem("PRIVATE_KEY"),
|
||||||
newPassword
|
newPassword
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
const aes = require("../aes-256-gcm");
|
const aes = require("./aes-256-gcm");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return assymmetrically encrypted [plaintext] using [publicKey] where
|
* Return assymmetrically encrypted [plaintext] using [publicKey] where
|
||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
import issueBackupPrivateKey from "~/pages/api/auth/IssueBackupPrivateKey";
|
import issueBackupPrivateKey from "~/pages/api/auth/IssueBackupPrivateKey";
|
||||||
import SRP1 from "~/pages/api/auth/SRP1";
|
import SRP1 from "~/pages/api/auth/SRP1";
|
||||||
|
|
||||||
import Aes256Gcm from "../aes-256-gcm";
|
import Aes256Gcm from "./aes-256-gcm";
|
||||||
import generateBackupPDF from "./generateBackupPDF";
|
import generateBackupPDF from "../generateBackupPDF";
|
||||||
|
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
import getSecrets from "~/pages/api/files/GetSecrets";
|
import getSecrets from "~/pages/api/files/GetSecrets";
|
||||||
|
|
||||||
import guidGenerator from "./randomId";
|
import guidGenerator from "../randomId";
|
||||||
|
|
||||||
const {
|
const {
|
||||||
decryptAssymmetric,
|
decryptAssymmetric,
|
||||||
decryptSymmetric,
|
decryptSymmetric,
|
||||||
} = require("../../components/utilities/crypto");
|
} = require("../cryptography/crypto");
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
|
|
||||||
+1
-1
@@ -8,7 +8,7 @@ const {
|
|||||||
decryptSymmetric,
|
decryptSymmetric,
|
||||||
encryptSymmetric,
|
encryptSymmetric,
|
||||||
encryptAssymmetric,
|
encryptAssymmetric,
|
||||||
} = require("../../components/utilities/crypto");
|
} = require("../cryptography/crypto");
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
|
|
||||||
+1
-1
@@ -2,7 +2,7 @@ import publicKeyInfical from "~/pages/api/auth/publicKeyInfisical";
|
|||||||
import changeHerokuConfigVars from "~/pages/api/integrations/ChangeHerokuConfigVars";
|
import changeHerokuConfigVars from "~/pages/api/integrations/ChangeHerokuConfigVars";
|
||||||
|
|
||||||
const crypto = require("crypto");
|
const crypto = require("crypto");
|
||||||
const { encryptSymmetric, encryptAssymmetric } = require("./crypto");
|
const { encryptSymmetric, encryptAssymmetric } = require("../cryptography/crypto");
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
|
|
||||||
@@ -29,9 +29,9 @@ import BottonRightPopup from "~/components/basic/popups/BottomRightPopup";
|
|||||||
import DashboardInputField from "~/components/dashboard/DashboardInputField";
|
import DashboardInputField from "~/components/dashboard/DashboardInputField";
|
||||||
import DropZone from "~/components/dashboard/DropZone";
|
import DropZone from "~/components/dashboard/DropZone";
|
||||||
import NavHeader from "~/components/navigation/NavHeader";
|
import NavHeader from "~/components/navigation/NavHeader";
|
||||||
import getSecretsForProject from "~/utilities/getSecretsForProject";
|
import getSecretsForProject from "~/components/utilities/secrets/getSecretsForProject";
|
||||||
import pushKeys from "~/utilities/pushKeys";
|
import pushKeys from "~/components/utilities/secrets/pushKeys";
|
||||||
import pushKeysIntegration from "~/utilities/pushKeysIntegration";
|
import pushKeysIntegration from "~/components/utilities/secrets/pushKeysIntegration";
|
||||||
import guidGenerator from "~/utilities/randomId";
|
import guidGenerator from "~/utilities/randomId";
|
||||||
|
|
||||||
import getWorkspaceIntegrations from "../api/integrations/getWorkspaceIntegrations";
|
import getWorkspaceIntegrations from "../api/integrations/getWorkspaceIntegrations";
|
||||||
@@ -699,7 +699,7 @@ export default function Dashboard() {
|
|||||||
data?.length > 8 ? "h-3/4" : "h-min"
|
data?.length > 8 ? "h-3/4" : "h-min"
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
<div className="sticky top-0 z-10 bg-bunker flex flex-row pl-4 pr-5 pt-4 pb-2 items-center justify-between text-gray-300 font-bold">
|
<div className="sticky top-0 z-40 bg-bunker flex flex-row pl-4 pr-5 pt-4 pb-2 items-center justify-between text-gray-300 font-bold">
|
||||||
{/* <FontAwesomeIcon icon={faAngleDown} /> */}
|
{/* <FontAwesomeIcon icon={faAngleDown} /> */}
|
||||||
<div className="flex flex-row items-center">
|
<div className="flex flex-row items-center">
|
||||||
<p className="pl-2 text-lg">
|
<p className="pl-2 text-lg">
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|||||||
import Button from "~/components/basic/buttons/Button";
|
import Button from "~/components/basic/buttons/Button";
|
||||||
import ListBox from "~/components/basic/Listbox";
|
import ListBox from "~/components/basic/Listbox";
|
||||||
import NavHeader from "~/components/navigation/NavHeader";
|
import NavHeader from "~/components/navigation/NavHeader";
|
||||||
import getSecretsForProject from "~/utilities/getSecretsForProject";
|
import getSecretsForProject from "~/components/utilities/secrets/getSecretsForProject";
|
||||||
import pushKeysIntegration from "~/utilities/pushKeysIntegration";
|
import pushKeysIntegration from "~/components/utilities/secrets/pushKeysIntegration";
|
||||||
import guidGenerator from "~/utilities/randomId";
|
import guidGenerator from "~/utilities/randomId";
|
||||||
|
|
||||||
import deleteIntegration from "../api/integrations/DeleteIntegration";
|
import deleteIntegration from "../api/integrations/DeleteIntegration";
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|||||||
import Button from "~/components/basic/buttons/Button";
|
import Button from "~/components/basic/buttons/Button";
|
||||||
import InputField from "~/components/basic/InputField";
|
import InputField from "~/components/basic/InputField";
|
||||||
import NavHeader from "~/components/navigation/NavHeader";
|
import NavHeader from "~/components/navigation/NavHeader";
|
||||||
import changePassword from "~/utilities/changePassword";
|
import changePassword from "~/components/utilities/cryptography/changePassword";
|
||||||
import passwordCheck from "~/utilities/checks/PasswordCheck";
|
import passwordCheck from "~/utilities/checks/PasswordCheck";
|
||||||
import issueBackupKey from "~/utilities/issueBackupKey";
|
import issueBackupKey from "~/components/utilities/cryptography/issueBackupKey";
|
||||||
|
|
||||||
import getUser from "../../api/user/getUser";
|
import getUser from "../../api/user/getUser";
|
||||||
|
|
||||||
|
|||||||
@@ -7,13 +7,13 @@ import { useRouter } from "next/router";
|
|||||||
import { faCheck, faWarning, faX } from "@fortawesome/free-solid-svg-icons";
|
import { faCheck, faWarning, faX } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
|
|
||||||
import Aes256Gcm from "~/components/aes-256-gcm";
|
import Aes256Gcm from "~/components/utilities/cryptography/aes-256-gcm";
|
||||||
import Button from "~/components/basic/buttons/Button";
|
import Button from "~/components/basic/buttons/Button";
|
||||||
import Error from "~/components/basic/Error";
|
import Error from "~/components/basic/Error";
|
||||||
import InputField from "~/components/basic/InputField";
|
import InputField from "~/components/basic/InputField";
|
||||||
import attemptLogin from "~/utilities/attemptLogin";
|
import attemptLogin from "~/utilities/attemptLogin";
|
||||||
import passwordCheck from "~/utilities/checks/PasswordCheck";
|
import passwordCheck from "~/utilities/checks/PasswordCheck";
|
||||||
import issueBackupKey from "~/utilities/issueBackupKey";
|
import issueBackupKey from "~/components/utilities/cryptography/issueBackupKey";
|
||||||
|
|
||||||
import checkEmailVerificationCode from "./api/auth/CheckEmailVerificationCode";
|
import checkEmailVerificationCode from "./api/auth/CheckEmailVerificationCode";
|
||||||
import completeAccountInformationSignup from "./api/auth/CompleteAccountInformationSignup";
|
import completeAccountInformationSignup from "./api/auth/CompleteAccountInformationSignup";
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ import { useRouter } from "next/router";
|
|||||||
import { faCheck, faWarning,faX } from "@fortawesome/free-solid-svg-icons";
|
import { faCheck, faWarning,faX } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
|
|
||||||
import Aes256Gcm from "~/components/aes-256-gcm";
|
import Aes256Gcm from "~/components/utilities/cryptography/aes-256-gcm";
|
||||||
import Button from "~/components/basic/buttons/Button";
|
import Button from "~/components/basic/buttons/Button";
|
||||||
import InputField from "~/components/basic/InputField";
|
import InputField from "~/components/basic/InputField";
|
||||||
import attemptLogin from "~/utilities/attemptLogin";
|
import attemptLogin from "~/utilities/attemptLogin";
|
||||||
import passwordCheck from "~/utilities/checks/PasswordCheck";
|
import passwordCheck from "~/utilities/checks/PasswordCheck";
|
||||||
import issueBackupKey from "~/utilities/issueBackupKey";
|
import issueBackupKey from "~/components/utilities/cryptography/issueBackupKey";
|
||||||
|
|
||||||
import completeAccountInformationSignupInvite from "./api/auth/CompleteAccountInformationSignupInvite";
|
import completeAccountInformationSignupInvite from "./api/auth/CompleteAccountInformationSignupInvite";
|
||||||
import verifySignupInvite from "./api/auth/VerifySignupInvite";
|
import verifySignupInvite from "./api/auth/VerifySignupInvite";
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ const crypto = require("crypto");
|
|||||||
const {
|
const {
|
||||||
decryptAssymmetric,
|
decryptAssymmetric,
|
||||||
encryptAssymmetric,
|
encryptAssymmetric,
|
||||||
} = require("../../components/utilities/crypto");
|
} = require("../../components/utilities/cryptography/crypto");
|
||||||
const nacl = require("tweetnacl");
|
const nacl = require("tweetnacl");
|
||||||
nacl.util = require("tweetnacl-util");
|
nacl.util = require("tweetnacl-util");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user