diff options
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs | 18 |
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); |