mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +03:00
Separate graphql API from rest of the system (#2503)
* Move graphql generated files to api * Refactor identify options * Remove models.StashBoxes * Move ScraperSource to scraper package * Rename field strategy enums * Rename identify.TaskOptions to Options
This commit is contained in:
@@ -1,39 +1,13 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type StashBoxes []*StashBox
|
||||
|
||||
func (sb StashBoxes) ResolveStashBox(source ScraperSourceInput) (*StashBox, error) {
|
||||
if source.StashBoxIndex != nil {
|
||||
index := source.StashBoxIndex
|
||||
if *index < 0 || *index >= len(sb) {
|
||||
return nil, fmt.Errorf("%w: invalid stash_box_index: %d", ErrScraperSource, index)
|
||||
}
|
||||
|
||||
return sb[*index], nil
|
||||
}
|
||||
|
||||
if source.StashBoxEndpoint != nil {
|
||||
var ret *StashBox
|
||||
endpoint := *source.StashBoxEndpoint
|
||||
for _, b := range sb {
|
||||
if strings.EqualFold(endpoint, b.Endpoint) {
|
||||
ret = b
|
||||
}
|
||||
}
|
||||
|
||||
if ret == nil {
|
||||
return nil, fmt.Errorf(`%w: stash-box with endpoint "%s"`, ErrNotFound, endpoint)
|
||||
}
|
||||
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
// neither stash-box inputs were provided, so assume it is a scraper
|
||||
|
||||
return nil, nil
|
||||
type StashBoxFingerprint struct {
|
||||
Algorithm string `json:"algorithm"`
|
||||
Hash string `json:"hash"`
|
||||
Duration int `json:"duration"`
|
||||
}
|
||||
|
||||
type StashBox struct {
|
||||
Endpoint string `json:"endpoint"`
|
||||
APIKey string `json:"api_key"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user