2022-06-04 19:57:17 +00:00
// Code generated by github.com/Khan/genqlient, DO NOT EDIT.
package ficsit
import (
"context"
"encoding/json"
"fmt"
"time"
"github.com/Khan/genqlient/graphql"
"github.com/satisfactorymodding/ficsit-cli/ficsit/utils"
)
2022-06-06 23:55:26 +00:00
// GetModMod includes the requested fields of the GraphQL type Mod.
type GetModMod struct {
Id string ` json:"id" `
Mod_reference string ` json:"mod_reference" `
Name string ` json:"name" `
Views int ` json:"views" `
Downloads int ` json:"downloads" `
Authors [ ] GetModModAuthorsUserMod ` json:"authors" `
Full_description string ` json:"full_description" `
Source_url string ` json:"source_url" `
Created_at time . Time ` json:"-" `
2022-06-04 19:57:17 +00:00
}
2022-06-06 23:55:26 +00:00
// GetId returns GetModMod.Id, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetId ( ) string { return v . Id }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetMod_reference returns GetModMod.Mod_reference, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetMod_reference ( ) string { return v . Mod_reference }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetName returns GetModMod.Name, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetName ( ) string { return v . Name }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetViews returns GetModMod.Views, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetViews ( ) int { return v . Views }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetDownloads returns GetModMod.Downloads, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetDownloads ( ) int { return v . Downloads }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetAuthors returns GetModMod.Authors, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetAuthors ( ) [ ] GetModModAuthorsUserMod { return v . Authors }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetFull_description returns GetModMod.Full_description, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetFull_description ( ) string { return v . Full_description }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetSource_url returns GetModMod.Source_url, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetSource_url ( ) string { return v . Source_url }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetCreated_at returns GetModMod.Created_at, and is useful for accessing the field via an interface.
func ( v * GetModMod ) GetCreated_at ( ) time . Time { return v . Created_at }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
func ( v * GetModMod ) UnmarshalJSON ( b [ ] byte ) error {
2022-06-04 19:57:17 +00:00
if string ( b ) == "null" {
return nil
}
var firstPass struct {
2022-06-06 23:55:26 +00:00
* GetModMod
2022-06-04 19:57:17 +00:00
Created_at json . RawMessage ` json:"created_at" `
graphql . NoUnmarshalJSON
}
2022-06-06 23:55:26 +00:00
firstPass . GetModMod = v
2022-06-04 19:57:17 +00:00
err := json . Unmarshal ( b , & firstPass )
if err != nil {
return err
}
{
dst := & v . Created_at
src := firstPass . Created_at
if len ( src ) != 0 && string ( src ) != "null" {
err = utils . UnmarshalDateTime (
src , dst )
if err != nil {
return fmt . Errorf (
2022-06-06 23:55:26 +00:00
"Unable to unmarshal GetModMod.Created_at: %w" , err )
2022-06-04 19:57:17 +00:00
}
}
}
return nil
}
2022-06-06 23:55:26 +00:00
type __premarshalGetModMod struct {
2022-06-04 19:57:17 +00:00
Id string ` json:"id" `
Mod_reference string ` json:"mod_reference" `
Name string ` json:"name" `
Views int ` json:"views" `
Downloads int ` json:"downloads" `
2022-06-06 23:55:26 +00:00
Authors [ ] GetModModAuthorsUserMod ` json:"authors" `
2022-06-04 19:57:17 +00:00
Full_description string ` json:"full_description" `
Source_url string ` json:"source_url" `
Created_at json . RawMessage ` json:"created_at" `
}
2022-06-06 23:55:26 +00:00
func ( v * GetModMod ) MarshalJSON ( ) ( [ ] byte , error ) {
2022-06-04 19:57:17 +00:00
premarshaled , err := v . __premarshalJSON ( )
if err != nil {
return nil , err
}
return json . Marshal ( premarshaled )
}
2022-06-06 23:55:26 +00:00
func ( v * GetModMod ) __premarshalJSON ( ) ( * __premarshalGetModMod , error ) {
var retval __premarshalGetModMod
2022-06-04 19:57:17 +00:00
retval . Id = v . Id
retval . Mod_reference = v . Mod_reference
retval . Name = v . Name
retval . Views = v . Views
retval . Downloads = v . Downloads
retval . Authors = v . Authors
retval . Full_description = v . Full_description
retval . Source_url = v . Source_url
{
dst := & retval . Created_at
src := v . Created_at
var err error
* dst , err = json . Marshal (
& src )
if err != nil {
return nil , fmt . Errorf (
2022-06-06 23:55:26 +00:00
"Unable to marshal GetModMod.Created_at: %w" , err )
2022-06-04 19:57:17 +00:00
}
}
return & retval , nil
}
2022-06-06 23:55:26 +00:00
// GetModModAuthorsUserMod includes the requested fields of the GraphQL type UserMod.
type GetModModAuthorsUserMod struct {
Role string ` json:"role" `
User GetModModAuthorsUserModUser ` json:"user" `
2022-06-04 19:57:17 +00:00
}
2022-06-06 23:55:26 +00:00
// GetRole returns GetModModAuthorsUserMod.Role, and is useful for accessing the field via an interface.
func ( v * GetModModAuthorsUserMod ) GetRole ( ) string { return v . Role }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetUser returns GetModModAuthorsUserMod.User, and is useful for accessing the field via an interface.
func ( v * GetModModAuthorsUserMod ) GetUser ( ) GetModModAuthorsUserModUser { return v . User }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetModModAuthorsUserModUser includes the requested fields of the GraphQL type User.
type GetModModAuthorsUserModUser struct {
2022-06-04 19:57:17 +00:00
Username string ` json:"username" `
}
2022-06-06 23:55:26 +00:00
// GetUsername returns GetModModAuthorsUserModUser.Username, and is useful for accessing the field via an interface.
func ( v * GetModModAuthorsUserModUser ) GetUsername ( ) string { return v . Username }
2022-06-04 19:57:17 +00:00
// GetModResponse is returned by GetMod on success.
type GetModResponse struct {
2022-06-06 23:55:26 +00:00
Mod GetModMod ` json:"mod" `
2022-06-04 19:57:17 +00:00
}
2022-06-06 23:55:26 +00:00
// GetMod returns GetModResponse.Mod, and is useful for accessing the field via an interface.
func ( v * GetModResponse ) GetMod ( ) GetModMod { return v . Mod }
2022-06-04 19:57:17 +00:00
type ModFields string
const (
ModFieldsCreatedAt ModFields = "created_at"
ModFieldsDownloads ModFields = "downloads"
ModFieldsHotness ModFields = "hotness"
ModFieldsLastVersionDate ModFields = "last_version_date"
ModFieldsName ModFields = "name"
ModFieldsPopularity ModFields = "popularity"
ModFieldsSearch ModFields = "search"
ModFieldsUpdatedAt ModFields = "updated_at"
ModFieldsViews ModFields = "views"
)
type ModFilter struct {
Hidden bool ` json:"hidden,omitempty" `
Ids [ ] string ` json:"ids,omitempty" `
Limit int ` json:"limit,omitempty" `
Offset int ` json:"offset,omitempty" `
Order Order ` json:"order,omitempty" `
Order_by ModFields ` json:"order_by,omitempty" `
References [ ] string ` json:"references,omitempty" `
Search string ` json:"search,omitempty" `
}
// GetHidden returns ModFilter.Hidden, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetHidden ( ) bool { return v . Hidden }
// GetIds returns ModFilter.Ids, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetIds ( ) [ ] string { return v . Ids }
// GetLimit returns ModFilter.Limit, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetLimit ( ) int { return v . Limit }
// GetOffset returns ModFilter.Offset, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetOffset ( ) int { return v . Offset }
// GetOrder returns ModFilter.Order, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetOrder ( ) Order { return v . Order }
// GetOrder_by returns ModFilter.Order_by, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetOrder_by ( ) ModFields { return v . Order_by }
// GetReferences returns ModFilter.References, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetReferences ( ) [ ] string { return v . References }
// GetSearch returns ModFilter.Search, and is useful for accessing the field via an interface.
func ( v * ModFilter ) GetSearch ( ) string { return v . Search }
type ModVersionConstraint struct {
ModIdOrReference string ` json:"modIdOrReference" `
Version string ` json:"version" `
}
// GetModIdOrReference returns ModVersionConstraint.ModIdOrReference, and is useful for accessing the field via an interface.
func ( v * ModVersionConstraint ) GetModIdOrReference ( ) string { return v . ModIdOrReference }
// GetVersion returns ModVersionConstraint.Version, and is useful for accessing the field via an interface.
func ( v * ModVersionConstraint ) GetVersion ( ) string { return v . Version }
// ModVersionsMod includes the requested fields of the GraphQL type Mod.
type ModVersionsMod struct {
Id string ` json:"id" `
Versions [ ] ModVersionsModVersionsVersion ` json:"versions" `
}
// GetId returns ModVersionsMod.Id, and is useful for accessing the field via an interface.
func ( v * ModVersionsMod ) GetId ( ) string { return v . Id }
// GetVersions returns ModVersionsMod.Versions, and is useful for accessing the field via an interface.
func ( v * ModVersionsMod ) GetVersions ( ) [ ] ModVersionsModVersionsVersion { return v . Versions }
// ModVersionsModVersionsVersion includes the requested fields of the GraphQL type Version.
type ModVersionsModVersionsVersion struct {
Id string ` json:"id" `
Version string ` json:"version" `
}
// GetId returns ModVersionsModVersionsVersion.Id, and is useful for accessing the field via an interface.
func ( v * ModVersionsModVersionsVersion ) GetId ( ) string { return v . Id }
// GetVersion returns ModVersionsModVersionsVersion.Version, and is useful for accessing the field via an interface.
func ( v * ModVersionsModVersionsVersion ) GetVersion ( ) string { return v . Version }
// ModVersionsResponse is returned by ModVersions on success.
type ModVersionsResponse struct {
Mod ModVersionsMod ` json:"mod" `
}
// GetMod returns ModVersionsResponse.Mod, and is useful for accessing the field via an interface.
func ( v * ModVersionsResponse ) GetMod ( ) ModVersionsMod { return v . Mod }
2022-06-06 23:55:26 +00:00
// ModsModsGetMods includes the requested fields of the GraphQL type GetMods.
type ModsModsGetMods struct {
Count int ` json:"count" `
Mods [ ] ModsModsGetModsModsMod ` json:"mods" `
2022-06-04 19:57:17 +00:00
}
2022-06-06 23:55:26 +00:00
// GetCount returns ModsModsGetMods.Count, and is useful for accessing the field via an interface.
func ( v * ModsModsGetMods ) GetCount ( ) int { return v . Count }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetMods returns ModsModsGetMods.Mods, and is useful for accessing the field via an interface.
func ( v * ModsModsGetMods ) GetMods ( ) [ ] ModsModsGetModsModsMod { return v . Mods }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// ModsModsGetModsModsMod includes the requested fields of the GraphQL type Mod.
type ModsModsGetModsModsMod struct {
2022-06-04 19:57:17 +00:00
Id string ` json:"id" `
Name string ` json:"name" `
Mod_reference string ` json:"mod_reference" `
Last_version_date time . Time ` json:"-" `
Created_at time . Time ` json:"-" `
Views int ` json:"views" `
Downloads int ` json:"downloads" `
Popularity int ` json:"popularity" `
Hotness int ` json:"hotness" `
}
2022-06-06 23:55:26 +00:00
// GetId returns ModsModsGetModsModsMod.Id, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetId ( ) string { return v . Id }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetName returns ModsModsGetModsModsMod.Name, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetName ( ) string { return v . Name }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetMod_reference returns ModsModsGetModsModsMod.Mod_reference, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetMod_reference ( ) string { return v . Mod_reference }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetLast_version_date returns ModsModsGetModsModsMod.Last_version_date, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetLast_version_date ( ) time . Time { return v . Last_version_date }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetCreated_at returns ModsModsGetModsModsMod.Created_at, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetCreated_at ( ) time . Time { return v . Created_at }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetViews returns ModsModsGetModsModsMod.Views, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetViews ( ) int { return v . Views }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetDownloads returns ModsModsGetModsModsMod.Downloads, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetDownloads ( ) int { return v . Downloads }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetPopularity returns ModsModsGetModsModsMod.Popularity, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetPopularity ( ) int { return v . Popularity }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
// GetHotness returns ModsModsGetModsModsMod.Hotness, and is useful for accessing the field via an interface.
func ( v * ModsModsGetModsModsMod ) GetHotness ( ) int { return v . Hotness }
2022-06-04 19:57:17 +00:00
2022-06-06 23:55:26 +00:00
func ( v * ModsModsGetModsModsMod ) UnmarshalJSON ( b [ ] byte ) error {
2022-06-04 19:57:17 +00:00
if string ( b ) == "null" {
return nil
}
var firstPass struct {
2022-06-06 23:55:26 +00:00
* ModsModsGetModsModsMod
2022-06-04 19:57:17 +00:00
Last_version_date json . RawMessage ` json:"last_version_date" `
Created_at json . RawMessage ` json:"created_at" `
graphql . NoUnmarshalJSON
}
2022-06-06 23:55:26 +00:00
firstPass . ModsModsGetModsModsMod = v
2022-06-04 19:57:17 +00:00
err := json . Unmarshal ( b , & firstPass )
if err != nil {
return err
}
{
dst := & v . Last_version_date
src := firstPass . Last_version_date
if len ( src ) != 0 && string ( src ) != "null" {
err = utils . UnmarshalDateTime (
src , dst )
if err != nil {
return fmt . Errorf (
2022-06-06 23:55:26 +00:00
"Unable to unmarshal ModsModsGetModsModsMod.Last_version_date: %w" , err )
2022-06-04 19:57:17 +00:00
}
}
}
{
dst := & v . Created_at
src := firstPass . Created_at
if len ( src ) != 0 && string ( src ) != "null" {
err = utils . UnmarshalDateTime (
src , dst )
if err != nil {
return fmt . Errorf (
2022-06-06 23:55:26 +00:00
"Unable to unmarshal ModsModsGetModsModsMod.Created_at: %w" , err )
2022-06-04 19:57:17 +00:00
}
}
}
return nil
}
2022-06-06 23:55:26 +00:00
type __premarshalModsModsGetModsModsMod struct {
2022-06-04 19:57:17 +00:00
Id string ` json:"id" `
Name string ` json:"name" `
Mod_reference string ` json:"mod_reference" `
Last_version_date json . RawMessage ` json:"last_version_date" `
Created_at json . RawMessage ` json:"created_at" `
Views int ` json:"views" `
Downloads int ` json:"downloads" `
Popularity int ` json:"popularity" `
Hotness int ` json:"hotness" `
}
2022-06-06 23:55:26 +00:00
func ( v * ModsModsGetModsModsMod ) MarshalJSON ( ) ( [ ] byte , error ) {
2022-06-04 19:57:17 +00:00
premarshaled , err := v . __premarshalJSON ( )
if err != nil {
return nil , err
}
return json . Marshal ( premarshaled )
}
2022-06-06 23:55:26 +00:00
func ( v * ModsModsGetModsModsMod ) __premarshalJSON ( ) ( * __premarshalModsModsGetModsModsMod , error ) {
var retval __premarshalModsModsGetModsModsMod
2022-06-04 19:57:17 +00:00
retval . Id = v . Id
retval . Name = v . Name
retval . Mod_reference = v . Mod_reference
{
dst := & retval . Last_version_date
src := v . Last_version_date
var err error
* dst , err = json . Marshal (
& src )
if err != nil {
return nil , fmt . Errorf (
2022-06-06 23:55:26 +00:00
"Unable to marshal ModsModsGetModsModsMod.Last_version_date: %w" , err )
2022-06-04 19:57:17 +00:00
}
}
{
dst := & retval . Created_at
src := v . Created_at
var err error
* dst , err = json . Marshal (
& src )
if err != nil {
return nil , fmt . Errorf (
2022-06-06 23:55:26 +00:00
"Unable to marshal ModsModsGetModsModsMod.Created_at: %w" , err )
2022-06-04 19:57:17 +00:00
}
}
retval . Views = v . Views
retval . Downloads = v . Downloads
retval . Popularity = v . Popularity
retval . Hotness = v . Hotness
return & retval , nil
}
// ModsResponse is returned by Mods on success.
type ModsResponse struct {
2022-06-06 23:55:26 +00:00
Mods ModsModsGetMods ` json:"mods" `
2022-06-04 19:57:17 +00:00
}
2022-06-06 23:55:26 +00:00
// GetMods returns ModsResponse.Mods, and is useful for accessing the field via an interface.
func ( v * ModsResponse ) GetMods ( ) ModsModsGetMods { return v . Mods }
2022-06-04 19:57:17 +00:00
type Order string
const (
OrderAsc Order = "asc"
OrderDesc Order = "desc"
)
// ResolveModDependenciesModsModVersion includes the requested fields of the GraphQL type ModVersion.
type ResolveModDependenciesModsModVersion struct {
Id string ` json:"id" `
Mod_reference string ` json:"mod_reference" `
Versions [ ] ResolveModDependenciesModsModVersionVersionsVersion ` json:"versions" `
}
// GetId returns ResolveModDependenciesModsModVersion.Id, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersion ) GetId ( ) string { return v . Id }
// GetMod_reference returns ResolveModDependenciesModsModVersion.Mod_reference, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersion ) GetMod_reference ( ) string { return v . Mod_reference }
// GetVersions returns ResolveModDependenciesModsModVersion.Versions, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersion ) GetVersions ( ) [ ] ResolveModDependenciesModsModVersionVersionsVersion {
return v . Versions
}
// ResolveModDependenciesModsModVersionVersionsVersion includes the requested fields of the GraphQL type Version.
type ResolveModDependenciesModsModVersionVersionsVersion struct {
Id string ` json:"id" `
Version string ` json:"version" `
Link string ` json:"link" `
Hash string ` json:"hash" `
Dependencies [ ] ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency ` json:"dependencies" `
}
// GetId returns ResolveModDependenciesModsModVersionVersionsVersion.Id, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersion ) GetId ( ) string { return v . Id }
// GetVersion returns ResolveModDependenciesModsModVersionVersionsVersion.Version, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersion ) GetVersion ( ) string { return v . Version }
// GetLink returns ResolveModDependenciesModsModVersionVersionsVersion.Link, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersion ) GetLink ( ) string { return v . Link }
// GetHash returns ResolveModDependenciesModsModVersionVersionsVersion.Hash, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersion ) GetHash ( ) string { return v . Hash }
// GetDependencies returns ResolveModDependenciesModsModVersionVersionsVersion.Dependencies, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersion ) GetDependencies ( ) [ ] ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency {
return v . Dependencies
}
// ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency includes the requested fields of the GraphQL type VersionDependency.
type ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency struct {
Condition string ` json:"condition" `
Mod_id string ` json:"mod_id" `
Optional bool ` json:"optional" `
}
// GetCondition returns ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency.Condition, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency ) GetCondition ( ) string {
return v . Condition
}
// GetMod_id returns ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency.Mod_id, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency ) GetMod_id ( ) string {
return v . Mod_id
}
// GetOptional returns ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency.Optional, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesModsModVersionVersionsVersionDependenciesVersionDependency ) GetOptional ( ) bool {
return v . Optional
}
// ResolveModDependenciesResponse is returned by ResolveModDependencies on success.
type ResolveModDependenciesResponse struct {
Mods [ ] ResolveModDependenciesModsModVersion ` json:"mods" `
}
// GetMods returns ResolveModDependenciesResponse.Mods, and is useful for accessing the field via an interface.
func ( v * ResolveModDependenciesResponse ) GetMods ( ) [ ] ResolveModDependenciesModsModVersion {
return v . Mods
}
// SMLVersionsResponse is returned by SMLVersions on success.
type SMLVersionsResponse struct {
SmlVersions SMLVersionsSmlVersionsGetSMLVersions ` json:"smlVersions" `
}
// GetSmlVersions returns SMLVersionsResponse.SmlVersions, and is useful for accessing the field via an interface.
func ( v * SMLVersionsResponse ) GetSmlVersions ( ) SMLVersionsSmlVersionsGetSMLVersions {
return v . SmlVersions
}
// SMLVersionsSmlVersionsGetSMLVersions includes the requested fields of the GraphQL type GetSMLVersions.
type SMLVersionsSmlVersionsGetSMLVersions struct {
Count int ` json:"count" `
Sml_versions [ ] SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion ` json:"sml_versions" `
}
// GetCount returns SMLVersionsSmlVersionsGetSMLVersions.Count, and is useful for accessing the field via an interface.
func ( v * SMLVersionsSmlVersionsGetSMLVersions ) GetCount ( ) int { return v . Count }
// GetSml_versions returns SMLVersionsSmlVersionsGetSMLVersions.Sml_versions, and is useful for accessing the field via an interface.
func ( v * SMLVersionsSmlVersionsGetSMLVersions ) GetSml_versions ( ) [ ] SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion {
return v . Sml_versions
}
// SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion includes the requested fields of the GraphQL type SMLVersion.
type SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion struct {
Id string ` json:"id" `
Version string ` json:"version" `
Satisfactory_version int ` json:"satisfactory_version" `
}
// GetId returns SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion.Id, and is useful for accessing the field via an interface.
func ( v * SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion ) GetId ( ) string { return v . Id }
// GetVersion returns SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion.Version, and is useful for accessing the field via an interface.
func ( v * SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion ) GetVersion ( ) string {
return v . Version
}
// GetSatisfactory_version returns SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion.Satisfactory_version, and is useful for accessing the field via an interface.
func ( v * SMLVersionsSmlVersionsGetSMLVersionsSml_versionsSMLVersion ) GetSatisfactory_version ( ) int {
return v . Satisfactory_version
}
type VersionFields string
const (
VersionFieldsCreatedAt VersionFields = "created_at"
VersionFieldsDownloads VersionFields = "downloads"
VersionFieldsUpdatedAt VersionFields = "updated_at"
)
type VersionFilter struct {
Ids [ ] string ` json:"ids,omitempty" `
Limit int ` json:"limit,omitempty" `
Offset int ` json:"offset,omitempty" `
Order Order ` json:"order,omitempty" `
Order_by VersionFields ` json:"order_by,omitempty" `
Search string ` json:"search,omitempty" `
}
// GetIds returns VersionFilter.Ids, and is useful for accessing the field via an interface.
func ( v * VersionFilter ) GetIds ( ) [ ] string { return v . Ids }
// GetLimit returns VersionFilter.Limit, and is useful for accessing the field via an interface.
func ( v * VersionFilter ) GetLimit ( ) int { return v . Limit }
// GetOffset returns VersionFilter.Offset, and is useful for accessing the field via an interface.
func ( v * VersionFilter ) GetOffset ( ) int { return v . Offset }
// GetOrder returns VersionFilter.Order, and is useful for accessing the field via an interface.
func ( v * VersionFilter ) GetOrder ( ) Order { return v . Order }
// GetOrder_by returns VersionFilter.Order_by, and is useful for accessing the field via an interface.
func ( v * VersionFilter ) GetOrder_by ( ) VersionFields { return v . Order_by }
// GetSearch returns VersionFilter.Search, and is useful for accessing the field via an interface.
func ( v * VersionFilter ) GetSearch ( ) string { return v . Search }
// __GetModInput is used internally by genqlient
type __GetModInput struct {
ModId string ` json:"modId" `
}
// GetModId returns __GetModInput.ModId, and is useful for accessing the field via an interface.
func ( v * __GetModInput ) GetModId ( ) string { return v . ModId }
// __ModVersionsInput is used internally by genqlient
type __ModVersionsInput struct {
ModId string ` json:"modId,omitempty" `
Filter VersionFilter ` json:"filter,omitempty" `
}
// GetModId returns __ModVersionsInput.ModId, and is useful for accessing the field via an interface.
func ( v * __ModVersionsInput ) GetModId ( ) string { return v . ModId }
// GetFilter returns __ModVersionsInput.Filter, and is useful for accessing the field via an interface.
func ( v * __ModVersionsInput ) GetFilter ( ) VersionFilter { return v . Filter }
// __ModsInput is used internally by genqlient
type __ModsInput struct {
Filter ModFilter ` json:"filter,omitempty" `
}
// GetFilter returns __ModsInput.Filter, and is useful for accessing the field via an interface.
func ( v * __ModsInput ) GetFilter ( ) ModFilter { return v . Filter }
// __ResolveModDependenciesInput is used internally by genqlient
type __ResolveModDependenciesInput struct {
Filter [ ] ModVersionConstraint ` json:"filter" `
}
// GetFilter returns __ResolveModDependenciesInput.Filter, and is useful for accessing the field via an interface.
func ( v * __ResolveModDependenciesInput ) GetFilter ( ) [ ] ModVersionConstraint { return v . Filter }
func GetMod (
ctx context . Context ,
client graphql . Client ,
modId string ,
) ( * GetModResponse , error ) {
__input := __GetModInput {
ModId : modId ,
}
var err error
var retval GetModResponse
err = client . MakeRequest (
ctx ,
"GetMod" ,
`
2022-06-06 23:55:26 +00:00
query GetMod ( $ modId : String ! ) {
mod : getModByIdOrReference ( modIdOrReference : $ modId ) {
2022-06-04 19:57:17 +00:00
id
mod_reference
name
views
downloads
authors {
role
user {
username
}
}
full_description
source_url
created_at
}
}
` ,
& retval ,
& __input ,
)
return & retval , err
}
func ModVersions (
ctx context . Context ,
client graphql . Client ,
modId string ,
filter VersionFilter ,
) ( * ModVersionsResponse , error ) {
__input := __ModVersionsInput {
ModId : modId ,
Filter : filter ,
}
var err error
var retval ModVersionsResponse
err = client . MakeRequest (
ctx ,
"ModVersions" ,
`
query ModVersions ( $ modId : String ! , $ filter : VersionFilter ) {
mod : getModByIdOrReference ( modIdOrReference : $ modId ) {
id
versions ( filter : $ filter ) {
id
version
}
}
}
` ,
& retval ,
& __input ,
)
return & retval , err
}
func Mods (
ctx context . Context ,
client graphql . Client ,
filter ModFilter ,
) ( * ModsResponse , error ) {
__input := __ModsInput {
Filter : filter ,
}
var err error
var retval ModsResponse
err = client . MakeRequest (
ctx ,
"Mods" ,
`
query Mods ( $ filter : ModFilter ) {
2022-06-06 23:55:26 +00:00
mods : getMods ( filter : $ filter ) {
2022-06-04 19:57:17 +00:00
count
mods {
id
name
mod_reference
last_version_date
created_at
views
downloads
popularity
hotness
}
}
}
` ,
& retval ,
& __input ,
)
return & retval , err
}
func ResolveModDependencies (
ctx context . Context ,
client graphql . Client ,
filter [ ] ModVersionConstraint ,
) ( * ResolveModDependenciesResponse , error ) {
__input := __ResolveModDependenciesInput {
Filter : filter ,
}
var err error
var retval ResolveModDependenciesResponse
err = client . MakeRequest (
ctx ,
"ResolveModDependencies" ,
`
query ResolveModDependencies ( $ filter : [ ModVersionConstraint ! ] ! ) {
mods : resolveModVersions ( filter : $ filter ) {
id
mod_reference
versions {
id
version
link
hash
dependencies {
condition
mod_id
optional
}
}
}
}
` ,
& retval ,
& __input ,
)
return & retval , err
}
func SMLVersions (
ctx context . Context ,
client graphql . Client ,
) ( * SMLVersionsResponse , error ) {
var err error
var retval SMLVersionsResponse
err = client . MakeRequest (
ctx ,
"SMLVersions" ,
`
query SMLVersions {
smlVersions : getSMLVersions ( filter : { limit : 100 } ) {
count
sml_versions {
id
version
satisfactory_version
}
}
}
` ,
& retval ,
nil ,
)
return & retval , err
}