From 709e1433bb41cb0297662007761d9b5c65c2e923 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Mon, 5 Jul 2021 21:24:37 +0100 Subject: [PATCH] isntallation steps --- README.md | 38 +++++++++++++++++++ contrib/isn | 3 ++ contrib/{nugetd => isnd} | 7 ++-- .../Controllers/PackageVersionController.cs | 16 +++++++- src/isnd/Data/PackageVersion.cs | 5 +++ src/isnd/Views/PackageVersion/Details.cshtml | 26 ++++--------- src/isnd/Views/PackageVersion/Index.cshtml | 21 +++------- src/isnd/Views/Shared/_Layout.cshtml | 2 +- src/isnd/Views/Shared/_LoginPartial.cshtml | 5 ++- test/isnd.tests/UnitTestWebHost.cs | 2 +- 10 files changed, 83 insertions(+), 42 deletions(-) create mode 100755 contrib/isn rename contrib/{nugetd => isnd} (95%) diff --git a/README.md b/README.md index de0960b..679a2ef 100644 --- a/README.md +++ b/README.md @@ -11,3 +11,41 @@ isnd& isn push -k -s http://localhost:5000/packages your-lame-versionned.nupkg ```` + +# Installation + +Depuis le dossier de la solution, compiler la solution : + +````bash +dotnet build /restore +dotnet publish -c Release +```` + +Déployer le serveur : + +````bash +sudo cp -a src/isnd/bin/Release/netcoreapp2.1/publish/ /srv/www/isnd +sudo cp contrib/isnd /etc/init.d/isnd +sudo chmod +x /etc/init.d/isnd +sudo chown -R www-data.www-data /srv/www/isnd +sudo systemctl daemon-reload +```` + +* Créer une base de donées Postgresql, +* ajuster un fichier de configuration `/srv/www/isnd/appsettings.Production.json` +* Démarrer le serveur : + +````bash +sudo systemctl start isnd +```` + +Installer le client : + +````bash +sudo cp -a src/isn/bin/Release/net472/ /usr/local/lib/isn +sudo chown -R root.root /usr/local/lib/isn +sudo chmod +x /usr/local/lib/isn/isn.exe +sudo cp contrib/isn /usr/local/bin +sudo chmod +x /usr/local/bin +sudo chown root.root /usr/local/bin/isn +```` diff --git a/contrib/isn b/contrib/isn new file mode 100755 index 0000000..8197043 --- /dev/null +++ b/contrib/isn @@ -0,0 +1,3 @@ +#!/bin/bash + +/usr/bin/mono /usr/local/lib/isn/isn.exe $* diff --git a/contrib/nugetd b/contrib/isnd similarity index 95% rename from contrib/nugetd rename to contrib/isnd index eac8814..76c5486 100644 --- a/contrib/nugetd +++ b/contrib/isnd @@ -1,6 +1,6 @@ #!/bin/bash ### BEGIN INIT INFO -# Provides: nugetd +# Provides: isnd # Required-Start: $local_fs $network $named $time $syslog $postgresql # Required-Stop: $local_fs $network $named $time $syslog $postgresql # Default-Start: 2 3 4 5 @@ -14,10 +14,9 @@ . /lib/init/vars.sh . /lib/lsb/init-functions -NAME=nugetd +NAME=isnd PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -CONFIGS="/etc/kestrel/*.webenv" TMP_SAVE_runlevel_VAR=$runlevel unset runlevel @@ -36,7 +35,7 @@ running() { export WWW_USER=www-data -export ROOT=/srv/www/nuget +export ROOT=/srv/www/${NAME} export DESC="$NAME" export PIDFILE=/var/run/kestrel-${NAME}.pid export LOGDIR=/var/log diff --git a/src/isnd/Controllers/PackageVersionController.cs b/src/isnd/Controllers/PackageVersionController.cs index f628f33..d6710fd 100644 --- a/src/isnd/Controllers/PackageVersionController.cs +++ b/src/isnd/Controllers/PackageVersionController.cs @@ -22,13 +22,27 @@ namespace isn // GET: PackageVersion public async Task Index(PackageVersionIndexViewModel model) { - var applicationDbContext = _context.PackageVersions.Include(p => p.Package).Where(p => p.PackageId == model.PackageId); + var applicationDbContext = _context.PackageVersions.Include(p => p.Package).Where(p => p.PackageId.StartsWith(model.PackageId)); model.Versions = await applicationDbContext.ToListAsync(); return View(model); } + [Authorize] + public async Task Mines(PackageVersionIndexViewModel model) + { + var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); + var applicationDbContext = _context.PackageVersions + .Include(p => p.Package).Where( + p => (string.IsNullOrEmpty(model.PackageId) || p.PackageId.StartsWith(model.PackageId)) + && p.Package.OwnerId == userId); + + model.Versions = await applicationDbContext.ToListAsync(); + + return View("Index", model); + } + // GET: PackageVersion/Details/5 public async Task Details(string pkgid, string version) { diff --git a/src/isnd/Data/PackageVersion.cs b/src/isnd/Data/PackageVersion.cs index 7736486..31777be 100644 --- a/src/isnd/Data/PackageVersion.cs +++ b/src/isnd/Data/PackageVersion.cs @@ -30,5 +30,10 @@ namespace isn.Data [JsonIgnore] public virtual Package Package { get; set; } + public string GetParmaLink() + { + return $"/package/{PackageId}/{FullString}/{PackageId}{FullString}.nupkg"; + } + } } \ No newline at end of file diff --git a/src/isnd/Views/PackageVersion/Details.cshtml b/src/isnd/Views/PackageVersion/Details.cshtml index fc1f4d3..fab7372 100644 --- a/src/isnd/Views/PackageVersion/Details.cshtml +++ b/src/isnd/Views/PackageVersion/Details.cshtml @@ -11,38 +11,26 @@
- @Html.DisplayNameFor(model => model.Major) -
-
- @Html.DisplayFor(model => model.Major) -
-
- @Html.DisplayNameFor(model => model.Minor) -
-
- @Html.DisplayFor(model => model.Minor) -
-
- @Html.DisplayNameFor(model => model.Patch) + @Html.DisplayNameFor(model => model.IsPrerelease)
- @Html.DisplayFor(model => model.Patch) + @Html.DisplayFor(model => model.IsPrerelease)
- @Html.DisplayNameFor(model => model.IsPrerelease) + @Html.DisplayNameFor(model => model.PackageId)
- @Html.DisplayFor(model => model.IsPrerelease) + @Html.DisplayFor(model => model.PackageId)
- @Html.DisplayNameFor(model => model.Package) + @Html.DisplayNameFor(model => model.FullString)
- @Html.DisplayFor(model => model.Package.Id) + @Html.DisplayFor(model => model.FullString)
- @Html.ActionLink("Edit", "Edit", new { /* id = Model.PrimaryKey */ }) | + @Html.ActionLink("Edit", "Edit", new { pkgid = Model.PackageId, version = Model.FullString }) | Back to List
diff --git a/src/isnd/Views/PackageVersion/Index.cshtml b/src/isnd/Views/PackageVersion/Index.cshtml index 1b112b6..3398e9e 100644 --- a/src/isnd/Views/PackageVersion/Index.cshtml +++ b/src/isnd/Views/PackageVersion/Index.cshtml @@ -24,20 +24,14 @@ - @Html.DisplayNameFor(model => model.Versions[0].Major) + @Html.DisplayNameFor(model => model.Versions[0].Package.Id) - @Html.DisplayNameFor(model => model.Versions[0].Minor) - - - @Html.DisplayNameFor(model => model.Versions[0].Patch) + @Html.DisplayNameFor(model => model.Versions[0].FullString) @Html.DisplayNameFor(model => model.Versions[0].IsPrerelease) - - @Html.DisplayNameFor(model => model.Versions[0].Package) - @@ -45,20 +39,17 @@ @foreach (var item in Model.Versions) { - @Html.DisplayFor(modelItem => item.Major) - - - @Html.DisplayFor(modelItem => item.Minor) + @Html.DisplayFor(modelItem => item.Package.Id) - @Html.DisplayFor(modelItem => item.Patch) + @Html.DisplayFor(modelItem => item.FullString) @Html.DisplayFor(modelItem => item.IsPrerelease) - @Html.ActionLink("Details", "Details", new { pkgid = Model.PackageId, version = item.FullString }) | - @Html.ActionLink("Delete", "Delete", new { pkgid = Model.PackageId, version = item.FullString }) + @Html.ActionLink("Details", "Details", new { pkgid = item.PackageId, version = item.FullString }) | + @Html.ActionLink("Delete", "Delete", new { pkgid = item.PackageId, version = item.FullString }) } diff --git a/src/isnd/Views/Shared/_Layout.cshtml b/src/isnd/Views/Shared/_Layout.cshtml index 6e64816..d65b38d 100644 --- a/src/isnd/Views/Shared/_Layout.cshtml +++ b/src/isnd/Views/Shared/_Layout.cshtml @@ -11,7 +11,7 @@