aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-11 10:43:56 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:53 +0800
commitbd523a6a7cac09fe580223c3d75e41e1e100f603 (patch)
tree8dcc9fd28c2b7281eb40fa143e96c70518aeefd8 /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
parentc53adadcbf93a3b5c1f9c8e2b88bdd0efb122709 (diff)
downloadcrupest-bd523a6a7cac09fe580223c3d75e41e1e100f603.tar.gz
crupest-bd523a6a7cac09fe580223c3d75e41e1e100f603.tar.bz2
crupest-bd523a6a7cac09fe580223c3d75e41e1e100f603.zip
Develop secret api. v26
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs31
1 files changed, 25 insertions, 6 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
index 9fb3999..e7c74f3 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnMetadata.cs
@@ -34,6 +34,24 @@ 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>
+ /// Define what to do when update.
+ /// </summary>
+ public const string UpdateBehavior = nameof(ColumnAttribute.UpdateBehavior);
+}
+
+[Flags]
+public enum UpdateBehavior
+{
+ /// <summary>
+ /// Null value means do not update that column.
+ /// </summary>
+ NullIsNotUpdate = 0,
+ /// <summary>
+ /// Null value means set to null.
+ /// </summary>
+ NullIsSetNull = 1
}
public interface IColumnMetadata
@@ -98,22 +116,23 @@ public class ColumnAttribute : Attribute, IColumnMetadata
// default None
public ColumnIndexType Index { get; init; } = ColumnIndexType.None;
- /// <see cref="ColumnMetadataKeys.DefaultEmptyForString"/>
+ /// <seealso cref="ColumnMetadataKeys.DefaultEmptyForString"/>
public bool DefaultEmptyForString { get; init; }
- /// <see cref="ColumnMetadataKeys.ClientGenerate"/>
+ /// <seealso cref="ColumnMetadataKeys.ClientGenerate"/>
public bool ClientGenerate { get; init; }
- /// <see cref="ColumnMetadataKeys.DefaultValueGenerator"/>
+ /// <seealso cref="ColumnMetadataKeys.DefaultValueGenerator"/>
public string? DefaultValueGenerator { get; init; }
- /// <see cref="ColumnMetadataKeys.NoUpdate"/>
+ /// <seealso cref="ColumnMetadataKeys.NoUpdate"/>
public bool NoUpdate { get; init; }
- /// <see cref="ColumnMetadataKeys.ActAsKey"/>
+ /// <seealso cref="ColumnMetadataKeys.ActAsKey"/>
public bool ActAsKey { get; init; }
-
+ /// <seealso cref="ColumnMetadataKeys.UpdateBehavior">
+ public UpdateBehavior UpdateBehavior { get; init; } = UpdateBehavior.NullIsNotUpdate;
public bool TryGetValue(string key, out object? value)
{