diff --git a/src/SIL.Harmony.Core/CommitBase.cs b/src/SIL.Harmony.Core/CommitBase.cs index 265230b..2dd4204 100644 --- a/src/SIL.Harmony.Core/CommitBase.cs +++ b/src/SIL.Harmony.Core/CommitBase.cs @@ -1,3 +1,4 @@ +using System.Diagnostics.CodeAnalysis; using System.IO.Hashing; using System.Text.Json.Serialization; @@ -11,6 +12,7 @@ public abstract class CommitBase : IComparable { public const string NullParentHash = "0000"; [JsonConstructor] + [SetsRequiredMembers] protected internal CommitBase(Guid id, HybridDateTime hybridDateTime) { Id = id; @@ -56,6 +58,7 @@ public int CompareTo(CommitBase? other) /// public abstract class CommitBase : CommitBase { + [SetsRequiredMembers] internal CommitBase(Guid id, HybridDateTime hybridDateTime) : base(id, hybridDateTime) { } diff --git a/src/SIL.Harmony.Core/ServerCommit.cs b/src/SIL.Harmony.Core/ServerCommit.cs index d540770..5c9fc2e 100644 --- a/src/SIL.Harmony.Core/ServerCommit.cs +++ b/src/SIL.Harmony.Core/ServerCommit.cs @@ -1,3 +1,4 @@ +using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; @@ -7,6 +8,7 @@ namespace SIL.Harmony.Core; public class ServerCommit : CommitBase { [JsonConstructor] + [SetsRequiredMembers] protected ServerCommit(Guid id, HybridDateTime hybridDateTime) : base(id, hybridDateTime) { @@ -16,6 +18,11 @@ public ServerCommit(Guid id) : base(id) { } + //only here for a downstream gql issue + private ServerCommit() : base(Guid.NewGuid()) + { + } + public Guid ProjectId { get; set; } } diff --git a/src/SIL.Harmony/Commit.cs b/src/SIL.Harmony/Commit.cs index fa3a39e..53eebbc 100644 --- a/src/SIL.Harmony/Commit.cs +++ b/src/SIL.Harmony/Commit.cs @@ -1,3 +1,4 @@ +using System.Diagnostics.CodeAnalysis; using System.Text.Json.Serialization; using SIL.Harmony.Changes; using SIL.Harmony.Db; @@ -7,6 +8,7 @@ namespace SIL.Harmony; public class Commit : CommitBase { [JsonConstructor] + [SetsRequiredMembers] protected Commit(Guid id, string hash, string parentHash, HybridDateTime hybridDateTime) : base(id, hybridDateTime) {