This commit is contained in:
Paul Schneider
2021-05-02 16:37:03 +01:00
parent 749eb645d5
commit dd6d83cf06
28 changed files with 1097 additions and 184 deletions

View File

@ -0,0 +1,35 @@
@model nuget_host.Models.ApiKeys.CreateModel
@{
ViewData["Title"] = "Create";
}
<h2>Create</h2>
<h4>ApiKey</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form method="post" asp-controller="ApiKeys">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="UserId" class="control-label"></label>
<select asp-for="UserId" class ="form-control" asp-items="ViewBag.UserId"></select>
</div>
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Back to List</a>
</div>

View File

@ -0,0 +1,46 @@
@model nuget_host.Models.ApiKeys.DeleteModel
@{
ViewData["Title"] = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<div>
<h4>ApiKey</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.ApiKey.User)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.User.Id)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ApiKey.Name)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.Name)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ApiKey.CreationDate)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.CreationDate)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ApiKey.ValidityPeriodInDays)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.ValidityPeriodInDays)
</dd>
</dl>
<form method="post">
<input type="hidden" asp-for="ApiKey.Id" />
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">Back to List</a>
</form>
</div>

View File

@ -0,0 +1,49 @@
@model nuget_host.Models.ApiKeys.DetailModel
@{
ViewData["Title"] = "Details";
}
<h2>Details</h2>
<div>
<h4>ApiKey</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.ApiKey.User)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.User.Id)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ApiKey.Name)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.Name)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ApiKey.CreationDate)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.CreationDate)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ApiKey.ValidityPeriodInDays)
</dt>
<dd>
@Html.DisplayFor(model => model.ApiKey.ValidityPeriodInDays)
</dd>
<dt>
@Html.DisplayNameFor(model => model.ProtectedValue)
</dt>
<dd>
@Html.DisplayFor(model => model.ProtectedValue)
</dd>
</dl>
</div>
<div>
<a asp-controller="ApiKeys" asp-action="Edit" asp-route-id="@Model.ApiKey.Id">Edit</a> |
<a asp-controller="ApiKeys" asp-action="Index">Back to List</a>
</div>

42
Views/ApiKeys/Edit.cshtml Normal file
View File

@ -0,0 +1,42 @@
@model nuget_host.Models.ApiKeys.EditModel
@{
ViewData["Title"] = "Edit";
}
<h2>Edit</h2>
<h4>ApiKey</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="ApiKey.Id" />
<div class="form-group">
<label asp-for="ApiKey.UserId" class="control-label"></label>
<select asp-for="ApiKey.UserId" class="form-control" asp-items="ViewBag.UserId"></select>
<span asp-validation-for="ApiKey.UserId" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ApiKey.Name" class="control-label"></label>
<input asp-for="ApiKey.Name" class="form-control" />
<span asp-validation-for="ApiKey.Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ApiKey.ValidityPeriodInDays" class="control-label"></label>
<input asp-for="ApiKey.ValidityPeriodInDays" class="form-control" />
<span asp-validation-for="ApiKey.ValidityPeriodInDays" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</form>
</div>
</div>
<div>
<a asp-action="Index">Back to List</a>
</div>

View File

@ -0,0 +1,54 @@
@model nuget_host.Models.ApiKeys.IndexModel
@{
ViewData["Title"] = "Index";
}
<h2>Index</h2>
<p>
<a asp-controller="ApiKeys" asp-action="Create">Create New</a>
</p>
<table class="table">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.ApiKey[0].User)
</th>
<th>
@Html.DisplayNameFor(model => model.ApiKey[0].Name)
</th>
<th>
@Html.DisplayNameFor(model => model.ApiKey[0].CreationDate)
</th>
<th>
@Html.DisplayNameFor(model => model.ApiKey[0].ValidityPeriodInDays)
</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.ApiKey) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.User.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.CreationDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.ValidityPeriodInDays)
</td>
<td>
<a asp-controller="ApiKeys" asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
<a asp-controller="ApiKeys" asp-action="Details" asp-route-id="@item.Id">Details</a> |
<a asp-controller="ApiKeys" asp-action="Delete" asp-route-id="@item.Id">Delete</a>
</td>
</tr>
}
</tbody>
</table>

View File

@ -1,87 +0,0 @@
@model GrantsViewModel
<div class="grants-page">
<div class="lead">
<h1>Client Application Permissions</h1>
<p>Below is the list of applications you have given permission to and the resources they have access to.</p>
</div>
@if (Model.Grants.Any() == false)
{
<div class="row">
<div class="col-sm-8">
<div class="alert alert-info">
You have not given access to any applications
</div>
</div>
</div>
}
else
{
foreach (var grant in Model.Grants)
{
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-sm-8 card-title">
@if (grant.ClientLogoUrl != null)
{
<img src="@grant.ClientLogoUrl">
}
<strong>@grant.ClientName</strong>
</div>
<div class="col-sm-2">
<form asp-action="Revoke">
<input type="hidden" name="clientId" value="@grant.ClientId">
<button class="btn btn-danger">Revoke Access</button>
</form>
</div>
</div>
</div>
<ul class="list-group list-group-flush">
@if (grant.Description != null)
{
<li class="list-group-item">
<label>Description:</label> @grant.Description
</li>
}
<li class="list-group-item">
<label>Created:</label> @grant.Created.ToString("yyyy-MM-dd")
</li>
@if (grant.Expires.HasValue)
{
<li class="list-group-item">
<label>Expires:</label> @grant.Expires.Value.ToString("yyyy-MM-dd")
</li>
}
@if (grant.IdentityGrantNames.Any())
{
<li class="list-group-item">
<label>Identity Grants</label>
<ul>
@foreach (var name in grant.IdentityGrantNames)
{
<li>@name</li>
}
</ul>
</li>
}
@if (grant.ApiGrantNames.Any())
{
<li class="list-group-item">
<label>API Grants</label>
<ul>
@foreach (var name in grant.ApiGrantNames)
{
<li>@name</li>
}
</ul>
</li>
}
</ul>
</div>
}
}
</div>

View File

@ -1,5 +1,6 @@
@{
ViewData["Title"] = "Home Page";}
ViewData["Title"] = "Home Page";
}
<div class="text-center">
<h1 class="display-4">Welcome</h1>
@ -8,4 +9,4 @@
<img src="~/icon.jpg">
Welcome to Nuget host
</h1>
</div>
</div>