endpoint.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package models
  2. import (
  3. "time"
  4. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
  5. "github.com/langgenius/dify-plugin-daemon/internal/utils/parser"
  6. )
  7. type EndpointInstallation struct {
  8. Model
  9. TenantID string `json:"tenant_id" gorm:"column:tenant_id;type:uuid;index;not null"`
  10. PluginUniqueIdentifier string `json:"plugin_unique_identifier" gorm:"index;size:127"`
  11. PluginID string `json:"plugin_id" gorm:"index;size:127"`
  12. Declaration plugin_entities.EndpointProviderDeclaration `json:"declaration" gorm:"serializer:json;type:text;size:65535;not null"`
  13. }
  14. // HookID is a pointer to plugin id and tenant id, using it to identify the endpoint plugin
  15. type Endpoint struct {
  16. Model
  17. HookID string `json:"hook_id" gorm:"unique;size:127;column:hook_id"`
  18. TenantID string `json:"tenant_id" gorm:"index;size:64;column:tenant_id"`
  19. UserID string `json:"user_id" gorm:"index;size:64;column:user_id"`
  20. PluginID string `json:"plugin_id" gorm:"index;size:64;column:plugin_id"`
  21. ExpiredAt time.Time `json:"expired_at" gorm:"column:expired_at"`
  22. Enabled bool `json:"enabled" gorm:"column:enabled"`
  23. Settings string `json:"settings" gorm:"column:settings;size:2048"`
  24. }
  25. func (e *Endpoint) GetSettings() map[string]any {
  26. d, _ := parser.UnmarshalJson2Map(e.Settings)
  27. return d
  28. }
  29. func (e *Endpoint) SetSettings(settings map[string]any) {
  30. e.Settings = parser.MarshalJson(settings)
  31. }