aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-09 18:22:20 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:53 +0800
commita586767b9b6e122891a8cddba57aecef11ef4bd2 (patch)
tree058f34a17aa0cff56c702ace3f84d1918e541789 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
parentbed807e3f8fab2f8b6ea3409886aac9f23f0f761 (diff)
downloadcrupest-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.cs14
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);