diff --git a/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/IModuleInstallingOptionProvider.cs b/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/IModuleInstallingOptionProvider.cs new file mode 100644 index 0000000000..ac557d5a51 --- /dev/null +++ b/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/IModuleInstallingOptionProvider.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace Volo.Abp.Studio.ModuleInstalling.Options +{ + public interface IModuleInstallingOptionProvider + { + Task> GetAsync(); + } +} diff --git a/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/ModuleInstallingOption.cs b/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/ModuleInstallingOption.cs new file mode 100644 index 0000000000..f8725e1e93 --- /dev/null +++ b/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/ModuleInstallingOption.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; +using JetBrains.Annotations; + +namespace Volo.Abp.Studio.ModuleInstalling.Options +{ + public class ModuleInstallingOption + { + public string Name { get; set; } + + public string Description { get; set; } + + public ModuleInstallingOptionType Type { get; set; } + + public Dictionary Values { get; set; } + + public ModuleInstallingOption( + [NotNull] string name, + [NotNull] string description, + [NotNull] ModuleInstallingOptionType type, + [CanBeNull] Dictionary values = null) + { + Name = Check.NotNullOrWhiteSpace(name, nameof(name)); + Description = Check.NotNullOrWhiteSpace(description, nameof(description)); + Type = type; + Values = values ?? new Dictionary(); + } + } +} \ No newline at end of file diff --git a/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/ModuleInstallingOptionType.cs b/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/ModuleInstallingOptionType.cs new file mode 100644 index 0000000000..140b1339df --- /dev/null +++ b/studio/src/Volo.Abp.Studio.ModuleInstaller.Abstractions/Volo/Abp/Studio/ModuleInstalling/Options/ModuleInstallingOptionType.cs @@ -0,0 +1,10 @@ +namespace Volo.Abp.Studio.ModuleInstalling.Options +{ + public enum ModuleInstallingOptionType + { + NotSpecified, + Checkbox, + FreeText, + ComboBox + } +} \ No newline at end of file