Merge pull request #3218 from sbwalker/dev
include User Settings when calling UserService
This commit is contained in:
commit
c151c6f55a
@ -26,16 +26,18 @@ namespace Oqtane.Controllers
|
|||||||
private readonly IUserManager _userManager;
|
private readonly IUserManager _userManager;
|
||||||
private readonly ISiteRepository _sites;
|
private readonly ISiteRepository _sites;
|
||||||
private readonly IUserPermissions _userPermissions;
|
private readonly IUserPermissions _userPermissions;
|
||||||
|
private readonly ISettingRepository _settings;
|
||||||
private readonly IJwtManager _jwtManager;
|
private readonly IJwtManager _jwtManager;
|
||||||
private readonly ILogManager _logger;
|
private readonly ILogManager _logger;
|
||||||
|
|
||||||
public UserController(IUserRepository users, ITenantManager tenantManager, IUserManager userManager, ISiteRepository sites, IUserPermissions userPermissions, IJwtManager jwtManager, ILogManager logger)
|
public UserController(IUserRepository users, ITenantManager tenantManager, IUserManager userManager, ISiteRepository sites, IUserPermissions userPermissions, ISettingRepository settings, IJwtManager jwtManager, ILogManager logger)
|
||||||
{
|
{
|
||||||
_users = users;
|
_users = users;
|
||||||
_tenantManager = tenantManager;
|
_tenantManager = tenantManager;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_sites = sites;
|
_sites = sites;
|
||||||
_userPermissions = userPermissions;
|
_userPermissions = userPermissions;
|
||||||
|
_settings = settings;
|
||||||
_jwtManager = jwtManager;
|
_jwtManager = jwtManager;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
@ -52,6 +54,12 @@ namespace Oqtane.Controllers
|
|||||||
{
|
{
|
||||||
HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
|
HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
List<Setting> settings = _settings.GetSettings(EntityNames.User, user.UserId).ToList();
|
||||||
|
user.Settings = settings.Where(item => !item.IsPrivate || _userPermissions.GetUser(User).UserId == user.UserId)
|
||||||
|
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
|
||||||
|
}
|
||||||
return Filter(user);
|
return Filter(user);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -75,6 +83,12 @@ namespace Oqtane.Controllers
|
|||||||
{
|
{
|
||||||
HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
|
HttpContext.Response.StatusCode = (int)HttpStatusCode.NotFound;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
List<Setting> settings = _settings.GetSettings(EntityNames.User, user.UserId).ToList();
|
||||||
|
user.Settings = settings.Where(item => !item.IsPrivate || _userPermissions.GetUser(User).UserId == user.UserId)
|
||||||
|
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
|
||||||
|
}
|
||||||
return Filter(user);
|
return Filter(user);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace Oqtane.Models
|
namespace Oqtane.Models
|
||||||
@ -105,5 +106,11 @@ namespace Oqtane.Models
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public bool EmailConfirmed { get; set; }
|
public bool EmailConfirmed { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Public User Settings
|
||||||
|
/// </summary>
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<string, string> Settings { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user