New admin endpoint to delete data (#359)

This commit is contained in:
Dominic Wong
2022-01-31 16:14:52 +00:00
committed by GitHub
parent d12dee71ad
commit 1f494e6638
7 changed files with 375 additions and 5 deletions

View File

@@ -556,3 +556,17 @@ func (domain *Domain) CacheReadToken(ctx context.Context, token string) (string,
return email, nil
}
func (domain *Domain) DeleteTenantData(tenantID string) error {
keys, err := domain.store.List(store.ListPrefix(getStoreKeyPrefixForTenent(tenantID)))
if err != nil {
return err
}
for _, k := range keys {
if err := domain.store.Delete(k); err != nil {
return err
}
}
logger.Infof("Deleted %d keys for user %s", len(keys), tenantID)
return nil
}

View File

@@ -14,9 +14,13 @@ func getStoreKeyPrefix(ctx context.Context) string {
tenantId = "micro"
}
tenantId = strings.Replace(strings.Replace(tenantId, "/", "_", -1), "-", "_", -1)
return getStoreKeyPrefixForTenent(tenantId)
}
return fmt.Sprintf("user/%s/", tenantId)
func getStoreKeyPrefixForTenent(tenantID string) string {
tid := strings.Replace(strings.Replace(tenantID, "/", "_", -1), "-", "_", -1)
return fmt.Sprintf("user/%s/", tid)
}
func generateAccountStoreKey(ctx context.Context, userId string) string {