init.go 794 B

123456789101112131415161718192021222324252627282930313233
  1. package persistence
  2. import (
  3. "github.com/langgenius/dify-plugin-daemon/internal/types/app"
  4. "github.com/langgenius/dify-plugin-daemon/internal/utils/log"
  5. )
  6. func InitPersistence(config *app.Config) *Persistence {
  7. if config.PersistenceStorageType == "s3" {
  8. s3, err := NewS3Wrapper(
  9. config.PersistenceStorageS3Region,
  10. config.PersistenceStorageS3AccessKey,
  11. config.PersistenceStorageS3SecretKey,
  12. config.PersistenceStorageS3Bucket,
  13. )
  14. if err != nil {
  15. log.Panic("Failed to initialize S3 wrapper: %v", err)
  16. }
  17. return &Persistence{
  18. storage: s3,
  19. }
  20. } else if config.PersistenceStorageType == "local" {
  21. return &Persistence{
  22. storage: NewLocalWrapper(),
  23. }
  24. } else {
  25. log.Panic("Invalid persistence storage type: %s", config.PersistenceStorageType)
  26. }
  27. return nil
  28. }