diff --git a/API/Controllers/SettingsController.cs b/API/Controllers/SettingsController.cs index ef3fe8997..c8b3248ba 100644 --- a/API/Controllers/SettingsController.cs +++ b/API/Controllers/SettingsController.cs @@ -140,7 +140,7 @@ namespace API.Controllers } } - if (!_unitOfWork.HasChanges()) return Ok("Nothing was updated"); + if (!_unitOfWork.HasChanges()) return Ok(updateSettingsDto); try { diff --git a/API/Data/Repositories/SettingsRepository.cs b/API/Data/Repositories/SettingsRepository.cs index 168b5a21e..4489cf3bd 100644 --- a/API/Data/Repositories/SettingsRepository.cs +++ b/API/Data/Repositories/SettingsRepository.cs @@ -35,15 +35,6 @@ namespace API.Data.Repositories return _mapper.Map(settings); } - public ServerSettingDto GetSettingsDto() - { - var settings = _context.ServerSetting - .Select(x => x) - .AsNoTracking() - .ToList(); - return _mapper.Map(settings); - } - public Task GetSettingAsync(ServerSettingKey key) { return _context.ServerSetting.SingleOrDefaultAsync(x => x.Key == key); diff --git a/API/Interfaces/Repositories/ISettingsRepository.cs b/API/Interfaces/Repositories/ISettingsRepository.cs index 79014dce4..95178ea79 100644 --- a/API/Interfaces/Repositories/ISettingsRepository.cs +++ b/API/Interfaces/Repositories/ISettingsRepository.cs @@ -10,7 +10,6 @@ namespace API.Interfaces.Repositories { void Update(ServerSetting settings); Task GetSettingsDtoAsync(); - ServerSettingDto GetSettingsDto(); Task GetSettingAsync(ServerSettingKey key); Task> GetSettingsAsync(); diff --git a/API/SignalR/Presence/PresenceTracker.cs b/API/SignalR/Presence/PresenceTracker.cs index ac9bb28d1..1453bd0f7 100644 --- a/API/SignalR/Presence/PresenceTracker.cs +++ b/API/SignalR/Presence/PresenceTracker.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using API.Interfaces; @@ -27,7 +28,7 @@ namespace API.SignalR.Presence _unitOfWork = unitOfWork; } - public Task UserConnected(string username, string connectionId) + public async Task UserConnected(string username, string connectionId) { lock (OnlineUsers) { @@ -41,7 +42,10 @@ namespace API.SignalR.Presence } } - return Task.CompletedTask; + // Update the last active for the user + var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(username); + user.LastActive = DateTime.Now; + await _unitOfWork.CommitAsync(); } public Task UserDisconnected(string username, string connectionId) diff --git a/UI/Web/src/app/admin/settings.service.ts b/UI/Web/src/app/admin/settings.service.ts index f3ab0c3f7..9f0de0b3f 100644 --- a/UI/Web/src/app/admin/settings.service.ts +++ b/UI/Web/src/app/admin/settings.service.ts @@ -1,5 +1,6 @@ import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; +import { map } from 'rxjs/operators'; import { environment } from 'src/environments/environment'; import { ServerSettings } from './_models/server-settings'; @@ -37,6 +38,8 @@ export class SettingsService { } getAuthenticationEnabled() { - return this.http.get(this.baseUrl + 'settings/authentication-enabled', {responseType: 'text' as 'json'}); + return this.http.get(this.baseUrl + 'settings/authentication-enabled', {responseType: 'text' as 'json'}).pipe(map((res: string) => { + return res === 'true'; + })); } } diff --git a/UI/Web/src/app/user-login/user-login.component.html b/UI/Web/src/app/user-login/user-login.component.html index 9caa02e73..226b42057 100644 --- a/UI/Web/src/app/user-login/user-login.component.html +++ b/UI/Web/src/app/user-login/user-login.component.html @@ -1,6 +1,6 @@