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 | a586767b9b6e122891a8cddba57aecef11ef4bd2 (patch) | |
tree | 058f34a17aa0cff56c702ace3f84d1918e541789 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs | |
parent | bed807e3f8fab2f8b6ea3409886aac9f23f0f761 (diff) | |
download | crupest-a586767b9b6e122891a8cddba57aecef11ef4bd2.tar.gz crupest-a586767b9b6e122891a8cddba57aecef11ef4bd2.tar.bz2 crupest-a586767b9b6e122891a8cddba57aecef11ef4bd2.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); |