From 9e7d022a06779a03e3eaaadad6cc33423f46892b Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Thu, 30 Jun 2022 12:22:10 +0200 Subject: [feature] Cleanup unattached local media (#680) * add localUnattached db function * add parseOlderThan util function * add pruneunusedlocalattachments to media manager * add unusedlocal pruning to schedule + admin call * set number of days to keep as a const * fix test --- internal/media/util.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'internal/media/util.go') diff --git a/internal/media/util.go b/internal/media/util.go index 6dfcede89..9d62619f5 100644 --- a/internal/media/util.go +++ b/internal/media/util.go @@ -21,6 +21,7 @@ package media import ( "errors" "fmt" + "time" "github.com/h2non/filetype" "github.com/sirupsen/logrus" @@ -128,3 +129,19 @@ func (l *logrusWrapper) Info(msg string, keysAndValues ...interface{}) { func (l *logrusWrapper) Error(err error, msg string, keysAndValues ...interface{}) { logrus.Error("media manager cron logger: ", err, msg, keysAndValues) } + +func parseOlderThan(olderThanDays int) (time.Time, error) { + // convert days into a duration string + olderThanHoursString := fmt.Sprintf("%dh", olderThanDays*24) + + // parse the duration string into a duration + olderThanHours, err := time.ParseDuration(olderThanHoursString) + if err != nil { + return time.Time{}, err + } + + // 'subtract' that from the time now to give our threshold + olderThan := time.Now().Add(-olderThanHours) + + return olderThan, nil +} -- cgit v1.2.3