From 27406419521428400d514b2bd1c524f9a3c42e34 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Mon, 13 Nov 2023 10:53:23 +0100
Subject: [PATCH] feat: add deletestats and delete logs to manager #21

---
 manager.go | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/manager.go b/manager.go
index 362dde6..825e44f 100644
--- a/manager.go
+++ b/manager.go
@@ -149,6 +149,46 @@ func (m *Manager) RemoveJob(id JobID) error {
 	return m.removeJobInternal(id)
 }
 
+// DeleteJobLogs deletes the logs of a job
+func (m *Manager) DeleteJobLogs(id JobID) error {
+	m.mu.Lock()
+	defer m.mu.Unlock()
+
+	if _, ok := m.activeJobs[id]; !ok {
+		return ErrJobNotActive
+	}
+
+	if m.dbSaver != nil {
+
+		err := m.dbSaver.DeleteLogs(m.activeJobs[id])
+		if err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
+
+// DeleteJobStats deletes the stats of a job
+func (m *Manager) DeleteJobStats(id JobID) error {
+	m.mu.Lock()
+	defer m.mu.Unlock()
+
+	if _, ok := m.activeJobs[id]; !ok {
+		return ErrJobNotActive
+	}
+
+	if m.dbSaver != nil {
+
+		err := m.dbSaver.DeleteStats(m.activeJobs[id])
+		if err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
+
 func (m *Manager) removeJobInternal(id JobID) error {
 
 	scheduler := m.activeJobs[id].GetScheduler()
-- 
GitLab