1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-21 21:15:10 -05:00
bitwarden/src/Api/Utilities/PublicApiControllersModelConvention.cs
2019-03-01 17:30:44 -05:00

20 lines
707 B
C#

using Microsoft.AspNetCore.Mvc.ApplicationModels;
namespace Bit.Api.Utilities
{
public class PublicApiControllersModelConvention : IControllerModelConvention
{
public void Apply(ControllerModel controller)
{
var controllerNamespace = controller.ControllerType.Namespace;
var publicApi = controllerNamespace.Contains(".Public.");
if(publicApi)
{
controller.Filters.Add(new CamelCaseJsonResultFilterAttribute());
}
controller.Filters.Add(new ExceptionHandlerFilterAttribute(publicApi));
controller.Filters.Add(new ModelStateValidationFilterAttribute(publicApi));
}
}
}