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
commitf208e75f9e074a3faab489de1093f660b87c2ec7 (patch)
tree2c2379c5155b7cef31c56c6559418ce1d66128a5 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
parent8c478bb1a07a55b9056ada029e0d6f9fe34d8d38 (diff)
downloadcrupest-f208e75f9e074a3faab489de1093f660b87c2ec7.tar.gz
crupest-f208e75f9e074a3faab489de1093f660b87c2ec7.tar.bz2
crupest-f208e75f9e074a3faab489de1093f660b87c2ec7.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);