mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-13 16:52:56 -07:00
Rules changes and rework
This commit is contained in:
parent
d5ec429893
commit
9f4a8902f9
32 changed files with 2804 additions and 35 deletions
36
src/Ombi.Core/Rule/Rules/Request/CanRequestRule.cs
Normal file
36
src/Ombi.Core/Rule/Rules/Request/CanRequestRule.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
using Ombi.Core.Claims;
|
||||
using Ombi.Core.Models.Requests;
|
||||
using Ombi.Core.Rules;
|
||||
using Ombi.Store.Entities;
|
||||
using System.Security.Principal;
|
||||
using Ombi.Core.Rule.Interfaces;
|
||||
|
||||
namespace Ombi.Core.Rule.Rules
|
||||
{
|
||||
public class CanRequestRule : BaseRequestRule, IRequestRules<BaseRequestModel>
|
||||
{
|
||||
public CanRequestRule(IPrincipal principal)
|
||||
{
|
||||
User = principal;
|
||||
}
|
||||
|
||||
private IPrincipal User { get; }
|
||||
|
||||
public RuleResult Execute(BaseRequestModel obj)
|
||||
{
|
||||
if (User.IsInRole(OmbiClaims.Admin))
|
||||
return Success();
|
||||
|
||||
if (obj.Type == RequestType.Movie)
|
||||
{
|
||||
if (User.IsInRole(OmbiClaims.RequestMovie))
|
||||
return Success();
|
||||
return Fail("You do not have permissions to Request a Movie");
|
||||
}
|
||||
|
||||
if (User.IsInRole(OmbiClaims.RequestTv))
|
||||
return Success();
|
||||
return Fail("You do not have permissions to Request a Movie");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue