diff --git a/kernel/api/workspace.go b/kernel/api/workspace.go index d29a7c64a..b5a4ad1e4 100644 --- a/kernel/api/workspace.go +++ b/kernel/api/workspace.go @@ -45,17 +45,18 @@ func createWorkspaceDir(c *gin.Context) { absPath := arg["path"].(string) absPath = gulu.Str.RemoveInvisible(absPath) absPath = strings.TrimSpace(absPath) - if gulu.File.IsExist(absPath) { - ret.Code = -1 - ret.Msg = model.Conf.Language(78) - return - } if isInvalidWorkspacePath(absPath) { ret.Code = -1 ret.Msg = "This workspace name is not allowed, please use another name" return } + if gulu.File.IsExist(absPath) { + ret.Code = -1 + ret.Msg = model.Conf.Language(78) + return + } + if err := os.MkdirAll(absPath, 0755); nil != err { ret.Code = -1 ret.Msg = fmt.Sprintf("create workspace dir [%s] failed: %s", absPath, err)