mirror of
https://github.com/RayLabsHQ/gitea-mirror.git
synced 2025-12-10 21:46:45 +03:00
fix: enhance mirror strategy handling for mixed mode configuration
This commit is contained in:
@@ -27,6 +27,8 @@ export function GiteaConfigForm({ config, setConfig, onAutoSave, isAutoSaving, g
|
|||||||
// Derive the mirror strategy from existing config for backward compatibility
|
// Derive the mirror strategy from existing config for backward compatibility
|
||||||
const getMirrorStrategy = (): MirrorStrategy => {
|
const getMirrorStrategy = (): MirrorStrategy => {
|
||||||
if (config.mirrorStrategy) return config.mirrorStrategy;
|
if (config.mirrorStrategy) return config.mirrorStrategy;
|
||||||
|
// Check for mixed mode: when we have both organization and personalReposOrg defined
|
||||||
|
if (config.organization && config.personalReposOrg && !config.preserveOrgStructure) return "mixed";
|
||||||
if (config.preserveOrgStructure) return "preserve";
|
if (config.preserveOrgStructure) return "preserve";
|
||||||
if (config.organization && config.organization !== config.username) return "single-org";
|
if (config.organization && config.organization !== config.username) return "single-org";
|
||||||
return "flat-user";
|
return "flat-user";
|
||||||
@@ -55,6 +57,16 @@ export function GiteaConfigForm({ config, setConfig, onAutoSave, isAutoSaving, g
|
|||||||
newConfig.mirrorStrategy = "flat-user";
|
newConfig.mirrorStrategy = "flat-user";
|
||||||
newConfig.organization = "";
|
newConfig.organization = "";
|
||||||
break;
|
break;
|
||||||
|
case "mixed":
|
||||||
|
newConfig.preserveOrgStructure = false;
|
||||||
|
newConfig.mirrorStrategy = "mixed";
|
||||||
|
if (!newConfig.organization) {
|
||||||
|
newConfig.organization = "github-mirrors";
|
||||||
|
}
|
||||||
|
if (!newConfig.personalReposOrg) {
|
||||||
|
newConfig.personalReposOrg = "github-personal";
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
setConfig(newConfig);
|
setConfig(newConfig);
|
||||||
|
|||||||
Reference in New Issue
Block a user