summaryrefslogtreecommitdiffstats
path: root/pkg/icingadb/v1/entity.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/icingadb/v1/entity.go')
-rw-r--r--pkg/icingadb/v1/entity.go28
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{}
+}