Open Source Web Application Framework for ASP.NET Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 lines
1.6 KiB

using System;
using JetBrains.Annotations;
using Volo.Abp;
using Volo.Docs.GitHub.Documents;
using Volo.Docs.Projects;
namespace Volo.Docs.GitHub.Projects
{
public static class ProjectGithubExtensions
{
public static string GetGitHubUrl([NotNull] this Project project)
{
CheckGitHubProject(project);
return project.ExtraProperties["GitHubRootUrl"] as string;
}
public static string GetGitHubUrl([NotNull] this Project project, string version)
{
return project
.GetGitHubUrl()
.Replace("{version}", version);
}
public static void SetGitHubUrl([NotNull] this Project project, string value)
{
CheckGitHubProject(project);
project.ExtraProperties["GitHubRootUrl"] = value;
}
public static string GetGitHubAccessTokenOrNull([NotNull] this Project project)
{
CheckGitHubProject(project);
return project.ExtraProperties["GitHubAccessToken"] as string;
}
public static void SetGitHubAccessToken([NotNull] this Project project, string value)
{
CheckGitHubProject(project);
project.ExtraProperties["GitHubAccessToken"] = value;
}
private static void CheckGitHubProject(Project project)
{
Check.NotNull(project, nameof(project));
if (project.DocumentStoreType != GithubDocumentStore.Type)
{
throw new ApplicationException("Given project has not a Github document store!");
}
}
}
}