From f5dd86284fb49e3d1bc0b81728ddefae5dabef4e Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 15 Feb 2025 12:45:27 +0000 Subject: [PATCH] more services from Web API --- src/Api/Program.cs | 22 +++-- .../Helpers/CompanyInfoHelpers.cs | 0 .../Services/ChatHubConnexionManager.cs | 0 .../Services/DiskUsageTracker.cs | 0 .../Services/EMailer.cs | 1 + .../Services/FileSystemAuthManager.cs | 0 .../Services/GoogleApis/CalendarManager.cs | 1 + .../Services/IFileSystemAuthManager.cs | 0 .../Services/LiveProcessor.cs | 2 + .../Services/MailSender.cs | 0 .../Services/ProfileService.cs | 5 +- .../Services/SIRENCheker.cs | 0 .../Services/YavscClientStore.cs | 0 src/Yavsc.Server/Yavsc.Server.csproj | 4 + src/Yavsc/Services/YavscMessageSender.cs | 4 +- src/Yavsc/Yavsc.csproj | 4 - test/yavscTests/npm-debug.log | 20 ---- test/yavscTests/project.json | 95 ------------------- version.txt | 1 - 19 files changed, 26 insertions(+), 133 deletions(-) rename src/{Yavsc => Yavsc.Server}/Helpers/CompanyInfoHelpers.cs (100%) rename src/{Yavsc => Yavsc.Server}/Services/ChatHubConnexionManager.cs (100%) rename src/{Yavsc => Yavsc.Server}/Services/DiskUsageTracker.cs (100%) rename src/{Yavsc => Yavsc.Server}/Services/EMailer.cs (99%) rename src/{Yavsc => Yavsc.Server}/Services/FileSystemAuthManager.cs (100%) rename src/{Yavsc => Yavsc.Server}/Services/GoogleApis/CalendarManager.cs (99%) rename src/{Yavsc => Yavsc.Server}/Services/IFileSystemAuthManager.cs (100%) rename src/{Yavsc => Yavsc.Server}/Services/LiveProcessor.cs (99%) rename src/{Yavsc => Yavsc.Server}/Services/MailSender.cs (100%) rename src/{Yavsc => Yavsc.Server}/Services/ProfileService.cs (94%) rename src/{Yavsc => Yavsc.Server}/Services/SIRENCheker.cs (100%) rename src/{Yavsc => Yavsc.Server}/Services/YavscClientStore.cs (100%) delete mode 100644 test/yavscTests/npm-debug.log delete mode 100644 test/yavscTests/project.json delete mode 100644 version.txt diff --git a/src/Api/Program.cs b/src/Api/Program.cs index d774988d..0243fb86 100644 --- a/src/Api/Program.cs +++ b/src/Api/Program.cs @@ -11,9 +11,12 @@ */ using Microsoft.AspNetCore.Identity; +using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Yavsc.Interface; using Yavsc.Models; +using Yavsc.Services; internal class Program { @@ -61,13 +64,18 @@ internal class Program services.AddDbContext(options => options.UseNpgsql(builder.Configuration.GetConnectionString("Default"))); services.AddScoped>(); - + services.AddSingleton(); + services.AddSingleton(); + services.AddTransient(); + services.AddIdentityApiEndpoints(); builder.Services.AddSession(); - /*services.AddTransient() - .AddTransient() + services.AddTransient() .AddTransient() - .AddTransient();*/ + .AddTransient() + .AddTransient, UserStore>() + .AddTransient(); + using (var app = builder.Build()) { if (app.Environment.IsDevelopment()) @@ -82,11 +90,7 @@ internal class Program endpoints.MapDefaultControllerRoute() .RequireAuthorization(); }); - - app.MapGet("/identity", (HttpContext context) => - new JsonResult(context?.User?.Claims.Select(c => new { c.Type, c.Value })) - ).RequireAuthorization("ApiScope"); - + app.MapIdentityApi().RequireAuthorization("ApiScope"); app.UseSession(); await app.RunAsync(); }; diff --git a/src/Yavsc/Helpers/CompanyInfoHelpers.cs b/src/Yavsc.Server/Helpers/CompanyInfoHelpers.cs similarity index 100% rename from src/Yavsc/Helpers/CompanyInfoHelpers.cs rename to src/Yavsc.Server/Helpers/CompanyInfoHelpers.cs diff --git a/src/Yavsc/Services/ChatHubConnexionManager.cs b/src/Yavsc.Server/Services/ChatHubConnexionManager.cs similarity index 100% rename from src/Yavsc/Services/ChatHubConnexionManager.cs rename to src/Yavsc.Server/Services/ChatHubConnexionManager.cs diff --git a/src/Yavsc/Services/DiskUsageTracker.cs b/src/Yavsc.Server/Services/DiskUsageTracker.cs similarity index 100% rename from src/Yavsc/Services/DiskUsageTracker.cs rename to src/Yavsc.Server/Services/DiskUsageTracker.cs diff --git a/src/Yavsc/Services/EMailer.cs b/src/Yavsc.Server/Services/EMailer.cs similarity index 99% rename from src/Yavsc/Services/EMailer.cs rename to src/Yavsc.Server/Services/EMailer.cs index b9b76941..879af225 100644 --- a/src/Yavsc/Services/EMailer.cs +++ b/src/Yavsc.Server/Services/EMailer.cs @@ -16,6 +16,7 @@ using Yavsc.Abstract.Templates; using Microsoft.AspNetCore.Identity; using RazorEngine.Configuration; using Yavsc.Interface; +using Microsoft.Extensions.Logging; namespace Yavsc.Lib { diff --git a/src/Yavsc/Services/FileSystemAuthManager.cs b/src/Yavsc.Server/Services/FileSystemAuthManager.cs similarity index 100% rename from src/Yavsc/Services/FileSystemAuthManager.cs rename to src/Yavsc.Server/Services/FileSystemAuthManager.cs diff --git a/src/Yavsc/Services/GoogleApis/CalendarManager.cs b/src/Yavsc.Server/Services/GoogleApis/CalendarManager.cs similarity index 99% rename from src/Yavsc/Services/GoogleApis/CalendarManager.cs rename to src/Yavsc.Server/Services/GoogleApis/CalendarManager.cs index 8662ead2..00f5a9b2 100644 --- a/src/Yavsc/Services/GoogleApis/CalendarManager.cs +++ b/src/Yavsc.Server/Services/GoogleApis/CalendarManager.cs @@ -27,6 +27,7 @@ using Google.Apis.Auth.OAuth2.Responses; namespace Yavsc.Services { + using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Yavsc.Models.Calendar; using Yavsc.Server.Helpers; diff --git a/src/Yavsc/Services/IFileSystemAuthManager.cs b/src/Yavsc.Server/Services/IFileSystemAuthManager.cs similarity index 100% rename from src/Yavsc/Services/IFileSystemAuthManager.cs rename to src/Yavsc.Server/Services/IFileSystemAuthManager.cs diff --git a/src/Yavsc/Services/LiveProcessor.cs b/src/Yavsc.Server/Services/LiveProcessor.cs similarity index 99% rename from src/Yavsc/Services/LiveProcessor.cs rename to src/Yavsc.Server/Services/LiveProcessor.cs index 87c13114..a5259dad 100644 --- a/src/Yavsc/Services/LiveProcessor.cs +++ b/src/Yavsc.Server/Services/LiveProcessor.cs @@ -3,6 +3,8 @@ using System.Net.WebSockets; using Yavsc.Models; using Yavsc.ViewModels.Streaming; using Newtonsoft.Json; +using Microsoft.Extensions.Logging; +using Microsoft.AspNetCore.Http; namespace Yavsc.Services { diff --git a/src/Yavsc/Services/MailSender.cs b/src/Yavsc.Server/Services/MailSender.cs similarity index 100% rename from src/Yavsc/Services/MailSender.cs rename to src/Yavsc.Server/Services/MailSender.cs diff --git a/src/Yavsc/Services/ProfileService.cs b/src/Yavsc.Server/Services/ProfileService.cs similarity index 94% rename from src/Yavsc/Services/ProfileService.cs rename to src/Yavsc.Server/Services/ProfileService.cs index e6160744..925f80b8 100644 --- a/src/Yavsc/Services/ProfileService.cs +++ b/src/Yavsc.Server/Services/ProfileService.cs @@ -4,6 +4,7 @@ using IdentityServer8.Models; using IdentityServer8.Services; using IdentityServer8.Stores; using Microsoft.AspNetCore.Identity; +using Microsoft.Extensions.Logging; using Yavsc.Models; namespace Yavsc.Services @@ -71,14 +72,14 @@ namespace Yavsc.Services return claims; } - public async Task GetProfileDataAsync(ProfileDataRequestContext context) + override public async Task GetProfileDataAsync(ProfileDataRequestContext context) { var subjectId = context.Subject.Claims.FirstOrDefault(c => c.Type == "sub").Value; var user = await _userManager.FindByIdAsync(subjectId); context.IssuedClaims = await GetClaimsFromUserAsync(context, user); } - public async Task IsActiveAsync(IsActiveContext context) + override public async Task IsActiveAsync(IsActiveContext context) { var subjectId = context.Subject.Claims.FirstOrDefault(c => c.Type == "sub").Value; var user = await _userManager.FindByIdAsync(subjectId); diff --git a/src/Yavsc/Services/SIRENCheker.cs b/src/Yavsc.Server/Services/SIRENCheker.cs similarity index 100% rename from src/Yavsc/Services/SIRENCheker.cs rename to src/Yavsc.Server/Services/SIRENCheker.cs diff --git a/src/Yavsc/Services/YavscClientStore.cs b/src/Yavsc.Server/Services/YavscClientStore.cs similarity index 100% rename from src/Yavsc/Services/YavscClientStore.cs rename to src/Yavsc.Server/Services/YavscClientStore.cs diff --git a/src/Yavsc.Server/Yavsc.Server.csproj b/src/Yavsc.Server/Yavsc.Server.csproj index ccad4972..3769be24 100644 --- a/src/Yavsc.Server/Yavsc.Server.csproj +++ b/src/Yavsc.Server/Yavsc.Server.csproj @@ -21,6 +21,10 @@ + + + + diff --git a/src/Yavsc/Services/YavscMessageSender.cs b/src/Yavsc/Services/YavscMessageSender.cs index cf5031e0..d1cdfa6d 100644 --- a/src/Yavsc/Services/YavscMessageSender.cs +++ b/src/Yavsc/Services/YavscMessageSender.cs @@ -1,5 +1,5 @@ -using Microsoft.AspNetCore.Identity.UI.Services; -using Microsoft.AspNetCore.SignalR; +using Microsoft.AspNetCore.SignalR; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Newtonsoft.Json; using Yavsc.Interface; diff --git a/src/Yavsc/Yavsc.csproj b/src/Yavsc/Yavsc.csproj index ac8acbee..9b88949f 100644 --- a/src/Yavsc/Yavsc.csproj +++ b/src/Yavsc/Yavsc.csproj @@ -33,10 +33,6 @@ - - - - diff --git a/test/yavscTests/npm-debug.log b/test/yavscTests/npm-debug.log deleted file mode 100644 index eb708d12..00000000 --- a/test/yavscTests/npm-debug.log +++ /dev/null @@ -1,20 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ 'C:\\Programs\\nodejs\\node.exe', -1 verbose cli 'C:\\Programs\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', -1 verbose cli 'install' ] -2 info using npm@1.4.9 -3 info using node@v8.11.3 -4 error install Couldn't read dependencies -5 error package.json ENOENT: no such file or directory, open 'C:\Users\paul\Documents\GitHub\yavsc\test\package.json' -5 error package.json This is most likely not a problem with npm itself. -5 error package.json npm can't find a package.json file in your current directory. -6 error System Windows_NT 6.1.7601 -7 error command "C:\\Programs\\nodejs\\node.exe" "C:\\Programs\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" -8 error cwd C:\Users\paul\Documents\GitHub\yavsc\test -9 error node -v v8.11.3 -10 error npm -v 1.4.9 -11 error path C:\Users\paul\Documents\GitHub\yavsc\test\package.json -12 error syscall open -13 error code ENOPACKAGEJSON -14 error errno -4058 -15 verbose exit [ -4058, true ] diff --git a/test/yavscTests/project.json b/test/yavscTests/project.json deleted file mode 100644 index 397c6703..00000000 --- a/test/yavscTests/project.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "version": "1.0.5-*", - "title": "Yavsc - les tests", - "description": "Yavsc xUnit testing", - "authors": [ - "Paul Schneider " - ], - "resource": "Resources/**/*.resx", - "buildOptions": { - "debugType": "full", - "emitEntryPoint": true, - "compile": { - "include": "*.cs", - "exclude": [ - "contrib" - ] - }, - "embed": [ - "Resources/**/*.resx" - ], - "define": ["USERMANAGER"] - }, - "frameworks": { - "dnx451": {} - }, - "commands": { - "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls https://*:5001", - "test": "xunit.runner.dnx" - }, - "packOptions": { - "repository": { - "type": "git", - "url": "https://github.com/pazof/yavsc" - }, - "licenseUrl": "https://github.com/pazof/yavsc/blob/vnext/LICENSE", - "requireLicenseAcceptance": true, - "owners": [ - "Paul Schneider " - ], - "summary": "Yet another very small company", - "projectUrl": "http://yavsc.pschneider.fr", - "tags": [ - "Blog", - "PoS", - "Chat" - ] - }, - "exclude": [ - "bin", - "wwwroot", - "node_modules", - "bower_components", - "contrib", - "testingrepo" - ], - "tooling": { - "defaultNamespace": "test" - }, - "dependencies": { - "EntityFramework.Commands": "7.0.0-rc1-final", - "EntityFramework7.Npgsql": "3.1.0-rc1-3", - "EntityFramework7.Npgsql.Design": "3.1.0-rc1-5", - "Newtonsoft.Json": "7.0.1", - "Microsoft.AspNet.Mvc": "6.0.0-rc1-*", - "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-*", - "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-*", - "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-*", - "xunit": "2.1.0", - "xunit.analyzers": "0.9.0", - "xunit.assert": "2.1.0", - "xunit.runner.console": "2.4.0-rc.2.build4045", - "Microsoft.Dnx.TestHost": "1.0.0-rc1-final", - "Microsoft.Dnx.Runtime": "1.0.0-rc1-final", - "xunit.runner.dnx": "2.1.0-rc1-build204", - "Yavsc.Server": { - "target": "project", - "type": "build" - }, - "Yavsc.Abstract": { - "target": "project", - "type": "build" - }, - "Yavsc": { - "target": "project", - "type": "build" - } - }, - "userSecretsId": "aspnet5-YavscWeb-a0dadd21-2ced-43d3-96f9-7e504345102f", - "scripts": { - "postrestore": [ - "grep -v '\\.\\.dll' project.lock.json > new.project.lock.json", - "mv new.project.lock.json project.lock.json" - ] - } -} diff --git a/version.txt b/version.txt deleted file mode 100644 index b0f3d96f..00000000 --- a/version.txt +++ /dev/null @@ -1 +0,0 @@ -1.0.8