GODT-2229: Allow changing cache folder to a non-empty folder.

This commit is contained in:
Romain Le Jeune
2023-01-10 16:40:52 +00:00
parent 407c9fe1a6
commit b19e16e4b8
15 changed files with 187 additions and 63 deletions

View File

@ -199,13 +199,13 @@ func (bridge *Bridge) handleIMAPEvent(event imapEvents.Event) {
}
func getGluonDir(encVault *vault.Vault) (string, error) {
empty, exists, err := isEmpty(encVault.GetGluonDir())
empty, exists, err := isEmpty(encVault.GetGluonCacheDir())
if err != nil {
return "", fmt.Errorf("failed to check if gluon dir is empty: %w", err)
}
if !exists {
if err := os.MkdirAll(encVault.GetGluonDir(), 0o700); err != nil {
if err := os.MkdirAll(encVault.GetGluonCacheDir(), 0o700); err != nil {
return "", fmt.Errorf("failed to create gluon dir: %w", err)
}
}
@ -218,12 +218,12 @@ func getGluonDir(encVault *vault.Vault) (string, error) {
}
}
return encVault.GetGluonDir(), nil
return encVault.GetGluonCacheDir(), nil
}
// nolint:funlen
func newIMAPServer(
gluonDir string,
gluonDir, gluonDBDir string,
version *semver.Version,
tlsConfig *tls.Config,
reporter reporter.Reporter,
@ -264,6 +264,7 @@ func newIMAPServer(
imapServer, err := gluon.New(
gluon.WithTLS(tlsConfig),
gluon.WithDataDir(gluonDir),
gluon.WithDatabaseDir(gluonDBDir),
gluon.WithStoreBuilder(new(storeBuilder)),
gluon.WithLogger(imapClientLog, imapServerLog),
getGluonVersionInfo(version),