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  }