golift.io/starr@v1.0.0/lidarr/qualitydefinition.go (about) 1 package lidarr 2 3 import ( 4 "context" 5 "fmt" 6 7 "golift.io/starr" 8 ) 9 10 const bpQualityDefinition = APIver + "/qualitydefinition" 11 12 // QualityDefinition is the /api/v1/qualitydefinition endpoint. 13 type QualityDefinition struct { 14 ID int64 `json:"id"` 15 Quality *starr.Value `json:"quality"` 16 Title string `json:"title"` 17 Weight int64 `json:"weight"` 18 MinSize float64 `json:"minSize"` 19 MaxSize float64 `json:"maxSize,omitempty"` 20 } 21 22 // GetQualityDefinition returns the Quality Definitions. 23 func (l *Lidarr) GetQualityDefinition() ([]*QualityDefinition, error) { 24 return l.GetQualityDefinitionContext(context.Background()) 25 } 26 27 // GetQualityDefinitionContext returns the Quality Definitions. 28 func (l *Lidarr) GetQualityDefinitionContext(ctx context.Context) ([]*QualityDefinition, error) { 29 var output []*QualityDefinition 30 31 req := starr.Request{URI: bpQualityDefinition} 32 if err := l.GetInto(ctx, req, &output); err != nil { 33 return nil, fmt.Errorf("api.Get(%s): %w", &req, err) 34 } 35 36 return output, nil 37 }