blob: 572ba60200b4d60d8810b9cd06c3bc0fcbac10ae (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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
// Validate check if the Entity data is valid
Validate() error
}
// type Commitable interface {
// Interface
// NeedCommit() bool
// CommitAsNeeded(repo repository.ClockedRepo) error
// Commit(repo repository.ClockedRepo) error
// }
//
// type Operation interface {
//
// }
|