e4b02a792d
* chore: move mod downloading to cli/cache * feat: data providers, ficsit and local * feat: keep cache in memory, load on init * feat: log invalid cache files instead of returning error * chore: make linter happy * feat: fill cached mod Authors field from CreatedBy * chore: make linter happy again * feat: add icon and size to cached mods * feat: cache the cached file hashes * fix: change to new provider access style --------- Co-authored-by: Vilsol <me@vil.so>
47 lines
1.6 KiB
Go
47 lines
1.6 KiB
Go
package provider
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/Khan/genqlient/graphql"
|
|
|
|
"github.com/satisfactorymodding/ficsit-cli/ficsit"
|
|
)
|
|
|
|
type ficsitProvider struct {
|
|
client graphql.Client
|
|
}
|
|
|
|
func initFicsitProvider(client graphql.Client) ficsitProvider {
|
|
return ficsitProvider{
|
|
client,
|
|
}
|
|
}
|
|
|
|
func (p ficsitProvider) Mods(context context.Context, filter ficsit.ModFilter) (*ficsit.ModsResponse, error) {
|
|
return ficsit.Mods(context, p.client, filter)
|
|
}
|
|
|
|
func (p ficsitProvider) GetMod(context context.Context, modReference string) (*ficsit.GetModResponse, error) {
|
|
return ficsit.GetMod(context, p.client, modReference)
|
|
}
|
|
|
|
func (p ficsitProvider) ModVersions(context context.Context, modReference string, filter ficsit.VersionFilter) (*ficsit.ModVersionsResponse, error) {
|
|
return ficsit.ModVersions(context, p.client, modReference, filter)
|
|
}
|
|
|
|
func (p ficsitProvider) SMLVersions(context context.Context) (*ficsit.SMLVersionsResponse, error) {
|
|
return ficsit.SMLVersions(context, p.client)
|
|
}
|
|
|
|
func (p ficsitProvider) ResolveModDependencies(context context.Context, filter []ficsit.ModVersionConstraint) (*ficsit.ResolveModDependenciesResponse, error) {
|
|
return ficsit.ResolveModDependencies(context, p.client, filter)
|
|
}
|
|
|
|
func (p ficsitProvider) ModVersionsWithDependencies(context context.Context, modID string) (*ficsit.ModVersionsWithDependenciesResponse, error) {
|
|
return ficsit.ModVersionsWithDependencies(context, p.client, modID)
|
|
}
|
|
|
|
func (p ficsitProvider) GetModName(context context.Context, modReference string) (*ficsit.GetModNameResponse, error) {
|
|
return ficsit.GetModName(context, p.client, modReference)
|
|
}
|