mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-31 12:00:06 -07:00
Fixed another EF client side execution bug
This commit is contained in:
parent
01217cfe70
commit
1107c4a366
8 changed files with 33 additions and 12 deletions
|
@ -24,7 +24,8 @@ namespace Ombi.Core.Rule.Rules.Request
|
|||
|
||||
public async Task<RuleResult> Execute(BaseRequest obj)
|
||||
{
|
||||
var user = await _manager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await _manager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
if (await _manager.IsInRoleAsync(user, OmbiRoles.Admin) || user.IsSystemUser)
|
||||
{
|
||||
obj.Approved = true;
|
||||
|
|
|
@ -25,7 +25,9 @@ namespace Ombi.Core.Rule.Rules.Request
|
|||
|
||||
public async Task<RuleResult> Execute(BaseRequest obj)
|
||||
{
|
||||
var user = await _manager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await _manager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
if (await _manager.IsInRoleAsync(user, OmbiRoles.Admin) || user.IsSystemUser)
|
||||
return Success();
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ namespace Ombi.Store.Context
|
|||
using (var tran = Database.BeginTransaction())
|
||||
{
|
||||
// Make sure we have the API User
|
||||
var apiUserExists = Users.ToList().Any(x => x.UserName.Equals("Api", StringComparison.CurrentCultureIgnoreCase));
|
||||
var apiUserExists = Users.ToList().Any(x => x.NormalizedUserName == "API");
|
||||
if (!apiUserExists)
|
||||
{
|
||||
Users.Add(new OmbiUser
|
||||
|
|
|
@ -280,7 +280,8 @@ namespace Ombi.Controllers.V1
|
|||
[Authorize]
|
||||
public async Task<UserViewModel> GetCurrentUser()
|
||||
{
|
||||
var user = await UserManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await UserManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
|
||||
return await GetUserWithRoles(user);
|
||||
}
|
||||
|
@ -875,7 +876,9 @@ namespace Ombi.Controllers.V1
|
|||
[ApiExplorerSettings(IgnoreApi = true)]
|
||||
public async Task<string> GetUserAccessToken()
|
||||
{
|
||||
var user = await UserManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await UserManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
if (user == null)
|
||||
{
|
||||
return Guid.Empty.ToString("N");
|
||||
|
@ -897,7 +900,8 @@ namespace Ombi.Controllers.V1
|
|||
[HttpGet("notificationpreferences")]
|
||||
public async Task<List<UserNotificationPreferences>> GetUserPreferences()
|
||||
{
|
||||
var user = await UserManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await UserManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
return await GetPreferences(user);
|
||||
}
|
||||
|
||||
|
@ -950,7 +954,9 @@ namespace Ombi.Controllers.V1
|
|||
return NotFound();
|
||||
}
|
||||
// Check if we are editing a different user than ourself, if we are then we need to power user role
|
||||
var me = await UserManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var me = await UserManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
if (!me.Id.Equals(user.Id, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
var isPowerUser = await UserManager.IsInRoleAsync(me, OmbiRoles.PowerUser);
|
||||
|
|
|
@ -130,7 +130,9 @@ namespace Ombi.Controllers.V1
|
|||
public async Task<int> CreateIssue([FromBody]Issues i)
|
||||
{
|
||||
i.IssueCategory = null;
|
||||
i.UserReportedId = (await _userManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase))).Id;
|
||||
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
i.UserReportedId = (await _userManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username)).Id;
|
||||
await _issues.Add(i);
|
||||
var category = await _categories.GetAll().FirstOrDefaultAsync(x => i.IssueCategoryId == x.Id);
|
||||
if (category != null)
|
||||
|
|
|
@ -40,7 +40,8 @@ namespace Ombi.Controllers.V1
|
|||
{
|
||||
if (body?.PlayerId.HasValue() ?? false)
|
||||
{
|
||||
var user = await _userManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await _userManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
// Check if we already have this notification id
|
||||
var alreadyExists = await _notification.GetAll().AnyAsync(x => x.PlayerId == body.PlayerId && x.UserId == user.Id);
|
||||
|
||||
|
|
|
@ -36,7 +36,9 @@ namespace Ombi.Controllers.V2
|
|||
{
|
||||
if (!string.IsNullOrEmpty(body?.Token))
|
||||
{
|
||||
var user = await _userManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await _userManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
// Check if we already have this notification id
|
||||
var alreadyExists = await _mobileDevices.GetAll().AnyAsync(x => x.Token == body.Token && x.UserId == user.Id);
|
||||
|
||||
|
@ -64,7 +66,8 @@ namespace Ombi.Controllers.V2
|
|||
public async Task<IActionResult> RemoveNotifications()
|
||||
{
|
||||
|
||||
var user = await _userManager.Users.FirstOrDefaultAsync(x => x.UserName.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase));
|
||||
var username = User.Identity.Name.ToUpper();
|
||||
var user = await _userManager.Users.FirstOrDefaultAsync(x => x.NormalizedUserName == username);
|
||||
// Check if we already have this notification id
|
||||
var currentDevices = await _mobileDevices.GetAll().Where(x => x.UserId == user.Id).ToListAsync();
|
||||
|
||||
|
|
|
@ -103,9 +103,15 @@ namespace Ombi
|
|||
{
|
||||
UseApiUser(context);
|
||||
}
|
||||
else
|
||||
{
|
||||
username = username.ToUpper();
|
||||
}
|
||||
|
||||
var um = context.RequestServices.GetService<OmbiUserManager>();
|
||||
|
||||
var user = await um.Users.FirstOrDefaultAsync(x =>
|
||||
x.UserName.Equals(username, StringComparison.InvariantCultureIgnoreCase));
|
||||
x.NormalizedUserName == username);
|
||||
if (user == null)
|
||||
{
|
||||
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue