aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-10 16:56:33 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:53 +0800
commit4f96f8db974fa7a236ce8ffa564bccdb62691cfa (patch)
tree2c2379c5155b7cef31c56c6559418ce1d66128a5 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
parent81b106a1bfc225abcee1c9b5cfad64489e8cb24b (diff)
downloadcrupest-4f96f8db974fa7a236ce8ffa564bccdb62691cfa.tar.gz
crupest-4f96f8db974fa7a236ce8ffa564bccdb62691cfa.tar.bz2
crupest-4f96f8db974fa7a236ce8ffa564bccdb62691cfa.zip
Develop secret api. v24
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
index 91e49f8..1ca2ce8 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
@@ -17,6 +17,18 @@ public static class ColumnMetadataKeys
/// This indicates that you take care of generate this column value when create entity. User calling the api can not specify the value.
/// </summary>
public const string ClientGenerate = nameof(ColumnAttribute.DefaultEmptyForString);
+
+ /// <summary>
+ /// The default value generator method name in entity type. Default to null, aka, search for ColumnNameDefaultValueGenerator.
+ /// </summary>
+ /// <returns></returns>
+ public const string DefaultValueGenerator = nameof(ColumnAttribute.DefaultValueGenerator);
+
+ /// <summary>
+ /// The column can only be set when inserted, can't be changed in update.
+ /// </summary>
+ /// <returns></returns>
+ public const string NoUpdate = nameof(ColumnAttribute.NoUpdate);
}
public interface IColumnMetadata
@@ -87,6 +99,12 @@ public class ColumnAttribute : Attribute, IColumnMetadata
/// <see cref="ColumnMetadataKeys.ClientGenerate"/>
public bool ClientGenerate { get; init; }
+ /// <see cref="ColumnMetadataKeys.DefaultValueGenerator"/>
+ public string? DefaultValueGenerator { get; init; }
+
+ /// <see cref="ColumnMetadataKeys.NoUpdate"/>
+ public bool NoUpdate { get; init; }
+
public bool TryGetValue(string key, out object? value)
{
var property = GetType().GetProperty(key);