MCPcopy Create free account
hub / github.com/OpenAtomFoundation/SmartIDE / getWorkspaceWithDbAndValid

Function getWorkspaceWithDbAndValid

cli/cmd/common/workspace.go:531–573  ·  view source on GitHub ↗

* // 友好的错误 type FriendlyError struct { Err error } func (e *FriendlyError) Error() string { return e.Err.Error() } */ 从数据库中加载工作区信息,并进行验证

(workspaceId int, originWorkspaceInfo *workspace.WorkspaceInfo)

Source from the content-addressed store, hash-verified

529
530// 从数据库中加载工作区信息,并进行验证
531func getWorkspaceWithDbAndValid(workspaceId int, originWorkspaceInfo *workspace.WorkspaceInfo) error {
532
533 workspaceInfo_, err := dal.GetSingleWorkspace(int(workspaceId))
534 if err != nil {
535 return err
536 }
537 workspaceInfo_.CacheEnv = workspace.CacheEnvEnum_Local
538 workspaceInfo_.CliRunningEnv = originWorkspaceInfo.CliRunningEnv
539
540 // 验证在workspace中是否存在
541 if workspaceInfo_.IsNil() {
542 msg := fmt.Sprintf(i18nInstance.Main.Err_workspace_none)
543 err = errors.New(msg)
544 return err
545 }
546
547 // 如果扩展信息为空(通常是旧项目导致的),就从docker-compose文件中加载扩展信息
548 if workspaceInfo_.Extend.IsNil() &&
549 workspaceInfo_.ConfigYaml.IsNotNil() && workspaceInfo_.TempDockerCompose.IsNotNil() {
550 workspaceInfo_.Extend = workspaceInfo_.GetWorkspaceExtend()
551
552 }
553
554 // 当前目录下不需要再次录入workspaceid
555 twd, _ := os.Getwd()
556 if workspaceInfo_.Mode == workspace.WorkingMode_Local && twd == workspaceInfo_.WorkingDirectoryPath {
557 common.SmartIDELog.Warning(i18nInstance.Main.Err_flag_value_invalid2)
558
559 }
560
561 // 临时compose文件路径
562 if workspaceInfo_.TempYamlFileAbsolutePath == "" {
563 workspaceInfo_.TempYamlFileAbsolutePath = workspaceInfo_.GetTempDockerComposeFilePath()
564 }
565
566 // 验证数据
567 err = workspaceInfo_.Valid()
568
569 // 赋值
570 copier.CopyWithOption(originWorkspaceInfo, &workspaceInfo_, copier.Option{IgnoreEmpty: true, DeepCopy: true})
571
572 return err
573}
574
575// 根据参数,从数据库或者其他参数中加载远程服务器的信息
576func getRemoteAndValid(fflags *pflag.FlagSet) (remoteInfo *workspace.RemoteInfo, err error) {

Callers 1

GetWorkspaceFromCmdFunction · 0.85

Calls 6

GetWorkspaceExtendMethod · 0.80
WarningMethod · 0.80
IsNilMethod · 0.45
IsNotNilMethod · 0.45
ValidMethod · 0.45

Tested by

no test coverage detected