暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

OperationParams.cs 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System.IO;
  2. using Codice.CM.Common;
  3. using PlasticGui.WebApi;
  4. namespace Unity.PlasticSCM.Editor.Hub.Operations
  5. {
  6. internal class OperationParams
  7. {
  8. internal readonly string WorkspaceFullPath;
  9. internal readonly string Organization;
  10. internal readonly string Repository;
  11. internal readonly RepositorySpec RepositorySpec;
  12. internal readonly string AccessToken;
  13. internal static OperationParams BuildFromCommand(
  14. ParseArguments.Command command,
  15. string unityAccessToken)
  16. {
  17. string workspaceFullPath = command.HasWorkspacePath() ?
  18. Path.GetFullPath(command.WorkspacePath) :
  19. Path.GetFullPath(command.ProjectPath);
  20. return new OperationParams(
  21. workspaceFullPath,
  22. command.Organization,
  23. command.Repository,
  24. BuildRepositorySpec(
  25. command.Organization, command.Repository),
  26. unityAccessToken);
  27. }
  28. static RepositorySpec BuildRepositorySpec(
  29. string organization,
  30. string repository)
  31. {
  32. string defaultCloudAlias = new PlasticWebRestApi()
  33. .GetDefaultCloudAlias();
  34. return RepositorySpec.BuildFromNameAndResolvedServer(
  35. repository,
  36. CloudServer.BuildFullyQualifiedName(organization, defaultCloudAlias)
  37. );
  38. }
  39. OperationParams(
  40. string workspaceFullPath,
  41. string organization,
  42. string repository,
  43. RepositorySpec repositorySpec,
  44. string accessToken)
  45. {
  46. WorkspaceFullPath = workspaceFullPath;
  47. Organization = organization;
  48. Repository = repository;
  49. RepositorySpec = repositorySpec;
  50. AccessToken = accessToken;
  51. }
  52. }
  53. }