mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-05 20:26:44 +00:00
Allow vercel importSecrets
This commit is contained in:
@@ -6,5 +6,5 @@ export const VERCEL_SYNC_LIST_OPTION: TSecretSyncListItem = {
|
|||||||
name: "Vercel",
|
name: "Vercel",
|
||||||
destination: SecretSync.Vercel,
|
destination: SecretSync.Vercel,
|
||||||
connection: AppConnection.Vercel,
|
connection: AppConnection.Vercel,
|
||||||
canImportSecrets: false
|
canImportSecrets: true
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import { request } from "@app/lib/config/request";
|
|||||||
import { logger } from "@app/lib/logger";
|
import { logger } from "@app/lib/logger";
|
||||||
import { IntegrationUrls } from "@app/services/integration-auth/integration-list";
|
import { IntegrationUrls } from "@app/services/integration-auth/integration-list";
|
||||||
import { SecretSyncError } from "@app/services/secret-sync/secret-sync-errors";
|
import { SecretSyncError } from "@app/services/secret-sync/secret-sync-errors";
|
||||||
import { SECRET_SYNC_NAME_MAP } from "@app/services/secret-sync/secret-sync-maps";
|
|
||||||
import { TSecretMap } from "@app/services/secret-sync/secret-sync-types";
|
import { TSecretMap } from "@app/services/secret-sync/secret-sync-types";
|
||||||
|
|
||||||
import { VercelEnvironmentType } from "./vercel-sync-enums";
|
import { VercelEnvironmentType } from "./vercel-sync-enums";
|
||||||
@@ -207,7 +206,8 @@ export const VercelSyncFns = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getSecrets: async (secretSync: TVercelSyncWithCredentials): Promise<TSecretMap> => {
|
getSecrets: async (secretSync: TVercelSyncWithCredentials): Promise<TSecretMap> => {
|
||||||
throw new Error(`${SECRET_SYNC_NAME_MAP[secretSync.destination]} does not support importing secrets.`);
|
const vercelSecrets = await getVercelSecrets(secretSync);
|
||||||
|
return Object.fromEntries(vercelSecrets.map((s) => [s.key, { value: s.value ?? "" }]));
|
||||||
},
|
},
|
||||||
|
|
||||||
removeSecrets: async (secretSync: TVercelSyncWithCredentials, secretMap: TSecretMap) => {
|
removeSecrets: async (secretSync: TVercelSyncWithCredentials, secretMap: TSecretMap) => {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ const VercelSyncDestinationConfigSchema = z.object({
|
|||||||
branch: z.string().optional().describe(SecretSyncs.DESTINATION_CONFIG.VERCEL.branch)
|
branch: z.string().optional().describe(SecretSyncs.DESTINATION_CONFIG.VERCEL.branch)
|
||||||
});
|
});
|
||||||
|
|
||||||
const VercelSyncOptionsConfig: TSyncOptionsConfig = { canImportSecrets: false };
|
const VercelSyncOptionsConfig: TSyncOptionsConfig = { canImportSecrets: true };
|
||||||
|
|
||||||
export const VercelSyncSchema = BaseSecretSyncSchema(SecretSync.Vercel, VercelSyncOptionsConfig).extend({
|
export const VercelSyncSchema = BaseSecretSyncSchema(SecretSync.Vercel, VercelSyncOptionsConfig).extend({
|
||||||
destination: z.literal(SecretSync.Vercel),
|
destination: z.literal(SecretSync.Vercel),
|
||||||
@@ -46,5 +46,5 @@ export const VercelSyncListItemSchema = z.object({
|
|||||||
name: z.literal("Vercel"),
|
name: z.literal("Vercel"),
|
||||||
connection: z.literal(AppConnection.Vercel),
|
connection: z.literal(AppConnection.Vercel),
|
||||||
destination: z.literal(SecretSync.Vercel),
|
destination: z.literal(SecretSync.Vercel),
|
||||||
canImportSecrets: z.literal(false)
|
canImportSecrets: z.literal(true)
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user