diff options
author | Michael Muré <batolettre@gmail.com> | 2020-11-08 19:18:44 +0100 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2021-02-14 12:17:47 +0100 |
commit | ab57d74a312f325b9d889752aa92c00c395de20f (patch) | |
tree | b54b204f7f7ccb64181051b58cc01ddeed42e1be /entity | |
parent | 7163b2283b4542a4d4abfe9a71963f122322bde7 (diff) | |
download | git-bug-ab57d74a312f325b9d889752aa92c00c395de20f.tar.gz git-bug-ab57d74a312f325b9d889752aa92c00c395de20f.zip |
deal with the previous changes
Diffstat (limited to 'entity')
-rw-r--r-- | entity/id.go | 6 | ||||
-rw-r--r-- | entity/interface.go | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/entity/id.go b/entity/id.go index 1b78aacd..08916987 100644 --- a/entity/id.go +++ b/entity/id.go @@ -8,8 +8,8 @@ import ( "github.com/pkg/errors" ) -const IdLengthSHA1 = 40 -const IdLengthSHA256 = 64 +// sha-256 +const idLength = 64 const humanIdLength = 7 const UnsetId = Id("unset") @@ -55,7 +55,7 @@ func (i Id) MarshalGQL(w io.Writer) { // IsValid tell if the Id is valid func (i Id) Validate() error { - if len(i) != IdLengthSHA1 && len(i) != IdLengthSHA256 { + if len(i) != idLength { return fmt.Errorf("invalid length") } for _, r := range i { diff --git a/entity/interface.go b/entity/interface.go index dd5d69b1..fb4735e4 100644 --- a/entity/interface.go +++ b/entity/interface.go @@ -2,5 +2,11 @@ package entity type Interface interface { // Id return the Entity identifier + // + // This Id need to be immutable without having to store the entity somewhere (ie, an entity only in memory + // should have a valid Id, and it should not change if further edit are done on this entity). + // How to achieve that is up to the entity itself. A common way would be to take a hash of an immutable data at + // the root of the entity. + // It is acceptable to use such a hash and keep mutating that data as long as Id() is not called. Id() Id } |