From 74541c7bd7005fb945957bbace348d4a8c59602c Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 9 Dec 2022 18:22:20 +0800 Subject: Develop secret api. v21 --- .../CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (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 05ee269..91e49f8 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs @@ -7,7 +7,16 @@ public static class ColumnMetadataKeys public const string IsPrimaryKey = nameof(ColumnAttribute.IsPrimaryKey); public const string IsAutoIncrement = nameof(ColumnAttribute.IsAutoIncrement); public const string Index = nameof(ColumnAttribute.Index); + + /// + /// This will add hooks for string type column to coerce null to ""(empty string) when get or set. No effect on non-string type. + /// public const string DefaultEmptyForString = nameof(ColumnAttribute.DefaultEmptyForString); + + /// + /// 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); } public interface IColumnMetadata @@ -72,9 +81,12 @@ public class ColumnAttribute : Attribute, IColumnMetadata // default None public ColumnIndexType Index { get; init; } = ColumnIndexType.None; - // Use empty string for default value of string type. + /// public bool DefaultEmptyForString { get; init; } + /// + public bool ClientGenerate { get; init; } + public bool TryGetValue(string key, out object? value) { var property = GetType().GetProperty(key); -- cgit v1.2.3