broken/ef
Paul Schneider 3 years ago
parent 95aae91156
commit 066c038e4d
5 changed files with 59 additions and 43 deletions

@ -12,14 +12,14 @@ namespace isnd.Interfaces
{ {
public interface IPackageManager public interface IPackageManager
{ {
AutoCompleteResult AutoComplete(string id, int skip, int take, bool prerelease = false, string packageType = null); AutoCompleteResult AutoComplete(string pkgid, int skip, int take, bool prerelease = false, string packageType = null);
CatalogIndex GetCatalogIndex(); CatalogIndex GetCatalogIndex();
string[] GetVersions(string id, NuGetVersion parsedVersion, bool prerelease = false, string packageType = null, int skip = 0, int take = 25); string[] GetVersions(string pkgid, NuGetVersion parsedVersion, bool prerelease = false, string packageType = null, int skip = 0, int take = 25);
PackageIndexViewModel SearchByName(string query, int skip, int take, bool prerelease = false, string packageType = null); PackageIndexViewModel SearchByName(string query, int skip, int take, bool prerelease = false, string packageType = null);
IEnumerable<Resource> GetResources(IUnleash unleashĈlient); IEnumerable<Resource> GetResources(IUnleash unleashĈlient);
void ÛpdateCatalogFor(Commit commit); void ÛpdateCatalogFor(Commit commit);
Task<PackageDeletionReport> DeletePackageAsync(string pkgId, string fullVersion, string pkgType); Task<PackageDeletionReport> DeletePackageAsync(string pkgid, string version, string type);
Task<PackageVersion> GetPackageAsync(string pkgid, string version, string type); Task<PackageVersion> GetPackageAsync(string pkgid, string version, string type);
} }

@ -249,7 +249,7 @@ namespace isnd.Services
} }
} }
public async Task<PackageDeletionReport> DeletePackageAsync(string pkgId, string fullVersion, string pkgType) public async Task<PackageDeletionReport> DeletePackageAsync(string pkgid, string version, string type)
{ {
// TODO package deletion on disk // TODO package deletion on disk
var commit = new Commit{ var commit = new Commit{
@ -258,9 +258,9 @@ namespace isnd.Services
}; };
dbContext.Commits.Add(commit); dbContext.Commits.Add(commit);
var pkg = await dbContext.PackageVersions.SingleOrDefaultAsync( var pkg = await dbContext.PackageVersions.SingleOrDefaultAsync(
v => v.PackageId == pkgId && v => v.PackageId == pkgid &&
v.FullString == fullVersion && v.FullString == version &&
v.Type == pkgType v.Type == type
); );
if (pkg == null) if (pkg == null)
{ {
@ -271,5 +271,14 @@ namespace isnd.Services
ÛpdateCatalogFor(commit); ÛpdateCatalogFor(commit);
return new PackageDeletionReport{ Deleted = true, DeletedVersion = pkg }; return new PackageDeletionReport{ Deleted = true, DeletedVersion = pkg };
} }
public async Task<PackageVersion> GetPackageAsync(string pkgid, string version, string type)
{
return await dbContext.PackageVersions.SingleOrDefaultAsync(
v => v.PackageId == pkgid &&
v.FullString == version &&
v.Type == type
);
}
} }
} }

@ -103,14 +103,12 @@ namespace isnd
app.UseDeveloperExceptionPage(); app.UseDeveloperExceptionPage();
dbContext.Database.Migrate(); dbContext.Database.Migrate();
} }
app.UseStatusCodePages().UseStaticFiles().UseAuthentication().UseMvc(routes => app.UseStatusCodePages().UseStaticFiles().UseAuthentication().UseMvc(routes =>
{ {
routes.MapRoute( routes.MapRoute(
name: "default", name: "default",
template: "{controller=Packages}/{action=Index}/{query?}"); template: "{controller=Home}/{action=Index}");
}); });
} }
} }

@ -13,15 +13,19 @@
<strong>@Model.PkgCount identifiant(s) de paquet dans le SI</strong> <strong>@Model.PkgCount identifiant(s) de paquet dans le SI</strong>
@{ @{
if (Model.UnleashClient.IsEnabled("Demo")) foreach (string leashed in new string[] { "pkg-push", "pkg-get",
{ "pkg-autocomplete","pkg-search","pkg-catalog"})
//do some magic {
<p>Demo</p> if (Model.UnleashClient.IsEnabled(leashed))
} {
else //do some magic
{ <p>@leashed</p>
//do old boring stuff }
<p>No demo (disabled)</p> else
} {
//do old boring stuff
<p>No @leashed (disabled)</p>
}
}
} }
</div> </div>

@ -4,31 +4,34 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"] - isnd</title> <title>@ViewData["Title"] - isnd</title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" href="~/css/site.css" /> <link rel="stylesheet" href="~/css/site.css" />
</head> </head>
<body> <body>
<header> <header>
<nav class="navbar navbar-inverse navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3"> <nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container"> <div class="container">
<a class="navbar-brand" asp-area="" asp-controller="PackageVersion" asp-action="Index">isnd</a> <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">isnd</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent" <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span>
<span class="navbar-toggler-icon"></span> </button>
</button> <div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="navbar-collapse collapse d-sm-inline-flex justify-content-between"> <ul class="navbar-nav mr-auto">
<ul class="navbar-nav flex-grow-1"> <li class="nav-item active">
<li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home<span class="sr-only">(current)</span></a>
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Index">Home</a> </li>
</li> <li class="nav-item">
<li class="nav-item"> <a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
<a class="nav-link text-dark" asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a> </li>
</li> </ul>
</ul> <form class="form-inline my-2 my-lg-0">
<partial name="_LoginPartial" /> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
</div> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</div> </form>
</nav> <partial name="_LoginPartial" />
</div>
</div>
</nav>
</header> </header>
<div class="container"> <div class="container">
<main role="main" class="pb-3"> <main role="main" class="pb-3">
@ -41,8 +44,10 @@
&copy; 2021 - isn - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a> &copy; 2021 - isn - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</div> </div>
</footer> </footer>
<script src="~/lib/jquery/dist/jquery.min.js"></script> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js" asp-append-version="true"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script src="~/js/site.js" asp-append-version="true"></script> <script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false) @await RenderSectionAsync("Scripts", required: false)
</body> </body>

Loading…