forked from ddrilling/AsbCloudServer
Merge branch 'dev' of https://bitbucket.org/autodrilling/asbcloudserver into dev
This commit is contained in:
commit
1f1f86f00e
@ -93,9 +93,8 @@ namespace AsbCloudInfrastructure
|
||||
// TelemetryData services
|
||||
services.AddTransient<ITelemetryDataService<TelemetryDataSaubDto>, TelemetryDataSaubService>();
|
||||
services.AddTransient<ITelemetryDataService<TelemetryDataSpinDto>, TelemetryDataSpinService>();
|
||||
|
||||
// Validation rules
|
||||
services.AddTransient<IValidator<AuthDto>, AuthDtoValidator>();
|
||||
|
||||
services.AddValidators();
|
||||
|
||||
return services;
|
||||
}
|
||||
|
20
AsbCloudInfrastructure/Validators/ClusterDtoValidator.cs
Normal file
20
AsbCloudInfrastructure/Validators/ClusterDtoValidator.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class ClusterDtoValidator : AbstractValidator<ClusterDto>
|
||||
{
|
||||
public ClusterDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Caption).Length(1, 50)
|
||||
.WithMessage("Допустимая длина названия от 1 до 50 символов");
|
||||
RuleFor(x => x.Latitude).Must(lat => lat is <= 90 and >= -90)
|
||||
.WithMessage("Допустимые значения широты от -90 до 90");
|
||||
RuleFor(x => x.Longitude).Must(lat => lat is <= 180 and >= -180)
|
||||
.WithMessage("Допустимые значения долготы от -180 до 180");
|
||||
RuleFor(x => x.IdDeposit).LessThan(1)
|
||||
.WithMessage("Id не может быть меньше 1");
|
||||
}
|
||||
}
|
||||
}
|
16
AsbCloudInfrastructure/Validators/CompanyDtoValidator.cs
Normal file
16
AsbCloudInfrastructure/Validators/CompanyDtoValidator.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class CompanyDtoValidator : AbstractValidator<CompanyDto>
|
||||
{
|
||||
public CompanyDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Caption).Length(1, 50)
|
||||
.WithMessage("Допустимое имя компании от 1 до 50 символов");
|
||||
RuleFor(x => x.CompanyTypeCaption).Length(1, 30)
|
||||
.WithMessage("Допустимое имя типа компании от 1 до 30 символов");
|
||||
}
|
||||
}
|
||||
}
|
32
AsbCloudInfrastructure/Validators/DependencyInjection.cs
Normal file
32
AsbCloudInfrastructure/Validators/DependencyInjection.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using AsbCloudApp.Data;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public static class DependencyInjection
|
||||
{
|
||||
public static IServiceCollection AddValidators(this IServiceCollection services)
|
||||
{
|
||||
services.AddTransient<IValidator<AuthDto>, AuthDtoValidator>();
|
||||
services.AddTransient<IValidator<ClusterDto>, ClusterDtoValidator>();
|
||||
services.AddTransient<IValidator<CompanyDto>, CompanyDtoValidator>();
|
||||
services.AddTransient<IValidator<DepositDto>, DepositDtoValidator>();
|
||||
services.AddTransient<IValidator<DrillFlowChartDto>, DrillFlowChartDtoValidator>();
|
||||
services.AddTransient<IValidator<EventDto>, EventDtoValidator>();
|
||||
services.AddTransient<IValidator<FileInfoDto>, FileInfoDtoValidator>();
|
||||
services.AddTransient<IValidator<FileMarkDto>, FileMarkDtoValidator>();
|
||||
services.AddTransient<IValidator<MeasureDto>, MeasureDtoValidator>();
|
||||
services.AddTransient<IValidator<MessageDto>, MessageDtoValidator>();
|
||||
services.AddTransient<IValidator<PermissionDto>, PermissionDtoValidator>();
|
||||
services.AddTransient<IValidator<ReportPropertiesDto>, ReportPropertiesDtoValidator>();
|
||||
services.AddTransient<IValidator<UserRegistrationDto>, UserRegistrationDtoValidator>();
|
||||
services.AddTransient<IValidator<UserRoleDto>, UserRoleDtoValidator>();
|
||||
services.AddTransient<IValidator<WellDto>, WellDtoValidator>();
|
||||
services.AddTransient<IValidator<WellOperationDto>, WellOperationDtoValidator>();
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
}
|
18
AsbCloudInfrastructure/Validators/DepositDtoValidator.cs
Normal file
18
AsbCloudInfrastructure/Validators/DepositDtoValidator.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class DepositDtoValidator : AbstractValidator<DepositDto>
|
||||
{
|
||||
public DepositDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Caption).Length(1, 50)
|
||||
.WithMessage("Допустимая длина названия от 1 до 50 символов");
|
||||
RuleFor(x => x.Latitude).Must(lat => lat is <= 90 and >= -90)
|
||||
.WithMessage("Допустимые значения широты от -90 до 90");
|
||||
RuleFor(x => x.Longitude).Must(lat => lat is <= 180 and >= -180)
|
||||
.WithMessage("Допустимые значения долготы от -180 до 180");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class DrillFlowChartDtoValidator : AbstractValidator<DrillFlowChartDto>
|
||||
{
|
||||
public DrillFlowChartDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.IdWell).LessThan(1)
|
||||
.WithMessage("Id скважины не может быть меньше 1");
|
||||
RuleFor(x => x.IdWellOperationCategory).LessThan(1)
|
||||
.WithMessage("Id категории операции не может быть меньше 1");
|
||||
RuleFor(x => x.DepthStart).LessThan(1)
|
||||
.WithMessage("Глубина не может быть отрицательной");
|
||||
RuleFor(x => x.DepthEnd).LessThan(1)
|
||||
.WithMessage("Глубина не может быть отрицательной");
|
||||
}
|
||||
}
|
||||
}
|
18
AsbCloudInfrastructure/Validators/EventDtoValidator.cs
Normal file
18
AsbCloudInfrastructure/Validators/EventDtoValidator.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class EventDtoValidator : AbstractValidator<EventDto>
|
||||
{
|
||||
public EventDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.IdCategory).LessThan(0)
|
||||
.WithMessage("Id категории события не может быть отрицательным");
|
||||
RuleFor(x => x.EventType).LessThan(0)
|
||||
.WithMessage("Id типа события не может быть отрицательным");
|
||||
RuleFor(x => x.IdSound).LessThan(0)
|
||||
.WithMessage("Id звука оповещения не может быть отрицательным");
|
||||
}
|
||||
}
|
||||
}
|
18
AsbCloudInfrastructure/Validators/FileInfoDtoValidator.cs
Normal file
18
AsbCloudInfrastructure/Validators/FileInfoDtoValidator.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class FileInfoDtoValidator : AbstractValidator<FileInfoDto>
|
||||
{
|
||||
public FileInfoDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.IdWell).LessThan(1)
|
||||
.WithMessage("Id скважины не может быть меньше 1");
|
||||
RuleFor(x => x.IdCategory).LessThan(1)
|
||||
.WithMessage("Id категории файла не может быть меньше 1");
|
||||
RuleFor(x => x.Name).Length(1, 50)
|
||||
.WithMessage("Допустимое имя файла от 1 до 50 символов");
|
||||
}
|
||||
}
|
||||
}
|
18
AsbCloudInfrastructure/Validators/FileMarkDtoValidator.cs
Normal file
18
AsbCloudInfrastructure/Validators/FileMarkDtoValidator.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class FileMarkDtoValidator : AbstractValidator<FileMarkDto>
|
||||
{
|
||||
public FileMarkDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.IdFile).LessThan(1)
|
||||
.WithMessage("Id файла не может быть ниже 1");
|
||||
RuleFor(x => x.IdMarkType).LessThan(1)
|
||||
.WithMessage("Id категории действия с файлом не может быть ниже 1");
|
||||
RuleFor(x => x.Comment).MaximumLength(200)
|
||||
.WithMessage("Длина текста комментария не может быть выше 200 символов");
|
||||
}
|
||||
}
|
||||
}
|
18
AsbCloudInfrastructure/Validators/MeasureDtoValidator.cs
Normal file
18
AsbCloudInfrastructure/Validators/MeasureDtoValidator.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class MeasureDtoValidator : AbstractValidator<MeasureDto>
|
||||
{
|
||||
public MeasureDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.IdWell).LessThan(1)
|
||||
.WithMessage("Id скважины не может быть меньше 1");
|
||||
RuleFor(x => x.IdCategory).LessThan(1)
|
||||
.WithMessage("Id категории не может быть меньше 1");
|
||||
RuleFor(x => x.CategoryName).MaximumLength(50)
|
||||
.WithMessage("Название категории не может быть больше 50 символов");
|
||||
}
|
||||
}
|
||||
}
|
18
AsbCloudInfrastructure/Validators/MessageDtoValidator.cs
Normal file
18
AsbCloudInfrastructure/Validators/MessageDtoValidator.cs
Normal file
@ -0,0 +1,18 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class MessageDtoValidator : AbstractValidator<MessageDto>
|
||||
{
|
||||
public MessageDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.CategoryId).LessThan(1)
|
||||
.WithMessage("Id категории не может быть ниже 1");
|
||||
RuleFor(x => x.WellDepth).LessThan(1)
|
||||
.WithMessage("Id скважины не может быть ниже 1");
|
||||
RuleFor(x => x.Message).Length(1, 200)
|
||||
.WithMessage("Допустимая длина текста сообщения от 1 до 200 символов");
|
||||
}
|
||||
}
|
||||
}
|
16
AsbCloudInfrastructure/Validators/PermissionDtoValidator.cs
Normal file
16
AsbCloudInfrastructure/Validators/PermissionDtoValidator.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class PermissionDtoValidator : AbstractValidator<PermissionDto>
|
||||
{
|
||||
public PermissionDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Name).Length(1, 50)
|
||||
.WithMessage("Допустимая длина названия разрешения от 1 до 50 символов");
|
||||
RuleFor(x => x.Description)
|
||||
.Length(1, 200).WithMessage("Допустимая длина описания от 1 до 200 символов");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class ReportPropertiesDtoValidator : AbstractValidator<ReportPropertiesDto>
|
||||
{
|
||||
public ReportPropertiesDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Name).Length(1, 50)
|
||||
.WithMessage("Допустимая длина имени файла от 1 до 50 символов");
|
||||
RuleFor(x => x.IdWell).LessThan(1)
|
||||
.WithMessage("Id скважины не может быть меньше 1");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class UserRegistrationDtoValidator : AbstractValidator<UserRegistrationDto>
|
||||
{
|
||||
public UserRegistrationDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Login).NotNull().WithMessage("Логин не должен быть пустым");
|
||||
RuleFor(x => x.Login).NotEmpty().WithMessage("Логин не должен быть пустым");
|
||||
RuleFor(x => x.Login).Length(0, 50).WithMessage("Допустимая длина логина от 1 до 50 символов");
|
||||
RuleFor(x => x.Password).NotNull().WithMessage("Логин не должен быть пустым");
|
||||
RuleFor(x => x.Password).NotEmpty().WithMessage("Логин не должен быть пустым");
|
||||
RuleFor(x => x.Password).Length(0, 50).WithMessage("Допустимая длина логина от 1 до 50 символов");
|
||||
RuleFor(x => x.Name).Length(0, 50).WithMessage("Допустимая длина имени от 1 до 50 символов");
|
||||
RuleFor(x => x.Surname).Length(0, 50).WithMessage("Допустимая длина фамилии от 1 до 50 символов");
|
||||
RuleFor(x => x.Patronymic).Length(0, 50).WithMessage("Допустимая длина отчества от 1 до 50 символов");
|
||||
RuleFor(x => x.Email).Length(0, 200).WithMessage("Допустимая длина email от 1 до 200 символов");
|
||||
RuleFor(x => x.Phone).Length(0, 50).WithMessage("Допустимая длина телефона от 1 до 50 символов");
|
||||
RuleFor(x => x.Position).Length(0, 50).WithMessage("Допустимая длина должности от 1 до 50 символов");
|
||||
}
|
||||
}
|
||||
}
|
16
AsbCloudInfrastructure/Validators/UserRoleDtoValidator.cs
Normal file
16
AsbCloudInfrastructure/Validators/UserRoleDtoValidator.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class UserRoleDtoValidator : AbstractValidator<UserRoleDto>
|
||||
{
|
||||
public UserRoleDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Caption).Length(0, 50)
|
||||
.WithMessage("Допустимая длина названия роли от 1 до 50 символов");
|
||||
RuleFor(x => x.IdType).LessThan(1)
|
||||
.WithMessage("Id типа роли не может быть ниже 1");
|
||||
}
|
||||
}
|
||||
}
|
16
AsbCloudInfrastructure/Validators/WellDtoValidator.cs
Normal file
16
AsbCloudInfrastructure/Validators/WellDtoValidator.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class WellDtoValidator : AbstractValidator<WellDto>
|
||||
{
|
||||
public WellDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.Latitude).Must(lat => lat is <= 90 and >= -90)
|
||||
.WithMessage("Допустимые значения широты от -90 до 90");
|
||||
RuleFor(x => x.Longitude).Must(lat => lat is <= 180 and >= -180)
|
||||
.WithMessage("Допустимые значения долготы от -180 до 180");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using AsbCloudApp.Data;
|
||||
using FluentValidation;
|
||||
|
||||
namespace AsbCloudInfrastructure.Validators
|
||||
{
|
||||
public class WellOperationDtoValidator : AbstractValidator<WellOperationDto>
|
||||
{
|
||||
public WellOperationDtoValidator()
|
||||
{
|
||||
RuleFor(x => x.IdWell).LessThan(1)
|
||||
.WithMessage("Id скважины не может быть меньше 1");
|
||||
RuleFor(x => x.Comment).MaximumLength(400)
|
||||
.WithMessage("Комментарий не может быть длиннее 400 символов");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user