diff --git a/internal/tasks/tasks.go b/internal/tasks/tasks.go index f8e8978..cf502b1 100644 --- a/internal/tasks/tasks.go +++ b/internal/tasks/tasks.go @@ -250,6 +250,9 @@ func ExecuteSchedules(tick int) { if tick == 1 { + release := taskSetReleaseVersion() + log.Println("Setting api option flag for Edgeboxctl (" + release + " version)") + // Executing on startup (first tick). Schedules run before tasks in the SystemIterator uptime := taskGetSystemUptime() log.Println("Uptime is " + uptime + " seconds (" + system.GetUptimeFormatted() + ")") @@ -383,6 +386,33 @@ func taskDisableOnline(args taskDisableOnlineArgs) string { } +func taskSetReleaseVersion() string { + + fmt.Println("Executing taskSetReleaseVersion") + + db, err := sql.Open("sqlite3", utils.GetSQLiteDbConnectionDetails()) + + if err != nil { + log.Fatal(err.Error()) + } + + statement, err := db.Prepare("REPLACE into option (name, value, created, updated) VALUES (?, ?, ?, ?);") // Prepare SQL Statement + if err != nil { + log.Fatal(err.Error()) + } + + formatedDatetime := utils.GetSQLiteFormattedDateTime(time.Now()) + + _, err = statement.Exec("RELEASE_VERSION", diagnostics.Version, formatedDatetime, formatedDatetime) // Execute SQL Statement + if err != nil { + log.Fatal(err.Error()) + } + + db.Close() + + return diagnostics.Version +} + func taskGetEdgeApps() string { fmt.Println("Executing taskGetEdgeApps")