Browse Source

Added API config for extra properties.

pull/3834/head
Halil İbrahim Kalkan 7 years ago
parent
commit
d319fe2525
  1. 29
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs
  2. 23
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiConfiguration.cs
  3. 13
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiCreateConfiguration.cs
  4. 13
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiGetConfiguration.cs
  5. 13
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiUpdateConfiguration.cs
  6. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleObjectExtraPropertyExtensionDto.cs
  7. 6
      framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleObjectExtraPropertyUiExtensionDto.cs
  8. 23
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiConfiguration.cs
  9. 10
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiCreateConfiguration.cs
  10. 10
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiGetConfiguration.cs
  11. 10
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiUpdateConfiguration.cs
  12. 4
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionConfiguration.cs
  13. 12
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionUIConfiguration.cs
  14. 27
      framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionConfigurationHelper.cs

29
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/CachedObjectExtensionsDtoService.cs

@ -58,21 +58,36 @@ namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending
{
Type = TypeHelper.GetFullNameHandlingNullableAndGenerics(propertyConfig.Type),
TypeSimple = TypeHelper.GetSimplifiedName(propertyConfig.Type),
Attributes = new List<ModuleObjectExtraPropertyAttributeDto>(),
Attributes = new List<ModuleObjectExtraPropertyAttributeDto>(),
DisplayName = CreateDisplayNameDto(propertyConfig),
Api = new ModuleEntityObjectPropertyExtensionApiConfigurationDto
{
OnGet = new ModuleEntityObjectPropertyExtensionApiGetConfigurationDto
{
IsAvailable = propertyConfig.Api.OnGet.IsAvailable
},
OnCreate = new ModuleEntityObjectPropertyExtensionApiCreateConfigurationDto
{
IsAvailable = propertyConfig.Api.OnCreate.IsAvailable
},
OnUpdate = new ModuleEntityObjectPropertyExtensionApiUpdateConfigurationDto
{
IsAvailable = propertyConfig.Api.OnUpdate.IsAvailable
}
},
Ui = new ModuleObjectExtraPropertyUiExtensionDto
{
CreateForm = new ModuleObjectExtraPropertyUiFormExtensionDto
OnCreateForm = new ModuleObjectExtraPropertyUiFormExtensionDto
{
IsVisible = propertyConfig.UI.CreateForm.IsVisible
IsVisible = propertyConfig.UI.OnCreateForm.IsVisible
},
EditForm = new ModuleObjectExtraPropertyUiFormExtensionDto
OnEditForm = new ModuleObjectExtraPropertyUiFormExtensionDto
{
IsVisible = propertyConfig.UI.EditForm.IsVisible
IsVisible = propertyConfig.UI.OnEditForm.IsVisible
},
Table = new ModuleObjectExtraPropertyUiTableExtensionDto
OnTable = new ModuleObjectExtraPropertyUiTableExtensionDto
{
IsVisible = propertyConfig.UI.Table.IsVisible
IsVisible = propertyConfig.UI.OnTable.IsVisible
}
}
};

23
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiConfiguration.cs

@ -0,0 +1,23 @@
using JetBrains.Annotations;
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending
{
public class ModuleEntityObjectPropertyExtensionApiConfigurationDto
{
[NotNull]
public ModuleEntityObjectPropertyExtensionApiGetConfigurationDto OnGet { get; set; }
[NotNull]
public ModuleEntityObjectPropertyExtensionApiCreateConfigurationDto OnCreate { get; set; }
[NotNull]
public ModuleEntityObjectPropertyExtensionApiUpdateConfigurationDto OnUpdate { get; set; }
public ModuleEntityObjectPropertyExtensionApiConfigurationDto()
{
OnGet = new ModuleEntityObjectPropertyExtensionApiGetConfigurationDto();
OnCreate = new ModuleEntityObjectPropertyExtensionApiCreateConfigurationDto();
OnUpdate = new ModuleEntityObjectPropertyExtensionApiUpdateConfigurationDto();
}
}
}

13
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiCreateConfiguration.cs

@ -0,0 +1,13 @@
using System;
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending
{
[Serializable]
public class ModuleEntityObjectPropertyExtensionApiCreateConfigurationDto
{
/// <summary>
/// Default: true.
/// </summary>
public bool IsAvailable { get; set; } = true;
}
}

13
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiGetConfiguration.cs

@ -0,0 +1,13 @@
using System;
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending
{
[Serializable]
public class ModuleEntityObjectPropertyExtensionApiGetConfigurationDto
{
/// <summary>
/// Default: true.
/// </summary>
public bool IsAvailable { get; set; } = true;
}
}

13
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleEntityObjectPropertyExtensionApiUpdateConfiguration.cs

@ -0,0 +1,13 @@
using System;
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending
{
[Serializable]
public class ModuleEntityObjectPropertyExtensionApiUpdateConfigurationDto
{
/// <summary>
/// Default: true.
/// </summary>
public bool IsAvailable { get; set; } = true;
}
}

2
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleObjectExtraPropertyExtensionDto.cs

@ -14,6 +14,8 @@ namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending
[CanBeNull]
public LocalizableStringDto DisplayName { get; set; }
public ModuleEntityObjectPropertyExtensionApiConfigurationDto Api { get; set; }
public ModuleObjectExtraPropertyUiExtensionDto Ui { get; set; }
public List<ModuleObjectExtraPropertyAttributeDto> Attributes { get; set; }

6
framework/src/Volo.Abp.AspNetCore.Mvc.Contracts/Volo/Abp/AspNetCore/Mvc/ApplicationConfigurations/ObjectExtending/ModuleObjectExtraPropertyUiExtensionDto.cs

@ -5,8 +5,8 @@ namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ObjectExtending
[Serializable]
public class ModuleObjectExtraPropertyUiExtensionDto
{
public ModuleObjectExtraPropertyUiTableExtensionDto Table { get; set; }
public ModuleObjectExtraPropertyUiFormExtensionDto CreateForm { get; set; }
public ModuleObjectExtraPropertyUiFormExtensionDto EditForm { get; set; }
public ModuleObjectExtraPropertyUiTableExtensionDto OnTable { get; set; }
public ModuleObjectExtraPropertyUiFormExtensionDto OnCreateForm { get; set; }
public ModuleObjectExtraPropertyUiFormExtensionDto OnEditForm { get; set; }
}
}

23
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiConfiguration.cs

@ -0,0 +1,23 @@
using JetBrains.Annotations;
namespace Volo.Abp.ObjectExtending
{
public class ModuleEntityObjectPropertyExtensionApiConfiguration
{
[NotNull]
public ModuleEntityObjectPropertyExtensionApiGetConfiguration OnGet { get; }
[NotNull]
public ModuleEntityObjectPropertyExtensionApiCreateConfiguration OnCreate { get; }
[NotNull]
public ModuleEntityObjectPropertyExtensionApiUpdateConfiguration OnUpdate { get; }
public ModuleEntityObjectPropertyExtensionApiConfiguration()
{
OnGet = new ModuleEntityObjectPropertyExtensionApiGetConfiguration();
OnCreate = new ModuleEntityObjectPropertyExtensionApiCreateConfiguration();
OnUpdate = new ModuleEntityObjectPropertyExtensionApiUpdateConfiguration();
}
}
}

10
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiCreateConfiguration.cs

@ -0,0 +1,10 @@
namespace Volo.Abp.ObjectExtending
{
public class ModuleEntityObjectPropertyExtensionApiCreateConfiguration
{
/// <summary>
/// Default: true.
/// </summary>
public bool IsAvailable { get; set; } = true;
}
}

10
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiGetConfiguration.cs

@ -0,0 +1,10 @@
namespace Volo.Abp.ObjectExtending
{
public class ModuleEntityObjectPropertyExtensionApiGetConfiguration
{
/// <summary>
/// Default: true.
/// </summary>
public bool IsAvailable { get; set; } = true;
}
}

10
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionApiUpdateConfiguration.cs

@ -0,0 +1,10 @@
namespace Volo.Abp.ObjectExtending
{
public class ModuleEntityObjectPropertyExtensionApiUpdateConfiguration
{
/// <summary>
/// Default: true.
/// </summary>
public bool IsAvailable { get; set; } = true;
}
}

4
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionConfiguration.cs

@ -30,6 +30,9 @@ namespace Volo.Abp.ObjectExtending
[NotNull]
public ModuleEntityObjectPropertyExtensionUIConfiguration UI { get; }
[NotNull]
public ModuleEntityObjectPropertyExtensionApiConfiguration Api { get; }
public ModuleEntityObjectPropertyExtensionConfiguration(
[NotNull] ModuleEntityObjectExtensionConfiguration entityObjectExtensionConfiguration,
@ -45,6 +48,7 @@ namespace Volo.Abp.ObjectExtending
Validators = new List<Action<ObjectExtensionPropertyValidationContext>>();
UI = new ModuleEntityObjectPropertyExtensionUIConfiguration();
Api = new ModuleEntityObjectPropertyExtensionApiConfiguration();
}
}
}

12
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleEntityObjectPropertyExtensionUIConfiguration.cs

@ -5,19 +5,19 @@ namespace Volo.Abp.ObjectExtending
public class ModuleEntityObjectPropertyExtensionUIConfiguration
{
[NotNull]
public ModuleEntityObjectPropertyExtensionUITableConfiguration Table { get; }
public ModuleEntityObjectPropertyExtensionUITableConfiguration OnTable { get; }
[NotNull]
public ModuleEntityObjectPropertyExtensionUIFormConfiguration CreateForm { get; }
public ModuleEntityObjectPropertyExtensionUIFormConfiguration OnCreateForm { get; }
[NotNull]
public ModuleEntityObjectPropertyExtensionUIFormConfiguration EditForm { get; }
public ModuleEntityObjectPropertyExtensionUIFormConfiguration OnEditForm { get; }
public ModuleEntityObjectPropertyExtensionUIConfiguration()
{
Table = new ModuleEntityObjectPropertyExtensionUITableConfiguration();
CreateForm = new ModuleEntityObjectPropertyExtensionUIFormConfiguration();
EditForm = new ModuleEntityObjectPropertyExtensionUIFormConfiguration();
OnTable = new ModuleEntityObjectPropertyExtensionUITableConfiguration();
OnCreateForm = new ModuleEntityObjectPropertyExtensionUIFormConfiguration();
OnEditForm = new ModuleEntityObjectPropertyExtensionUIFormConfiguration();
}
}
}

27
framework/src/Volo.Abp.ObjectExtending/Volo/Abp/ObjectExtending/ModuleObjectExtensionConfigurationHelper.cs

@ -10,22 +10,43 @@ namespace Volo.Abp.ObjectExtending
string moduleName,
string objectName,
Type[] createFormTypes = null,
Type[] editFormTypes = null
Type[] editFormTypes = null,
Type[] getApiTypes = null,
Type[] createApiTypes = null,
Type[] updateApiTypes = null
)
{
foreach (var propertyConfig in GetPropertyConfigurations(moduleName, objectName))
{
if (propertyConfig.UI.CreateForm.IsVisible &&
if (propertyConfig.UI.OnCreateForm.IsVisible &&
createFormTypes != null)
{
ApplyPropertyConfigurationToTypes(propertyConfig, createFormTypes);
}
if (propertyConfig.UI.EditForm.IsVisible &&
if (propertyConfig.UI.OnEditForm.IsVisible &&
editFormTypes != null)
{
ApplyPropertyConfigurationToTypes(propertyConfig, editFormTypes);
}
if (propertyConfig.Api.OnGet.IsAvailable &&
getApiTypes != null)
{
ApplyPropertyConfigurationToTypes(propertyConfig, getApiTypes);
}
if (propertyConfig.Api.OnCreate.IsAvailable &&
createApiTypes != null)
{
ApplyPropertyConfigurationToTypes(propertyConfig, createApiTypes);
}
if (propertyConfig.Api.OnUpdate.IsAvailable &&
updateApiTypes != null)
{
ApplyPropertyConfigurationToTypes(propertyConfig, updateApiTypes);
}
}
}

Loading…
Cancel
Save