aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-13 11:32:23 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:53 +0800
commitf5e3d9959cfea707add5594cd195d33060cdb85c (patch)
tree3721e4d6672b7f9dc6b321b4daca6259a089d7a3 /docker/crupest-api/CrupestApi
parente42b048abf6c97515686c42175c29191b1527dfd (diff)
downloadcrupest-f5e3d9959cfea707add5594cd195d33060cdb85c.tar.gz
crupest-f5e3d9959cfea707add5594cd195d33060cdb85c.tar.bz2
crupest-f5e3d9959cfea707add5594cd195d33060cdb85c.zip
Develop secret api. v34
Diffstat (limited to 'docker/crupest-api/CrupestApi')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs2
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs9
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);