From 42694bf68138590e2f8b8c80e16fb555dca682cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Fri, 29 Aug 2025 23:58:10 +0300 Subject: [PATCH] =?UTF-8?q?Classroom=20Videoplayer=20k=C4=B1s=C4=B1mlar?= =?UTF-8?q?=C4=B1=20d=C3=BCzeltildi2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Classroom/ClassroomHub.cs | 4 ++-- .../Classroom/CustomUserIdProvider.cs | 11 +++++++++++ .../PlatformHttpApiHostModule.cs | 2 +- api/src/Kurs.Platform.HttpApi.Host/Program.cs | 4 ++++ ui/src/utils/hooks/useAuth.ts | 1 + 5 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 api/src/Kurs.Platform.HttpApi.Host/Classroom/CustomUserIdProvider.cs diff --git a/api/src/Kurs.Platform.HttpApi.Host/Classroom/ClassroomHub.cs b/api/src/Kurs.Platform.HttpApi.Host/Classroom/ClassroomHub.cs index 3f18b460..b34dd59b 100644 --- a/api/src/Kurs.Platform.HttpApi.Host/Classroom/ClassroomHub.cs +++ b/api/src/Kurs.Platform.HttpApi.Host/Classroom/ClassroomHub.cs @@ -8,7 +8,7 @@ using Microsoft.Extensions.Logging; using Volo.Abp.Guids; using Volo.Abp.Users; -namespace Kurs.Platform.SignalR.Hubs; +namespace Kurs.Platform.Classrooms; [Authorize] public class ClassroomHub : Hub @@ -363,7 +363,7 @@ public class ClassroomHub : Hub [HubMethodName("SendOffer")] public async Task SendOfferAsync(Guid sessionId, Guid targetUserId, object offer) { - // Tek hedef kullanıcıya gönderiyoruz + _logger.LogInformation("➡️ SendOffer to {TargetUserId}, from {CurrentUser}", targetUserId, _currentUser.Id); await Clients.User(targetUserId.ToString()) .SendAsync("ReceiveOffer", _currentUser.Id?.ToString(), offer); } diff --git a/api/src/Kurs.Platform.HttpApi.Host/Classroom/CustomUserIdProvider.cs b/api/src/Kurs.Platform.HttpApi.Host/Classroom/CustomUserIdProvider.cs new file mode 100644 index 00000000..4e466d86 --- /dev/null +++ b/api/src/Kurs.Platform.HttpApi.Host/Classroom/CustomUserIdProvider.cs @@ -0,0 +1,11 @@ +using Microsoft.AspNetCore.SignalR; + +namespace Kurs.Platform.Classrooms; + +public class CustomUserIdProvider : IUserIdProvider +{ + public string GetUserId(HubConnectionContext connection) + { + return connection.User?.FindFirst("sub")?.Value; + } +} diff --git a/api/src/Kurs.Platform.HttpApi.Host/PlatformHttpApiHostModule.cs b/api/src/Kurs.Platform.HttpApi.Host/PlatformHttpApiHostModule.cs index b9e36956..a2f7812a 100644 --- a/api/src/Kurs.Platform.HttpApi.Host/PlatformHttpApiHostModule.cs +++ b/api/src/Kurs.Platform.HttpApi.Host/PlatformHttpApiHostModule.cs @@ -8,10 +8,10 @@ using Kurs.Languages; using Kurs.MailQueue; using Kurs.Notifications.Application; using Kurs.Platform.BlobStoring; +using Kurs.Platform.Classrooms; using Kurs.Platform.EntityFrameworkCore; using Kurs.Platform.Extensions; using Kurs.Platform.Identity; -using Kurs.Platform.SignalR.Hubs; using Kurs.Settings; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Cors; diff --git a/api/src/Kurs.Platform.HttpApi.Host/Program.cs b/api/src/Kurs.Platform.HttpApi.Host/Program.cs index 092dce80..b3d9c723 100644 --- a/api/src/Kurs.Platform.HttpApi.Host/Program.cs +++ b/api/src/Kurs.Platform.HttpApi.Host/Program.cs @@ -2,7 +2,9 @@ using System.Collections.Generic; using System.IO; using System.Threading.Tasks; +using Kurs.Platform.Classrooms; using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; @@ -139,6 +141,8 @@ public class Program }); }); + builder.Services.AddSingleton(); + var app = builder.Build(); app.UseCors("Dynamic"); await app.InitializeApplicationAsync(); diff --git a/ui/src/utils/hooks/useAuth.ts b/ui/src/utils/hooks/useAuth.ts index 11008bbd..1769faae 100644 --- a/ui/src/utils/hooks/useAuth.ts +++ b/ui/src/utils/hooks/useAuth.ts @@ -43,6 +43,7 @@ function useAuth() { email: tokenDetails?.email, authority: [tokenDetails?.role], name: `${tokenDetails?.given_name} ${tokenDetails?.family_name}`.trim(), + role: 'teacher', }, }) }