Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 8f4a382

Browse files
authored
Merge pull request #2028 from github/refactor/repository-model-part3
Repository model refactoring (part 3)
2 parents 28e2fd2 + ba6278c commit 8f4a382

File tree

135 files changed

+1084
-1411
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+1084
-1411
lines changed

src/GitHub.App/GlobalSuppressions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[assembly: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", MessageId = "Git", Scope = "resource", Target = "GitHub.App.Resources.resources")]
77
[assembly: SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "System.String.Format(System.String,System.Object,System.Object,System.Object)", Scope = "member", Target = "GitHub.Services.PullRequestService.#CreateTempFile(System.String,System.String,System.String)")]
88
[assembly: SuppressMessage("Microsoft.Globalization", "CA1305:SpecifyIFormatProvider", MessageId = "System.String.Format(System.String,System.Object,System.Object,System.Object)", Scope = "member", Target = "GitHub.Services.PullRequestService.#CreateTempFile(System.String,System.String,System.String,System.Text.Encoding)")]
9+
910
// This file is used by Code Analysis to maintain SuppressMessage
1011
// attributes that are applied to this project.
1112
// Project-level suppressions either have no target or are given

src/GitHub.App/SampleData/Dialog/Clone/SelectPageViewModelDesigner.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public SelectPageViewModelDesigner()
3838
public IReadOnlyList<IRepositoryItemViewModel> Items { get; }
3939
public ICollectionView ItemsView { get; }
4040
public IRepositoryItemViewModel SelectedItem { get; set; }
41-
public IRepositoryModel Repository { get; }
41+
public RepositoryModel Repository { get; }
4242

4343
public void Initialize(IConnection connection)
4444
{

src/GitHub.App/SampleData/ForkRepositoryExecuteViewModelDesigner.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ public ForkRepositoryExecuteViewModelDesigner()
3535

3636
public string Title => null;
3737

38-
public IRepositoryModel SourceRepository { get; set; }
38+
public RepositoryModel SourceRepository { get; set; }
3939

40-
public IRepositoryModel DestinationRepository { get; set; }
40+
public RepositoryModel DestinationRepository { get; set; }
4141

4242
public IAccount DestinationAccount { get; }
4343

@@ -57,7 +57,7 @@ public ForkRepositoryExecuteViewModelDesigner()
5757

5858
public string Error { get; } = "I AM ERROR";
5959

60-
public Task InitializeAsync(ILocalRepositoryModel sourceRepository, IAccount destinationAccount, IConnection connection)
60+
public Task InitializeAsync(LocalRepositoryModel sourceRepository, IAccount destinationAccount, IConnection connection)
6161
{
6262
return Task.CompletedTask;
6363
}

src/GitHub.App/SampleData/ForkRepositorySelectViewModelDesigner.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ public ForkRepositorySelectViewModelDesigner()
3333

3434
public IObservable<object> Done => null;
3535

36-
public IReadOnlyList<IRemoteRepositoryModel> ExistingForks { get; set; }
36+
public IReadOnlyList<RemoteRepositoryModel> ExistingForks { get; set; }
3737

3838
public bool IsLoading { get; set; }
3939

4040
public string Title => null;
4141

4242
public ReactiveCommand<IAccount, Unit> SelectedAccount => null;
4343

44-
public ReactiveCommand<IRemoteRepositoryModel, Unit> SwitchOrigin => null;
44+
public ReactiveCommand<RemoteRepositoryModel, Unit> SwitchOrigin => null;
4545

46-
public Task InitializeAsync(ILocalRepositoryModel repository, IConnection connection)
46+
public Task InitializeAsync(LocalRepositoryModel repository, IConnection connection)
4747
{
4848
return Task.CompletedTask;
4949
}

src/GitHub.App/SampleData/ForkRepositorySwitchViewModelDesigner.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ public ForkRepositorySwitchViewModelDesigner()
2929

3030
public IObservable<object> Done => null;
3131

32-
public IRepositoryModel SourceRepository { get; }
32+
public RepositoryModel SourceRepository { get; }
3333

34-
public IRepositoryModel DestinationRepository { get; }
34+
public RepositoryModel DestinationRepository { get; }
3535

3636
public ReactiveCommand<Unit, Unit> SwitchFork => null;
3737

@@ -41,7 +41,7 @@ public ForkRepositorySwitchViewModelDesigner()
4141

4242
public bool UpdateOrigin { get; set; } = true;
4343

44-
public void Initialize(ILocalRepositoryModel sourceRepository, IRemoteRepositoryModel remoteRepository)
44+
public void Initialize(LocalRepositoryModel sourceRepository, RemoteRepositoryModel remoteRepository)
4545
{
4646
}
4747
}

src/GitHub.App/SampleData/GitServiceDesigner.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Threading.Tasks;
2+
using GitHub.Models;
23
using GitHub.Primitives;
34
using GitHub.Services;
45
using LibGit2Sharp;
@@ -7,6 +8,8 @@ namespace GitHub.SampleData
78
{
89
class GitServiceDesigner : IGitService
910
{
11+
public LocalRepositoryModel CreateLocalRepositoryModel(string localPath) => null;
12+
public BranchModel GetBranch(LocalRepositoryModel model) => null;
1013
public Task<string> GetLatestPushedSha(string path, string remote = "origin") => Task.FromResult<string>(null);
1114
public UriString GetRemoteUri(IRepository repo, string remote = "origin") => null;
1215
public IRepository GetRepository(string path) => null;
Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,16 @@
1-
using System;
2-
using System.ComponentModel;
3-
using System.Threading.Tasks;
4-
using GitHub.Models;
1+
using GitHub.Models;
52
using GitHub.Primitives;
63
using GitHub.UI;
7-
using GitHub.Exports;
84

95
namespace GitHub.App.SampleData
106
{
11-
public class LocalRepositoryModelDesigner : ILocalRepositoryModel
7+
public class LocalRepositoryModelDesigner : LocalRepositoryModel
128
{
13-
public UriString CloneUrl { get; set; }
14-
public IBranch CurrentBranch { get; set; }
15-
public Octicon Icon { get; set; }
16-
public string LocalPath { get; set; }
17-
public string Name { get; set; }
18-
public string Owner { get; set; }
19-
20-
#pragma warning disable CS0067
21-
public event PropertyChangedEventHandler PropertyChanged;
22-
#pragma warning restore CS0067
23-
24-
public Task<UriString> GenerateUrl(LinkType linkType, string path = null, int startLine = -1, int endLine = -1)
25-
{
26-
throw new NotImplementedException();
27-
}
28-
29-
public void Refresh()
30-
{
31-
throw new NotImplementedException();
32-
}
33-
34-
public void SetIcon(bool isPrivate, bool isFork)
35-
{
36-
throw new NotImplementedException();
37-
}
9+
public new UriString CloneUrl { get; set; }
10+
public BranchModel CurrentBranch { get; set; }
11+
public new Octicon Icon { get; set; }
12+
public new string LocalPath { get; set; }
13+
public new string Name { get; set; }
14+
public new string Owner { get; set; }
3815
}
3916
}

src/GitHub.App/SampleData/PullRequestCreationViewModelDesigner.cs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,21 @@ public class PullRequestCreationViewModelDesigner : PanePageViewModelBase, IPull
1515
{
1616
public PullRequestCreationViewModelDesigner()
1717
{
18-
Branches = new List<IBranch>
18+
var repositoryModel = new LocalRepositoryModel
1919
{
20-
new BranchModel("master", new LocalRepositoryModel("http://github.com/user/repo", new GitServiceDesigner())),
21-
new BranchModel("don/stub-ui", new LocalRepositoryModel("http://github.com/user/repo", new GitServiceDesigner())),
22-
new BranchModel("feature/pr/views", new LocalRepositoryModel("http://github.com/user/repo", new GitServiceDesigner())),
23-
new BranchModel("release-1.0.17.0", new LocalRepositoryModel("http://github.com/user/repo", new GitServiceDesigner())),
20+
Name = "repo",
21+
CloneUrl = "http://github.com/user/repo"
22+
};
23+
24+
Branches = new List<BranchModel>
25+
{
26+
new BranchModel("master", repositoryModel),
27+
new BranchModel("don/stub-ui", repositoryModel),
28+
new BranchModel("feature/pr/views", repositoryModel),
29+
new BranchModel("release-1.0.17.0", repositoryModel),
2430
}.AsReadOnly();
2531

26-
TargetBranch = new BranchModel("master", new LocalRepositoryModel("http://github.com/user/repo", new GitServiceDesigner()));
32+
TargetBranch = new BranchModel("master", repositoryModel);
2733
SourceBranch = Branches[2];
2834

2935
SelectedAssignee = "Haacked (Phil Haack)";
@@ -34,9 +40,9 @@ public PullRequestCreationViewModelDesigner()
3440
};
3541
}
3642

37-
public IBranch SourceBranch { get; set; }
38-
public IBranch TargetBranch { get; set; }
39-
public IReadOnlyList<IBranch> Branches { get; set; }
43+
public BranchModel SourceBranch { get; set; }
44+
public BranchModel TargetBranch { get; set; }
45+
public IReadOnlyList<BranchModel> Branches { get; set; }
4046

4147
public string SelectedAssignee { get; set; }
4248
public List<string> Users { get; set; }
@@ -50,6 +56,6 @@ public PullRequestCreationViewModelDesigner()
5056

5157
public ReactivePropertyValidator BranchValidator { get; }
5258

53-
public Task InitializeAsync(ILocalRepositoryModel repository, IConnection connection) => Task.CompletedTask;
59+
public Task InitializeAsync(LocalRepositoryModel repository, IConnection connection) => Task.CompletedTask;
5460
}
5561
}

src/GitHub.App/SampleData/PullRequestDetailViewModelDesigner.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public PullRequestDetailViewModelDesigner()
101101

102102
public PullRequestDetailModel Model { get; }
103103
public IPullRequestSession Session { get; }
104-
public ILocalRepositoryModel LocalRepository { get; }
104+
public LocalRepositoryModel LocalRepository { get; }
105105
public string RemoteRepositoryOwner { get; }
106106
public int Number { get; set; }
107107
public IActorViewModel Author { get; set; }
@@ -127,7 +127,7 @@ public PullRequestDetailViewModelDesigner()
127127

128128
public IReadOnlyList<IPullRequestCheckViewModel> Checks { get; }
129129

130-
public Task InitializeAsync(ILocalRepositoryModel localRepository, IConnection connection, string owner, string repo, int number) => Task.CompletedTask;
130+
public Task InitializeAsync(LocalRepositoryModel localRepository, IConnection connection, string owner, string repo, int number) => Task.CompletedTask;
131131

132132
public string GetLocalFilePath(IPullRequestFileNode file)
133133
{

src/GitHub.App/SampleData/PullRequestListViewModelDesigner.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ public PullRequestListViewModelDesigner()
5353
public IUserFilterViewModel AuthorFilter { get; set; }
5454
public IReadOnlyList<IIssueListItemViewModelBase> Items { get; }
5555
public ICollectionView ItemsView { get; }
56-
public ILocalRepositoryModel LocalRepository { get; set; }
56+
public LocalRepositoryModel LocalRepository { get; set; }
5757
public IssueListMessage Message { get; set; }
58-
public IRepositoryModel RemoteRepository { get; set; }
59-
public IReadOnlyList<IRepositoryModel> Forks { get; }
58+
public RepositoryModel RemoteRepository { get; set; }
59+
public IReadOnlyList<RepositoryModel> Forks { get; }
6060
public string SearchQuery { get; set; }
6161
public string SelectedState { get; set; }
6262
public string StateCaption { get; set; }
@@ -66,6 +66,6 @@ public PullRequestListViewModelDesigner()
6666
public ReactiveCommand<IIssueListItemViewModelBase, Unit> OpenItem { get; }
6767
public ReactiveCommand<IPullRequestListItemViewModel, IPullRequestListItemViewModel> OpenItemInBrowser { get; }
6868

69-
public Task InitializeAsync(ILocalRepositoryModel repository, IConnection connection) => Task.CompletedTask;
69+
public Task InitializeAsync(LocalRepositoryModel repository, IConnection connection) => Task.CompletedTask;
7070
}
7171
}

0 commit comments

Comments
 (0)