diff options
author | crupest <crupest@outlook.com> | 2022-12-13 11:32:23 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-12-20 20:32:53 +0800 |
commit | f5e3d9959cfea707add5594cd195d33060cdb85c (patch) | |
tree | 3721e4d6672b7f9dc6b321b4daca6259a089d7a3 /docker/crupest-api/CrupestApi/CrupestApi.Commons | |
parent | e42b048abf6c97515686c42175c29191b1527dfd (diff) | |
download | crupest-f5e3d9959cfea707add5594cd195d33060cdb85c.tar.gz crupest-f5e3d9959cfea707add5594cd195d33060cdb85c.tar.bz2 crupest-f5e3d9959cfea707add5594cd195d33060cdb85c.zip |
Develop secret api. v34
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs | 2 | ||||
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs index ae5081d..0ac6e7b 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs @@ -118,7 +118,7 @@ public class ColumnInfo public bool IsNotNull => IsPrimaryKey || Metadata.GetValueOrDefault(ColumnMetadataKeys.NotNull) is true; public bool IsGenerated => Metadata.GetValueOrDefault(ColumnMetadataKeys.Generated) is true; public bool IsNoUpdate => Metadata.GetValueOrDefault(ColumnMetadataKeys.NoUpdate) is true; - public bool CanBeGenerated => DefaultValueGeneratorMethod is not null; + public bool CanBeGenerated => (bool?)Metadata.GetValueOrDefault(ColumnMetadataKeys.CanBeGenerated) ?? (DefaultValueGeneratorMethod is not null); /// <summary> /// This only returns metadata value. It doesn't not fall back to primary column. If you want to get the real key column, go to table info. /// </summary> diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs index 1082ea4..5d20772 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs @@ -41,6 +41,13 @@ public static class ColumnMetadataKeys /// This column acts as key when get one entity for http get method in path. /// </summary> public const string ActAsKey = nameof(ColumnAttribute.ActAsKey); + + /// <summary> + /// Default value is null, aka, whether a default value generator is specified. + /// Set to true or false to override it. + /// </summary> + /// <returns></returns> + public const string CanBeGenerated = nameof(ColumnAttribute.CanBeGenerated); } public interface IColumnMetadata @@ -123,6 +130,8 @@ public class ColumnAttribute : Attribute, IColumnMetadata /// <seealso cref="ColumnMetadataKeys.ActAsKey"/> public bool ActAsKey { get; init; } + public bool? CanBeGenerated { get; init; } = null; + public bool TryGetValue(string key, out object? value) { var property = GetType().GetProperty(key); |