diff options
Diffstat (limited to 'pkg/icingadb/v1/entity.go')
-rw-r--r-- | pkg/icingadb/v1/entity.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pkg/icingadb/v1/entity.go b/pkg/icingadb/v1/entity.go new file mode 100644 index 0000000..5dfa3d2 --- /dev/null +++ b/pkg/icingadb/v1/entity.go @@ -0,0 +1,28 @@ +package v1 + +import "github.com/icinga/icingadb/pkg/contracts" + +// EntityWithoutChecksum represents entities without a checksum. +type EntityWithoutChecksum struct { + IdMeta `json:",inline"` +} + +// Fingerprint implements the contracts.Fingerprinter interface. +func (e EntityWithoutChecksum) Fingerprint() contracts.Fingerprinter { + return e +} + +// EntityWithChecksum represents entities with a checksum. +type EntityWithChecksum struct { + EntityWithoutChecksum `json:",inline"` + ChecksumMeta `json:",inline"` +} + +// Fingerprint implements the contracts.Fingerprinter interface. +func (e EntityWithChecksum) Fingerprint() contracts.Fingerprinter { + return e +} + +func NewEntityWithChecksum() contracts.Entity { + return &EntityWithChecksum{} +} |