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)
|
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)
|
if (await _manager.IsInRoleAsync(user, OmbiRoles.Admin) || user.IsSystemUser)
|
||||||
{
|
{
|
||||||
obj.Approved = true;
|
obj.Approved = true;
|
||||||
|
|
|
@ -25,7 +25,9 @@ namespace Ombi.Core.Rule.Rules.Request
|
||||||
|
|
||||||
public async Task<RuleResult> Execute(BaseRequest obj)
|
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)
|
if (await _manager.IsInRoleAsync(user, OmbiRoles.Admin) || user.IsSystemUser)
|
||||||
return Success();
|
return Success();
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ namespace Ombi.Store.Context
|
||||||
using (var tran = Database.BeginTransaction())
|
using (var tran = Database.BeginTransaction())
|
||||||
{
|
{
|
||||||
// Make sure we have the API User
|
// 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)
|
if (!apiUserExists)
|
||||||
{
|
{
|
||||||
Users.Add(new OmbiUser
|
Users.Add(new OmbiUser
|
||||||
|
|
|
@ -280,7 +280,8 @@ namespace Ombi.Controllers.V1
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public async Task<UserViewModel> GetCurrentUser()
|
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);
|
return await GetUserWithRoles(user);
|
||||||
}
|
}
|
||||||
|
@ -875,7 +876,9 @@ namespace Ombi.Controllers.V1
|
||||||
[ApiExplorerSettings(IgnoreApi = true)]
|
[ApiExplorerSettings(IgnoreApi = true)]
|
||||||
public async Task<string> GetUserAccessToken()
|
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)
|
if (user == null)
|
||||||
{
|
{
|
||||||
return Guid.Empty.ToString("N");
|
return Guid.Empty.ToString("N");
|
||||||
|
@ -897,7 +900,8 @@ namespace Ombi.Controllers.V1
|
||||||
[HttpGet("notificationpreferences")]
|
[HttpGet("notificationpreferences")]
|
||||||
public async Task<List<UserNotificationPreferences>> GetUserPreferences()
|
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);
|
return await GetPreferences(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -950,7 +954,9 @@ namespace Ombi.Controllers.V1
|
||||||
return NotFound();
|
return NotFound();
|
||||||
}
|
}
|
||||||
// Check if we are editing a different user than ourself, if we are then we need to power user role
|
// 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))
|
if (!me.Id.Equals(user.Id, StringComparison.InvariantCultureIgnoreCase))
|
||||||
{
|
{
|
||||||
var isPowerUser = await UserManager.IsInRoleAsync(me, OmbiRoles.PowerUser);
|
var isPowerUser = await UserManager.IsInRoleAsync(me, OmbiRoles.PowerUser);
|
||||||
|
|
|
@ -130,7 +130,9 @@ namespace Ombi.Controllers.V1
|
||||||
public async Task<int> CreateIssue([FromBody]Issues i)
|
public async Task<int> CreateIssue([FromBody]Issues i)
|
||||||
{
|
{
|
||||||
i.IssueCategory = null;
|
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);
|
await _issues.Add(i);
|
||||||
var category = await _categories.GetAll().FirstOrDefaultAsync(x => i.IssueCategoryId == x.Id);
|
var category = await _categories.GetAll().FirstOrDefaultAsync(x => i.IssueCategoryId == x.Id);
|
||||||
if (category != null)
|
if (category != null)
|
||||||
|
|
|
@ -40,7 +40,8 @@ namespace Ombi.Controllers.V1
|
||||||
{
|
{
|
||||||
if (body?.PlayerId.HasValue() ?? false)
|
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
|
// Check if we already have this notification id
|
||||||
var alreadyExists = await _notification.GetAll().AnyAsync(x => x.PlayerId == body.PlayerId && x.UserId == user.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))
|
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
|
// Check if we already have this notification id
|
||||||
var alreadyExists = await _mobileDevices.GetAll().AnyAsync(x => x.Token == body.Token && x.UserId == user.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()
|
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
|
// Check if we already have this notification id
|
||||||
var currentDevices = await _mobileDevices.GetAll().Where(x => x.UserId == user.Id).ToListAsync();
|
var currentDevices = await _mobileDevices.GetAll().Where(x => x.UserId == user.Id).ToListAsync();
|
||||||
|
|
||||||
|
|
|
@ -102,10 +102,16 @@ namespace Ombi
|
||||||
if (username.IsNullOrEmpty())
|
if (username.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
UseApiUser(context);
|
UseApiUser(context);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
username = username.ToUpper();
|
||||||
}
|
}
|
||||||
|
|
||||||
var um = context.RequestServices.GetService<OmbiUserManager>();
|
var um = context.RequestServices.GetService<OmbiUserManager>();
|
||||||
|
|
||||||
var user = await um.Users.FirstOrDefaultAsync(x =>
|
var user = await um.Users.FirstOrDefaultAsync(x =>
|
||||||
x.UserName.Equals(username, StringComparison.InvariantCultureIgnoreCase));
|
x.NormalizedUserName == username);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
|
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue