Add Bitbucket Secret Sync

This commit is contained in:
Carlos Monastyrski
2025-07-21 10:28:31 -03:00
parent 9674b71df8
commit d44b3293b6
54 changed files with 1176 additions and 21 deletions
@@ -0,0 +1,45 @@
import { z } from "zod";
import { SecretSyncs } from "@app/lib/api-docs";
import { AppConnection } from "@app/services/app-connection/app-connection-enums";
import { SecretSync } from "@app/services/secret-sync/secret-sync-enums";
import {
BaseSecretSyncSchema,
GenericCreateSecretSyncFieldsSchema,
GenericUpdateSecretSyncFieldsSchema
} from "@app/services/secret-sync/secret-sync-schemas";
import { TSyncOptionsConfig } from "@app/services/secret-sync/secret-sync-types";
const BitbucketSyncDestinationConfigSchema = z.object({
repository: z.string().describe(SecretSyncs.DESTINATION_CONFIG.BITBUCKET.repository),
environment: z.string().optional().describe(SecretSyncs.DESTINATION_CONFIG.BITBUCKET.environment),
workspace: z.string().describe(SecretSyncs.DESTINATION_CONFIG.BITBUCKET.workspace)
});
const BitbucketSyncOptionsConfig: TSyncOptionsConfig = { canImportSecrets: true };
export const BitbucketSyncSchema = BaseSecretSyncSchema(SecretSync.Bitbucket, BitbucketSyncOptionsConfig).extend({
destination: z.literal(SecretSync.Bitbucket),
destinationConfig: BitbucketSyncDestinationConfigSchema
});
export const CreateBitbucketSyncSchema = GenericCreateSecretSyncFieldsSchema(
SecretSync.Bitbucket,
BitbucketSyncOptionsConfig
).extend({
destinationConfig: BitbucketSyncDestinationConfigSchema
});
export const UpdateBitbucketSyncSchema = GenericUpdateSecretSyncFieldsSchema(
SecretSync.Bitbucket,
BitbucketSyncOptionsConfig
).extend({
destinationConfig: BitbucketSyncDestinationConfigSchema.optional()
});
export const BitbucketSyncListItemSchema = z.object({
name: z.literal("Bitbucket"),
connection: z.literal(AppConnection.Bitbucket),
destination: z.literal(SecretSync.Bitbucket),
canImportSecrets: z.literal(true)
});