summaryrefslogtreecommitdiffstats
path: root/pkg/icingadb/v1/overdue/service.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/icingadb/v1/overdue/service.go')
-rw-r--r--pkg/icingadb/v1/overdue/service.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/pkg/icingadb/v1/overdue/service.go b/pkg/icingadb/v1/overdue/service.go
new file mode 100644
index 0000000..dfd5383
--- /dev/null
+++ b/pkg/icingadb/v1/overdue/service.go
@@ -0,0 +1,26 @@
+package overdue
+
+import (
+ "github.com/icinga/icingadb/pkg/contracts"
+ v1 "github.com/icinga/icingadb/pkg/icingadb/v1"
+ "github.com/icinga/icingadb/pkg/types"
+)
+
+type ServiceState struct {
+ v1.EntityWithoutChecksum
+ IsOverdue types.Bool `json:"is_overdue"`
+}
+
+func NewServiceState(id string, overdue bool) (contracts.Entity, error) {
+ hs := &ServiceState{IsOverdue: types.Bool{
+ Bool: overdue,
+ Valid: true,
+ }}
+
+ return hs, hs.Id.UnmarshalText([]byte(id))
+}
+
+// Assert interface compliance.
+var (
+ _ contracts.Entity = (*ServiceState)(nil)
+)