From ef98ef0329d6ee8cec7f040f6c472dc1ea68e8dd Mon Sep 17 00:00:00 2001 From: vman Date: Fri, 18 Nov 2022 17:43:57 -0500 Subject: Add project files. --- .../Endpoints/UserAppValidator.cs | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Plugins/OAuth2ClientApplications/Endpoints/UserAppValidator.cs (limited to 'Plugins/OAuth2ClientApplications/Endpoints/UserAppValidator.cs') diff --git a/Plugins/OAuth2ClientApplications/Endpoints/UserAppValidator.cs b/Plugins/OAuth2ClientApplications/Endpoints/UserAppValidator.cs new file mode 100644 index 0000000..dc865e9 --- /dev/null +++ b/Plugins/OAuth2ClientApplications/Endpoints/UserAppValidator.cs @@ -0,0 +1,43 @@ +using FluentValidation; +using FluentValidation.Results; + +using VNLib.Plugins.Extensions.Validation; +using VNLib.Plugins.Essentials.Oauth.Applications; + +namespace OAuth2ClientApplications.Endpoints +{ + internal class UserAppValidator : AbstractValidator + { + public UserAppValidator() + { + //Name rules + RuleFor(p => p.AppName) + .Length(1, 50) + .WithName("App name") + .SpecialCharacters() + .WithName("App name"); + //Description rules + RuleFor(app => app.AppDescription) + .SpecialCharacters() + .WithName("Description") + .MaximumLength(100) + .WithName("Description"); + RuleFor(app => app.Permissions) + .MaximumLength(100) + .SpecialCharacters() + .WithMessage("Invalid permissions"); + } + + public override ValidationResult Validate(ValidationContext context) + { + //Get a ref to the app + UserApplication app = context.InstanceToValidate; + //remove unused fields + app.ClientId = null; + app.SecretHash = null; + //validate the rest of the app + return base.Validate(context); + } + } + +} \ No newline at end of file -- cgit