mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 08:02:49 -05:00
update premium license and self host attr checks
This commit is contained in:
26
src/Api/Utilities/SelfHostedAttribute.cs
Normal file
26
src/Api/Utilities/SelfHostedAttribute.cs
Normal file
@ -0,0 +1,26 @@
|
||||
using Microsoft.AspNetCore.Mvc.Filters;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Bit.Core;
|
||||
using Bit.Core.Exceptions;
|
||||
|
||||
namespace Bit.Api.Utilities
|
||||
{
|
||||
public class SelfHostedAttribute : ActionFilterAttribute
|
||||
{
|
||||
public bool SelfHostedOnly { get; set; }
|
||||
public bool NotSelfHostedOnly { get; set; }
|
||||
|
||||
public override void OnActionExecuting(ActionExecutingContext context)
|
||||
{
|
||||
var globalSettings = context.HttpContext.RequestServices.GetRequiredService<GlobalSettings>();
|
||||
if(SelfHostedOnly && !globalSettings.SelfHosted)
|
||||
{
|
||||
throw new BadRequestException("Only allowed when self hosted.");
|
||||
}
|
||||
else if(NotSelfHostedOnly && globalSettings.SelfHosted)
|
||||
{
|
||||
throw new BadRequestException("Only allowed when not self hosted.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user