diff --git a/pkg/initialize/events.go b/pkg/initialize/events.go new file mode 100644 index 000000000..305287aa9 --- /dev/null +++ b/pkg/initialize/events.go @@ -0,0 +1,29 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-2021 Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public Licensee as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public Licensee for more details. +// +// You should have received a copy of the GNU Affero General Public Licensee +// along with this program. If not, see . + +package initialize + +import "time" + +// BootedEvent represents a BootedEvent event +type BootedEvent struct { + BootedAt time.Time +} + +// TopicName defines the name for BootedEvent +func (t *BootedEvent) TopicName() string { + return "booted" +} diff --git a/pkg/initialize/init.go b/pkg/initialize/init.go index 7a6141135..f805d182d 100644 --- a/pkg/initialize/init.go +++ b/pkg/initialize/init.go @@ -29,6 +29,7 @@ import ( migrator "code.vikunja.io/api/pkg/modules/migration" "code.vikunja.io/api/pkg/red" "code.vikunja.io/api/pkg/user" + "time" ) // LightInit will only fullInit config, redis, logger but no db connection. @@ -95,5 +96,12 @@ func FullInit() { if err != nil { log.Fatal(err.Error()) } + + err = events.Publish(&BootedEvent{ + BootedAt: time.Now(), + }) + if err != nil { + log.Fatal(err) + } }() }