diff options
author | crupest <crupest@outlook.com> | 2022-12-09 18:22:20 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-12-20 20:32:53 +0800 |
commit | 74541c7bd7005fb945957bbace348d4a8c59602c (patch) | |
tree | 058f34a17aa0cff56c702ace3f84d1918e541789 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs | |
parent | c6b134d2c6184db0f9b6e806b63f3347f2920a65 (diff) | |
download | crupest-74541c7bd7005fb945957bbace348d4a8c59602c.tar.gz crupest-74541c7bd7005fb945957bbace348d4a8c59602c.tar.bz2 crupest-74541c7bd7005fb945957bbace348d4a8c59602c.zip |
Develop secret api. v21
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs | 14 |
1 files changed, 13 insertions, 1 deletions
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); + + /// <summary> + /// This will add hooks for string type column to coerce null to ""(empty string) when get or set. No effect on non-string type. + /// </summary> public const string DefaultEmptyForString = nameof(ColumnAttribute.DefaultEmptyForString); + + /// <summary> + /// 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); } 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. + /// <see cref="ColumnMetadataKeys.DefaultEmptyForString"/> public bool DefaultEmptyForString { get; init; } + /// <see cref="ColumnMetadataKeys.ClientGenerate"/> + public bool ClientGenerate { get; init; } + public bool TryGetValue(string key, out object? value) { var property = GetType().GetProperty(key); |