mirror of
https://github.com/navidrome/navidrome.git
synced 2026-03-04 06:35:52 +00:00
Plugins that entered an error state (e.g., incompatible with the Navidrome version) would remain in that state across restarts, blocking the user from retrying. This adds a ClearErrors method to PluginRepository that resets the last_error field on all plugins, and calls it during plugin manager startup before syncing and loading. Signed-off-by: Deluan <deluan@navidrome.org>
33 lines
1.4 KiB
Go
33 lines
1.4 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
type Plugin struct {
|
|
ID string `structs:"id" json:"id"`
|
|
Path string `structs:"path" json:"path"`
|
|
Manifest string `structs:"manifest" json:"manifest"`
|
|
Config string `structs:"config" json:"config,omitempty"`
|
|
Users string `structs:"users" json:"users,omitempty"`
|
|
AllUsers bool `structs:"all_users" json:"allUsers,omitempty"`
|
|
Libraries string `structs:"libraries" json:"libraries,omitempty"`
|
|
AllLibraries bool `structs:"all_libraries" json:"allLibraries,omitempty"`
|
|
AllowWriteAccess bool `structs:"allow_write_access" json:"allowWriteAccess,omitempty"`
|
|
Enabled bool `structs:"enabled" json:"enabled"`
|
|
LastError string `structs:"last_error" json:"lastError,omitempty"`
|
|
SHA256 string `structs:"sha256" json:"sha256"`
|
|
CreatedAt time.Time `structs:"created_at" json:"createdAt"`
|
|
UpdatedAt time.Time `structs:"updated_at" json:"updatedAt"`
|
|
}
|
|
|
|
type Plugins []Plugin
|
|
|
|
type PluginRepository interface {
|
|
ResourceRepository
|
|
ClearErrors() error
|
|
CountAll(options ...QueryOptions) (int64, error)
|
|
Delete(id string) error
|
|
Get(id string) (*Plugin, error)
|
|
GetAll(options ...QueryOptions) (Plugins, error)
|
|
Put(p *Plugin) error
|
|
}
|