fix folder deletion failures (#867)

## Description

Graph clips time values ending in :00 from folder
names.  In order for the purge handler to check
the time values correctly, we need to identify
those folders and reinstate the 00 seconds tail.

## Type of change

- [x] 🐛 Bugfix

## Issue(s)

* #805

## Test Plan

- [x] 💪 Manual
This commit is contained in:
Keepers 2022-09-15 13:44:52 -06:00 committed by GitHub
parent a6ba26cd92
commit 1d24d575ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,6 +3,7 @@ package main
import (
"context"
"os"
"regexp"
"time"
"github.com/pkg/errors"
@ -246,6 +247,16 @@ func purgeContactFolders(ctx context.Context, gc *connector.GraphConnector, boun
// ----- controller
var secfmt = regexp.MustCompile(`.+:0-9{2}:0-9{2}`)
func normalizeDisplayName(dn string) string {
if !secfmt.MatchString(dn) {
dn += ":00"
}
return dn
}
func purgeFolders(
ctx context.Context,
gc *connector.GraphConnector,
@ -268,13 +279,14 @@ func purgeFolders(
var (
del bool
displayName = *fld.GetDisplayName()
dnLen = len(displayName)
normName = normalizeDisplayName(*fld.GetDisplayName())
dnLen = len(normName)
)
if dnLen > stLen {
dnSuff := displayName[dnLen-stLen:]
suff := normName[dnLen-stLen:]
dnTime, err := common.ParseTime(dnSuff)
dnTime, err := common.ParseTime(suff)
if err != nil {
Info(ctx, errors.Wrapf(err, "Error: deleting %s folder [%s]", data, displayName))
continue