mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
feat: resolved bug reported on search and integration failing due to typo in integration field
This commit is contained in:
@@ -329,7 +329,7 @@ export const integrationAuthServiceFactory = ({
|
||||
if (
|
||||
integrationAuth.integration === Integrations.AWS_SECRET_MANAGER &&
|
||||
(shouldUseSecretV2Bridge
|
||||
? integrationAuth.encryptedAwsIamAssumRole
|
||||
? integrationAuth.encryptedAwsAssumeIamRoleArn
|
||||
: integrationAuth.awsAssumeIamRoleArnCipherText)
|
||||
) {
|
||||
return { accessToken: "", accessId: "" };
|
||||
|
||||
@@ -127,7 +127,7 @@ export const integrationDALFactory = (db: TDbClient) => {
|
||||
db.ref("encryptedRefresh").withSchema(TableName.IntegrationAuth),
|
||||
db.ref("encryptedAccess").withSchema(TableName.IntegrationAuth),
|
||||
db.ref("encryptedAccessId").withSchema(TableName.IntegrationAuth),
|
||||
db.ref("encryptedAwsIamAssumRole").withSchema(TableName.IntegrationAuth)
|
||||
db.ref("encryptedAwsAssumeIamRoleArn").withSchema(TableName.IntegrationAuth)
|
||||
);
|
||||
return docs.map(
|
||||
({
|
||||
@@ -159,7 +159,7 @@ export const integrationDALFactory = (db: TDbClient) => {
|
||||
encryptedAccess,
|
||||
encryptedRefresh,
|
||||
encryptedAccessId,
|
||||
encryptedAwsIamAssumRole,
|
||||
encryptedAwsAssumeIamRoleArn,
|
||||
...el
|
||||
}) => ({
|
||||
...el,
|
||||
@@ -195,7 +195,7 @@ export const integrationDALFactory = (db: TDbClient) => {
|
||||
encryptedAccess,
|
||||
encryptedRefresh,
|
||||
encryptedAccessId,
|
||||
encryptedAwsIamAssumRole
|
||||
encryptedAwsAssumeIamRoleArn
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
@@ -635,9 +635,9 @@ export const secretQueueFactory = ({
|
||||
);
|
||||
let awsAssumeRoleArn = null;
|
||||
if (shouldUseSecretV2Bridge) {
|
||||
if (integrationAuth.encryptedAwsIamAssumRole) {
|
||||
if (integrationAuth.encryptedAwsAssumeIamRoleArn) {
|
||||
awsAssumeRoleArn = secretManagerDecryptor({
|
||||
cipherTextBlob: Buffer.from(integrationAuth.encryptedAwsIamAssumRole)
|
||||
cipherTextBlob: Buffer.from(integrationAuth.encryptedAwsAssumeIamRoleArn)
|
||||
}).toString();
|
||||
}
|
||||
} else if (
|
||||
|
||||
@@ -44,7 +44,7 @@ export const fetchProjectSecrets = async ({
|
||||
};
|
||||
|
||||
export const mergePersonalSecrets = (rawSecrets: SecretV3Raw[]) => {
|
||||
const personalSecrets: Record<string, { id: string; value: string }> = {};
|
||||
const personalSecrets: Record<string, { id: string; value?: string }> = {};
|
||||
const secrets: SecretV3RawSanitized[] = [];
|
||||
rawSecrets.forEach((el) => {
|
||||
const decryptedSecret: SecretV3RawSanitized = {
|
||||
|
||||
@@ -34,7 +34,7 @@ export type SecretV3RawSanitized = {
|
||||
id: string;
|
||||
version: number;
|
||||
key: string;
|
||||
value: string;
|
||||
value?: string;
|
||||
comment?: string;
|
||||
reminderRepeatDays?: number | null;
|
||||
reminderNote?: string | null;
|
||||
@@ -57,7 +57,7 @@ export type SecretV3Raw = {
|
||||
version: number;
|
||||
type: string;
|
||||
secretKey: string;
|
||||
secretValue: string;
|
||||
secretValue?: string;
|
||||
secretComment?: string;
|
||||
secretReminderNote?: string;
|
||||
secretReminderRepeatDays?: number;
|
||||
|
||||
@@ -19,13 +19,7 @@ import { twMerge } from "tailwind-merge";
|
||||
|
||||
import { createNotification } from "@app/components/notifications";
|
||||
import { ProjectPermissionCan } from "@app/components/permissions";
|
||||
import {
|
||||
EmptyState,
|
||||
IconButton,
|
||||
SecretInput,
|
||||
TableContainer,
|
||||
Tooltip
|
||||
} from "@app/components/v2";
|
||||
import { EmptyState, IconButton, SecretInput, TableContainer, Tooltip } from "@app/components/v2";
|
||||
import { ProjectPermissionActions, ProjectPermissionSub, useWorkspace } from "@app/context";
|
||||
import { useToggle } from "@app/hooks";
|
||||
import { useResyncSecretReplication } from "@app/hooks/api";
|
||||
@@ -37,7 +31,11 @@ type Props = {
|
||||
secretPath?: string;
|
||||
secretImport?: TSecretImport;
|
||||
isReplicationExpand?: boolean;
|
||||
importedSecrets: { key: string; value: string; overriden: { env: string; secretPath: string } }[];
|
||||
importedSecrets: {
|
||||
key: string;
|
||||
value?: string;
|
||||
overriden: { env: string; secretPath: string };
|
||||
}[];
|
||||
searchTerm: string;
|
||||
onExpandReplicateSecrets: (id: string) => void;
|
||||
};
|
||||
@@ -45,9 +43,9 @@ type Props = {
|
||||
// to show the environment and folder icon
|
||||
export const EnvFolderIcon = ({
|
||||
env,
|
||||
secretPath,
|
||||
// isReplication
|
||||
}: {
|
||||
secretPath
|
||||
}: // isReplication
|
||||
{
|
||||
env: string;
|
||||
secretPath: string;
|
||||
// isReplication?: boolean;
|
||||
|
||||
@@ -63,7 +63,7 @@ export const computeImportedSecretRows = (
|
||||
const importedEntry: Record<string, boolean> = {};
|
||||
const importedSecretEntries: {
|
||||
key: string;
|
||||
value: string;
|
||||
value?: string;
|
||||
overriden: {
|
||||
env: string;
|
||||
secretPath: string;
|
||||
|
||||
@@ -417,7 +417,12 @@ export const SecretDetailSidebar = ({
|
||||
className="px-2 py-1"
|
||||
variant="outline_bg"
|
||||
leftIcon={<FontAwesomeIcon icon={faShare} />}
|
||||
onClick={() => handleSecretShare(secret.valueOverride ?? secret.value)}
|
||||
onClick={() => {
|
||||
const value = secret?.valueOverride ?? secret?.value;
|
||||
if (value) {
|
||||
handleSecretShare(value);
|
||||
}
|
||||
}}
|
||||
>
|
||||
Share Secret
|
||||
</Button>
|
||||
|
||||
@@ -79,7 +79,7 @@ export const filterSecrets = (secrets: SecretV3RawSanitized[], filter: Filter) =
|
||||
const searchTerm = filter.searchFilter.toLowerCase();
|
||||
return (
|
||||
(!isTagFilterActive || tags?.some(({ id }) => filter.tags?.[id])) &&
|
||||
(key.toLowerCase().includes(searchTerm) || value.toLowerCase().includes(searchTerm))
|
||||
(key.toLowerCase().includes(searchTerm) || value?.toLowerCase().includes(searchTerm))
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -23,7 +23,10 @@ export enum SecretActionType {
|
||||
|
||||
export const formSchema = z.object({
|
||||
key: z.string().trim().min(1, { message: "Secret key is required" }),
|
||||
value: z.string().transform((val) => (val.at(-1) === "\n" ? `${val.trim()}\n` : val.trim())),
|
||||
value: z
|
||||
.string()
|
||||
.transform((val) => (val.at(-1) === "\n" ? `${val.trim()}\n` : val.trim()))
|
||||
.optional(),
|
||||
idOverride: z.string().trim().optional(),
|
||||
valueOverride: z
|
||||
.string()
|
||||
|
||||
Reference in New Issue
Block a user