Refactor repository cloning interfaces: standardize parameters for Bitbucket, Gitea, and GitLab repository cloning functions to improve consistency and maintainability across the codebase.

This commit is contained in:
Mauricio Siu
2025-11-09 03:16:18 -06:00
parent 7b398939f7
commit 5ac32f9f24
4 changed files with 33 additions and 6 deletions

View File

@@ -29,7 +29,6 @@ import { cloneGitlabRepository } from "@dokploy/server/utils/providers/gitlab";
import { createTraefikConfig } from "@dokploy/server/utils/traefik/application";
import { TRPCError } from "@trpc/server";
import { eq } from "drizzle-orm";
import { cleanUpSystemPrune, encodeBase64 } from "../utils/docker/utils";
import { getDokployUrl } from "./admin";
import {
createDeployment,

View File

@@ -81,10 +81,22 @@ type BitbucketClone = (ApplicationWithBitbucket | ComposeWithBitbucket) & {
type?: "application" | "compose";
};
interface CloneBitbucketRepository {
appName: string;
bitbucketRepository: string | null;
bitbucketOwner: string | null;
bitbucketBranch: string | null;
bitbucketId: string | null;
bitbucket: Bitbucket | null;
enableSubmodules: boolean;
serverId: string | null;
type?: "application" | "compose";
}
export const cloneBitbucketRepository = async ({
type = "application",
...entity
}: BitbucketClone) => {
}: CloneBitbucketRepository) => {
let command = "set -e;";
const {
appName,

View File

@@ -119,10 +119,21 @@ type GiteaClone = (ApplicationWithGitea | ComposeWithGitea) & {
type?: "application" | "compose";
};
interface CloneGiteaRepository {
appName: string;
giteaBranch: string | null;
giteaId: string | null;
giteaOwner: string | null;
giteaRepository: string | null;
enableSubmodules: boolean;
serverId: string | null;
type?: "application" | "compose";
}
export const cloneGiteaRepository = async ({
type = "application",
...entity
}: GiteaClone) => {
}: CloneGiteaRepository) => {
let command = "set -e;";
const {
appName,

View File

@@ -97,15 +97,20 @@ const getGitlabCloneUrl = (gitlab: GitlabInfo, repoClone: string) => {
return cloneUrl;
};
type GitlabClone = (ApplicationWithGitlab | ComposeWithGitlab) & {
interface CloneGitlabRepository {
appName: string;
gitlabBranch: string | null;
gitlabId: string | null;
gitlabPathNamespace: string | null;
enableSubmodules: boolean;
serverId: string | null;
type?: "application" | "compose";
};
}
export const cloneGitlabRepository = async ({
type = "application",
...entity
}: GitlabClone) => {
}: CloneGitlabRepository) => {
let command = "set -e;";
const {
appName,