redis.go 888 B

12345678910111213141516171819202122232425262728293031
  1. package helper
  2. import (
  3. "github.com/langgenius/dify-plugin-daemon/internal/db"
  4. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
  5. "github.com/langgenius/dify-plugin-daemon/internal/types/models"
  6. "github.com/langgenius/dify-plugin-daemon/internal/utils/cache"
  7. )
  8. func CombinedGetPluginDeclaration(
  9. plugin_unique_identifier plugin_entities.PluginUniqueIdentifier,
  10. ) (*plugin_entities.PluginDeclaration, error) {
  11. return cache.AutoGetWithGetter(
  12. plugin_unique_identifier.String(),
  13. func() (*plugin_entities.PluginDeclaration, error) {
  14. declaration, err := db.GetOne[models.PluginDeclaration](
  15. db.Equal("plugin_unique_identifier", plugin_unique_identifier.String()),
  16. )
  17. if err != nil && err != db.ErrDatabaseNotFound {
  18. return nil, err
  19. }
  20. if err != nil {
  21. return nil, err
  22. }
  23. return &declaration.Declaration, nil
  24. },
  25. )
  26. }