Corrige la suppression de paquets
This commit is contained in:
@ -19,6 +19,7 @@
|
|||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||||
<PackageReference Include="unleash.client" Version="1.6.1" />
|
<PackageReference Include="unleash.client" Version="1.6.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.App" />
|
<PackageReference Include="Microsoft.AspNetCore.App" />
|
||||||
|
<PackageReference Include="microsoft.codeanalysis.analyzers" Version="1.1.0" />
|
||||||
<Reference Include="System.Net.Http" Version="4.0.0" />
|
<Reference Include="System.Net.Http" Version="4.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -47,60 +47,5 @@ namespace isnd
|
|||||||
|
|
||||||
return View("Index", model);
|
return View("Index", model);
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET: PackageVersion/Details/5
|
|
||||||
public async Task<IActionResult> Details(string pkgid, string version)
|
|
||||||
{
|
|
||||||
if (pkgid == null || version == null)
|
|
||||||
{
|
|
||||||
return NotFound();
|
|
||||||
}
|
|
||||||
|
|
||||||
var packageVersion = await _context.PackageVersions
|
|
||||||
.Include(p => p.Package)
|
|
||||||
.FirstOrDefaultAsync(m => m.PackageId == pkgid && m.FullString == version);
|
|
||||||
if (packageVersion == null)
|
|
||||||
{
|
|
||||||
return NotFound();
|
|
||||||
}
|
|
||||||
|
|
||||||
return View(packageVersion);
|
|
||||||
}
|
|
||||||
|
|
||||||
[Authorize]
|
|
||||||
public async Task<IActionResult> Delete(string pkgid, string version, string pkgtype)
|
|
||||||
{
|
|
||||||
if (pkgid == null || version == null)
|
|
||||||
{
|
|
||||||
return NotFound();
|
|
||||||
}
|
|
||||||
|
|
||||||
var packageVersion = await _context.PackageVersions.Include(p => p.Package)
|
|
||||||
.FirstOrDefaultAsync(m => m.PackageId == pkgid
|
|
||||||
&& m.FullString == version && m.Type == pkgtype);
|
|
||||||
if (packageVersion == null) return NotFound();
|
|
||||||
if (!User.IsOwner(packageVersion)) return Unauthorized();
|
|
||||||
var pkg = await _pm.GetPackageAsync(pkgid, version, pkgtype);
|
|
||||||
return View(pkg);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// POST: PackageVersion/Delete/5
|
|
||||||
[HttpPost, ActionName("Delete")]
|
|
||||||
[ValidateAntiForgeryToken]
|
|
||||||
public async Task<IActionResult> DeleteConfirmed(string PackageId, string FullString,
|
|
||||||
string Type)
|
|
||||||
{
|
|
||||||
PackageVersion packageVersion = await _context.PackageVersions
|
|
||||||
.FirstOrDefaultAsync(m => m.PackageId == PackageId
|
|
||||||
&& m.FullString == FullString && m.Type == Type);
|
|
||||||
if (packageVersion == null) return NotFound();
|
|
||||||
if (!User.IsOwner(packageVersion)) return Unauthorized();
|
|
||||||
|
|
||||||
await _pm.DeletePackageAsync(PackageId, FullString, Type);
|
|
||||||
return RedirectToAction(nameof(Index));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using isnd.Data;
|
||||||
|
using isnd.Helpers;
|
||||||
using isnd.ViewModels;
|
using isnd.ViewModels;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
@ -50,6 +53,40 @@ namespace isnd.Controllers
|
|||||||
|
|
||||||
}
|
}
|
||||||
const int MAX_PKG_VERSION_LIST = 50;
|
const int MAX_PKG_VERSION_LIST = 50;
|
||||||
|
|
||||||
|
[Authorize]
|
||||||
|
public async Task<IActionResult> Delete(string pkgid, string version, string pkgtype)
|
||||||
|
{
|
||||||
|
if (pkgid == null || version == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
var packageVersion = await dbContext.PackageVersions.Include(p => p.Package)
|
||||||
|
.FirstOrDefaultAsync(m => m.PackageId == pkgid
|
||||||
|
&& m.FullString == version && m.Type == pkgtype);
|
||||||
|
if (packageVersion == null) return NotFound();
|
||||||
|
if (!User.IsOwner(packageVersion)) return Unauthorized();
|
||||||
|
var pkg = await packageManager.GetPackageAsync(pkgid, version, pkgtype);
|
||||||
|
return View(pkg);
|
||||||
|
}
|
||||||
|
|
||||||
|
// POST: PackageVersion/Delete/5
|
||||||
|
[HttpPost, ActionName("Delete")]
|
||||||
|
[ValidateAntiForgeryToken]
|
||||||
|
public async Task<IActionResult> DeleteConfirmed(string PackageId, string FullString,
|
||||||
|
string Type)
|
||||||
|
{
|
||||||
|
PackageVersion packageVersion = await dbContext.PackageVersions
|
||||||
|
.Include(pv => pv.Package)
|
||||||
|
.FirstOrDefaultAsync(m => m.PackageId == PackageId
|
||||||
|
&& m.FullString == FullString && m.Type == Type);
|
||||||
|
if (packageVersion == null) return NotFound();
|
||||||
|
if (!User.IsOwner(packageVersion)) return Unauthorized();
|
||||||
|
|
||||||
|
await packageManager.DeletePackageAsync(PackageId, FullString, Type);
|
||||||
|
return RedirectToAction(nameof(Index));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -14,12 +14,13 @@ namespace isnd
|
|||||||
{
|
{
|
||||||
public static void Main(string[] args)
|
public static void Main(string[] args)
|
||||||
{
|
{
|
||||||
BuildWebHost(args).Run();
|
var builder = CreateBuilder(args);
|
||||||
|
builder.Build().Run();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IWebHost BuildWebHost(string[] args) =>
|
public static IWebHostBuilder CreateBuilder(string[] args) =>
|
||||||
WebHost.CreateDefaultBuilder(args)
|
WebHost.CreateDefaultBuilder(args)
|
||||||
.UseStartup<Startup>()
|
.UseStartup<Startup>()
|
||||||
.Build();
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@ using Unleash;
|
|||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using isnd.Helpers;
|
using isnd.Helpers;
|
||||||
using Microsoft.IdentityModel.Tokens;
|
using Microsoft.IdentityModel.Tokens;
|
||||||
|
using Microsoft.AspNetCore.HttpOverrides;
|
||||||
|
using System.Net;
|
||||||
|
|
||||||
namespace isnd
|
namespace isnd
|
||||||
{
|
{
|
||||||
@ -25,7 +27,6 @@ namespace isnd
|
|||||||
public Startup(IConfiguration config)
|
public Startup(IConfiguration config)
|
||||||
{
|
{
|
||||||
Configuration = config;
|
Configuration = config;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IConfiguration Configuration { get; }
|
public IConfiguration Configuration { get; }
|
||||||
@ -52,7 +53,13 @@ namespace isnd
|
|||||||
.AddSignInManager()
|
.AddSignInManager()
|
||||||
.AddDefaultUI()
|
.AddDefaultUI()
|
||||||
.AddDefaultTokenProviders();
|
.AddDefaultTokenProviders();
|
||||||
|
/*
|
||||||
|
services.Configure<ForwardedHeadersOptions>(options =>
|
||||||
|
{
|
||||||
|
options.ForwardedHeaders =
|
||||||
|
ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
|
||||||
|
});
|
||||||
|
*/
|
||||||
services.AddMvc();
|
services.AddMvc();
|
||||||
|
|
||||||
services.AddDataProtection();
|
services.AddDataProtection();
|
||||||
@ -85,14 +92,11 @@ namespace isnd
|
|||||||
services.AddAuthentication("Bearer")
|
services.AddAuthentication("Bearer")
|
||||||
.AddJwtBearer("Bearer", options =>
|
.AddJwtBearer("Bearer", options =>
|
||||||
{
|
{
|
||||||
options.Authority = "https://localhost:5001";
|
|
||||||
|
|
||||||
options.TokenValidationParameters = new TokenValidationParameters
|
options.TokenValidationParameters = new TokenValidationParameters
|
||||||
{
|
{
|
||||||
ValidateAudience = false
|
ValidateAudience = false
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -105,6 +109,9 @@ namespace isnd
|
|||||||
Microsoft.AspNetCore.Hosting.IHostingEnvironment env,
|
Microsoft.AspNetCore.Hosting.IHostingEnvironment env,
|
||||||
ApplicationDbContext dbContext)
|
ApplicationDbContext dbContext)
|
||||||
{
|
{
|
||||||
|
// app.UseForwardedHeaders();
|
||||||
|
// .UseHttpsRedirection();
|
||||||
|
|
||||||
if (env.IsDevelopment())
|
if (env.IsDevelopment())
|
||||||
{
|
{
|
||||||
app.UseDeveloperExceptionPage();
|
app.UseDeveloperExceptionPage();
|
||||||
@ -113,12 +120,12 @@ namespace isnd
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
app.UseExceptionHandler("/Home/Error");
|
app.UseExceptionHandler("/Home/Error");
|
||||||
app.UseHsts();
|
|
||||||
dbContext.Database.Migrate();
|
dbContext.Database.Migrate();
|
||||||
}
|
}
|
||||||
|
app
|
||||||
app.UseHttpsRedirection();
|
.UseStaticFiles()
|
||||||
app.UseStatusCodePages().UseStaticFiles().UseAuthentication().UseMvc(routes =>
|
.UseAuthentication()
|
||||||
|
.UseMvc(routes =>
|
||||||
{
|
{
|
||||||
routes.MapRoute(
|
routes.MapRoute(
|
||||||
name: "default",
|
name: "default",
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@Html.ActionLink("Edit", "Edit", new { pkgid = Model.pkgid, version = Model.latest.FullString }) |
|
@Html.ActionLink("Edit", "Edit", new { pkgid = Model.pkgid, version = Model.latest.FullString }) |
|
||||||
|
@Html.ActionLink("Delete", "Delete", new { pkgid = Model.pkgid, version= Model.latest.FullString }) |
|
||||||
<a asp-action="Index">Back to List</a>
|
<a asp-action="Index">Back to List</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -44,8 +44,7 @@
|
|||||||
@Html.DisplayFor(modelItem => item.Description)
|
@Html.DisplayFor(modelItem => item.Description)
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@Html.ActionLink("Details", "Details", new { pkgid = item.Id }) |
|
@Html.ActionLink("Details", "Details", new { pkgid = item.Id })
|
||||||
@Html.ActionLink("Delete", "Delete", new { pkgid = item.Id })
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
|
@ -7843,7 +7843,8 @@ a.text-dark:hover, a.text-dark:focus {
|
|||||||
border: 1px solid #333;
|
border: 1px solid #333;
|
||||||
box-shadow: 8px 8px 5px #444;
|
box-shadow: 8px 8px 5px #444;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc); }
|
background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);
|
||||||
|
margin: 1em; }
|
||||||
|
|
||||||
.fa-copy {
|
.fa-copy {
|
||||||
cursor: copy; }
|
cursor: copy; }
|
||||||
|
@ -105,6 +105,7 @@ background-color: black;
|
|||||||
box-shadow: 8px 8px 5px #444;
|
box-shadow: 8px 8px 5px #444;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);
|
background-image: linear-gradient(180deg, #fff, #ddd 40%, #ccc);
|
||||||
|
margin: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fa-copy {
|
.fa-copy {
|
||||||
|
Reference in New Issue
Block a user