From 4f96f8db974fa7a236ce8ffa564bccdb62691cfa Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 10 Dec 2022 16:56:33 +0800 Subject: Develop secret api. v24 --- .../CrupestApi.Commons/Crud/ColumnMetadata.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs') 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. /// public const string ClientGenerate = nameof(ColumnAttribute.DefaultEmptyForString); + + /// + /// The default value generator method name in entity type. Default to null, aka, search for ColumnNameDefaultValueGenerator. + /// + /// + public const string DefaultValueGenerator = nameof(ColumnAttribute.DefaultValueGenerator); + + /// + /// The column can only be set when inserted, can't be changed in update. + /// + /// + public const string NoUpdate = nameof(ColumnAttribute.NoUpdate); } public interface IColumnMetadata @@ -87,6 +99,12 @@ public class ColumnAttribute : Attribute, IColumnMetadata /// public bool ClientGenerate { get; init; } + /// + public string? DefaultValueGenerator { get; init; } + + /// + public bool NoUpdate { get; init; } + public bool TryGetValue(string key, out object? value) { var property = GetType().GetProperty(key); -- cgit v1.2.3