encapsulate object storage service operations

This commit is contained in:
2025-01-17 18:42:36 +08:00
parent e31f95b943
commit eab806fb9b
78 changed files with 4178 additions and 5275 deletions

View File

@@ -0,0 +1,26 @@
package plugins
import (
"schisandra-album-cloud-microservices/common/storage/config"
"schisandra-album-cloud-microservices/common/storage/constants"
"schisandra-album-cloud-microservices/common/storage/events"
"schisandra-album-cloud-microservices/common/storage/manager"
"schisandra-album-cloud-microservices/common/storage/storage"
)
// pluginFactories 存储所有插件的工厂函数
var pluginFactories = map[string]manager.Factory{
constants.ProviderAliOSS: func(config *config.StorageConfig, dispatcher events.Dispatcher) (storage.Service, error) {
return storage.NewAliOSS(config, dispatcher)
},
}
// RegisterPlugins 注册所有插件
func RegisterPlugins(manager *manager.Manager) error {
for provider, factory := range pluginFactories {
if err := manager.RegisterStorage(provider, factory); err != nil {
return err
}
}
return nil
}