Browse Source

Merge branch 'dev' into maliming/ConcurrencyStamp

pull/4479/head
maliming 6 years ago
parent
commit
78c238a55c
  1. 5
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/DataAnnotations/AbpValidationAttributeAdapterProvider.cs
  2. 46
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/DataAnnotations/DynamicMaxLengthAttributeAdapter.cs
  3. 26
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GenerateProxyCommand.cs
  4. 39
      framework/src/Volo.Abp.Core/Volo/Abp/Validation/DynamicMaxLengthAttribute.cs
  5. 16
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Validation/ValidationTestController.cs
  6. 13
      framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Validation/ValidationTestController_Tests.cs
  7. 15
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/AuditLogActionConsts.cs
  8. 60
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/AuditLogConsts.cs
  9. 10
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/EntityChangeConsts.cs
  10. 20
      modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/EntityPropertyChangeConsts.cs
  11. 10
      modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain.Shared/Volo/Abp/BackgroundJobs/BackgroundJobRecordConsts.cs
  12. 5
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/DatabaseContainerConsts.cs
  13. 7
      modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Create.cshtml.cs
  14. 7
      modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Edit.cshtml.cs
  15. 5
      modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Files/BloggingWebConsts.cs
  16. 9
      modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Posts/CreatePostDto.cs
  17. 15
      modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Blogs/BlogConsts.cs
  18. 5
      modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Comments/CommentConsts.cs
  19. 30
      modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostConsts.cs
  20. 10
      modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Tagging/TagConsts.cs
  21. 9
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Edit.cshtml.cs
  22. 9
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml.cs
  23. 11
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/GetAllInput.cs
  24. 5
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/PullAllDocumentInput.cs
  25. 7
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/PullDocumentInput.cs
  26. 15
      modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Create.cshtml.cs
  27. 13
      modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Edit.cshtml.cs
  28. 7
      modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Pull.cshtml.cs
  29. 6
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDefaultDocumentInput.cs
  30. 7
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDocumentInput.cs
  31. 7
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDocumentResourceInput.cs
  32. 5
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetNavigationDocumentInput.cs
  33. 5
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetParametersDocumentInput.cs
  34. 53
      modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentConsts.cs
  35. 5
      modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Language/LanguageConsts.cs
  36. 41
      modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectConsts.cs
  37. 20
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/FeatureValueConsts.cs
  38. 15
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeConsts.cs
  39. 7
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleConsts.cs
  40. 6
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserClaimConsts.cs
  41. 9
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserConsts.cs
  42. 11
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserLoginConsts.cs
  43. 6
      modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserTokenConsts.cs
  44. 5
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientIdPRestrictionConsts.cs
  45. 5
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientPostLogoutRedirectUriConsts.cs
  46. 11
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientPropertyConsts.cs
  47. 5
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientRedirectUriConsts.cs
  48. 5
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientScopeConsts.cs
  49. 35
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Grants/PersistedGrantConsts.cs
  50. 17
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/IdentityResources/IdentityResourceConsts.cs
  51. 18
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/SecretConsts.cs
  52. 5
      modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/UserClaimConsts.cs
  53. 15
      modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/PermissionGrantConsts.cs
  54. 24
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingConsts.cs
  55. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/TenantCreateOrUpdateDtoBase.cs
  56. 10
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/TenantConnectionStringConsts.cs
  57. 5
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/TenantConsts.cs
  58. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs
  59. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/CreateModal.cshtml.cs
  60. 3
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/EditModal.cshtml.cs
  61. 15
      modules/users/src/Volo.Abp.Users.Domain.Shared/Volo/Abp/Users/AbpUserConsts.cs
  62. 7
      npm/ng-packs/apps/dev-app/src/app/home/home-routing.module.ts
  63. 5
      npm/ng-packs/packages/core/src/lib/models/application-configuration.ts
  64. 4
      npm/ng-packs/packages/theme-shared/src/lib/components/table/table.component.ts
  65. 21
      npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts
  66. 28
      npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts
  67. 3
      npm/package.json
  68. 2
      npm/packs/anchor-js/package.json
  69. 12
      npm/packs/aspnetcore.mvc.ui/package.json
  70. 2
      npm/packs/bootstrap-datepicker/package.json
  71. 2
      npm/packs/bootstrap/package.json
  72. 2
      npm/packs/chart.js/package.json
  73. 2
      npm/packs/clipboard/package.json
  74. 2
      npm/packs/codemirror/package.json
  75. 2
      npm/packs/datatables.net-bs4/package.json
  76. 2
      npm/packs/datatables.net/package.json
  77. 2
      npm/packs/flag-icon-css/package.json
  78. 2
      npm/packs/font-awesome/package.json
  79. 2
      npm/packs/jquery-form/package.json
  80. 2
      npm/packs/jquery-validation-unobtrusive/package.json
  81. 2
      npm/packs/jquery-validation/package.json
  82. 2
      npm/packs/jstree/package.json
  83. 2
      npm/packs/lodash/package.json
  84. 2
      npm/packs/luxon/package.json
  85. 2
      npm/packs/malihu-custom-scrollbar-plugin/package.json
  86. 2
      npm/packs/markdown-it/package.json
  87. 2
      npm/packs/owl.carousel/package.json
  88. 2
      npm/packs/popper.js/package.json
  89. 2
      npm/packs/prismjs/package.json
  90. 2
      npm/packs/select2/package.json
  91. 2
      npm/packs/sweetalert/package.json
  92. 2
      npm/packs/timeago/package.json
  93. 2
      npm/packs/toastr/package.json
  94. 2
      npm/packs/tui-editor/package.json
  95. 2
      npm/packs/uppy/package.json
  96. 28
      npm/packs/utils/package.json
  97. 4
      npm/preview-publish.ps1
  98. 4
      npm/publish.ps1
  99. 28
      npm/replace-with-tilde.js

5
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/DataAnnotations/AbpValidationAttributeAdapterProvider.cs

@ -22,6 +22,11 @@ namespace Volo.Abp.AspNetCore.Mvc.DataAnnotations
{
return new DynamicStringLengthAttributeAdapter((DynamicStringLengthAttribute) attribute, stringLocalizer);
}
if (type == typeof(DynamicMaxLengthAttribute))
{
return new DynamicMaxLengthAttributeAdapter((DynamicMaxLengthAttribute) attribute, stringLocalizer);
}
return _defaultAdapter.GetAttributeAdapter(attribute, stringLocalizer);
}

46
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/DataAnnotations/DynamicMaxLengthAttributeAdapter.cs

@ -0,0 +1,46 @@
using System.Globalization;
using Microsoft.AspNetCore.Mvc.DataAnnotations;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using Microsoft.Extensions.Localization;
using Volo.Abp.Validation;
namespace Volo.Abp.AspNetCore.Mvc.DataAnnotations
{
public class DynamicMaxLengthAttributeAdapter : AttributeAdapterBase<DynamicMaxLengthAttribute>
{
private readonly string _max;
public DynamicMaxLengthAttributeAdapter(
DynamicMaxLengthAttribute attribute,
IStringLocalizer stringLocalizer)
: base(attribute, stringLocalizer)
{
_max = Attribute.Length.ToString(CultureInfo.InvariantCulture);
}
public override string GetErrorMessage(ModelValidationContextBase validationContext)
{
Check.NotNull(validationContext, nameof(validationContext));
return GetErrorMessage(
validationContext.ModelMetadata,
validationContext.ModelMetadata.GetDisplayName(),
Attribute.Length
);
}
public override void AddValidation(ClientModelValidationContext context)
{
Check.NotNull(context, nameof(context));
MergeAttribute(context.Attributes, "data-val", "true");
MergeAttribute(context.Attributes, "data-val-maxlength", GetErrorMessage(context));
MergeAttribute(context.Attributes, "data-val-maxlength-max", _max);
if (Attribute.Length != int.MaxValue)
{
MergeAttribute(context.Attributes, "data-val-maxlength-max", _max);
}
}
}
}

26
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/GenerateProxyCommand.cs

@ -55,7 +55,7 @@ namespace Volo.Abp.Cli.Commands
var environment = JObject.Parse(environmentJson);
apiUrl = environment["apis"]["default"]["url"].ToString();
}
apiUrl += "/api/abp/api-definition?IncludeTypes=true";
apiUrl = apiUrl.EnsureEndsWith('/') + "api/abp/api-definition?IncludeTypes=true";
var uiFramework = GetUiFramework(commandLineArgs);
@ -469,17 +469,21 @@ namespace Volo.Abp.Cli.Commands
if (returnValueType.Contains("<"))
{
returnValueType = returnValueType.Split('<')[1].Split('>')[0];
var clrType = Type.GetType(returnValueType, throwOnError: false);
if (clrType != null && TypeHelper.IsPrimitiveExtended(clrType, includeEnums: true))
{
return null;
}
if (returnValueType.StartsWith("Volo.Abp.Application.Dtos")
|| returnValueType.StartsWith("System.Collections")
|| returnValueType == "System.String"
|| returnValueType == "System.Void"
|| returnValueType.Contains("System.Net.HttpStatusCode?")
|| returnValueType.Contains("IActionResult")
|| returnValueType.Contains("ActionResult")
|| returnValueType.Contains("IStringValueType")
|| returnValueType.Contains("IValueValidator")
|| returnValueType.Contains("Guid")
)
|| returnValueType.StartsWith("System.Collections")
|| returnValueType == "System.Void"
|| returnValueType.Contains("System.Net.HttpStatusCode?")
|| returnValueType.Contains("IActionResult")
|| returnValueType.Contains("ActionResult")
|| returnValueType.Contains("IStringValueType")
|| returnValueType.Contains("IValueValidator")
)
{
return null;
}

39
framework/src/Volo.Abp.Core/Volo/Abp/Validation/DynamicMaxLengthAttribute.cs

@ -0,0 +1,39 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.Reflection;
using JetBrains.Annotations;
namespace Volo.Abp.Validation
{
public class DynamicMaxLengthAttribute : MaxLengthAttribute
{
private static readonly FieldInfo MaximumLengthField;
static DynamicMaxLengthAttribute()
{
MaximumLengthField = typeof(MaxLengthAttribute).GetField(
"<Length>k__BackingField",
BindingFlags.Instance | BindingFlags.NonPublic
);
Debug.Assert(MaximumLengthField != null, nameof(MaximumLengthField) + " != null");
}
public DynamicMaxLengthAttribute(
[NotNull] Type sourceType,
[CanBeNull] string maximumLengthPropertyName)
{
Check.NotNull(sourceType, nameof(sourceType));
if (maximumLengthPropertyName != null)
{
var maximumLengthProperty = sourceType.GetProperty(
maximumLengthPropertyName,
BindingFlags.Static | BindingFlags.Public
);
Debug.Assert(maximumLengthProperty != null, nameof(maximumLengthProperty) + " != null");
MaximumLengthField.SetValue(this, (int) maximumLengthProperty.GetValue(null));
}
}
}
}

16
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Validation/ValidationTestController.cs

@ -50,13 +50,23 @@ namespace Volo.Abp.AspNetCore.Mvc.Validation
public class ValidationDynamicTestModel
{
[DynamicStringLength(typeof(Consts), nameof(Consts.MaxValue2Length), nameof(Consts.MinValue2Length))]
[DynamicStringLength(typeof(Consts), nameof(Consts.MaxValue1Length), nameof(Consts.MinValue1Length))]
public string Value1 { get; set; }
[DynamicMaxLength(typeof(Consts), nameof(Consts.MaxValue2Length))]
public string Value2 { get; set; }
[DynamicMaxLength(typeof(Consts), nameof(Consts.MaxValue3Length))]
public int[] Value3 { get; set; }
public static class Consts
{
public static int MinValue2Length { get; set; } = 2;
public static int MaxValue2Length { get; set; } = 7;
public static int MinValue1Length { get; set; } = 2;
public static int MaxValue1Length { get; set; } = 7;
public static int MaxValue2Length { get; set; } = 4;
public static int MaxValue3Length { get; set; } = 2;
}
}

13
framework/test/Volo.Abp.AspNetCore.Mvc.Tests/Volo/Abp/AspNetCore/Mvc/Validation/ValidationTestController_Tests.cs

@ -61,17 +61,24 @@ namespace Volo.Abp.AspNetCore.Mvc.Validation
[Fact]
public async Task Should_Validate_Dynamic_Length_Object_Result_Success()
{
var result = await GetResponseAsStringAsync("/api/validation-test/object-result-action-dynamic-length?value1=hello");
var result = await GetResponseAsStringAsync("/api/validation-test/object-result-action-dynamic-length?value1=hello&value3[0]=53&value3[1]=54");
result.ShouldBe("hello");
}
[Fact]
public async Task Should_Validate_Dynamic_Length_Object_Result_Failing()
{
var result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action-dynamic-length?value1=a", HttpStatusCode.BadRequest); //value1 has min length of 2 chars.
var result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action-dynamic-length?value1=a", HttpStatusCode.BadRequest); //value1 has min string length of 2 chars.
result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0);
result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action-dynamic-length?value1=12345678", HttpStatusCode.BadRequest); //value1 has max string length of 7 chars.
result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0);
result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action-dynamic-length?value1=123458&value2=12345", HttpStatusCode.BadRequest); //value2 has max length of 5 chars.
result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0);
result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action-dynamic-length?value1=12345678", HttpStatusCode.BadRequest); //value1 has max length of 7 chars.
result = await GetResponseAsObjectAsync<RemoteServiceErrorResponse>("/api/validation-test/object-result-action-dynamic-length?value1=123458&value3[0]=53&value3[1]=54&value3[2]=55&value3[3]=56", HttpStatusCode.BadRequest); //value3 has max length of 2.
result.Error.ValidationErrors.Length.ShouldBeGreaterThan(0);
}
}

15
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/AuditLogActionConsts.cs

@ -2,10 +2,19 @@
{
public class AuditLogActionConsts
{
public const int MaxServiceNameLength = 256;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxServiceNameLength { get; set; } = 256;
public const int MaxMethodNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxMethodNameLength { get; set; } = 128;
public const int MaxParametersLength = 2000;
/// <summary>
/// Default value: 2000
/// </summary>
public static int MaxParametersLength { get; set; } = 2000;
}
}

60
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/AuditLogConsts.cs

@ -2,31 +2,67 @@
{
public static class AuditLogConsts
{
public const int MaxApplicationNameLength = 96;
/// <summary>
/// Default value: 96
/// </summary>
public static int MaxApplicationNameLength { get; set; } = 96;
public const int MaxClientIpAddressLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxClientIpAddressLength { get; set; } = 64;
public const int MaxClientNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxClientNameLength { get; set; } = 128;
public const int MaxClientIdLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxClientIdLength { get; set; } = 64;
public const int MaxCorrelationIdLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxCorrelationIdLength { get; set; } = 64;
public const int MaxBrowserInfoLength = 512;
/// <summary>
/// Default value: 512
/// </summary>
public static int MaxBrowserInfoLength { get; set; } = 512;
public const int MaxExceptionsLength = 4000;
/// <summary>
/// Default value: 4000
/// </summary>
public static int MaxExceptionsLength { get; set; } = 4000;
//TODO: Replace with MaxExceptionsLength in v3.0
public static int MaxExceptionsLengthValue { get; set; } = MaxExceptionsLength;
public const int MaxCommentsLength = 256;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxCommentsLength { get; set; } = 256;
public const int MaxUrlLength = 256;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxUrlLength { get; set; } = 256;
public const int MaxHttpMethodLength = 16;
/// <summary>
/// Default value: 16
/// </summary>
public static int MaxHttpMethodLength { get; set; } = 16;
public const int MaxUserNameLength = 256;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxUserNameLength { get; set; } = 256;
public const int MaxTenantNameLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxTenantNameLength { get; set; } = 64;
}
}

10
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/EntityChangeConsts.cs

@ -2,8 +2,14 @@
{
public class EntityChangeConsts
{
public const int MaxEntityTypeFullNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxEntityTypeFullNameLength { get; set; } = 128;
public const int MaxEntityIdLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxEntityIdLength { get; set; } = 128;
}
}

20
modules/audit-logging/src/Volo.Abp.AuditLogging.Domain.Shared/Volo/Abp/AuditLogging/EntityPropertyChangeConsts.cs

@ -2,12 +2,24 @@
{
public class EntityPropertyChangeConsts
{
public const int MaxNewValueLength = 512;
/// <summary>
/// Default value: 512
/// </summary>
public static int MaxNewValueLength { get; set; } = 512;
public const int MaxOriginalValueLength = 512;
/// <summary>
/// Default value: 512
/// </summary>
public static int MaxOriginalValueLength { get; set; } = 512;
public const int MaxPropertyNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxPropertyNameLength { get; set; } = 128;
public const int MaxPropertyTypeFullNameLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxPropertyTypeFullNameLength { get; set; } = 64;
}
}

10
modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain.Shared/Volo/Abp/BackgroundJobs/BackgroundJobRecordConsts.cs

@ -2,8 +2,14 @@
{
public static class BackgroundJobRecordConsts
{
public const int MaxJobNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxJobNameLength { get; set; } = 128;
public const int MaxJobArgsLength = 1024 * 1024;
/// <summary>
/// Default value: 1024 * 1024
/// </summary>
public static int MaxJobArgsLength { get; set; } = 1024 * 1024;
}
}

5
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/DatabaseContainerConsts.cs

@ -2,6 +2,9 @@
{
public static class DatabaseContainerConsts
{
public const int MaxNameLength = 128;
/// <summary>
/// Default value: 128.
/// </summary>
public static int MaxNameLength { get; set; } = 128;
}
}

7
modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Create.cshtml.cs

@ -2,6 +2,7 @@ using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Validation;
using Volo.Blogging.Admin.Blogs;
using Volo.Blogging.Blogs;
@ -44,14 +45,14 @@ namespace Volo.Blogging.Admin.Pages.Blogging.Admin.Blogs
public class BlogCreateModalView
{
[Required]
[StringLength(BlogConsts.MaxNameLength)]
[DynamicStringLength(typeof(BlogConsts), nameof(BlogConsts.MaxNameLength))]
public string Name { get; set; }
[Required]
[StringLength(BlogConsts.MaxShortNameLength)]
[DynamicStringLength(typeof(BlogConsts), nameof(BlogConsts.MaxShortNameLength))]
public string ShortName { get; set; }
[StringLength(BlogConsts.MaxDescriptionLength)]
[DynamicStringLength(typeof(BlogConsts), nameof(BlogConsts.MaxDescriptionLength))]
public string Description { get; set; }
}

7
modules/blogging/src/Volo.Blogging.Admin.Web/Pages/Blogging/Admin/Blogs/Edit.cshtml.cs

@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Validation;
using Volo.Blogging.Admin.Blogs;
using Volo.Blogging.Blogs;
@ -58,14 +59,14 @@ namespace Volo.Blogging.Admin.Pages.Blogging.Admin.Blogs
public Guid Id { get; set; }
[Required]
[StringLength(BlogConsts.MaxNameLength)]
[DynamicStringLength(typeof(BlogConsts), nameof(BlogConsts.MaxNameLength))]
public string Name { get; set; }
[Required]
[StringLength(BlogConsts.MaxShortNameLength)]
[DynamicStringLength(typeof(BlogConsts), nameof(BlogConsts.MaxShortNameLength))]
public string ShortName { get; set; }
[StringLength(BlogConsts.MaxDescriptionLength)]
[DynamicStringLength(typeof(BlogConsts), nameof(BlogConsts.MaxDescriptionLength))]
public string Description { get; set; }
}
}

5
modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Files/BloggingWebConsts.cs

@ -6,7 +6,10 @@ namespace Volo.Blogging
{
public class FileUploading
{
public const int MaxFileSize = 5242880; //5MB
/// <summary>
/// Default value: 5242880
/// </summary>
public static int MaxFileSize { get; set; } = 5242880; //5MB
public static int MaxFileSizeAsMegabytes => Convert.ToInt32((MaxFileSize / 1024f) / 1024f);
}

9
modules/blogging/src/Volo.Blogging.Application.Contracts/Volo/Blogging/Posts/CreatePostDto.cs

@ -1,5 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
namespace Volo.Blogging.Posts
{
@ -8,22 +9,22 @@ namespace Volo.Blogging.Posts
public Guid BlogId { get; set; }
[Required]
[StringLength(PostConsts.MaxTitleLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxTitleLength))]
public string Title { get; set; }
[Required]
public string CoverImage { get; set; }
[Required]
[StringLength(PostConsts.MaxUrlLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxUrlLength))]
public string Url { get; set; }
[StringLength(PostConsts.MaxContentLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxContentLength))]
public string Content { get; set; }
public string Tags { get; set; }
[StringLength(PostConsts.MaxDescriptionLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxDescriptionLength))]
public string Description { get; set; }
}

15
modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Blogs/BlogConsts.cs

@ -2,10 +2,19 @@
{
public static class BlogConsts
{
public const int MaxNameLength = 256;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxNameLength { get; set; } = 256;
public const int MaxShortNameLength = 32;
/// <summary>
/// Default value: 32
/// </summary>
public static int MaxShortNameLength { get; set; } = 32;
public const int MaxDescriptionLength = 1024;
/// <summary>
/// Default value: 1024
/// </summary>
public static int MaxDescriptionLength { get; set; } = 1024;
}
}

5
modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Comments/CommentConsts.cs

@ -2,6 +2,9 @@
{
public class CommentConsts
{
public const int MaxTextLength = 1024;
/// <summary>
/// Default value: 1024
/// </summary>
public static int MaxTextLength { get; set; } = 1024;
}
}

30
modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostConsts.cs

@ -2,16 +2,34 @@
{
public static class PostConsts
{
public const int MaxTitleLength = 512;
/// <summary>
/// Default value: 512
/// </summary>
public static int MaxTitleLength { get; set; } = 512;
public const int MaxUrlLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxUrlLength { get; set; } = 64;
public const int MaxContentLength = 1024 * 1024; //1MB
/// <summary>
/// Default value: 1024 * 1024
/// </summary>
public static int MaxContentLength { get; set; } = 1024 * 1024; //1MB
public const int MaxDescriptionLength = 1000;
/// <summary>
/// Default value: 1000
/// </summary>
public static int MaxDescriptionLength { get; set; } = 1000;
public const int MaxTitleLengthToBeSeoFriendly = 60;
/// <summary>
/// Default value: 60
/// </summary>
public static int MaxTitleLengthToBeSeoFriendly { get; set; } = 60;
public const int MaxSeoFriendlyDescriptionLength = 200;
/// <summary>
/// Default value: 200
/// </summary>
public static int MaxSeoFriendlyDescriptionLength { get; set; } = 200;
}
}

10
modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Tagging/TagConsts.cs

@ -2,8 +2,14 @@
{
public class TagConsts
{
public const int MaxNameLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxNameLength { get; set; } = 64;
public const int MaxDescriptionLength = 512;
/// <summary>
/// Default value: 512
/// </summary>
public static int MaxDescriptionLength { get; set; } = 512;
}
}

9
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Edit.cshtml.cs

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Validation;
using Volo.Blogging.Blogs;
using Volo.Blogging.Pages.Blogs.Shared.Helpers;
using Volo.Blogging.Posts;
@ -85,7 +86,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
public Guid BlogId { get; set; }
[Required]
[StringLength(PostConsts.MaxTitleLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxTitleLength))]
public string Title { get; set; }
[Required]
@ -93,14 +94,14 @@ namespace Volo.Blogging.Pages.Blog.Posts
public string CoverImage { get; set; }
[Required]
[StringLength(PostConsts.MaxUrlLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxUrlLength))]
public string Url { get; set; }
[HiddenInput]
[StringLength(PostConsts.MaxContentLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxContentLength))]
public string Content { get; set; }
[StringLength(PostConsts.MaxDescriptionLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxDescriptionLength))]
public string Description { get; set; }
public string Tags { get; set; }

9
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml.cs

@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Validation;
using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos;
using Volo.Blogging.Pages.Blogs.Shared.Helpers;
@ -79,7 +80,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
public Guid BlogId { get; set; }
[Required]
[StringLength(PostConsts.MaxTitleLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxTitleLength))]
public string Title { get; set; }
[Required]
@ -87,16 +88,16 @@ namespace Volo.Blogging.Pages.Blog.Posts
public string CoverImage { get; set; }
[Required]
[StringLength(PostConsts.MaxUrlLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxUrlLength))]
public string Url { get; set; }
[HiddenInput]
[StringLength(PostConsts.MaxContentLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxContentLength))]
public string Content { get; set; }
public string Tags { get; set; }
[StringLength(PostConsts.MaxDescriptionLength)]
[DynamicStringLength(typeof(PostConsts), nameof(PostConsts.MaxDescriptionLength))]
public string Description { get; set; }
}

11
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/GetAllInput.cs

@ -1,6 +1,7 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Validation;
using Volo.Docs.Documents;
namespace Volo.Docs.Admin.Documents
@ -9,19 +10,19 @@ namespace Volo.Docs.Admin.Documents
{
public Guid? ProjectId { get; set; }
[StringLength(DocumentConsts.MaxNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxNameLength))]
public string Name { get; set; }
[StringLength(DocumentConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxVersionNameLength))]
public string Version { get; set; }
[StringLength(DocumentConsts.MaxLanguageCodeNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxLanguageCodeNameLength))]
public string LanguageCode { get; set; }
[StringLength(DocumentConsts.MaxFileNameNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxFileNameNameLength))]
public string FileName { get; set; }
[StringLength(DocumentConsts.MaxFormatNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxFormatNameLength))]
public string Format { get; set; }
public DateTime? CreationTimeMin { get; set; }

5
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/PullAllDocumentInput.cs

@ -1,5 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.Docs.Documents;
namespace Volo.Docs.Admin.Documents
@ -8,10 +9,10 @@ namespace Volo.Docs.Admin.Documents
{
public Guid ProjectId { get; set; }
[StringLength(DocumentConsts.MaxLanguageCodeNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxLanguageCodeNameLength))]
public string LanguageCode { get; set; }
[StringLength(DocumentConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxVersionNameLength))]
public string Version { get; set; }
}
}

7
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Documents/PullDocumentInput.cs

@ -1,5 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.Docs.Documents;
namespace Volo.Docs.Admin.Documents
@ -8,13 +9,13 @@ namespace Volo.Docs.Admin.Documents
{
public Guid ProjectId { get; set; }
[StringLength(DocumentConsts.MaxNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxNameLength))]
public string Name { get; set; }
[StringLength(DocumentConsts.MaxLanguageCodeNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxLanguageCodeNameLength))]
public string LanguageCode { get; set; }
[StringLength(DocumentConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxVersionNameLength))]
public string Version { get; set; }
}
}

15
modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Create.cshtml.cs

@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc.Rendering;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Validation;
using Volo.Docs.Admin.Projects;
using Volo.Docs.Projects;
@ -70,11 +71,11 @@ namespace Volo.Docs.Admin.Pages.Docs.Admin.Projects
public abstract class CreateProjectViewModelBase
{
[Required]
[StringLength(ProjectConsts.MaxNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxNameLength))]
public string Name { get; set; }
[Required]
[StringLength(ProjectConsts.MaxShortNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxShortNameLength))]
[InputInfoText("ShortNameInfoText")]
public string ShortName { get; set; }
@ -82,21 +83,21 @@ namespace Volo.Docs.Admin.Pages.Docs.Admin.Projects
[SelectItems(nameof(FormatTypes))]
public string Format { get; set; }
[StringLength(ProjectConsts.MaxDefaultDocumentNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxDefaultDocumentNameLength))]
public string DefaultDocumentName { get; set; } = "Index";
[StringLength(ProjectConsts.MaxNavigationDocumentNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxNavigationDocumentNameLength))]
public string NavigationDocumentName { get; set; } = "docs-nav.json";
[StringLength(ProjectConsts.MaxParametersDocumentNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxParametersDocumentNameLength))]
public string ParametersDocumentName { get; set; } = "docs-params.json";
[StringLength(ProjectConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxVersionNameLength))]
public string MinimumVersion { get; set; }
public string MainWebsiteUrl { get; set; }
[StringLength(ProjectConsts.MaxLatestVersionBranchNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxLatestVersionBranchNameLength))]
public string LatestVersionBranchName { get; set; }
[HiddenInput]

13
modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Edit.cshtml.cs

@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc.Rendering;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Validation;
using Volo.Docs.Admin.Projects;
using Volo.Docs.Projects;
@ -83,28 +84,28 @@ namespace Volo.Docs.Admin.Pages.Docs.Admin.Projects
public Guid Id { get; set; }
[Required]
[StringLength(ProjectConsts.MaxNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxNameLength))]
public string Name { get; set; }
[Required]
[SelectItems(nameof(FormatTypes))]
public string Format { get; set; }
[StringLength(ProjectConsts.MaxDefaultDocumentNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxDefaultDocumentNameLength))]
public string DefaultDocumentName { get; set; }
[StringLength(ProjectConsts.MaxNavigationDocumentNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxNavigationDocumentNameLength))]
public string NavigationDocumentName { get; set; }
[StringLength(ProjectConsts.MaxParametersDocumentNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxParametersDocumentNameLength))]
public string ParametersDocumentName { get; set; }
[StringLength(ProjectConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxVersionNameLength))]
public string MinimumVersion { get; set; }
public string MainWebsiteUrl { get; set; }
[StringLength(ProjectConsts.MaxLatestVersionBranchNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxLatestVersionBranchNameLength))]
public string LatestVersionBranchName { get; set; }
}

7
modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Pull.cshtml.cs

@ -2,6 +2,7 @@ using System;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Validation;
using Volo.Docs.Admin.Documents;
using Volo.Docs.Admin.Projects;
using Volo.Docs.Documents;
@ -60,15 +61,15 @@ namespace Volo.Docs.Admin.Pages.Docs.Admin.Projects
public bool All { get; set; }
[Required]
[StringLength(DocumentConsts.MaxNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxNameLength))]
public string Name { get; set; }
[Required]
[StringLength(DocumentConsts.MaxLanguageCodeNameLength)]
[DynamicStringLength(typeof(DocumentConsts),nameof(DocumentConsts.MaxLanguageCodeNameLength))]
public string LanguageCode { get; set; }
[Required]
[StringLength(DocumentConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxVersionNameLength))]
public string Version { get; set; }
}
}

6
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDefaultDocumentInput.cs

@ -1,5 +1,7 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.Runtime.CompilerServices;
using Volo.Abp.Validation;
using Volo.Docs.Language;
using Volo.Docs.Projects;
@ -9,11 +11,11 @@ namespace Volo.Docs.Documents
{
public Guid ProjectId { get; set; }
[StringLength(ProjectConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxVersionNameLength))]
public string Version { get; set; }
[Required]
[StringLength(LanguageConsts.MaxLanguageCodeLength)]
[DynamicStringLength(typeof(LanguageConsts), nameof(LanguageConsts.MaxLanguageCodeLength))]
public string LanguageCode { get; set; }
}
}

7
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDocumentInput.cs

@ -1,5 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.Docs.Language;
using Volo.Docs.Projects;
@ -10,14 +11,14 @@ namespace Volo.Docs.Documents
public Guid ProjectId { get; set; }
[Required]
[StringLength(DocumentConsts.MaxNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxNameLength))]
public string Name { get; set; }
[StringLength(ProjectConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxVersionNameLength))]
public string Version { get; set; }
[Required]
[StringLength(LanguageConsts.MaxLanguageCodeLength)]
[DynamicStringLength(typeof(LanguageConsts), nameof(LanguageConsts.MaxLanguageCodeLength))]
public string LanguageCode { get; set; }
}
}

7
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetDocumentResourceInput.cs

@ -1,5 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.Docs.Language;
using Volo.Docs.Projects;
@ -10,14 +11,14 @@ namespace Volo.Docs.Documents
public Guid ProjectId { get; set; }
[Required]
[StringLength(DocumentConsts.MaxNameLength)]
[DynamicStringLength(typeof(DocumentConsts), nameof(DocumentConsts.MaxNameLength))]
public string Name { get; set; }
[StringLength(ProjectConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxVersionNameLength))]
public string Version { get; set; }
[Required]
[StringLength(LanguageConsts.MaxLanguageCodeLength)]
[DynamicStringLength(typeof(LanguageConsts), nameof(LanguageConsts.MaxLanguageCodeLength))]
public string LanguageCode { get; set; }
}
}

5
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetNavigationDocumentInput.cs

@ -1,5 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.Docs.Language;
using Volo.Docs.Projects;
@ -9,11 +10,11 @@ namespace Volo.Docs.Documents
{
public Guid ProjectId { get; set; }
[StringLength(ProjectConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxVersionNameLength))]
public string Version { get; set; }
[Required]
[StringLength(LanguageConsts.MaxLanguageCodeLength)]
[DynamicStringLength(typeof(LanguageConsts), nameof(LanguageConsts.MaxLanguageCodeLength))]
public string LanguageCode { get; set; }
}
}

5
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/GetParametersDocumentInput.cs

@ -1,5 +1,6 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Validation;
using Volo.Docs.Language;
using Volo.Docs.Projects;
@ -9,11 +10,11 @@ namespace Volo.Docs.Documents
{
public Guid ProjectId { get; set; }
[StringLength(ProjectConsts.MaxVersionNameLength)]
[DynamicStringLength(typeof(ProjectConsts), nameof(ProjectConsts.MaxVersionNameLength))]
public string Version { get; set; }
[Required]
[StringLength(LanguageConsts.MaxLanguageCodeLength)]
[DynamicStringLength(typeof(LanguageConsts), nameof(LanguageConsts.MaxLanguageCodeLength))]
public string LanguageCode { get; set; }
}
}

53
modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentConsts.cs

@ -2,14 +2,49 @@
{
public static class DocumentConsts
{
public const int MaxNameLength = 255;
public const int MaxVersionNameLength = 128;
public const int MaxLanguageCodeNameLength = 128;
public const int MaxFileNameNameLength = 128;
public const int MaxFormatNameLength = 128;
public const int MaxEditLinkLength = 2048;
public const int MaxRootUrlLength = 2048;
public const int MaxRawRootUrlLength = 2048;
public const int MaxLocalDirectoryLength = 512;
/// <summary>
/// Default value: 255
/// </summary>
public static int MaxNameLength { get; set; } = 255;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxVersionNameLength { get; set; } = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxLanguageCodeNameLength { get; set; } = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxFileNameNameLength { get; set; } = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxFormatNameLength { get; set; } = 128;
/// <summary>
/// Default value: 2048
/// </summary>
public static int MaxEditLinkLength { get; set; } = 2048;
/// <summary>
/// Default value: 2048
/// </summary>
public static int MaxRootUrlLength { get; set; } = 2048;
/// <summary>
/// Default value: 2048
/// </summary>
public static int MaxRawRootUrlLength { get; set; } = 2048;
/// <summary>
/// Default value: 512
/// </summary>
public static int MaxLocalDirectoryLength { get; set; } = 512;
}
}

5
modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Language/LanguageConsts.cs

@ -3,6 +3,9 @@ namespace Volo.Docs.Language
{
public static class LanguageConsts
{
public const int MaxLanguageCodeLength = 10;
/// <summary>
/// Default value: 10
/// </summary>
public static int MaxLanguageCodeLength { get; set; } = 10;
}
}

41
modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectConsts.cs

@ -2,12 +2,39 @@
{
public static class ProjectConsts
{
public const int MaxNameLength = 128;
public const int MaxShortNameLength = 32;
public const int MaxDefaultDocumentNameLength = 128;
public const int MaxNavigationDocumentNameLength = 128;
public const int MaxParametersDocumentNameLength = 128;
public const int MaxLatestVersionBranchNameLength = 128;
public const int MaxVersionNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxNameLength { get; set; } = 128;
/// <summary>
/// Default value: 32
/// </summary>
public static int MaxShortNameLength { get; set; } = 32;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxDefaultDocumentNameLength { get; set; } = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxNavigationDocumentNameLength { get; set; } = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxParametersDocumentNameLength { get; set; } = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxLatestVersionBranchNameLength { get; set; } = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxVersionNameLength { get; set; } = 128;
}
}

20
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/FeatureValueConsts.cs

@ -2,12 +2,24 @@
{
public static class FeatureValueConsts
{
public const int MaxNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxNameLength { get; set;} = 128;
public const int MaxProviderNameLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxProviderNameLength { get; set;} = 64;
public const int MaxProviderKeyLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxProviderKeyLength { get; set;} = 64;
public const int MaxValueLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxValueLength { get; set;} = 128;
}
}

15
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeConsts.cs

@ -2,9 +2,24 @@
{
public class IdentityClaimTypeConsts
{
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxNameLength { get; set; } = 256;
/// <summary>
/// Default value: 512
/// </summary>
public static int MaxRegexLength { get; set; } = 512;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxRegexDescriptionLength { get; set; } = 128;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxDescriptionLength { get; set; } = 256;
}
}

7
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleConsts.cs

@ -2,7 +2,14 @@
{
public static class IdentityRoleConsts
{
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxNameLength { get; set; } = 256;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxNormalizedNameLength { get; set; } = 256;
}
}

6
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserClaimConsts.cs

@ -2,8 +2,14 @@
{
public static class IdentityUserClaimConsts
{
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxClaimTypeLength { get; set; } = 256;
/// <summary>
/// Default value: 1024
/// </summary>
public static int MaxClaimValueLength { get; set; } = 1024;
}
}

9
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserConsts.cs

@ -18,10 +18,19 @@ namespace Volo.Abp.Identity
public static int MaxPhoneNumberLength { get; set; } = AbpUserConsts.MaxPhoneNumberLength;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxPasswordLength { get; set; } = 128;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxPasswordHashLength { get; set; } = 256;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxSecurityStampLength { get; set; } = 256;
}
}

11
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserLoginConsts.cs

@ -2,8 +2,19 @@
{
public static class IdentityUserLoginConsts
{
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxLoginProviderLength { get; set; } = 64;
/// <summary>
/// Default value: 196
/// </summary>
public static int MaxProviderKeyLength { get; set; } = 196;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxProviderDisplayNameLength { get; set; } = 128;
}
}

6
modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserTokenConsts.cs

@ -2,8 +2,14 @@
{
public static class IdentityUserTokenConsts
{
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxLoginProviderLength { get; set; } = 64;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxNameLength { get; set; } = 128;
}
}

5
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientIdPRestrictionConsts.cs

@ -2,6 +2,9 @@
{
public class ClientIdPRestrictionConsts
{
public const int ProviderMaxLength = 200;
/// <summary>
/// Default value: 200
/// </summary>
public static int ProviderMaxLength { get; set; } = 200;
}
}

5
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientPostLogoutRedirectUriConsts.cs

@ -2,7 +2,10 @@
{
public class ClientPostLogoutRedirectUriConsts
{
public const int PostLogoutRedirectUriMaxLength = 2000;
/// <summary>
/// Default value: 200
/// </summary>
public static int PostLogoutRedirectUriMaxLength { get; set; } = 2000;
public static int PostLogoutRedirectUriMaxLengthValue { get; set; } = 2000;
}
}

11
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientPropertyConsts.cs

@ -2,7 +2,14 @@
{
public class ClientPropertyConsts
{
public const int KeyMaxLength = 250;
public const int ValueMaxLength = 2000;
/// <summary>
/// Default value: 250
/// </summary>
public static int KeyMaxLength { get; set; } = 250;
/// <summary>
/// Default value: 2000
/// </summary>
public static int ValueMaxLength { get; set; } = 2000;
}
}

5
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientRedirectUriConsts.cs

@ -2,7 +2,10 @@
{
public class ClientRedirectUriConsts
{
public const int RedirectUriMaxLength = 2000;
/// <summary>
/// Default value: 2000
/// </summary>
public static int RedirectUriMaxLength { get; set; } = 2000;
public static int RedirectUriMaxLengthValue { get; set; } = 2000;
}
}

5
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Clients/ClientScopeConsts.cs

@ -2,6 +2,9 @@
{
public class ClientScopeConsts
{
public const int ScopeMaxLength = 200;
/// <summary>
/// Default value: 200
/// </summary>
public static int ScopeMaxLength { get; set; } = 200;
}
}

35
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Grants/PersistedGrantConsts.cs

@ -2,11 +2,34 @@
{
public class PersistedGrantConsts
{
public const int KeyMaxLength = 200;
public const int TypeMaxLength = 50;
public const int SubjectIdMaxLength = 200;
public const int ClientIdMaxLength = 200;
public const int DataMaxLength = 50000;
public static int DataMaxLengthValue { get; set; }= 50000;
/// <summary>
/// Default value: 200
/// </summary>
public static int KeyMaxLength { get; set; } = 200;
/// <summary>
/// Default value: 50
/// </summary>
public static int TypeMaxLength { get; set; } = 50;
/// <summary>
/// Default value: 200
/// </summary>
public static int SubjectIdMaxLength { get; set; } = 200;
/// <summary>
/// Default value: 200
/// </summary>
public static int ClientIdMaxLength { get; set; } = 200;
/// <summary>
/// Default value: 50000
/// </summary>
public static int DataMaxLength { get; set; } = 50000;
/// <summary>
/// Default value: 50000
/// </summary>
public static int DataMaxLengthValue { get; set; } = 50000;
}
}

17
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/IdentityResources/IdentityResourceConsts.cs

@ -2,8 +2,19 @@
{
public class IdentityResourceConsts
{
public const int NameMaxLength = 200;
public const int DisplayNameMaxLength = 200;
public const int DescriptionMaxLength = 1000;
/// <summary>
/// Default value: 200
/// </summary>
public static int NameMaxLength { get; set; } = 200;
/// <summary>
/// Default value: 200
/// </summary>
public static int DisplayNameMaxLength { get; set; } = 200;
/// <summary>
/// Default value: 200
/// </summary>
public static int DescriptionMaxLength { get; set; } = 1000;
}
}

18
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/SecretConsts.cs

@ -2,9 +2,21 @@
{
public class SecretConsts
{
public const int TypeMaxLength = 250;
public const int ValueMaxLength = 4000;
/// <summary>
/// Default value: 250
/// </summary>
public static int TypeMaxLength { get; set; } = 250;
/// <summary>
/// Default value: 4000
/// </summary>
public static int ValueMaxLength { get; set; } = 4000;
public static int ValueMaxLengthValue { get; set; } = ValueMaxLength;
public const int DescriptionMaxLength = 2000;
/// <summary>
/// Default value: 2000
/// </summary>
public static int DescriptionMaxLength { get; set; } = 2000;
}
}

5
modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/UserClaimConsts.cs

@ -2,6 +2,9 @@
{
public class UserClaimConsts
{
public const int TypeMaxLength = 200;
/// <summary>
/// Default value: 200
/// </summary>
public static int TypeMaxLength { get; set; } = 200;
}
}

15
modules/permission-management/src/Volo.Abp.PermissionManagement.Domain.Shared/Volo/Abp/PermissionManagement/PermissionGrantConsts.cs

@ -2,10 +2,19 @@
{
public static class PermissionGrantConsts
{
public const int MaxNameLength = 128;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxNameLength { get; set; } = 128;
public const int MaxProviderNameLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxProviderNameLength { get; set; } = 64;
public const int MaxProviderKeyLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxProviderKeyLength { get; set; } = 64;
}
}

24
modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingConsts.cs

@ -2,10 +2,26 @@
{
public static class SettingConsts
{
public const int MaxNameLength = 128;
public const int MaxValueLength = 2048;
/// <summary>
/// Default value: 128
/// </summary>
public static int MaxNameLength { get; set; } = 128;
/// <summary>
/// Default value: 2048
/// </summary>
public static int MaxValueLength { get; set; } = 2048;
public static int MaxValueLengthValue { get; set; } = MaxValueLength;
public const int MaxProviderNameLength = 64;
public const int MaxProviderKeyLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxProviderNameLength { get; set; } = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxProviderKeyLength { get; set; } = 64;
}
}

3
modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/TenantCreateOrUpdateDtoBase.cs

@ -1,12 +1,13 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.ObjectExtending;
using Volo.Abp.Validation;
namespace Volo.Abp.TenantManagement
{
public abstract class TenantCreateOrUpdateDtoBase : ExtensibleObject
{
[Required]
[StringLength(TenantConsts.MaxNameLength)]
[DynamicStringLength(typeof(TenantConsts), nameof(TenantConsts.MaxNameLength))]
public string Name { get; set; }
}
}

10
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/TenantConnectionStringConsts.cs

@ -2,8 +2,14 @@
{
public static class TenantConnectionStringConsts
{
public const int MaxNameLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxNameLength { get; set; } = 64;
public const int MaxValueLength = 1024;
/// <summary>
/// Default value: 1024
/// </summary>
public static int MaxValueLength { get; set; } = 1024;
}
}

5
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/TenantConsts.cs

@ -2,6 +2,9 @@
{
public static class TenantConsts
{
public const int MaxNameLength = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxNameLength { get; set; } = 64;
}
}

3
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs

@ -2,6 +2,7 @@ using System;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Validation;
namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
{
@ -53,7 +54,7 @@ namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
public bool UseSharedDatabase { get; set; }
[StringLength(TenantConnectionStringConsts.MaxValueLength)]
[DynamicStringLength(typeof(TenantConnectionStringConsts), nameof(TenantConnectionStringConsts.MaxValueLength))]
public string DefaultConnectionString { get; set; }
}
}

3
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/CreateModal.cshtml.cs

@ -1,6 +1,7 @@
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Validation;
namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
{
@ -34,7 +35,7 @@ namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
public class TenantInfoModel
{
[Required]
[StringLength(TenantConsts.MaxNameLength)]
[DynamicStringLength(typeof(TenantConsts), nameof(TenantConsts.MaxNameLength))]
public string Name { get; set; }
[Required]

3
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/EditModal.cshtml.cs

@ -2,6 +2,7 @@ using System;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Validation;
namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
{
@ -42,7 +43,7 @@ namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
public Guid Id { get; set; }
[Required]
[StringLength(TenantConsts.MaxNameLength)]
[DynamicStringLength(typeof(TenantConsts), nameof(TenantConsts.MaxNameLength))]
[Display(Name = "DisplayName:TenantName")]
public string Name { get; set; }
}

15
modules/users/src/Volo.Abp.Users.Domain.Shared/Volo/Abp/Users/AbpUserConsts.cs

@ -2,14 +2,29 @@ namespace Volo.Abp.Users
{
public class AbpUserConsts
{
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxUserNameLength { get; set; } = 256;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxNameLength { get; set; } = 64;
/// <summary>
/// Default value: 64
/// </summary>
public static int MaxSurnameLength { get; set; } = 64;
/// <summary>
/// Default value: 256
/// </summary>
public static int MaxEmailLength { get; set; } = 256;
/// <summary>
/// Default value: 16
/// </summary>
public static int MaxPhoneNumberLength { get; set; } = 16;
}
}

7
npm/ng-packs/apps/dev-app/src/app/home/home-routing.module.ts

@ -2,12 +2,7 @@ import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './home.component';
const routes: Routes = [
{
path: '',
children: [{ path: '', component: HomeComponent }],
},
];
const routes: Routes = [{ path: '', component: HomeComponent }];
@NgModule({
imports: [RouterModule.forChild(routes)],

5
npm/ng-packs/packages/core/src/lib/models/application-configuration.ts

@ -62,10 +62,11 @@ export namespace ApplicationConfiguration {
}
export interface CurrentUser {
isAuthenticated: boolean;
email: string;
id: string;
isAuthenticated: boolean;
roles: string[];
tenantId: string;
userName: string;
email: string;
}
}

4
npm/ng-packs/packages/theme-shared/src/lib/components/table/table.component.ts

@ -11,6 +11,10 @@ import {
ViewEncapsulation,
} from '@angular/core';
/**
*
* @deprecated use ngx-datatale instead.
*/
@Component({
selector: 'abp-table',
templateUrl: 'table.component.html',

21
npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts

@ -1,4 +1,4 @@
import { ListService } from '@abp/ng.core';
import { ListService, LocalizationService } from '@abp/ng.core';
import {
ChangeDetectorRef,
Directive,
@ -21,9 +21,26 @@ export class NgxDatatableListDirective implements OnChanges, OnDestroy, OnInit {
@Input() list: ListService;
constructor(private table: DatatableComponent, private cdRef: ChangeDetectorRef) {
constructor(
private table: DatatableComponent,
private cdRef: ChangeDetectorRef,
private localizationService: LocalizationService,
) {
this.setInitialValues();
}
private setInitialValues() {
this.table.externalPaging = true;
this.table.externalSorting = true;
this.table.messages = {
emptyMessage: this.localizationService.localizeSync(
'AbpUi',
'NoDataAvailableInDatatable',
'No data available',
),
totalMessage: this.localizationService.localizeSync('AbpUi', 'Total', 'total'),
selectedMessage: this.localizationService.localizeSync('AbpUi', 'Selected', 'selected'),
};
}
private subscribeToPage() {

28
npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts

@ -1,10 +1,9 @@
import { ConfigState, CoreModule, noop } from '@abp/ng.core';
import { CoreModule, noop } from '@abp/ng.core';
import { DatePipe } from '@angular/common';
import { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core';
import { NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
import { NgxValidateCoreModule } from '@ngx-validate/core';
import { Store } from '@ngxs/store';
import { INgxDatatableConfig, NgxDatatableModule } from '@swimlane/ngx-datatable';
import { NgxDatatableModule } from '@swimlane/ngx-datatable';
import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';
import { ButtonComponent } from './components/button/button.component';
import { ChartComponent } from './components/chart/chart.component';
@ -31,22 +30,6 @@ import { THEME_SHARED_APPEND_CONTENT } from './tokens/append-content.token';
import { httpErrorConfigFactory, HTTP_ERROR_CONFIG } from './tokens/http-error.token';
import { DateParserFormatter } from './utils/date-parser-formatter';
export function ngxDatatableMessageFactory(store: Store) {
const emptyMessage = store.selectSnapshot(
ConfigState.getLocalization('AbpUi::NoDataAvailableInDatatable'),
);
const totalMessage = store.selectSnapshot(ConfigState.getLocalization('AbpUi::Total'));
const selectedMessage = store.selectSnapshot(ConfigState.getLocalization('AbpUi::Selected'));
return {
messages: {
emptyMessage,
totalMessage,
selectedMessage,
},
} as INgxDatatableConfig;
}
@NgModule({
imports: [CoreModule, NgxDatatableModule, NgxValidateCoreModule, NgbPaginationModule],
declarations: [
@ -68,7 +51,6 @@ export function ngxDatatableMessageFactory(store: Store) {
NgxDatatableListDirective,
LoadingDirective,
TableSortDirective,
ToastContainerComponent,
],
exports: [
NgxDatatableModule,
@ -88,7 +70,6 @@ export function ngxDatatableMessageFactory(store: Store) {
NgxDatatableListDirective,
LoadingDirective,
TableSortDirective,
ToastContainerComponent,
],
providers: [DatePipe],
entryComponents: [
@ -126,11 +107,6 @@ export class ThemeSharedModule {
deps: [HTTP_ERROR_CONFIG],
},
{ provide: NgbDateParserFormatter, useClass: DateParserFormatter },
{
provide: 'configuration',
useFactory: ngxDatatableMessageFactory,
deps: [Store],
},
],
};
}

3
npm/package.json

@ -5,7 +5,8 @@
"gulp:app": "node run-gulp-script.js ../templates/app/aspnet-core",
"gulp:module": "node run-gulp-script.js ../templates/module/aspnet-core",
"ncu": "ncu",
"update:templates": "node abp-package-update-script.js ../templates"
"update:templates": "node abp-package-update-script.js ../templates",
"replace-with-tilde": "node replace-with-tilde.js"
},
"devDependencies": {
"@types/fs-extra": "^8.0.1",

2
npm/packs/anchor-js/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"anchor-js": "~4.2.2"
"anchor-js": "^4.2.2"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

12
npm/packs/aspnetcore.mvc.ui/package.json

@ -5,12 +5,12 @@
"access": "public"
},
"dependencies": {
"ansi-colors": "~4.1.1",
"extend-object": "~1.0.0",
"gulp": "~4.0.2",
"merge-stream": "~2.0.0",
"path": "~0.12.7",
"rimraf": "~3.0.2"
"ansi-colors": "^4.1.1",
"extend-object": "^1.0.0",
"gulp": "^4.0.2",
"merge-stream": "^2.0.0",
"path": "^0.12.7",
"rimraf": "^3.0.2"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/bootstrap-datepicker/package.json

@ -5,7 +5,7 @@
"access": "public"
},
"dependencies": {
"bootstrap-datepicker": "~1.9.0"
"bootstrap-datepicker": "^1.9.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/bootstrap/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"bootstrap": "~4.5.0",
"bootstrap": "^4.5.0",
"bootstrap-v4-rtl": "4.4.1-2"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"

2
npm/packs/chart.js/package.json

@ -5,7 +5,7 @@
"access": "public"
},
"dependencies": {
"chart.js": "~2.9.3"
"chart.js": "^2.9.3"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/clipboard/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"clipboard": "~2.0.6"
"clipboard": "^2.0.6"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/codemirror/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"codemirror": "~5.54.0"
"codemirror": "^5.54.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/datatables.net-bs4/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/datatables.net": "~2.9.0",
"datatables.net-bs4": "~1.10.21"
"datatables.net-bs4": "^1.10.21"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/datatables.net/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/jquery": "~2.9.0",
"datatables.net": "~1.10.21"
"datatables.net": "^1.10.21"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/flag-icon-css/package.json

@ -5,7 +5,7 @@
"access": "public"
},
"dependencies": {
"flag-icon-css": "~3.5.0"
"flag-icon-css": "^3.5.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/font-awesome/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"@fortawesome/fontawesome-free": "~5.13.0"
"@fortawesome/fontawesome-free": "^5.13.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/jquery-form/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/jquery": "~2.9.0",
"jquery-form": "~4.3.0"
"jquery-form": "^4.3.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/jquery-validation-unobtrusive/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/jquery-validation": "~2.9.0",
"jquery-validation-unobtrusive": "~3.2.11"
"jquery-validation-unobtrusive": "^3.2.11"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/jquery-validation/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/jquery": "~2.9.0",
"jquery-validation": "~1.19.2"
"jquery-validation": "^1.19.2"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/jstree/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/jquery": "~2.9.0",
"jstree": "~3.3.9"
"jstree": "^3.3.9"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/lodash/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"lodash": "~4.17.15"
"lodash": "^4.17.15"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/luxon/package.json

@ -5,7 +5,7 @@
"access": "public"
},
"dependencies": {
"luxon": "~1.24.1"
"luxon": "^1.24.1"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/malihu-custom-scrollbar-plugin/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"malihu-custom-scrollbar-plugin": "~3.1.5"
"malihu-custom-scrollbar-plugin": "^3.1.5"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/markdown-it/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"markdown-it": "~11.0.0"
"markdown-it": "^11.0.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/owl.carousel/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"owl.carousel": "~2.3.4"
"owl.carousel": "^2.3.4"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/popper.js/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"popper.js": "~1.16.0"
"popper.js": "^1.16.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/prismjs/package.json

@ -7,7 +7,7 @@
"dependencies": {
"@abp/clipboard": "~2.9.0",
"@abp/core": "~2.9.0",
"prismjs": "~1.20.0"
"prismjs": "^1.20.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/select2/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"select2": "~4.0.13"
"select2": "^4.0.13"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/sweetalert/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"sweetalert": "~2.1.2"
"sweetalert": "^2.1.2"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/timeago/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/jquery": "~2.9.0",
"timeago": "~1.6.7"
"timeago": "^1.6.7"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/toastr/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/jquery": "~2.9.0",
"toastr": "~2.1.4"
"toastr": "^2.1.4"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/tui-editor/package.json

@ -9,7 +9,7 @@
"@abp/highlight.js": "~2.9.0",
"@abp/jquery": "~2.9.0",
"@abp/markdown-it": "~2.9.0",
"tui-editor": "~1.4.10"
"tui-editor": "^1.4.10"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

2
npm/packs/uppy/package.json

@ -6,7 +6,7 @@
},
"dependencies": {
"@abp/core": "~2.9.0",
"uppy": "~1.16.1"
"uppy": "^1.16.1"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

28
npm/packs/utils/package.json

@ -23,7 +23,7 @@
"metadata": "dist/abp-utils.metadata.json",
"sideEffects": false,
"devDependencies": {
"@angular-builders/jest": "~9.0.0",
"@angular-builders/jest": "^9.0.0",
"@angular-devkit/build-ng-packagr": "~0.1000.0",
"@angular/cli": "~10.0.0",
"@angular/common": "~10.0.0",
@ -32,26 +32,26 @@
"@angular/core": "~10.0.0",
"@angular/platform-browser": "~10.0.0",
"@angular/platform-browser-dynamic": "~10.0.0",
"@types/execa": "~2.0.0",
"@types/fs-extra": "~8.1.0",
"@types/jest": "~25.1.4",
"@types/node": "~12.11.1",
"codelyzer": "~5.1.2",
"execa": "~4.0.0",
"fs-extra": "~9.0.0",
"jest": "~25.2.4",
"jest-preset-angular": "~8.1.2",
"ng-packagr": "~10.0.0",
"protractor": "~7.0.0",
"@types/execa": "^2.0.0",
"@types/fs-extra": "^8.1.0",
"@types/jest": "^25.1.4",
"@types/node": "^12.11.1",
"codelyzer": "^5.1.2",
"execa": "^4.0.0",
"fs-extra": "^9.0.0",
"jest": "^25.2.4",
"jest-preset-angular": "^8.1.2",
"ng-packagr": "^10.0.0",
"protractor": "^7.0.0",
"ts-node": "~8.3.0",
"tslib": "~2.0.0",
"tslint": "~6.1.0",
"tslint": "^6.1.0",
"typescript": "~3.9.5",
"zone.js": "~0.10.2"
},
"peerDependencies": {},
"dependencies": {
"just-compare": "~1.3.0"
"just-compare": "^1.3.0"
},
"gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431"
}

4
npm/preview-publish.ps1

@ -24,7 +24,9 @@ $commands = (
"npm install",
"npm run publish-packages -- --nextVersion $Version --preview",
"cd ../../",
"yarn lerna publish $Version --no-push --yes --no-git-reset --no-commit-hooks --no-git-tag-version --force-publish --dist-tag preview --registry $Registry"
"yarn lerna version $Version --yes --no-commit-hooks --skip-git --force-publish",
"yarn replace-with-tilde",
"yarn lerna exec 'npm publish --registry $Registry --tag preview'"
)
foreach ($command in $commands) {

4
npm/publish.ps1

@ -16,7 +16,9 @@ $commands = (
"npm install",
"npm run publish-packages -- --nextVersion $Version",
"cd ../../",
"yarn lerna publish $Version --no-push --yes --no-git-reset --no-commit-hooks --no-git-tag-version --force-publish",
"yarn lerna version $Version --yes --no-commit-hooks --skip-git --force-publish",
"yarn replace-with-tilde",
"yarn lerna exec 'npm publish --registry https://registry.npmjs.org'",
"yarn update:templates",
"yarn gulp:app",
"yarn gulp:module"

28
npm/replace-with-tilde.js

@ -0,0 +1,28 @@
const glob = require('glob');
const fse = require('fs-extra');
function replace(filePath) {
const pkg = fse.readJsonSync(filePath);
const { dependencies } = pkg;
if (!dependencies) return;
Object.keys(dependencies).forEach((key) => {
if (key.includes('@abp/') && key !== '@abp/utils') {
dependencies[key] = dependencies[key].replace('^', '~');
}
});
fse.writeJsonSync(filePath, { ...pkg, dependencies }, { spaces: 2 });
}
glob('./packs/**/package.json', {}, (er, files) => {
files.forEach((path) => {
if (path.includes('node_modules')) {
return;
}
replace(path);
});
});
Loading…
Cancel
Save