mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 13:23:20 -07:00
Small bit of work on the user claims
This commit is contained in:
parent
06089bc30e
commit
934f0264b9
10 changed files with 254 additions and 15 deletions
|
@ -52,7 +52,7 @@ namespace PlexRequests.UI.Modules
|
|||
ISettingsService<SonarrSettings> sonarrSettings, ISickRageApi srApi, ISettingsService<SickRageSettings> srSettings,
|
||||
ISettingsService<HeadphonesSettings> hpSettings, IHeadphonesApi hpApi, ISettingsService<PlexRequestSettings> pr) : base("approval", pr)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
|
||||
Service = service;
|
||||
CpService = cpService;
|
||||
|
|
|
@ -366,7 +366,7 @@ namespace PlexRequests.UI.Modules
|
|||
{
|
||||
try
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
var issue = await IssuesService.GetAsync(issueId);
|
||||
var request = await RequestService.GetAsync(issue.RequestId);
|
||||
if (request.Id > 0)
|
||||
|
@ -399,7 +399,7 @@ namespace PlexRequests.UI.Modules
|
|||
{
|
||||
try
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
|
||||
var issue = await IssuesService.GetAsync(issueId);
|
||||
issue.IssueStatus = status;
|
||||
|
@ -417,7 +417,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Negotiator> ClearIssue(int issueId, IssueState state)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
var issue = await IssuesService.GetAsync(issueId);
|
||||
|
||||
var toRemove = issue.Issues.FirstOrDefault(x => x.Issue == state);
|
||||
|
@ -430,7 +430,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> AddNote(int requestId, string noteArea, IssueState state)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
var issue = await IssuesService.GetAsync(requestId);
|
||||
if (issue == null)
|
||||
{
|
||||
|
|
|
@ -260,7 +260,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> DeleteRequest(int requestid)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
Analytics.TrackEventAsync(Category.Requests, Action.Delete, "Delete Request", Username, CookieHelper.GetAnalyticClientId(Cookies));
|
||||
|
||||
var currentEntity = await Service.GetAsync(requestid);
|
||||
|
@ -308,7 +308,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> ClearIssue(int requestId)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
|
||||
var originalRequest = await Service.GetAsync(requestId);
|
||||
if (originalRequest == null)
|
||||
|
@ -326,7 +326,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> ChangeRequestAvailability(int requestId, bool available)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
Analytics.TrackEventAsync(Category.Requests, Action.Update, available ? "Make request available" : "Make request unavailable", Username, CookieHelper.GetAnalyticClientId(Cookies));
|
||||
var originalRequest = await Service.GetAsync(requestId);
|
||||
if (originalRequest == null)
|
||||
|
|
|
@ -308,7 +308,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> DeleteRequest(int requestid)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
Analytics.TrackEventAsync(Category.Requests, Action.Delete, "Delete Request", Username, CookieHelper.GetAnalyticClientId(Cookies));
|
||||
|
||||
var currentEntity = await Service.GetAsync(requestid);
|
||||
|
@ -356,7 +356,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> ClearIssue(int requestId)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
|
||||
var originalRequest = await Service.GetAsync(requestId);
|
||||
if (originalRequest == null)
|
||||
|
@ -374,7 +374,7 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> ChangeRequestAvailability(int requestId, bool available)
|
||||
{
|
||||
this.RequiresClaims(UserClaims.Admin);
|
||||
this.RequiresAnyClaim(UserClaims.Admin, UserClaims.PowerUser);
|
||||
Analytics.TrackEventAsync(Category.Requests, Action.Update, available ? "Make request available" : "Make request unavailable", Username, CookieHelper.GetAnalyticClientId(Cookies));
|
||||
var originalRequest = await Service.GetAsync(requestId);
|
||||
if (originalRequest == null)
|
||||
|
|
|
@ -444,6 +444,15 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private async Task<Response> RequestMovie(int movieId)
|
||||
{
|
||||
if (this.DoesNotHaveClaimCheck(UserClaims.ReadOnlyUser))
|
||||
{
|
||||
return
|
||||
Response.AsJson(new JsonResponseModel()
|
||||
{
|
||||
Result = false,
|
||||
Message = "Sorry, you do not have the correct permissions to request a movie!"
|
||||
});
|
||||
}
|
||||
var settings = await PrService.GetSettingsAsync();
|
||||
if (!await CheckRequestLimit(settings, RequestType.Movie))
|
||||
{
|
||||
|
@ -544,6 +553,15 @@ namespace PlexRequests.UI.Modules
|
|||
/// <returns></returns>
|
||||
private async Task<Response> RequestTvShow(int showId, string seasons)
|
||||
{
|
||||
if (this.DoesNotHaveClaimCheck(UserClaims.ReadOnlyUser))
|
||||
{
|
||||
return
|
||||
Response.AsJson(new JsonResponseModel()
|
||||
{
|
||||
Result = false,
|
||||
Message = "Sorry, you do not have the correct permissions to request a TV Show!"
|
||||
});
|
||||
}
|
||||
// Get the JSON from the request
|
||||
var req = (Dictionary<string, object>.ValueCollection)Request.Form.Values;
|
||||
EpisodeRequestModel episodeModel = null;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue